@wavemaker-ai/react-runtime 1.0.0-rc.309 → 1.0.0-rc.314
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.npmignore +4 -0
- package/actions/base-action.js +12 -29
- package/actions/login-action.js +35 -52
- package/actions/logout-action.js +21 -38
- package/actions/navigation-action.js +251 -346
- package/actions/notification-action.js +121 -149
- package/actions/timer-action.js +95 -151
- package/actions/toast-provider.js +62 -76
- package/actions/toast.js +95 -91
- package/actions/toast.service.js +59 -79
- package/actions/types/index.js +6 -9
- package/components/advanced/carousel/index.js +358 -366
- package/components/advanced/carousel/props.js +0 -5
- package/components/advanced/carousel/template.js +102 -80
- package/components/advanced/login/index.js +227 -285
- package/components/advanced/login/props.js +0 -5
- package/components/advanced/marquee/index.js +169 -163
- package/components/advanced/marquee/props.js +0 -5
- package/components/basic/anchor/index.js +207 -187
- package/components/basic/anchor/props.js +0 -5
- package/components/basic/audio/index.js +110 -72
- package/components/basic/audio/props.js +0 -5
- package/components/basic/html/index.js +163 -203
- package/components/basic/html/props.js +0 -5
- package/components/basic/html/utils.js +30 -28
- package/components/basic/icon/index.js +98 -84
- package/components/basic/icon/props.js +0 -5
- package/components/basic/iframe/iframe.utils.js +7 -16
- package/components/basic/iframe/index.js +97 -103
- package/components/basic/iframe/props.js +0 -5
- package/components/basic/label/index.js +156 -134
- package/components/basic/label/props.js +0 -5
- package/components/basic/message/index.js +129 -113
- package/components/basic/message/props.js +0 -5
- package/components/basic/picture/index.js +156 -127
- package/components/basic/picture/props.js +0 -5
- package/components/basic/progress-bar/index.js +240 -176
- package/components/basic/progress-bar/props.js +5 -31
- package/components/basic/progress-circle/index.js +166 -183
- package/components/basic/progress-circle/props.js +14 -34
- package/components/basic/richtexteditor/index.js +430 -396
- package/components/basic/richtexteditor/props.js +0 -5
- package/components/basic/search/index.js +812 -931
- package/components/basic/search/props.js +0 -5
- package/components/basic/search/providers.js +233 -380
- package/components/basic/spinner/index.js +210 -200
- package/components/basic/spinner/props.js +4 -22
- package/components/basic/tile/index.js +73 -81
- package/components/basic/tile/props.js +0 -5
- package/components/basic/tree/Components/TreeNodeComponent.js +238 -170
- package/components/basic/tree/hooks/useTreePartialNodeApi.js +143 -135
- package/components/basic/tree/index.js +378 -454
- package/components/basic/tree/props.js +0 -5
- package/components/basic/tree/utils.js +129 -185
- package/components/basic/video/index.js +161 -107
- package/components/basic/video/props.js +0 -5
- package/components/chart/index.js +42 -50
- package/components/chart/props.js +31 -37
- package/components/chart/src/ChartRenderer.js +172 -154
- package/components/chart/src/chart.js +391 -213
- package/components/chart/src/chartStyles.generated.js +6 -14
- package/components/chart/src/chartUtils.js +228 -272
- package/components/chart/src/constants.d.ts +13 -0
- package/components/chart/src/constants.js +316 -90
- package/components/chart/src/d3Setup.js +11 -30
- package/components/chart/src/dataUtils.js +362 -446
- package/components/chart/src/formatUtils.js +47 -38
- package/components/chart/src/index.js +11 -19
- package/components/chart/src/nvd3Source.generated.js +5 -13
- package/components/chart/src/pieDonutResponsiveLayout.d.ts +5 -0
- package/components/chart/src/pieDonutResponsiveLayout.js +76 -96
- package/components/chart/src/types.js +0 -5
- package/components/common/AppSpinner.js +17 -33
- package/components/common/app-spinner.js +11 -22
- package/components/common/customTemplate/index.d.ts +3 -0
- package/components/common/customTemplate/index.js +6 -0
- package/components/common/customTemplate/props.d.ts +20 -0
- package/components/common/customTemplate/props.js +0 -0
- package/components/common/customTemplate/template.d.ts +3 -0
- package/components/common/customTemplate/template.js +27 -0
- package/components/common/customTemplate/useCustomTemplate.d.ts +8 -0
- package/components/common/customTemplate/useCustomTemplate.js +17 -0
- package/components/common/customTemplate/utils.d.ts +6 -0
- package/components/common/customTemplate/utils.js +12 -0
- package/components/common/index.js +4 -12
- package/components/constants.js +81 -77
- package/components/container/accordion/accordion-pane/index.js +105 -118
- package/components/container/accordion/accordion-pane/props.js +5 -21
- package/components/container/accordion/index.js +225 -243
- package/components/container/accordion/props.js +5 -16
- package/components/container/index.js +214 -150
- package/components/container/layout-grid/grid-column/index.js +68 -43
- package/components/container/layout-grid/grid-column/props.js +0 -5
- package/components/container/layout-grid/grid-row/index.js +12 -29
- package/components/container/layout-grid/grid-row/props.js +0 -5
- package/components/container/layout-grid/index.js +53 -38
- package/components/container/layout-grid/props.js +0 -5
- package/components/container/linear-layout/index.js +56 -60
- package/components/container/linear-layout/linear-layout-item/index.js +43 -47
- package/components/container/linear-layout/linear-layout-item/props.js +0 -5
- package/components/container/linear-layout/props.js +0 -5
- package/components/container/panel/components/panel-content/index.js +7 -16
- package/components/container/panel/components/panel-header/index.js +166 -146
- package/components/container/panel/components/panel-header/props.js +0 -5
- package/components/container/panel/hooks.js +76 -102
- package/components/container/panel/index.js +289 -252
- package/components/container/panel/props.js +0 -5
- package/components/container/props.js +0 -5
- package/components/container/repeat-template/index.js +65 -44
- package/components/container/repeat-template/props.js +0 -5
- package/components/container/tabs/index.js +517 -526
- package/components/container/tabs/props.js +5 -28
- package/components/container/tabs/tab-pane/index.js +105 -100
- package/components/container/tabs/tab-pane/props.js +0 -5
- package/components/container/tabs/utils.js +30 -35
- package/components/container/wizard/WizardContext.js +9 -11
- package/components/container/wizard/components/StepComponents.js +76 -99
- package/components/container/wizard/components/WizardStep.js +107 -85
- package/components/container/wizard/index.js +791 -921
- package/components/container/wizard/props.js +0 -5
- package/components/container/wizard/utils.js +97 -131
- package/components/container/wizard/wizard-action/index.js +41 -81
- package/components/container/wizard/wizard-step/index.js +140 -120
- package/components/data/card/card-actions/index.js +13 -31
- package/components/data/card/card-content/index.js +27 -36
- package/components/data/card/card-footer/index.js +13 -31
- package/components/data/card/index.js +192 -199
- package/components/data/card/props.js +0 -5
- package/components/data/form/base-form/constant.js +5 -8
- package/components/data/form/base-form/hooks/index.js +26 -77
- package/components/data/form/base-form/hooks/useFormDataSync.js +106 -212
- package/components/data/form/base-form/hooks/useFormOperations.js +109 -161
- package/components/data/form/base-form/hooks/useFormSubmission.js +220 -280
- package/components/data/form/base-form/hooks/useFormValidation.js +119 -168
- package/components/data/form/base-form/hooks/useParentFormRelationship.js +67 -103
- package/components/data/form/base-form/index.js +531 -646
- package/components/data/form/base-form/props.js +74 -151
- package/components/data/form/base-form/utils.js +210 -323
- package/components/data/form/dynamic-fields/constant.js +43 -53
- package/components/data/form/dynamic-fields/index.js +135 -144
- package/components/data/form/dynamic-fields/props.js +0 -5
- package/components/data/form/dynamic-fields/utils.js +99 -158
- package/components/data/form/form-action/index.js +107 -85
- package/components/data/form/form-body/index.js +52 -26
- package/components/data/form/form-context.js +43 -59
- package/components/data/form/form-controller/hooks/index.js +43 -57
- package/components/data/form/form-controller/props.js +5 -8
- package/components/data/form/form-controller/utils.js +54 -49
- package/components/data/form/form-controller/validation-contrustor.js +203 -426
- package/components/data/form/form-controller/withFormController.js +319 -269
- package/components/data/form/form-dynamic-section/index.js +47 -41
- package/components/data/form/form-dynamic-section/props.js +0 -5
- package/components/data/form/form-field/base-field.js +97 -109
- package/components/data/form/form-field/index.js +91 -82
- package/components/data/form/form-field/props.js +0 -5
- package/components/data/form/form-footer/index.js +52 -25
- package/components/data/form/form-header/index.js +61 -58
- package/components/data/form/index.js +95 -74
- package/components/data/form/props.js +0 -5
- package/components/data/list/components/GroupHeader.js +34 -33
- package/components/data/list/components/GroupedListItems.js +108 -104
- package/components/data/list/components/ListContainer.js +22 -27
- package/components/data/list/components/ListDND.js +193 -185
- package/components/data/list/components/ListHeader.js +32 -49
- package/components/data/list/components/ListItem.js +153 -146
- package/components/data/list/components/ListItemWithTemplate.js +87 -105
- package/components/data/list/components/ListItems.js +180 -194
- package/components/data/list/components/ListPagination.js +127 -153
- package/components/data/list/components/LoadMoreButton.js +25 -33
- package/components/data/list/components/NoDataMessage.js +9 -22
- package/components/data/list/components/StandardListItems.js +79 -85
- package/components/data/list/components/index.js +31 -119
- package/components/data/list/components/props.js +0 -5
- package/components/data/list/hooks/index.js +22 -75
- package/components/data/list/hooks/props.js +0 -5
- package/components/data/list/hooks/useCurrentPageItems.js +20 -38
- package/components/data/list/hooks/useGroupedData.js +19 -33
- package/components/data/list/hooks/useListData.js +17 -47
- package/components/data/list/hooks/useListEffects.js +168 -237
- package/components/data/list/hooks/useListEventHandlers.js +301 -285
- package/components/data/list/hooks/useListPagination.js +90 -136
- package/components/data/list/hooks/useListState.js +49 -91
- package/components/data/list/hooks/useListStateManager.js +104 -159
- package/components/data/list/hooks/usePaginatedGroupedData.js +74 -110
- package/components/data/list/index.d.ts +1 -0
- package/components/data/list/index.js +579 -621
- package/components/data/list/props.d.ts +4 -0
- package/components/data/list/props.js +0 -5
- package/components/data/list/templates/media-template.js +29 -50
- package/components/data/list/utils/constants.js +20 -32
- package/components/data/list/utils/list-helpers.d.ts +2 -1
- package/components/data/list/utils/list-helpers.js +71 -115
- package/components/data/list/utils/list-widget-methods.js +56 -76
- package/components/data/list/utils/widget-instance-utils.js +20 -57
- package/components/data/live-filter/index.js +219 -271
- package/components/data/live-filter/props.js +5 -12
- package/components/data/live-form/index.js +68 -91
- package/components/data/live-form/props.js +5 -12
- package/components/data/pagination/components/BasicPagination.js +124 -104
- package/components/data/pagination/components/ClassicPagination.js +167 -190
- package/components/data/pagination/components/InlinePagination.js +97 -98
- package/components/data/pagination/components/LoadingComponent.js +17 -30
- package/components/data/pagination/components/PageSizeSelector.js +176 -169
- package/components/data/pagination/components/PagerNavigation.js +84 -105
- package/components/data/pagination/components/TotalRecords.js +48 -47
- package/components/data/pagination/components/index.js +14 -47
- package/components/data/pagination/components/props.js +0 -5
- package/components/data/pagination/hooks/index.js +6 -19
- package/components/data/pagination/hooks/props.js +0 -5
- package/components/data/pagination/hooks/useNavigationSize.js +12 -21
- package/components/data/pagination/hooks/usePagination.js +702 -905
- package/components/data/pagination/index.js +336 -389
- package/components/data/table/components/AddNewRow.js +122 -154
- package/components/data/table/components/EditableCell.js +68 -75
- package/components/data/table/components/FieldValidationError.js +19 -20
- package/components/data/table/components/RowCells.js +97 -80
- package/components/data/table/components/RowExpansionButton.js +43 -39
- package/components/data/table/components/SummaryCell.js +54 -88
- package/components/data/table/components/SummaryRow.js +45 -52
- package/components/data/table/components/SummaryRowFooter.js +35 -42
- package/components/data/table/components/TableBody.js +222 -218
- package/components/data/table/components/TableDataRow.js +113 -106
- package/components/data/table/components/TableFilters.js +391 -390
- package/components/data/table/components/TableFooterActions.js +25 -32
- package/components/data/table/components/TableHeader.js +460 -435
- package/components/data/table/components/TablePanelHeading.js +157 -181
- package/components/data/table/components/index.js +27 -95
- package/components/data/table/hooks/index.js +21 -230
- package/components/data/table/hooks/use-edited-rows.js +59 -94
- package/components/data/table/hooks/useCellState.js +58 -83
- package/components/data/table/hooks/useCustomExpressionColumns.js +65 -86
- package/components/data/table/hooks/useDynamicColumns.js +59 -92
- package/components/data/table/hooks/useEditingState.js +30 -41
- package/components/data/table/hooks/useFormWidget.js +163 -172
- package/components/data/table/hooks/usePaginationState.js +67 -77
- package/components/data/table/hooks/usePanelStructure.js +47 -41
- package/components/data/table/hooks/useResponsiveColumns.js +14 -20
- package/components/data/table/hooks/useRowExpansion.js +131 -127
- package/components/data/table/hooks/useRowHandlers.js +56 -69
- package/components/data/table/hooks/useRowSelection.js +249 -329
- package/components/data/table/hooks/useServerSideSorting.js +109 -175
- package/components/data/table/hooks/useTableColumns.js +322 -331
- package/components/data/table/hooks/useTableData.js +111 -166
- package/components/data/table/hooks/useTableEdit.js +526 -564
- package/components/data/table/hooks/useTableEffects.js +60 -107
- package/components/data/table/hooks/useTableFilter.js +244 -237
- package/components/data/table/hooks/useTableInitialization.js +44 -76
- package/components/data/table/hooks/useTableState.js +39 -61
- package/components/data/table/hooks/useTableStateManager.js +295 -468
- package/components/data/table/index.js +1553 -1713
- package/components/data/table/live-table/index.js +157 -219
- package/components/data/table/props.js +0 -5
- package/components/data/table/table-action/index.js +97 -75
- package/components/data/table/table-column/index.js +48 -42
- package/components/data/table/table-group/index.js +7 -25
- package/components/data/table/table-row/index.js +63 -55
- package/components/data/table/table-row-action/index.js +102 -77
- package/components/data/table/utils/buildSelectionColumns.js +86 -137
- package/components/data/table/utils/columnBuilder.js +116 -158
- package/components/data/table/utils/columnProxy.js +48 -66
- package/components/data/table/utils/columnWidthDistribution.js +40 -64
- package/components/data/table/utils/constants.js +92 -40
- package/components/data/table/utils/crud-handlers.js +292 -473
- package/components/data/table/utils/dynamic-columns.js +99 -144
- package/components/data/table/utils/groupHeaderUtils.js +36 -61
- package/components/data/table/utils/index.d.ts +8 -5
- package/components/data/table/utils/index.js +419 -639
- package/components/data/table/utils/renderDisplayCell.js +127 -169
- package/components/data/table/utils/script-page-size-broadcast.js +17 -29
- package/components/data/table/utils/selectionUtils.js +59 -113
- package/components/data/table/utils/table-helpers.js +38 -74
- package/components/data/table/utils/validation.js +35 -78
- package/components/data/table/utils/widgetMapping.d.ts +5 -0
- package/components/data/table/utils/widgetMapping.js +41 -0
- package/components/data/types.js +112 -112
- package/components/data/utils/field-data-utils.js +38 -42
- package/components/data/utils/filter-field-util.js +42 -44
- package/components/data/utils/index.js +112 -111
- package/components/dialogs/alert-dialog/index.js +83 -78
- package/components/dialogs/alert-dialog/props.js +0 -5
- package/components/dialogs/confirm-dialog/index.js +102 -92
- package/components/dialogs/confirm-dialog/props.js +0 -5
- package/components/dialogs/dialog/index.js +93 -69
- package/components/dialogs/dialog/props.js +0 -5
- package/components/dialogs/dialog-actions/index.js +12 -26
- package/components/dialogs/dialog-actions/props.js +0 -5
- package/components/dialogs/dialog-body/index.js +13 -30
- package/components/dialogs/dialog-body/props.js +0 -5
- package/components/dialogs/dialog-content/index.js +48 -41
- package/components/dialogs/dialog-content/props.js +0 -5
- package/components/dialogs/dialog-header/index.js +88 -101
- package/components/dialogs/dialog-header/props.js +0 -5
- package/components/dialogs/iframe-dialog/index.js +136 -128
- package/components/dialogs/iframe-dialog/props.js +0 -5
- package/components/dialogs/index.js +104 -101
- package/components/dialogs/login-dialog/index.js +285 -347
- package/components/dialogs/login-dialog/props.js +0 -5
- package/components/dialogs/page-dialog/index.js +95 -86
- package/components/dialogs/page-dialog/props.js +0 -5
- package/components/dialogs/props.js +0 -5
- package/components/dialogs/withDialogWrapper.js +110 -83
- package/components/form/button/index.js +296 -245
- package/components/form/button/props.js +0 -5
- package/components/form/button-group/index.js +80 -69
- package/components/form/button-group/props.js +0 -5
- package/components/input/calendar/index.js +409 -362
- package/components/input/calendar/props.js +0 -5
- package/components/input/calendar/utils.js +164 -172
- package/components/input/chips/SortableChip/index.js +109 -100
- package/components/input/chips/SortableChip/props.js +0 -5
- package/components/input/chips/index.js +663 -570
- package/components/input/chips/props.js +0 -5
- package/components/input/chips/utils.js +131 -122
- package/components/input/color-picker/index.js +536 -594
- package/components/input/color-picker/props.js +0 -5
- package/components/input/composite/index.js +71 -110
- package/components/input/composite/props.js +0 -5
- package/components/input/currency/index.js +277 -224
- package/components/input/currency/props.js +0 -5
- package/components/input/default/checkbox/index.js +329 -250
- package/components/input/default/checkbox/props.js +0 -5
- package/components/input/default/checkboxset/index.d.ts +2 -0
- package/components/input/default/checkboxset/index.js +529 -446
- package/components/input/default/checkboxset/props.d.ts +4 -0
- package/components/input/default/checkboxset/props.js +0 -5
- package/components/input/default/checkboxset/utils.js +15 -25
- package/components/input/default/radioset/index.d.ts +2 -0
- package/components/input/default/radioset/index.js +409 -350
- package/components/input/default/radioset/props.d.ts +6 -0
- package/components/input/default/radioset/props.js +0 -5
- package/components/input/default/switch/index.js +494 -458
- package/components/input/default/switch/prop.js +0 -5
- package/components/input/epoch/date/components/DatePickerPopover.js +242 -193
- package/components/input/epoch/date/index.js +638 -518
- package/components/input/epoch/date/props.js +0 -5
- package/components/input/epoch/date/styled.js +61 -70
- package/components/input/epoch/date/utils.js +67 -115
- package/components/input/epoch/datetime/index.js +758 -695
- package/components/input/epoch/datetime/props.js +0 -5
- package/components/input/epoch/datetime/utils.js +121 -186
- package/components/input/epoch/time/index.js +441 -415
- package/components/input/epoch/time/props.js +0 -5
- package/components/input/epoch/time/utils.js +101 -112
- package/components/input/fileupload/Utils.js +70 -97
- package/components/input/fileupload/components/ListItems.js +132 -130
- package/components/input/fileupload/components/MultiUpload.js +80 -77
- package/components/input/fileupload/components/SingleUpload.js +57 -57
- package/components/input/fileupload/index.js +253 -178
- package/components/input/fileupload/props.js +0 -5
- package/components/input/fileupload/useFileUpload.js +209 -258
- package/components/input/number/index.js +434 -393
- package/components/input/number/props.js +0 -5
- package/components/input/rating/index.js +401 -394
- package/components/input/rating/props.js +0 -5
- package/components/input/select/index.js +408 -463
- package/components/input/select/props.js +0 -5
- package/components/input/slider/index.js +339 -332
- package/components/input/slider/props.js +0 -5
- package/components/input/text/index.d.ts +3 -3
- package/components/input/text/index.js +438 -475
- package/components/input/text/props.d.ts +1 -1
- package/components/input/text/props.js +0 -5
- package/components/input/text/util.js +82 -222
- package/components/input/textarea/index.js +322 -358
- package/components/input/textarea/props.js +0 -5
- package/components/input/upload/index.js +135 -131
- package/components/input/upload/props.js +0 -5
- package/components/input/util/index.js +9 -11
- package/components/layout/footer/index.js +12 -35
- package/components/layout/footer/props.js +0 -5
- package/components/layout/header/index.js +12 -38
- package/components/layout/header/props.js +0 -5
- package/components/layout/leftnav/index.js +38 -44
- package/components/layout/leftnav/props.js +0 -5
- package/components/layout/rightnav/index.js +12 -36
- package/components/layout/rightnav/props.js +0 -5
- package/components/layout/topnav/index.js +24 -38
- package/components/layout/topnav/props.js +0 -5
- package/components/navbar/index.js +119 -98
- package/components/navbar/nav/index.js +236 -232
- package/components/navbar/nav/props.js +0 -5
- package/components/navbar/nav-item/index.js +74 -65
- package/components/navbar/nav-item/props.js +0 -5
- package/components/navigation/breadcrumb/index.js +38 -61
- package/components/navigation/breadcrumb/props.js +0 -5
- package/components/navigation/menu/components/ListItems.js +76 -67
- package/components/navigation/menu/constants.js +27 -42
- package/components/navigation/menu/hooks/useHoverState.hook.js +20 -47
- package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +34 -28
- package/components/navigation/menu/hooks/useTransformedDataset.hook.js +21 -14
- package/components/navigation/menu/index.js +911 -846
- package/components/navigation/menu/props.js +0 -5
- package/components/navigation/menu/utils/action-task.js +6 -9
- package/components/navigation/menu/utils/role-filter.js +41 -56
- package/components/navigation/popover/index.js +191 -205
- package/components/navigation/popover/props.js +5 -8
- package/components/page/content/index.js +9 -31
- package/components/page/content/props.js +0 -5
- package/components/page/error-boundary/index.js +115 -105
- package/components/page/error-boundary/props.js +0 -5
- package/components/page/index.js +84 -102
- package/components/page/page-content/index.js +21 -30
- package/components/page/page-content/props.js +0 -5
- package/components/page/partial/index.js +50 -45
- package/components/page/partial/props.js +0 -5
- package/components/page/partial-container/index.js +81 -107
- package/components/page/partial-container/props.d.ts +1 -1
- package/components/page/partial-container/props.js +0 -5
- package/components/page/props.js +0 -5
- package/components/page/toast-container/index.js +20 -41
- package/components/page/toast-container/props.js +0 -5
- package/components/prefab/container/index.js +60 -53
- package/components/prefab/container/props.js +0 -5
- package/components/prefab/index.js +76 -61
- package/components/prefab/props.js +0 -5
- package/context/AppContext.d.ts +1 -1
- package/context/AppContext.js +17 -18
- package/context/AppSpinnerProvider.js +19 -34
- package/context/LayoutProvider.js +54 -57
- package/context/LocalizationProvider.js +34 -49
- package/context/PrefabContext.js +68 -119
- package/context/WidgetProvider.js +160 -166
- package/core/app-config.js +0 -1
- package/core/app.service.js +200 -327
- package/core/appVariablesStore.js +10 -15
- package/core/appstore.js +37 -53
- package/core/constants/currency-constant.js +81 -83
- package/core/constants/events.js +34 -44
- package/core/constants/index.js +21 -31
- package/core/dialog.service.js +52 -72
- package/core/event-notifier.js +94 -131
- package/core/formatter/array-formatters.js +18 -32
- package/core/formatter/date-formatters.js +140 -204
- package/core/formatter/index.js +64 -117
- package/core/formatter/number-formatters.js +115 -159
- package/core/formatter/security-formatters.js +233 -283
- package/core/formatter/string-formatters.js +23 -45
- package/core/formatter/types.js +12 -18
- package/core/formatters.js +6 -24
- package/core/proxy-service.js +242 -306
- package/core/script-registry.js +87 -134
- package/core/security.service.js +8 -11
- package/core/util/compare.js +13 -25
- package/core/util/dom.js +32 -63
- package/core/util/index.d.ts +5 -0
- package/core/util/index.js +95 -95
- package/core/util/safe-is-equal.js +42 -94
- package/core/util/security.js +114 -153
- package/core/util/utils.d.ts +8 -1
- package/core/util/utils.js +124 -132
- package/core/widget-observer.js +34 -61
- package/higherOrder/BaseApp.js +327 -500
- package/higherOrder/BaseAppProps.js +0 -5
- package/higherOrder/BaseDateTime.js +277 -231
- package/higherOrder/BasePage.js +479 -735
- package/higherOrder/BasePartial.js +87 -114
- package/higherOrder/BasePrefab.js +190 -206
- package/higherOrder/DataNav.js +287 -302
- package/higherOrder/helper.js +62 -48
- package/higherOrder/props.js +0 -5
- package/higherOrder/withBaseWrapper.js +123 -168
- package/higherOrder/withStandalone.js +28 -26
- package/hooks/useAccess.js +113 -289
- package/hooks/useAppConfig.js +15 -40
- package/hooks/useAuth.js +256 -495
- package/hooks/useDataSourceSubscription.d.ts +3 -3
- package/hooks/useDataSourceSubscription.js +99 -109
- package/hooks/useDebounce.js +28 -56
- package/hooks/useDeviceVisibility.js +14 -23
- package/hooks/useHttp.d.ts +1 -0
- package/hooks/useHttp.js +318 -493
- package/libs/index.js +4 -13
- package/libs/prefab/index.js +6 -20
- package/mui-config/theme-provider.js +9 -17
- package/mui-config/theme.js +6 -9
- package/package-lock.json +822 -3191
- package/package.json +3 -19
- package/providers/AppProviders.js +21 -24
- package/runtime-dynamic/App.js +65 -93
- package/runtime-dynamic/app-initializer.js +207 -400
- package/runtime-dynamic/components/ErrorBoundary.js +59 -76
- package/runtime-dynamic/components/PageWrapper.js +23 -35
- package/runtime-dynamic/components/PrefabPreview.js +40 -69
- package/runtime-dynamic/components/partial-content.d.ts +2 -3
- package/runtime-dynamic/components/partial-content.js +66 -48
- package/runtime-dynamic/components/prefab-content.js +37 -30
- package/runtime-dynamic/components/use-dynamic-component.js +62 -150
- package/runtime-dynamic/factories/build-base-page-like-component.js +44 -58
- package/runtime-dynamic/factories/dynamic-component.d.ts +9 -0
- package/runtime-dynamic/factories/dynamic-component.js +83 -0
- package/runtime-dynamic/factories/prefab-factory.js +60 -81
- package/runtime-dynamic/factories/startup-info.js +12 -25
- package/runtime-dynamic/factories/utils.d.ts +1 -9
- package/runtime-dynamic/factories/utils.js +47 -130
- package/runtime-dynamic/index.js +56 -191
- package/runtime-dynamic/main.js +42 -70
- package/runtime-dynamic/preview-mode.js +14 -29
- package/runtime-dynamic/preview-navigation.js +21 -30
- package/runtime-dynamic/preview-path.d.ts +5 -0
- package/runtime-dynamic/preview-path.js +13 -0
- package/runtime-dynamic/preview-resource-base.js +15 -31
- package/runtime-dynamic/registry/component-registry.js +269 -334
- package/runtime-dynamic/registry/custom-widget-registry.js +11 -15
- package/runtime-dynamic/registry/index.js +24 -63
- package/runtime-dynamic/registry/store.d.ts +1 -0
- package/runtime-dynamic/registry/store.js +18 -23
- package/runtime-dynamic/routes.js +53 -81
- package/runtime-dynamic/services/app-extension-provider.js +17 -44
- package/runtime-dynamic/services/autolayout-inject.d.ts +4 -0
- package/runtime-dynamic/services/autolayout-inject.js +27 -0
- package/runtime-dynamic/services/cache.js +27 -33
- package/runtime-dynamic/services/compile-render.d.ts +9 -0
- package/runtime-dynamic/services/compile-render.js +142 -0
- package/runtime-dynamic/services/component-ref-provider.js +70 -124
- package/runtime-dynamic/services/css-scoping.js +27 -28
- package/runtime-dynamic/services/fragment-url.js +37 -50
- package/runtime-dynamic/services/index.js +48 -152
- package/runtime-dynamic/services/markup-transpiler.d.ts +2 -2
- package/runtime-dynamic/services/markup-transpiler.js +39 -231
- package/runtime-dynamic/services/prefab-resources.js +42 -130
- package/runtime-dynamic/services/resource-manager.d.ts +2 -1
- package/runtime-dynamic/services/resource-manager.js +32 -63
- package/runtime-dynamic/services/script-executor.js +50 -61
- package/runtime-dynamic/services/variable-factory.js +141 -184
- package/runtime-dynamic/services/variable-registry.js +69 -115
- package/runtime-dynamic/services/variable-transpiler.js +73 -103
- package/runtime-dynamic/shims/next-image.js +79 -50
- package/runtime-dynamic/shims/next-link.js +58 -32
- package/runtime-dynamic/shims/next-navigation.js +17 -34
- package/runtime-dynamic/utils/index.d.ts +2 -0
- package/runtime-dynamic/utils/index.js +22 -24
- package/store/bindActions/i18nActions.js +16 -18
- package/store/index.js +29 -35
- package/store/middleware/navigationMiddleware.js +25 -45
- package/store/middleware/pendingTabNavigationIntentMiddleware.js +20 -25
- package/store/slices/appConfigSlice.js +65 -94
- package/store/slices/authSlice.js +317 -471
- package/store/slices/i18nSlice.js +169 -168
- package/store/slices/navigationSlice.js +22 -20
- package/store/util/resolve-path.d.ts +1 -0
- package/store/util/resolve-path.js +7 -0
- package/store/viewport.service.js +150 -194
- package/types/index.js +10 -15
- package/utils/attr.js +198 -41
- package/utils/custom-expression/index.js +55 -151
- package/utils/custom-expression/parser.js +106 -182
- package/utils/dataset-util.js +113 -154
- package/utils/eval-expression.js +10 -19
- package/utils/form-state.util.js +60 -118
- package/utils/form-utils.js +49 -190
- package/utils/format-util.js +113 -184
- package/utils/layoutsize-util.js +11 -17
- package/utils/lib-error-skipper.js +54 -52
- package/utils/page-params-util.js +50 -40
- package/utils/pending-tab-navigation-intent.js +7 -17
- package/utils/resource-url.js +8 -19
- package/utils/state-persistance.js +136 -253
- package/utils/style-utils.d.ts +2 -0
- package/utils/style-utils.js +25 -74
- package/utils/transformedDataset-utils.js +353 -381
- package/utils/widget-cleanup-util.js +42 -74
- package/utils/widgets.js +19 -31
- package/variables/base-variable.js +117 -166
- package/variables/constants.js +5 -8
- package/variables/crud-variable.js +150 -181
- package/variables/live-variable.d.ts +1 -1
- package/variables/live-variable.js +140 -174
- package/variables/metadata.service.js +74 -116
- package/variables/model-variable.js +68 -78
- package/variables/service-variable.js +171 -285
- package/wm-namespace.js +11 -14
- package/components/chart/src/css.d.js +0 -1
- package/tsconfig.declaration.tsbuildinfo +0 -1
- package/types/global.d.js +0 -3
|
@@ -1,74 +1,78 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
})
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
var
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
var momentLib = _interopRequireWildcard(require("moment"));
|
|
17
|
-
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function _interopRequireWildcard(e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, "default": e }; if (null === e || "object" != _typeof3(e) && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (var _t2 in e) "default" !== _t2 && {}.hasOwnProperty.call(e, _t2) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, _t2)) && (i.get || i.set) ? o(f, _t2, i) : f[_t2] = e[_t2]); return f; })(e, t); }
|
|
18
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
19
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2["default"])(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
20
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t["return"] || t["return"](); } finally { if (u) throw o; } } }; }
|
|
21
|
-
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
22
|
-
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
23
|
-
var ALLFIELDS = "All Fields";
|
|
24
|
-
var moment = momentLib["default"] || window["moment"];
|
|
25
|
-
var isDefined = function isDefined(val) {
|
|
26
|
-
return val !== undefined && val !== null;
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
3
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
4
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
5
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
6
|
+
var __spreadValues = (a, b) => {
|
|
7
|
+
for (var prop in b || (b = {}))
|
|
8
|
+
if (__hasOwnProp.call(b, prop))
|
|
9
|
+
__defNormalProp(a, prop, b[prop]);
|
|
10
|
+
if (__getOwnPropSymbols)
|
|
11
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
12
|
+
if (__propIsEnum.call(b, prop))
|
|
13
|
+
__defNormalProp(a, prop, b[prop]);
|
|
14
|
+
}
|
|
15
|
+
return a;
|
|
27
16
|
};
|
|
28
|
-
var
|
|
17
|
+
var __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value);
|
|
18
|
+
import { getEvaluatedData, getObjValueByKey } from "./widgets";
|
|
19
|
+
import {
|
|
20
|
+
cloneDeep,
|
|
21
|
+
forEach,
|
|
22
|
+
get,
|
|
23
|
+
groupBy as lodashGroupBy,
|
|
24
|
+
includes,
|
|
25
|
+
isArray,
|
|
26
|
+
isEqual,
|
|
27
|
+
memoize,
|
|
28
|
+
isNull,
|
|
29
|
+
isObject,
|
|
30
|
+
isString,
|
|
31
|
+
isUndefined,
|
|
32
|
+
orderBy as _orderBy,
|
|
33
|
+
sortBy as lodashSortBy,
|
|
34
|
+
split,
|
|
35
|
+
trim,
|
|
36
|
+
uniqBy,
|
|
37
|
+
uniqWith,
|
|
38
|
+
values as lodashValues,
|
|
39
|
+
filter
|
|
40
|
+
} from "lodash-es";
|
|
41
|
+
import * as momentLib from "moment";
|
|
42
|
+
const ALLFIELDS = "All Fields";
|
|
43
|
+
const moment = momentLib.default || window["moment"];
|
|
44
|
+
const isDefined = (val) => val !== void 0 && val !== null;
|
|
45
|
+
const getFormattedDate = (date, format) => {
|
|
29
46
|
return moment(date).format(format);
|
|
30
47
|
};
|
|
31
|
-
|
|
32
|
-
if (!fieldsStr || !
|
|
33
|
-
return
|
|
48
|
+
const isEqualWithFields = (objA, objB, fieldsStr) => {
|
|
49
|
+
if (!fieldsStr || !isString(fieldsStr)) {
|
|
50
|
+
return isEqual(objA, objB);
|
|
34
51
|
}
|
|
35
|
-
|
|
36
|
-
return f.trim();
|
|
37
|
-
});
|
|
52
|
+
const fields = fieldsStr.split(",").map((f) => f.trim());
|
|
38
53
|
if (!objA || !objB) {
|
|
39
|
-
return objA === objB;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
45
|
-
var field = _step.value;
|
|
46
|
-
if (!(0, _lodashEs.isEqual)((0, _lodashEs.get)(objA, field), (0, _lodashEs.get)(objB, field))) {
|
|
47
|
-
return false;
|
|
48
|
-
}
|
|
54
|
+
return objA === objB;
|
|
55
|
+
}
|
|
56
|
+
for (const field of fields) {
|
|
57
|
+
if (!isEqual(get(objA, field), get(objB, field))) {
|
|
58
|
+
return false;
|
|
49
59
|
}
|
|
50
|
-
} catch (err) {
|
|
51
|
-
_iterator.e(err);
|
|
52
|
-
} finally {
|
|
53
|
-
_iterator.f();
|
|
54
60
|
}
|
|
55
61
|
return true;
|
|
56
62
|
};
|
|
57
|
-
|
|
63
|
+
const GROUP_BY_OPTIONS = {
|
|
58
64
|
ALPHABET: "alphabet",
|
|
59
65
|
WORD: "word",
|
|
60
66
|
OTHERS: "Others"
|
|
61
67
|
};
|
|
62
|
-
|
|
68
|
+
const TIME_ROLLUP_OPTIONS = {
|
|
63
69
|
HOUR: "hour",
|
|
64
70
|
DAY: "day",
|
|
65
71
|
WEEK: "week",
|
|
66
72
|
MONTH: "month",
|
|
67
73
|
YEAR: "year"
|
|
68
74
|
};
|
|
69
|
-
|
|
70
|
-
// Adjusted for moment.js (YYYY for year, DD for day)
|
|
71
|
-
var ROLLUP_PATTERNS = {
|
|
75
|
+
const ROLLUP_PATTERNS = {
|
|
72
76
|
DAY: "YYYY-MM-DD",
|
|
73
77
|
WEEK: "wo [Week], YYYY",
|
|
74
78
|
// Example: 42nd Week, 2023 (moment's week format)
|
|
@@ -76,134 +80,124 @@ var ROLLUP_PATTERNS = {
|
|
|
76
80
|
YEAR: "YYYY",
|
|
77
81
|
HOUR: "hh:mm A"
|
|
78
82
|
};
|
|
79
|
-
|
|
80
|
-
(
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
});
|
|
92
|
-
var _internalTransformDataset = function _internalTransformDataset(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) {
|
|
93
|
-
return _datasetItems(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match);
|
|
94
|
-
};
|
|
95
|
-
|
|
96
|
-
// Custom resolver for memoize to handle multiple arguments correctly
|
|
97
|
-
var resolver = function resolver() {
|
|
98
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
99
|
-
args[_key] = arguments[_key];
|
|
83
|
+
class DataSetItem {
|
|
84
|
+
constructor() {
|
|
85
|
+
__publicField(this, "key");
|
|
86
|
+
__publicField(this, "label");
|
|
87
|
+
__publicField(this, "value");
|
|
88
|
+
__publicField(this, "dataObject");
|
|
89
|
+
__publicField(this, "index");
|
|
90
|
+
__publicField(this, "imgSrc");
|
|
91
|
+
__publicField(this, "selected");
|
|
92
|
+
__publicField(this, "children");
|
|
93
|
+
__publicField(this, "match");
|
|
94
|
+
__publicField(this, "dateformat");
|
|
100
95
|
}
|
|
101
|
-
|
|
96
|
+
}
|
|
97
|
+
const _internalTransformDataset = (dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) => {
|
|
98
|
+
return datasetItems(
|
|
99
|
+
dataset,
|
|
100
|
+
datafield,
|
|
101
|
+
displayfield,
|
|
102
|
+
displaylabel,
|
|
103
|
+
displayexpression,
|
|
104
|
+
orderby,
|
|
105
|
+
groupby,
|
|
106
|
+
dataPath,
|
|
107
|
+
itemchildren,
|
|
108
|
+
match
|
|
109
|
+
);
|
|
110
|
+
};
|
|
111
|
+
const resolver = (...args) => {
|
|
112
|
+
return args.map((arg) => {
|
|
102
113
|
if (typeof arg === "function") {
|
|
103
114
|
return arg.toString();
|
|
104
115
|
}
|
|
105
116
|
return JSON.stringify(arg);
|
|
106
117
|
}).join("|");
|
|
107
118
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
/**
|
|
111
|
-
* function to get the ordered dataset based on the given orderby
|
|
112
|
-
*/
|
|
113
|
-
var getOrderedDataset = exports.getOrderedDataset = function getOrderedDataset(dataSet, orderBy, innerItem) {
|
|
119
|
+
const transformDataset = memoize(_internalTransformDataset, resolver);
|
|
120
|
+
const getOrderedDataset = (dataSet, orderBy, innerItem) => {
|
|
114
121
|
if (!orderBy) {
|
|
115
|
-
return
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
items.forEach(
|
|
121
|
-
|
|
122
|
-
fields.push(innerItem ?
|
|
122
|
+
return cloneDeep(dataSet);
|
|
123
|
+
}
|
|
124
|
+
const items = orderBy.split(",");
|
|
125
|
+
const fields = [];
|
|
126
|
+
const directions = [];
|
|
127
|
+
items.forEach((obj) => {
|
|
128
|
+
const item = obj.split(":");
|
|
129
|
+
fields.push(innerItem ? `${innerItem}.${item[0]}` : item[0]);
|
|
123
130
|
directions.push(item[1]);
|
|
124
131
|
});
|
|
125
|
-
return (
|
|
132
|
+
return _orderBy(dataSet, fields, directions);
|
|
126
133
|
};
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
var data = [];
|
|
133
|
-
if ((0, _lodashEs.isObject)(dataSet[0]) || (0, _lodashEs.isObject)(dataSet) && !(0, _lodashEs.isArray)(dataSet)) {
|
|
134
|
-
var objectKeys = Object.keys(dataSet[0] || dataSet);
|
|
135
|
-
(0, _lodashEs.forEach)(objectKeys, function (objKey, index) {
|
|
134
|
+
const transformDataWithKeys = (dataSet) => {
|
|
135
|
+
const data = [];
|
|
136
|
+
if (isObject(dataSet[0]) || isObject(dataSet) && !isArray(dataSet)) {
|
|
137
|
+
const objectKeys = Object.keys(dataSet[0] || dataSet);
|
|
138
|
+
forEach(objectKeys, (objKey, index) => {
|
|
136
139
|
data.push({
|
|
137
140
|
key: objKey,
|
|
138
141
|
label: objKey,
|
|
139
142
|
value: objKey,
|
|
140
|
-
index: (index || 0) + 1
|
|
143
|
+
index: (index || 0) + 1
|
|
144
|
+
// Ensure index is number
|
|
141
145
|
});
|
|
142
146
|
});
|
|
143
147
|
}
|
|
144
148
|
return data;
|
|
145
149
|
};
|
|
146
|
-
|
|
147
|
-
if (
|
|
150
|
+
const extractDataAsArray = (data) => {
|
|
151
|
+
if (isUndefined(data) || isNull(data) || isString(data) && trim(data) === "") {
|
|
148
152
|
return [];
|
|
149
153
|
}
|
|
150
|
-
if (
|
|
151
|
-
data =
|
|
152
|
-
return (0, _lodashEs.trim)(str);
|
|
153
|
-
});
|
|
154
|
+
if (isString(data)) {
|
|
155
|
+
data = split(data, ",").map((str) => trim(str));
|
|
154
156
|
}
|
|
155
|
-
if (!
|
|
157
|
+
if (!isArray(data)) {
|
|
156
158
|
data = [data];
|
|
157
159
|
}
|
|
158
160
|
return data;
|
|
159
161
|
};
|
|
160
|
-
|
|
161
|
-
if (
|
|
162
|
-
dataResult =
|
|
163
|
-
return (0, _lodashEs.trim)(str);
|
|
164
|
-
});
|
|
162
|
+
const convertDataToObject = (dataResult) => {
|
|
163
|
+
if (isString(dataResult)) {
|
|
164
|
+
dataResult = split(dataResult, ",").map((str) => trim(str));
|
|
165
165
|
}
|
|
166
166
|
return dataResult;
|
|
167
167
|
};
|
|
168
|
-
|
|
169
|
-
return widgetType === "wm-search";
|
|
168
|
+
const isSearchWidget = (widgetType) => {
|
|
169
|
+
return widgetType === "wm-search";
|
|
170
170
|
};
|
|
171
|
-
|
|
172
|
-
// This function originally used $parseEvent from @wm/core for dynamic expression evaluation.
|
|
173
|
-
// In React, it's highly recommended to pass functions directly as props instead of string expressions.
|
|
174
|
-
// This adapted version provides a placeholder for simple property access and logs a warning for complex cases.
|
|
175
|
-
var setGroupbyKey = function setGroupbyKey(scope, context, dataSetItem, innerItem) {
|
|
171
|
+
const setGroupbyKey = (scope, context, dataSetItem, innerItem) => {
|
|
176
172
|
if (scope && isSearchWidget(scope.widgetType)) {
|
|
177
173
|
if (scope.groupby) {
|
|
178
|
-
if (
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
// Attempting simple property access as a fallback if context and item are available
|
|
174
|
+
if (includes(scope.groupby, "(") || includes(scope.groupby, "[")) {
|
|
175
|
+
console.warn(
|
|
176
|
+
`Complex groupby expression "${scope.groupby}" detected for search widget. This may not work as expected. Refactor to use a function prop.`
|
|
177
|
+
);
|
|
183
178
|
if (dataSetItem.dataObject && context) {
|
|
184
179
|
try {
|
|
185
|
-
|
|
186
|
-
// For example, if scope.groupby was 'item.name.toUpperCase()', this won't work.
|
|
187
|
-
var value = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
180
|
+
const value = get(dataSetItem.dataObject, scope.groupby);
|
|
188
181
|
dataSetItem.key = value;
|
|
189
182
|
} catch (e) {
|
|
190
|
-
console.error(
|
|
183
|
+
console.error(
|
|
184
|
+
"Failed to evaluate groupby expression (simple access):",
|
|
185
|
+
scope.groupby,
|
|
186
|
+
e
|
|
187
|
+
);
|
|
191
188
|
dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
|
|
192
189
|
}
|
|
193
190
|
} else {
|
|
194
|
-
dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
|
|
191
|
+
dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
|
|
195
192
|
}
|
|
196
193
|
} else {
|
|
197
|
-
|
|
198
|
-
dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
194
|
+
dataSetItem.key = get(dataSetItem.dataObject, scope.groupby);
|
|
199
195
|
}
|
|
200
196
|
} else {
|
|
201
|
-
// if groupby is not defined, set the key as datafield value
|
|
202
197
|
dataSetItem.key = dataSetItem.value;
|
|
203
198
|
}
|
|
204
199
|
} else if (dataSetItem.dataObject && scope && scope.groupby) {
|
|
205
|
-
|
|
206
|
-
dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
200
|
+
dataSetItem.key = get(dataSetItem.dataObject, scope.groupby);
|
|
207
201
|
}
|
|
208
202
|
};
|
|
209
203
|
function resolveDataPath(dataSet, dataPath) {
|
|
@@ -211,54 +205,38 @@ function resolveDataPath(dataSet, dataPath) {
|
|
|
211
205
|
dataSet = [dataSet];
|
|
212
206
|
}
|
|
213
207
|
if (!dataPath) return dataSet;
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
var cleanPath = dataPath.startsWith(".") ? dataPath.substring(1) : dataPath;
|
|
217
|
-
var pathSegments = cleanPath.split(".").filter(function (segment) {
|
|
218
|
-
return segment.length > 0;
|
|
219
|
-
});
|
|
208
|
+
const cleanPath = dataPath.startsWith(".") ? dataPath.substring(1) : dataPath;
|
|
209
|
+
const pathSegments = cleanPath.split(".").filter((segment) => segment.length > 0);
|
|
220
210
|
if (pathSegments.length === 0) return dataSet;
|
|
221
|
-
|
|
211
|
+
const flatten = (data, path) => {
|
|
222
212
|
if (path.length === 0) return data;
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
result = result.concat(next);
|
|
236
|
-
} else if (((0, _typeof2["default"])(value) === "object" || typeof value === "string") && value !== null) {
|
|
237
|
-
var _next = _flatten([value], remainingPath);
|
|
238
|
-
result = result.concat(_next);
|
|
239
|
-
}
|
|
240
|
-
// else: primitive types or undefined → skip
|
|
213
|
+
const nextKey = path[0];
|
|
214
|
+
const remainingPath = path.slice(1);
|
|
215
|
+
let result = [];
|
|
216
|
+
for (const item of data) {
|
|
217
|
+
if (!item || typeof item !== "object") continue;
|
|
218
|
+
const value = item[nextKey];
|
|
219
|
+
if (Array.isArray(value)) {
|
|
220
|
+
const next = flatten(value, remainingPath);
|
|
221
|
+
result = result.concat(next);
|
|
222
|
+
} else if ((typeof value === "object" || typeof value === "string") && value !== null) {
|
|
223
|
+
const next = flatten([value], remainingPath);
|
|
224
|
+
result = result.concat(next);
|
|
241
225
|
}
|
|
242
|
-
} catch (err) {
|
|
243
|
-
_iterator2.e(err);
|
|
244
|
-
} finally {
|
|
245
|
-
_iterator2.f();
|
|
246
226
|
}
|
|
247
227
|
return result;
|
|
248
228
|
};
|
|
249
|
-
return
|
|
229
|
+
return flatten(dataSet, pathSegments);
|
|
250
230
|
}
|
|
251
|
-
|
|
231
|
+
const transformFormData = (context, dataSet, myDataField, displayOptions, startIndex, scope, dataPath) => {
|
|
252
232
|
if (dataPath) {
|
|
253
233
|
dataSet = resolveDataPath(dataSet, dataPath || "");
|
|
254
234
|
}
|
|
255
|
-
|
|
256
|
-
if (
|
|
257
|
-
dataSet = dataSet.split(",").map(
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
dataSet.forEach(function (option, index) {
|
|
261
|
-
var dataSetItem = {
|
|
235
|
+
const data = [];
|
|
236
|
+
if (isString(dataSet)) {
|
|
237
|
+
dataSet = dataSet.split(",").map((str) => str.trim());
|
|
238
|
+
dataSet.forEach((option, index) => {
|
|
239
|
+
const dataSetItem = {
|
|
262
240
|
key: option,
|
|
263
241
|
value: option,
|
|
264
242
|
label: isDefined(option) && option !== null ? option.toString() : "",
|
|
@@ -267,24 +245,24 @@ var transformFormData = exports.transformFormData = function transformFormData(c
|
|
|
267
245
|
setGroupbyKey(scope, context, dataSetItem, "value");
|
|
268
246
|
data.push(dataSetItem);
|
|
269
247
|
});
|
|
270
|
-
} else if (
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
key:
|
|
248
|
+
} else if (isArray(dataSet) && !isObject(dataSet[0])) {
|
|
249
|
+
dataSet.forEach(
|
|
250
|
+
(option, index) => {
|
|
251
|
+
const dataSetItem = {
|
|
252
|
+
key: option,
|
|
253
|
+
value: option,
|
|
254
|
+
label: isDefined(option) && option !== null ? String(option) : "",
|
|
255
|
+
index: (startIndex || 0) + index
|
|
256
|
+
};
|
|
257
|
+
setGroupbyKey(scope, context, dataSetItem, "value");
|
|
258
|
+
data.push(dataSetItem);
|
|
259
|
+
}
|
|
260
|
+
);
|
|
261
|
+
} else if (!(dataSet instanceof Array) && isObject(dataSet)) {
|
|
262
|
+
const i = 0;
|
|
263
|
+
forEach(dataSet, (value, key) => {
|
|
264
|
+
const dataSetItem = {
|
|
265
|
+
key: trim(key),
|
|
288
266
|
value: key,
|
|
289
267
|
label: isDefined(value) && value !== null ? String(value) : "",
|
|
290
268
|
index: startIndex,
|
|
@@ -295,35 +273,40 @@ var transformFormData = exports.transformFormData = function transformFormData(c
|
|
|
295
273
|
});
|
|
296
274
|
} else {
|
|
297
275
|
if (!myDataField) {
|
|
298
|
-
// consider the datafield as 'ALLFIELDS' when datafield is not given.
|
|
299
276
|
myDataField = ALLFIELDS;
|
|
300
277
|
}
|
|
301
|
-
dataSet.forEach(
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
278
|
+
dataSet.forEach((option, index) => {
|
|
279
|
+
const key = myDataField === ALLFIELDS ? (startIndex != null ? startIndex : 0) + index : getObjValueByKey(option, myDataField);
|
|
280
|
+
if (!isUndefined(key) && !isNull(key)) {
|
|
281
|
+
const label = getEvaluatedData(
|
|
282
|
+
option,
|
|
283
|
+
{
|
|
284
|
+
field: displayOptions.displayField,
|
|
285
|
+
expression: displayOptions.displayExpr,
|
|
286
|
+
bindExpression: displayOptions.bindDisplayExpr
|
|
287
|
+
},
|
|
288
|
+
option
|
|
289
|
+
);
|
|
290
|
+
const hasDisplayExpr = displayOptions == null ? void 0 : displayOptions.displayExpr;
|
|
291
|
+
const hasDisplayField = displayOptions == null ? void 0 : displayOptions.displayField;
|
|
292
|
+
const finalLabel = isDefined(label) && label !== null ? label.toString() : !hasDisplayExpr && !hasDisplayField && key !== void 0 && key !== null ? String(key) : "";
|
|
293
|
+
const dataSetItem = {
|
|
294
|
+
key,
|
|
316
295
|
label: finalLabel,
|
|
317
296
|
value: myDataField === ALLFIELDS ? option : key,
|
|
318
297
|
dataObject: option,
|
|
319
298
|
// represents the object when datafield is ALLFIELDS. This is used as innerItem while grouping the datasetItems.
|
|
320
|
-
index: (startIndex
|
|
299
|
+
index: (startIndex != null ? startIndex : 0) + index
|
|
321
300
|
};
|
|
322
301
|
if (displayOptions.displayImgSrc || displayOptions.bindDisplayImgSrc) {
|
|
323
|
-
dataSetItem.imgSrc =
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
302
|
+
dataSetItem.imgSrc = getEvaluatedData(
|
|
303
|
+
option,
|
|
304
|
+
{
|
|
305
|
+
expression: displayOptions.displayImgSrc,
|
|
306
|
+
bindExpression: displayOptions.bindDisplayImgSrc
|
|
307
|
+
},
|
|
308
|
+
context
|
|
309
|
+
);
|
|
327
310
|
}
|
|
328
311
|
setGroupbyKey(scope, context, dataSetItem, "dataObject");
|
|
329
312
|
data.push(dataSetItem);
|
|
@@ -332,180 +315,190 @@ var transformFormData = exports.transformFormData = function transformFormData(c
|
|
|
332
315
|
}
|
|
333
316
|
return data;
|
|
334
317
|
};
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
uniqData = isAllFields ?
|
|
318
|
+
const getUniqObjsByDataField = (data, dataField, displayField, allowEmptyFields) => {
|
|
319
|
+
let uniqData;
|
|
320
|
+
const isAllFields = dataField === ALLFIELDS;
|
|
321
|
+
uniqData = isAllFields ? uniqWith(data, isEqual) : uniqBy(data, "key");
|
|
339
322
|
if (!displayField || allowEmptyFields) {
|
|
340
323
|
return uniqData;
|
|
341
324
|
}
|
|
342
|
-
|
|
343
|
-
// return objects having non empty datafield and display field values.
|
|
344
|
-
return (0, _lodashEs.filter)(uniqData, function (obj) {
|
|
325
|
+
return filter(uniqData, (obj) => {
|
|
345
326
|
if (isAllFields) {
|
|
346
|
-
return
|
|
327
|
+
return trim(obj.label);
|
|
347
328
|
}
|
|
348
|
-
return
|
|
329
|
+
return trim(obj.key) && trim(obj.label);
|
|
349
330
|
});
|
|
350
331
|
};
|
|
351
|
-
|
|
352
|
-
return
|
|
332
|
+
const setItemByCompare = (datasetItems2, compareWithDataObj, compareByField) => {
|
|
333
|
+
return datasetItems2.find((item) => {
|
|
353
334
|
if (item.dataObject) {
|
|
354
335
|
return isEqualWithFields(compareWithDataObj, item.dataObject, compareByField);
|
|
355
336
|
}
|
|
356
337
|
return false;
|
|
357
338
|
});
|
|
358
339
|
};
|
|
359
|
-
|
|
360
|
-
|
|
340
|
+
const getSortedGroupedData = (groupedLiData, groupBy, orderby) => {
|
|
341
|
+
const data = lodashValues(groupedLiData).map((val) => {
|
|
361
342
|
if (orderby) {
|
|
362
343
|
val.data = getOrderedDataset(val.data, orderby, "dataObject");
|
|
363
344
|
}
|
|
364
345
|
return val;
|
|
365
346
|
});
|
|
366
|
-
return (
|
|
347
|
+
return lodashSortBy(data, `data[0].dataObject.${groupBy}`);
|
|
367
348
|
};
|
|
368
|
-
|
|
349
|
+
const datasetItems = (dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren, match) => {
|
|
350
|
+
var _a, _b, _c, _d;
|
|
369
351
|
if (!dataset) return [];
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
352
|
+
let items = transformFormData(
|
|
353
|
+
null,
|
|
354
|
+
dataset,
|
|
355
|
+
datafield,
|
|
356
|
+
{
|
|
357
|
+
displayField: displayfield || displaylabel,
|
|
358
|
+
displayExpr: displayexpression
|
|
359
|
+
},
|
|
360
|
+
0,
|
|
361
|
+
null,
|
|
362
|
+
dataPath
|
|
363
|
+
);
|
|
364
|
+
items = getUniqObjsByDataField(
|
|
365
|
+
items,
|
|
366
|
+
datafield,
|
|
367
|
+
displayfield || displaylabel,
|
|
368
|
+
false
|
|
369
|
+
);
|
|
375
370
|
if (orderby) {
|
|
376
|
-
|
|
377
|
-
items.sort(
|
|
378
|
-
var
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
_orderField$split2 = (0, _slicedToArray2["default"])(_orderField$split, 2),
|
|
386
|
-
field = _orderField$split2[0],
|
|
387
|
-
order = _orderField$split2[1];
|
|
388
|
-
var aVal = String(((_a$dataObject = a.dataObject) === null || _a$dataObject === void 0 ? void 0 : _a$dataObject[field]) || a.label || "");
|
|
389
|
-
var bVal = String(((_b$dataObject = b.dataObject) === null || _b$dataObject === void 0 ? void 0 : _b$dataObject[field]) || b.label || "");
|
|
390
|
-
var comparison = order === "desc" ? bVal.localeCompare(aVal, "en", {
|
|
391
|
-
numeric: true
|
|
392
|
-
}) : aVal.localeCompare(bVal, "en", {
|
|
393
|
-
numeric: true
|
|
394
|
-
});
|
|
395
|
-
if (comparison !== 0) return comparison;
|
|
396
|
-
}
|
|
397
|
-
} catch (err) {
|
|
398
|
-
_iterator3.e(err);
|
|
399
|
-
} finally {
|
|
400
|
-
_iterator3.f();
|
|
371
|
+
const orderFields = orderby.split(",");
|
|
372
|
+
items.sort((a, b) => {
|
|
373
|
+
var _a2, _b2;
|
|
374
|
+
for (const orderField of orderFields) {
|
|
375
|
+
const [field, order] = orderField.split(":");
|
|
376
|
+
const aVal = String(((_a2 = a.dataObject) == null ? void 0 : _a2[field]) || a.label || "");
|
|
377
|
+
const bVal = String(((_b2 = b.dataObject) == null ? void 0 : _b2[field]) || b.label || "");
|
|
378
|
+
const comparison = order === "desc" ? bVal.localeCompare(aVal, "en", { numeric: true }) : aVal.localeCompare(bVal, "en", { numeric: true });
|
|
379
|
+
if (comparison !== 0) return comparison;
|
|
401
380
|
}
|
|
402
381
|
return 0;
|
|
403
382
|
});
|
|
404
383
|
}
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
384
|
+
for (const item of items) {
|
|
385
|
+
let children;
|
|
386
|
+
if (typeof itemchildren === "function") {
|
|
387
|
+
children = (_a = itemchildren(item == null ? void 0 : item.dataObject)) != null ? _a : itemchildren(item);
|
|
388
|
+
if (Array.isArray(children)) {
|
|
389
|
+
const sortedChildren = datasetItems(
|
|
390
|
+
children,
|
|
391
|
+
datafield,
|
|
392
|
+
displayfield,
|
|
393
|
+
displaylabel,
|
|
394
|
+
displayexpression,
|
|
395
|
+
orderby,
|
|
396
|
+
groupby,
|
|
397
|
+
dataPath,
|
|
398
|
+
itemchildren,
|
|
399
|
+
match
|
|
400
|
+
);
|
|
401
|
+
if (itemchildren(item == null ? void 0 : item.dataObject)) {
|
|
402
|
+
if (item.dataObject) item.dataObject.children = sortedChildren;
|
|
403
|
+
} else if (itemchildren(item)) {
|
|
404
|
+
item.children = sortedChildren;
|
|
421
405
|
}
|
|
422
|
-
}
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
406
|
+
}
|
|
407
|
+
} else {
|
|
408
|
+
children = (_c = (_b = item == null ? void 0 : item.dataObject) == null ? void 0 : _b[itemchildren]) != null ? _c : item == null ? void 0 : item[itemchildren];
|
|
409
|
+
if (Array.isArray(children)) {
|
|
410
|
+
const sortedChildren = datasetItems(
|
|
411
|
+
children,
|
|
412
|
+
datafield,
|
|
413
|
+
displayfield,
|
|
414
|
+
displaylabel,
|
|
415
|
+
displayexpression,
|
|
416
|
+
orderby,
|
|
417
|
+
groupby,
|
|
418
|
+
dataPath,
|
|
419
|
+
itemchildren,
|
|
420
|
+
match
|
|
421
|
+
);
|
|
422
|
+
if ((_d = item == null ? void 0 : item.dataObject) == null ? void 0 : _d[itemchildren]) {
|
|
423
|
+
item.dataObject.children = sortedChildren;
|
|
424
|
+
} else if (item == null ? void 0 : item[itemchildren]) {
|
|
425
|
+
item.children = sortedChildren;
|
|
433
426
|
}
|
|
434
427
|
}
|
|
435
428
|
}
|
|
436
|
-
} catch (err) {
|
|
437
|
-
_iterator4.e(err);
|
|
438
|
-
} finally {
|
|
439
|
-
_iterator4.f();
|
|
440
429
|
}
|
|
441
430
|
if (groupby) {
|
|
442
431
|
items = groupData(null, items, groupby, match || "word", "", "");
|
|
443
432
|
}
|
|
444
433
|
return items;
|
|
445
434
|
};
|
|
446
|
-
|
|
447
|
-
var innerItem = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : "dataObject";
|
|
448
|
-
var AppDefaults = arguments.length > 7 ? arguments[7] : undefined;
|
|
435
|
+
const groupData = (compRef, data, groupby, match, orderby, dateformat, innerItem = "dataObject", AppDefaults) => {
|
|
449
436
|
if (!groupby || !data || !data.length) {
|
|
450
437
|
return [];
|
|
451
438
|
}
|
|
452
|
-
|
|
439
|
+
const groupedData = getGroupedData(
|
|
440
|
+
data,
|
|
441
|
+
groupby,
|
|
442
|
+
match,
|
|
443
|
+
orderby,
|
|
444
|
+
dateformat,
|
|
445
|
+
innerItem,
|
|
446
|
+
AppDefaults
|
|
447
|
+
);
|
|
453
448
|
return getSortedGroupedData(groupedData, groupby, orderby);
|
|
454
449
|
};
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
450
|
+
const getGroupedData = (fieldDefs, groupby, match, orderby, dateFormat, innerItem, AppDefaults) => {
|
|
451
|
+
const mappedData = fieldDefs.map((item) => {
|
|
452
|
+
const groupByKey = groupDataByField(
|
|
453
|
+
groupby,
|
|
454
|
+
match,
|
|
455
|
+
innerItem,
|
|
456
|
+
dateFormat,
|
|
457
|
+
/*datePipe,*/
|
|
458
|
+
AppDefaults,
|
|
459
|
+
item
|
|
460
|
+
);
|
|
461
|
+
return { groupByKey, data: item };
|
|
462
462
|
});
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
(0, _lodashEs.forEach)(groupedData, function (value, key) {
|
|
468
|
-
result[key] = {
|
|
469
|
-
key: key,
|
|
470
|
-
data: value.map(function (v) {
|
|
471
|
-
return v.data;
|
|
472
|
-
})
|
|
473
|
-
};
|
|
463
|
+
const groupedData = lodashGroupBy(mappedData, "groupByKey");
|
|
464
|
+
const result = {};
|
|
465
|
+
forEach(groupedData, (value, key) => {
|
|
466
|
+
result[key] = { key, data: value.map((v) => v.data) };
|
|
474
467
|
});
|
|
475
468
|
return result;
|
|
476
469
|
};
|
|
477
|
-
|
|
470
|
+
const filterDateReact = (value, format, defaultFormat) => {
|
|
478
471
|
if (!isDefined(value) || value === "") {
|
|
479
472
|
return "";
|
|
480
473
|
}
|
|
481
|
-
|
|
474
|
+
const mDate = moment(value);
|
|
482
475
|
if (mDate.isValid()) {
|
|
483
476
|
return mDate.format(format || defaultFormat);
|
|
484
477
|
}
|
|
485
|
-
return String(value);
|
|
478
|
+
return String(value);
|
|
486
479
|
};
|
|
487
|
-
|
|
480
|
+
const getTimeRolledUpString = (concatStr, rollUp, dateformat, AppDefaults) => {
|
|
488
481
|
if (!isDefined(concatStr) || concatStr === "") {
|
|
489
482
|
return GROUP_BY_OPTIONS.OTHERS;
|
|
490
483
|
}
|
|
491
|
-
|
|
484
|
+
const mDate = moment(concatStr);
|
|
492
485
|
if (!mDate.isValid()) {
|
|
493
486
|
return GROUP_BY_OPTIONS.OTHERS;
|
|
494
487
|
}
|
|
495
|
-
|
|
496
|
-
|
|
488
|
+
const appDateFormat = AppDefaults && AppDefaults.dateFormat ? AppDefaults.dateFormat : "yyyy-MM-dd";
|
|
489
|
+
const calendarDayFormats = {
|
|
497
490
|
lastDay: "[Yesterday]",
|
|
498
491
|
lastWeek: "[Last] dddd",
|
|
499
492
|
nextDay: "[Tomorrow]",
|
|
500
493
|
nextWeek: "dddd",
|
|
501
494
|
sameDay: "[Today]",
|
|
502
|
-
sameElse: appDateFormat.replace(/y/g, "Y").replace(/d/g, "D")
|
|
495
|
+
sameElse: appDateFormat.replace(/y/g, "Y").replace(/d/g, "D")
|
|
496
|
+
// Adjust to moment format tokens
|
|
503
497
|
};
|
|
504
498
|
if (rollUp === TIME_ROLLUP_OPTIONS.DAY) {
|
|
505
499
|
return mDate.calendar(null, calendarDayFormats);
|
|
506
500
|
}
|
|
507
501
|
if (rollUp === TIME_ROLLUP_OPTIONS.WEEK) {
|
|
508
|
-
// Example: 'Week 1, 2023' or use specific format from ROLLUP_PATTERNS
|
|
509
502
|
return mDate.format(ROLLUP_PATTERNS.WEEK || "wo [Week], YYYY");
|
|
510
503
|
}
|
|
511
504
|
if (rollUp === TIME_ROLLUP_OPTIONS.MONTH) {
|
|
@@ -515,23 +508,20 @@ var getTimeRolledUpString = function getTimeRolledUpString(concatStr, rollUp, da
|
|
|
515
508
|
return mDate.format(ROLLUP_PATTERNS.YEAR || "YYYY");
|
|
516
509
|
}
|
|
517
510
|
if (rollUp === TIME_ROLLUP_OPTIONS.HOUR) {
|
|
518
|
-
|
|
519
|
-
var baseFormat = ROLLUP_PATTERNS.HOUR || "hh:mm A";
|
|
511
|
+
const baseFormat = ROLLUP_PATTERNS.HOUR || "hh:mm A";
|
|
520
512
|
if (mDate.isSame(moment(), "day")) {
|
|
521
|
-
return
|
|
513
|
+
return `[Today], ${mDate.format(baseFormat)}`;
|
|
522
514
|
}
|
|
523
|
-
return mDate.format(
|
|
515
|
+
return mDate.format(`${ROLLUP_PATTERNS.DAY}, ${baseFormat}`);
|
|
524
516
|
}
|
|
525
|
-
|
|
526
|
-
// Default if no rollup matched, or for custom date formats if applicable
|
|
527
517
|
if (dateformat) {
|
|
528
518
|
return filterDateReact(mDate.toDate(), dateformat, appDateFormat);
|
|
529
519
|
}
|
|
530
520
|
return mDate.format(appDateFormat.replace(/y/g, "Y").replace(/d/g, "D"));
|
|
531
521
|
};
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
if (
|
|
522
|
+
const groupDataByField = (groupby, match, innerItem, dateFormat, AppDefaults, liData) => {
|
|
523
|
+
let concatStr = get(innerItem ? liData[innerItem] : liData, groupby);
|
|
524
|
+
if (isUndefined(concatStr) || isNull(concatStr) || isString(concatStr) && concatStr.toString().trim() === "") {
|
|
535
525
|
return GROUP_BY_OPTIONS.OTHERS;
|
|
536
526
|
}
|
|
537
527
|
if (match === GROUP_BY_OPTIONS.ALPHABET) {
|
|
@@ -540,29 +530,18 @@ var groupDataByField = function groupDataByField(groupby, match, innerItem, date
|
|
|
540
530
|
if (match === GROUP_BY_OPTIONS.WORD) {
|
|
541
531
|
return String(concatStr);
|
|
542
532
|
}
|
|
543
|
-
if (
|
|
533
|
+
if (includes(lodashValues(TIME_ROLLUP_OPTIONS), match)) {
|
|
544
534
|
return getTimeRolledUpString(String(concatStr), match, dateFormat, AppDefaults);
|
|
545
535
|
}
|
|
546
536
|
return String(concatStr);
|
|
547
537
|
};
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
* @param containerRef - Reference to the container element
|
|
556
|
-
* @returns void
|
|
557
|
-
*/
|
|
558
|
-
var toggleAllHeaders = exports.toggleAllHeaders = function toggleAllHeaders(containerRef) {
|
|
559
|
-
var groups = containerRef.querySelectorAll(".item-group");
|
|
560
|
-
groups.forEach(function (group) {
|
|
561
|
-
var listItems = group.querySelectorAll(".group-list-item");
|
|
562
|
-
var icon = group.querySelector("li.list-group-header .app-icon");
|
|
563
|
-
listItems.forEach(function (item) {
|
|
564
|
-
// Toggle visibility
|
|
565
|
-
var currentDisplay = window.getComputedStyle(item).display;
|
|
538
|
+
const toggleAllHeaders = (containerRef) => {
|
|
539
|
+
const groups = containerRef.querySelectorAll(".item-group");
|
|
540
|
+
groups.forEach((group) => {
|
|
541
|
+
const listItems = group.querySelectorAll(".group-list-item");
|
|
542
|
+
const icon = group.querySelector("li.list-group-header .app-icon");
|
|
543
|
+
listItems.forEach((item) => {
|
|
544
|
+
const currentDisplay = window.getComputedStyle(item).display;
|
|
566
545
|
item.style.display = currentDisplay === "none" ? "block" : "none";
|
|
567
546
|
});
|
|
568
547
|
if (icon) {
|
|
@@ -576,18 +555,12 @@ var toggleAllHeaders = exports.toggleAllHeaders = function toggleAllHeaders(cont
|
|
|
576
555
|
}
|
|
577
556
|
});
|
|
578
557
|
};
|
|
579
|
-
|
|
580
|
-
|
|
581
|
-
|
|
582
|
-
* @param event - Click event
|
|
583
|
-
* @returns void
|
|
584
|
-
*/
|
|
585
|
-
var handleHeaderClick = exports.handleHeaderClick = function handleHeaderClick(event) {
|
|
586
|
-
var target = event.target;
|
|
587
|
-
var selectedGroup = target.closest(".item-group");
|
|
558
|
+
const handleHeaderClick = (event) => {
|
|
559
|
+
const target = event.target;
|
|
560
|
+
const selectedGroup = target.closest(".item-group");
|
|
588
561
|
if (!selectedGroup) return;
|
|
589
|
-
|
|
590
|
-
|
|
562
|
+
const selectedAppIcon = selectedGroup.querySelector("li.list-group-header .app-icon");
|
|
563
|
+
const listItems = selectedGroup.querySelectorAll(".group-list-item");
|
|
591
564
|
if (selectedAppIcon) {
|
|
592
565
|
if (selectedAppIcon.classList.contains("wi-chevron-down")) {
|
|
593
566
|
selectedAppIcon.classList.remove("wi-chevron-down");
|
|
@@ -597,26 +570,13 @@ var handleHeaderClick = exports.handleHeaderClick = function handleHeaderClick(e
|
|
|
597
570
|
selectedAppIcon.classList.add("wi-chevron-down");
|
|
598
571
|
}
|
|
599
572
|
}
|
|
600
|
-
listItems.forEach(
|
|
601
|
-
|
|
573
|
+
listItems.forEach((item) => {
|
|
574
|
+
const currentDisplay = window.getComputedStyle(item).display;
|
|
602
575
|
item.style.display = currentDisplay === "none" ? "block" : "none";
|
|
603
576
|
});
|
|
604
577
|
};
|
|
605
|
-
|
|
606
|
-
|
|
607
|
-
* Note: This is a basic implementation. For production use, consider using modern libraries like react-beautiful-dnd
|
|
608
|
-
* @param element - Element to make sortable
|
|
609
|
-
* @param options - Sortable options
|
|
610
|
-
* @param onDragStart - Callback when drag starts
|
|
611
|
-
* @param onUpdate - Callback when sorting ends and DOM position changes
|
|
612
|
-
* @param onSort - Optional callback during sorting
|
|
613
|
-
*/
|
|
614
|
-
var configureDnD = exports.configureDnD = function configureDnD(element) {
|
|
615
|
-
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
616
|
-
var onDragStart = arguments.length > 2 ? arguments[2] : undefined;
|
|
617
|
-
var onUpdate = arguments.length > 3 ? arguments[3] : undefined;
|
|
618
|
-
var onSort = arguments.length > 4 ? arguments[4] : undefined;
|
|
619
|
-
var defaultOptions = {
|
|
578
|
+
const configureDnD = (element, options = {}, onDragStart, onUpdate, onSort) => {
|
|
579
|
+
const defaultOptions = {
|
|
620
580
|
containment: element,
|
|
621
581
|
delay: 100,
|
|
622
582
|
opacity: 0.8,
|
|
@@ -624,22 +584,34 @@ var configureDnD = exports.configureDnD = function configureDnD(element) {
|
|
|
624
584
|
zIndex: 1050,
|
|
625
585
|
tolerance: "pointer"
|
|
626
586
|
};
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
// Add drag and drop event listeners
|
|
587
|
+
const finalOptions = __spreadValues(__spreadValues({}, defaultOptions), options);
|
|
630
588
|
element.addEventListener("dragstart", onDragStart);
|
|
631
589
|
element.addEventListener("dragend", onUpdate);
|
|
632
590
|
if (onSort) {
|
|
633
591
|
element.addEventListener("drag", onSort);
|
|
634
592
|
}
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
var draggableItems = element.children;
|
|
638
|
-
Array.from(draggableItems).forEach(function (item) {
|
|
593
|
+
const draggableItems = element.children;
|
|
594
|
+
Array.from(draggableItems).forEach((item) => {
|
|
639
595
|
item.draggable = true;
|
|
640
596
|
item.style.userSelect = "none";
|
|
641
597
|
if (finalOptions.opacity) {
|
|
642
598
|
item.style.opacity = "1";
|
|
643
599
|
}
|
|
644
600
|
});
|
|
645
|
-
};
|
|
601
|
+
};
|
|
602
|
+
export {
|
|
603
|
+
DataSetItem,
|
|
604
|
+
configureDnD,
|
|
605
|
+
convertDataToObject,
|
|
606
|
+
datasetItems,
|
|
607
|
+
extractDataAsArray,
|
|
608
|
+
getOrderedDataset,
|
|
609
|
+
getUniqObjsByDataField,
|
|
610
|
+
groupData,
|
|
611
|
+
handleHeaderClick,
|
|
612
|
+
setItemByCompare,
|
|
613
|
+
toggleAllHeaders,
|
|
614
|
+
transformDataWithKeys,
|
|
615
|
+
transformDataset,
|
|
616
|
+
transformFormData
|
|
617
|
+
};
|