@wavemaker/react-runtime 11.14.1-rc.236
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/actions/base-action.js +32 -0
- package/actions/login-action.js +53 -0
- package/actions/logout-action.js +41 -0
- package/actions/navigation-action.js +145 -0
- package/actions/notification-action.js +147 -0
- package/actions/timer-action.js +164 -0
- package/actions/toast-provider.js +111 -0
- package/actions/toast.js +115 -0
- package/actions/toast.service.js +94 -0
- package/actions/types/index.js +11 -0
- package/components/advanced/carousel/index.js +456 -0
- package/components/advanced/carousel/props.js +5 -0
- package/components/advanced/carousel/template.js +72 -0
- package/components/advanced/login/index.js +307 -0
- package/components/advanced/login/props.js +5 -0
- package/components/advanced/marquee/index.js +158 -0
- package/components/advanced/marquee/props.js +5 -0
- package/components/basic/anchor/index.js +239 -0
- package/components/basic/anchor/props.js +5 -0
- package/components/basic/audio/index.js +61 -0
- package/components/basic/html/index.js +158 -0
- package/components/basic/icon/index.js +85 -0
- package/components/basic/iframe/iframe.utils.js +10 -0
- package/components/basic/iframe/index.js +95 -0
- package/components/basic/label/index.js +139 -0
- package/components/basic/message/index.js +120 -0
- package/components/basic/message/props.js +5 -0
- package/components/basic/picture/index.js +117 -0
- package/components/basic/picture/props.js +5 -0
- package/components/basic/progress-bar/index.js +168 -0
- package/components/basic/progress-bar/props.js +18 -0
- package/components/basic/progress-circle/index.js +196 -0
- package/components/basic/progress-circle/props.js +16 -0
- package/components/basic/richtexteditor/index.js +533 -0
- package/components/basic/richtexteditor/props.js +5 -0
- package/components/basic/search/index.js +1023 -0
- package/components/basic/search/props.js +5 -0
- package/components/basic/search/providers.js +350 -0
- package/components/basic/spinner/index.js +202 -0
- package/components/basic/spinner/props.js +12 -0
- package/components/basic/tile/index.js +91 -0
- package/components/basic/tree/Components/TreeNodeComponent.js +142 -0
- package/components/basic/tree/index.js +503 -0
- package/components/basic/tree/props.js +5 -0
- package/components/basic/tree/utils.js +154 -0
- package/components/basic/video/index.js +85 -0
- package/components/basic/video/props.js +5 -0
- package/components/chart/components/barColumnChart/index.js +132 -0
- package/components/chart/components/barColumnChart/props.js +5 -0
- package/components/chart/components/bubbleChart/index.js +176 -0
- package/components/chart/components/bubbleChart/props.js +5 -0
- package/components/chart/components/chartLegend/components/ClassicLegendItem.js +39 -0
- package/components/chart/components/chartLegend/components/FuriousLegendItem.js +81 -0
- package/components/chart/components/chartLegend/index.js +69 -0
- package/components/chart/components/chartLegend/props.js +5 -0
- package/components/chart/components/chartLegend/utils.js +31 -0
- package/components/chart/components/chartTooltip/index.js +53 -0
- package/components/chart/components/chartTooltip/styles.js +37 -0
- package/components/chart/components/chartTooltip/utils.js +23 -0
- package/components/chart/components/cumulativeLineChart/index.js +113 -0
- package/components/chart/components/cumulativeLineChart/props.js +5 -0
- package/components/chart/components/cumulativeLineChart/utils.js +34 -0
- package/components/chart/components/index.js +40 -0
- package/components/chart/components/lineAreaChart/index.js +140 -0
- package/components/chart/components/lineAreaChart/props.js +5 -0
- package/components/chart/components/noDataMessage/index.js +27 -0
- package/components/chart/components/pieDonutChart/index.js +171 -0
- package/components/chart/components/pieDonutChart/props.js +5 -0
- package/components/chart/constant.js +72 -0
- package/components/chart/index.js +930 -0
- package/components/chart/props.js +5 -0
- package/components/chart/utils.js +691 -0
- package/components/common/AppSpinner.js +36 -0
- package/components/common/app-spinner.js +26 -0
- package/components/common/index.js +12 -0
- package/components/constants.js +1208 -0
- package/components/container/accordion/accordion-pane/index.js +108 -0
- package/components/container/accordion/accordion-pane/props.js +11 -0
- package/components/container/accordion/index.js +232 -0
- package/components/container/accordion/props.js +13 -0
- package/components/container/alignment-utils.js +183 -0
- package/components/container/index.js +188 -0
- package/components/container/layout-grid/grid-column/index.js +34 -0
- package/components/container/layout-grid/grid-row/index.js +24 -0
- package/components/container/layout-grid/index.js +33 -0
- package/components/container/linear-layout/index.js +72 -0
- package/components/container/linear-layout/linear-layout-item/index.js +43 -0
- package/components/container/panel/components/panel-header/index.js +144 -0
- package/components/container/panel/components/panel-header/props.js +5 -0
- package/components/container/panel/hooks.js +144 -0
- package/components/container/panel/index.js +286 -0
- package/components/container/panel/props.js +5 -0
- package/components/container/props.js +5 -0
- package/components/container/tabs/index.js +379 -0
- package/components/container/tabs/props.js +20 -0
- package/components/container/tabs/tab-pane/index.js +42 -0
- package/components/container/tabs/tab-pane/props.js +5 -0
- package/components/container/wizard/WizardContext.js +16 -0
- package/components/container/wizard/components/StepComponents.js +100 -0
- package/components/container/wizard/components/WizardStep.js +89 -0
- package/components/container/wizard/index.js +710 -0
- package/components/container/wizard/props.js +5 -0
- package/components/container/wizard/utils.js +133 -0
- package/components/container/wizard/wizard-action/index.js +22 -0
- package/components/container/wizard/wizard-step/index.js +94 -0
- package/components/data/card/card-actions/index.js +24 -0
- package/components/data/card/card-content/index.js +38 -0
- package/components/data/card/card-footer/index.js +24 -0
- package/components/data/card/index.js +246 -0
- package/components/data/card/props.js +5 -0
- package/components/data/form/base-form/constant.js +39 -0
- package/components/data/form/base-form/index.js +460 -0
- package/components/data/form/base-form/props.js +29 -0
- package/components/data/form/base-form/utils.js +42 -0
- package/components/data/form/dynamic-fields/index.js +196 -0
- package/components/data/form/dynamic-fields/props.js +5 -0
- package/components/data/form/dynamic-fields/utils.js +237 -0
- package/components/data/form/form-action/index.js +71 -0
- package/components/data/form/form-body/index.js +26 -0
- package/components/data/form/form-context.js +34 -0
- package/components/data/form/form-controller/props.js +19 -0
- package/components/data/form/form-controller/validation-contrustor.js +313 -0
- package/components/data/form/form-controller/withFormController.js +320 -0
- package/components/data/form/form-field/base-field.js +138 -0
- package/components/data/form/form-field/index.js +36 -0
- package/components/data/form/form-field/props.js +5 -0
- package/components/data/form/form-footer/index.js +26 -0
- package/components/data/form/form-header/index.js +56 -0
- package/components/data/form/index.js +39 -0
- package/components/data/form/props.js +5 -0
- package/components/data/list/components/GroupHeader.js +35 -0
- package/components/data/list/components/GroupedListItems.js +98 -0
- package/components/data/list/components/ListContainer.js +27 -0
- package/components/data/list/components/ListDND.js +241 -0
- package/components/data/list/components/ListHeader.js +59 -0
- package/components/data/list/components/ListItem.js +148 -0
- package/components/data/list/components/ListItemWithTemplate.js +59 -0
- package/components/data/list/components/ListItems.js +231 -0
- package/components/data/list/components/ListPagination.js +165 -0
- package/components/data/list/components/LoadMoreButton.js +39 -0
- package/components/data/list/components/NoDataMessage.js +22 -0
- package/components/data/list/components/StandardListItems.js +84 -0
- package/components/data/list/components/index.js +119 -0
- package/components/data/list/components/props.js +5 -0
- package/components/data/list/hooks/index.js +75 -0
- package/components/data/list/hooks/props.js +5 -0
- package/components/data/list/hooks/useCurrentPageItems.js +48 -0
- package/components/data/list/hooks/useGroupedData.js +37 -0
- package/components/data/list/hooks/useListData.js +60 -0
- package/components/data/list/hooks/useListEffects.js +285 -0
- package/components/data/list/hooks/useListEventHandlers.js +291 -0
- package/components/data/list/hooks/useListPagination.js +168 -0
- package/components/data/list/hooks/useListState.js +98 -0
- package/components/data/list/hooks/useListStateManager.js +195 -0
- package/components/data/list/hooks/usePaginatedGroupedData.js +121 -0
- package/components/data/list/index.js +611 -0
- package/components/data/list/props.js +5 -0
- package/components/data/list/templates/media-template.js +53 -0
- package/components/data/list/utils/constants.js +81 -0
- package/components/data/list/utils/list-helpers.js +173 -0
- package/components/data/list/utils/list-widget-methods.js +114 -0
- package/components/data/live-filter/index.js +279 -0
- package/components/data/live-filter/props.js +12 -0
- package/components/data/live-form/index.js +93 -0
- package/components/data/live-form/props.js +16 -0
- package/components/data/pagination/components/BasicPagination.js +77 -0
- package/components/data/pagination/components/ClassicPagination.js +191 -0
- package/components/data/pagination/components/InlinePagination.js +99 -0
- package/components/data/pagination/components/LoadingComponent.js +31 -0
- package/components/data/pagination/components/PageSizeSelector.js +175 -0
- package/components/data/pagination/components/PagerNavigation.js +105 -0
- package/components/data/pagination/components/TotalRecords.js +52 -0
- package/components/data/pagination/components/index.js +47 -0
- package/components/data/pagination/components/props.js +5 -0
- package/components/data/pagination/hooks/index.js +19 -0
- package/components/data/pagination/hooks/props.js +5 -0
- package/components/data/pagination/hooks/useNavigationSize.js +44 -0
- package/components/data/pagination/hooks/usePagination.js +796 -0
- package/components/data/pagination/index.js +322 -0
- package/components/data/table/components/AddNewRow.js +190 -0
- package/components/data/table/components/EditableCell.js +91 -0
- package/components/data/table/components/FieldValidationError.js +24 -0
- package/components/data/table/components/RowExpansionButton.js +74 -0
- package/components/data/table/components/TableBody.js +279 -0
- package/components/data/table/components/TableFilters.js +325 -0
- package/components/data/table/components/TableFooterActions.js +48 -0
- package/components/data/table/components/TableHeader.js +174 -0
- package/components/data/table/components/TablePanelHeading.js +68 -0
- package/components/data/table/components/index.js +74 -0
- package/components/data/table/hooks/index.js +219 -0
- package/components/data/table/hooks/useCellState.js +117 -0
- package/components/data/table/hooks/useDynamicColumns.js +85 -0
- package/components/data/table/hooks/useEditingState.js +47 -0
- package/components/data/table/hooks/useFormWidget.js +184 -0
- package/components/data/table/hooks/usePaginationState.js +60 -0
- package/components/data/table/hooks/usePanelStructure.js +40 -0
- package/components/data/table/hooks/useResponsiveColumns.js +34 -0
- package/components/data/table/hooks/useRowExpansion.js +110 -0
- package/components/data/table/hooks/useRowHandlers.js +38 -0
- package/components/data/table/hooks/useRowSelection.js +213 -0
- package/components/data/table/hooks/useServerSideSorting.js +165 -0
- package/components/data/table/hooks/useTableColumns.js +263 -0
- package/components/data/table/hooks/useTableData.js +154 -0
- package/components/data/table/hooks/useTableEdit.js +467 -0
- package/components/data/table/hooks/useTableEffects.js +139 -0
- package/components/data/table/hooks/useTableFilter.js +389 -0
- package/components/data/table/hooks/useTableInitialization.js +103 -0
- package/components/data/table/hooks/useTableState.js +69 -0
- package/components/data/table/hooks/useTableStateManager.js +558 -0
- package/components/data/table/index.js +1295 -0
- package/components/data/table/live-table/index.js +232 -0
- package/components/data/table/props.js +5 -0
- package/components/data/table/table-action/index.js +78 -0
- package/components/data/table/table-column/index.js +35 -0
- package/components/data/table/table-row/index.js +49 -0
- package/components/data/table/table-row-action/index.js +74 -0
- package/components/data/table/utils/buildSelectionColumns.js +173 -0
- package/components/data/table/utils/columnBuilder.js +209 -0
- package/components/data/table/utils/columnProxy.js +48 -0
- package/components/data/table/utils/columnWidthDistribution.js +98 -0
- package/components/data/table/utils/constants.js +80 -0
- package/components/data/table/utils/crud-handlers.js +518 -0
- package/components/data/table/utils/dynamic-columns.js +118 -0
- package/components/data/table/utils/index.js +607 -0
- package/components/data/table/utils/renderDisplayCell.js +183 -0
- package/components/data/table/utils/selectionUtils.js +166 -0
- package/components/data/table/utils/table-helpers.js +100 -0
- package/components/data/table/utils/validation.js +124 -0
- package/components/data/types.js +113 -0
- package/components/data/utils/field-data-utils.js +66 -0
- package/components/data/utils/filter-field-util.js +81 -0
- package/components/data/utils/index.js +216 -0
- package/components/dialogs/alert-dialog/index.js +80 -0
- package/components/dialogs/confirm-dialog/index.js +105 -0
- package/components/dialogs/dialog/index.js +56 -0
- package/components/dialogs/dialog-actions/index.js +18 -0
- package/components/dialogs/dialog-body/index.js +21 -0
- package/components/dialogs/dialog-content/index.js +30 -0
- package/components/dialogs/dialog-header/index.js +93 -0
- package/components/dialogs/iframe-dialog/index.js +114 -0
- package/components/dialogs/index.js +129 -0
- package/components/dialogs/login-dialog/index.js +369 -0
- package/components/dialogs/login-dialog/props.js +5 -0
- package/components/dialogs/page-dialog/index.js +96 -0
- package/components/dialogs/withDialogWrapper.js +108 -0
- package/components/form/button/index.js +216 -0
- package/components/form/button-group/index.js +60 -0
- package/components/input/calendar/index.js +546 -0
- package/components/input/calendar/props.js +5 -0
- package/components/input/calendar/utils.js +340 -0
- package/components/input/chips/SortableChip/index.js +115 -0
- package/components/input/chips/SortableChip/props.js +5 -0
- package/components/input/chips/index.js +488 -0
- package/components/input/chips/props.js +5 -0
- package/components/input/chips/utils.js +259 -0
- package/components/input/color-picker/index.js +678 -0
- package/components/input/color-picker/props.js +5 -0
- package/components/input/composite/index.js +137 -0
- package/components/input/currency/index.js +263 -0
- package/components/input/currency/props.js +5 -0
- package/components/input/default/checkbox/index.js +230 -0
- package/components/input/default/checkbox/props.js +5 -0
- package/components/input/default/checkboxset/index.js +476 -0
- package/components/input/default/checkboxset/props.js +5 -0
- package/components/input/default/radioset/index.js +379 -0
- package/components/input/default/radioset/props.js +5 -0
- package/components/input/default/switch/index.js +490 -0
- package/components/input/default/switch/prop.js +5 -0
- package/components/input/epoch/date/components/DatePickerPopover.js +220 -0
- package/components/input/epoch/date/index.js +520 -0
- package/components/input/epoch/date/props.js +5 -0
- package/components/input/epoch/date/styled.js +70 -0
- package/components/input/epoch/date/utils.js +108 -0
- package/components/input/epoch/datetime/index.js +656 -0
- package/components/input/epoch/datetime/props.js +5 -0
- package/components/input/epoch/datetime/styled.js +90 -0
- package/components/input/epoch/datetime/utils.js +244 -0
- package/components/input/epoch/time/index.js +412 -0
- package/components/input/epoch/time/props.js +5 -0
- package/components/input/epoch/time/utils.js +209 -0
- package/components/input/fileupload/Utils.js +134 -0
- package/components/input/fileupload/components/ListItems.js +140 -0
- package/components/input/fileupload/components/MultiUpload.js +85 -0
- package/components/input/fileupload/components/SingleUpload.js +65 -0
- package/components/input/fileupload/index.js +170 -0
- package/components/input/fileupload/props.js +5 -0
- package/components/input/fileupload/useFileUpload.js +400 -0
- package/components/input/number/index.js +295 -0
- package/components/input/number/props.js +5 -0
- package/components/input/rating/index.js +368 -0
- package/components/input/rating/props.js +5 -0
- package/components/input/select/index.js +344 -0
- package/components/input/select/props.js +5 -0
- package/components/input/slider/index.js +167 -0
- package/components/input/slider/props.js +5 -0
- package/components/input/text/index.js +434 -0
- package/components/input/text/props.js +5 -0
- package/components/input/text/util.js +179 -0
- package/components/input/textarea/index.js +347 -0
- package/components/input/textarea/props.js +5 -0
- package/components/layout/footer/index.js +30 -0
- package/components/layout/header/index.js +30 -0
- package/components/layout/leftnav/index.js +44 -0
- package/components/layout/rightnav/index.js +32 -0
- package/components/layout/topnav/index.js +34 -0
- package/components/navbar/index.js +41 -0
- package/components/navbar/nav/index.js +102 -0
- package/components/navbar/nav/props.js +5 -0
- package/components/navbar/nav-item/index.js +44 -0
- package/components/navigation/breadcrumb/index.js +56 -0
- package/components/navigation/breadcrumb/props.js +5 -0
- package/components/navigation/menu/components/ListItems.js +66 -0
- package/components/navigation/menu/constants.js +101 -0
- package/components/navigation/menu/index.js +807 -0
- package/components/navigation/menu/props.js +5 -0
- package/components/navigation/popover/index.js +209 -0
- package/components/navigation/popover/props.js +15 -0
- package/components/page/content/index.js +28 -0
- package/components/page/error-boundary/index.js +108 -0
- package/components/page/index.js +137 -0
- package/components/page/page-content/index.js +23 -0
- package/components/page/partial/index.js +36 -0
- package/components/page/partial-container/index.js +48 -0
- package/components/page/props.js +5 -0
- package/components/page/toast-container/index.js +33 -0
- package/components/prefab/container/index.js +46 -0
- package/components/prefab/index.js +67 -0
- package/context/AppContext.js +25 -0
- package/context/AppSpinnerProvider.js +43 -0
- package/context/LocalizationProvider.js +79 -0
- package/context/PrefabContext.js +66 -0
- package/context/WidgetProvider.js +187 -0
- package/core/app-config.js +1 -0
- package/core/app.service.js +357 -0
- package/core/appVariablesStore.js +20 -0
- package/core/appstore.js +88 -0
- package/core/constants/currency-constant.js +1071 -0
- package/core/constants/events.js +34 -0
- package/core/constants/index.js +27 -0
- package/core/dialog.service.js +76 -0
- package/core/event-notifier.js +151 -0
- package/core/formatter/date-formatters.js +222 -0
- package/core/formatter/index.js +131 -0
- package/core/formatter/number-formatters.js +142 -0
- package/core/formatter/security-formatters.js +323 -0
- package/core/formatter/string-formatters.js +52 -0
- package/core/formatter/types.js +18 -0
- package/core/formatters.js +24 -0
- package/core/proxy-service.js +412 -0
- package/core/script-registry.js +63 -0
- package/core/security.service.js +11 -0
- package/core/util/common.js +33 -0
- package/core/util/dom.js +107 -0
- package/core/util/index.js +136 -0
- package/core/util/security.js +184 -0
- package/core/util/utils.js +189 -0
- package/core/widget-observer.js +98 -0
- package/higherOrder/BaseApp.js +430 -0
- package/higherOrder/BaseAppProps.js +5 -0
- package/higherOrder/BaseDateTime.js +251 -0
- package/higherOrder/BasePage.js +715 -0
- package/higherOrder/BasePartial.js +124 -0
- package/higherOrder/BasePrefab.js +145 -0
- package/higherOrder/DataNav.js +377 -0
- package/higherOrder/helper.js +43 -0
- package/higherOrder/props.js +5 -0
- package/higherOrder/withBaseWrapper.js +183 -0
- package/hooks/useAccess.js +308 -0
- package/hooks/useAppConfig.js +42 -0
- package/hooks/useAuth.js +562 -0
- package/hooks/useDataSourceSubscription.js +125 -0
- package/hooks/useDebounce.js +76 -0
- package/hooks/useDeviceVisibility.js +49 -0
- package/hooks/useHttp.js +338 -0
- package/libs/index.js +20 -0
- package/mui-config/theme-provider.js +17 -0
- package/mui-config/theme.js +371 -0
- package/package-lock.json +10183 -0
- package/package.json +95 -0
- package/store/index.js +33 -0
- package/store/middleware/navigationMiddleware.js +48 -0
- package/store/slices/appConfigSlice.js +103 -0
- package/store/slices/authSlice.js +508 -0
- package/store/slices/i18nSlice.js +206 -0
- package/types/index.js +15 -0
- package/utils/dataset-util.js +174 -0
- package/utils/eval-expression.js +32 -0
- package/utils/form-state.util.js +140 -0
- package/utils/form-utils.js +187 -0
- package/utils/format-util.js +260 -0
- package/utils/page-params-util.js +24 -0
- package/utils/resource-url.js +27 -0
- package/utils/state-persistance.js +343 -0
- package/utils/style-utils.js +73 -0
- package/utils/transformedDataset-utils.js +633 -0
- package/utils/widget-cleanup-util.js +84 -0
- package/utils/widgets.js +99 -0
- package/variables/base-variable.js +173 -0
- package/variables/constants.js +27 -0
- package/variables/live-variable.js +166 -0
- package/variables/model-variable.js +77 -0
- package/variables/service-variable.js +307 -0
|
@@ -0,0 +1,633 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof3 = require("@babel/runtime/helpers/typeof");
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.transformFormData = exports.transformDataset = exports.transformDataWithKeys = exports.toggleAllHeaders = exports.setItemByCompare = exports.handleHeaderClick = exports.groupData = exports.getOrderedDataset = exports.extractDataAsArray = exports.datasetItems = exports.convertDataToObject = exports.configureDnD = exports.DataSetItem = void 0;
|
|
9
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
10
|
+
var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
11
|
+
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
12
|
+
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
14
|
+
var _widgets = require("@wavemaker/react-runtime/utils/widgets");
|
|
15
|
+
var _lodashEs = require("lodash-es");
|
|
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;
|
|
27
|
+
};
|
|
28
|
+
var getFormattedDate = function getFormattedDate(date, format) {
|
|
29
|
+
return moment(date).format(format);
|
|
30
|
+
};
|
|
31
|
+
var isEqualWithFields = function isEqualWithFields(objA, objB, fieldsStr) {
|
|
32
|
+
if (!fieldsStr || !(0, _lodashEs.isString)(fieldsStr)) {
|
|
33
|
+
return (0, _lodashEs.isEqual)(objA, objB); // Fallback to deep comparison if no fields specified
|
|
34
|
+
}
|
|
35
|
+
var fields = fieldsStr.split(",").map(function (f) {
|
|
36
|
+
return f.trim();
|
|
37
|
+
});
|
|
38
|
+
if (!objA || !objB) {
|
|
39
|
+
return objA === objB; // Handle null/undefined cases
|
|
40
|
+
}
|
|
41
|
+
var _iterator = _createForOfIteratorHelper(fields),
|
|
42
|
+
_step;
|
|
43
|
+
try {
|
|
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
|
+
}
|
|
49
|
+
}
|
|
50
|
+
} catch (err) {
|
|
51
|
+
_iterator.e(err);
|
|
52
|
+
} finally {
|
|
53
|
+
_iterator.f();
|
|
54
|
+
}
|
|
55
|
+
return true;
|
|
56
|
+
};
|
|
57
|
+
var GROUP_BY_OPTIONS = {
|
|
58
|
+
ALPHABET: "alphabet",
|
|
59
|
+
WORD: "word",
|
|
60
|
+
OTHERS: "Others"
|
|
61
|
+
};
|
|
62
|
+
var TIME_ROLLUP_OPTIONS = {
|
|
63
|
+
HOUR: "hour",
|
|
64
|
+
DAY: "day",
|
|
65
|
+
WEEK: "week",
|
|
66
|
+
MONTH: "month",
|
|
67
|
+
YEAR: "year"
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
// Adjusted for moment.js (YYYY for year, DD for day)
|
|
71
|
+
var ROLLUP_PATTERNS = {
|
|
72
|
+
DAY: "YYYY-MM-DD",
|
|
73
|
+
WEEK: "wo [Week], YYYY",
|
|
74
|
+
// Example: 42nd Week, 2023 (moment's week format)
|
|
75
|
+
MONTH: "MMM, YYYY",
|
|
76
|
+
YEAR: "YYYY",
|
|
77
|
+
HOUR: "hh:mm A"
|
|
78
|
+
};
|
|
79
|
+
var DataSetItem = exports.DataSetItem = /*#__PURE__*/(0, _createClass2["default"])(function DataSetItem() {
|
|
80
|
+
(0, _classCallCheck2["default"])(this, DataSetItem);
|
|
81
|
+
(0, _defineProperty2["default"])(this, "key", void 0);
|
|
82
|
+
(0, _defineProperty2["default"])(this, "label", void 0);
|
|
83
|
+
(0, _defineProperty2["default"])(this, "value", void 0);
|
|
84
|
+
(0, _defineProperty2["default"])(this, "dataObject", void 0);
|
|
85
|
+
(0, _defineProperty2["default"])(this, "index", void 0);
|
|
86
|
+
(0, _defineProperty2["default"])(this, "imgSrc", void 0);
|
|
87
|
+
(0, _defineProperty2["default"])(this, "selected", void 0);
|
|
88
|
+
(0, _defineProperty2["default"])(this, "children", void 0);
|
|
89
|
+
(0, _defineProperty2["default"])(this, "match", void 0);
|
|
90
|
+
(0, _defineProperty2["default"])(this, "dateformat", void 0);
|
|
91
|
+
});
|
|
92
|
+
var _internalTransformDataset = function _internalTransformDataset(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren) {
|
|
93
|
+
return datasetItems(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren);
|
|
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];
|
|
100
|
+
}
|
|
101
|
+
return args.map(function (arg) {
|
|
102
|
+
if (typeof arg === "function") {
|
|
103
|
+
return arg.toString();
|
|
104
|
+
}
|
|
105
|
+
return JSON.stringify(arg);
|
|
106
|
+
}).join("|");
|
|
107
|
+
};
|
|
108
|
+
var transformDataset = exports.transformDataset = (0, _lodashEs.memoize)(_internalTransformDataset, resolver);
|
|
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) {
|
|
114
|
+
if (!orderBy) {
|
|
115
|
+
return (0, _lodashEs.cloneDeep)(dataSet);
|
|
116
|
+
}
|
|
117
|
+
var items = orderBy.split(",");
|
|
118
|
+
var fields = [];
|
|
119
|
+
var directions = [];
|
|
120
|
+
items.forEach(function (obj) {
|
|
121
|
+
var item = obj.split(":");
|
|
122
|
+
fields.push(innerItem ? "".concat(innerItem, ".").concat(item[0]) : item[0]);
|
|
123
|
+
directions.push(item[1]);
|
|
124
|
+
});
|
|
125
|
+
return (0, _lodashEs.orderBy)(dataSet, fields, directions);
|
|
126
|
+
};
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Returns an array of object, each object contain the DataSetItem whose key, value, label are extracted from object keys.
|
|
130
|
+
*/
|
|
131
|
+
var transformDataWithKeys = exports.transformDataWithKeys = function transformDataWithKeys(dataSet) {
|
|
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) {
|
|
136
|
+
data.push({
|
|
137
|
+
key: objKey,
|
|
138
|
+
label: objKey,
|
|
139
|
+
value: objKey,
|
|
140
|
+
index: (index || 0) + 1 // Ensure index is number
|
|
141
|
+
});
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
return data;
|
|
145
|
+
};
|
|
146
|
+
var extractDataAsArray = exports.extractDataAsArray = function extractDataAsArray(data) {
|
|
147
|
+
if ((0, _lodashEs.isUndefined)(data) || (0, _lodashEs.isNull)(data) || (0, _lodashEs.isString)(data) && (0, _lodashEs.trim)(data) === "") {
|
|
148
|
+
return [];
|
|
149
|
+
}
|
|
150
|
+
if ((0, _lodashEs.isString)(data)) {
|
|
151
|
+
data = (0, _lodashEs.split)(data, ",").map(function (str) {
|
|
152
|
+
return (0, _lodashEs.trim)(str);
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
if (!(0, _lodashEs.isArray)(data)) {
|
|
156
|
+
data = [data];
|
|
157
|
+
}
|
|
158
|
+
return data;
|
|
159
|
+
};
|
|
160
|
+
var convertDataToObject = exports.convertDataToObject = function convertDataToObject(dataResult) {
|
|
161
|
+
if ((0, _lodashEs.isString)(dataResult)) {
|
|
162
|
+
dataResult = (0, _lodashEs.split)(dataResult, ",").map(function (str) {
|
|
163
|
+
return (0, _lodashEs.trim)(str);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
return dataResult;
|
|
167
|
+
};
|
|
168
|
+
var isSearchWidget = function isSearchWidget(widgetType) {
|
|
169
|
+
return widgetType === "wm-search"; // Assuming 'wm-search' is a string identifier
|
|
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) {
|
|
176
|
+
if (scope && isSearchWidget(scope.widgetType)) {
|
|
177
|
+
if (scope.groupby) {
|
|
178
|
+
if ((0, _lodashEs.includes)(scope.groupby, "(") || (0, _lodashEs.includes)(scope.groupby, "[")) {
|
|
179
|
+
// Complex expression detected. Direct evaluation of arbitrary strings is unsafe and not React-idiomatic.
|
|
180
|
+
// Consider refactoring to pass a pre-compiled function for groupby logic.
|
|
181
|
+
console.warn("Complex groupby expression \"".concat(scope.groupby, "\" detected for search widget. ") + "This may not work as expected. Refactor to use a function prop.");
|
|
182
|
+
// Attempting simple property access as a fallback if context and item are available
|
|
183
|
+
if (dataSetItem.dataObject && context) {
|
|
184
|
+
try {
|
|
185
|
+
// This is a very basic attempt and might not cover all original $parseEvent cases.
|
|
186
|
+
// For example, if scope.groupby was 'item.name.toUpperCase()', this won't work.
|
|
187
|
+
var value = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
188
|
+
dataSetItem.key = value;
|
|
189
|
+
} catch (e) {
|
|
190
|
+
console.error("Failed to evaluate groupby expression (simple access):", scope.groupby, e);
|
|
191
|
+
dataSetItem.key = GROUP_BY_OPTIONS.OTHERS;
|
|
192
|
+
}
|
|
193
|
+
} else {
|
|
194
|
+
dataSetItem.key = GROUP_BY_OPTIONS.OTHERS; // Fallback
|
|
195
|
+
}
|
|
196
|
+
} else {
|
|
197
|
+
// Simple field name, try to get it from dataObject
|
|
198
|
+
dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
199
|
+
}
|
|
200
|
+
} else {
|
|
201
|
+
// if groupby is not defined, set the key as datafield value
|
|
202
|
+
dataSetItem.key = dataSetItem.value;
|
|
203
|
+
}
|
|
204
|
+
} else if (dataSetItem.dataObject && scope && scope.groupby) {
|
|
205
|
+
// For non-search widgets, if groupby is present
|
|
206
|
+
dataSetItem.key = (0, _lodashEs.get)(dataSetItem.dataObject, scope.groupby);
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
function resolveDataPath(dataSet, dataPath) {
|
|
210
|
+
if (!Array.isArray(dataSet)) {
|
|
211
|
+
dataSet = [dataSet];
|
|
212
|
+
}
|
|
213
|
+
if (!dataPath) return dataSet;
|
|
214
|
+
|
|
215
|
+
// Remove leading dot if present and filter out empty segments
|
|
216
|
+
var cleanPath = dataPath.startsWith(".") ? dataPath.substring(1) : dataPath;
|
|
217
|
+
var pathSegments = cleanPath.split(".").filter(function (segment) {
|
|
218
|
+
return segment.length > 0;
|
|
219
|
+
});
|
|
220
|
+
if (pathSegments.length === 0) return dataSet;
|
|
221
|
+
var flatten = function flatten(data, path) {
|
|
222
|
+
if (path.length === 0) return data;
|
|
223
|
+
var nextKey = path[0];
|
|
224
|
+
var remainingPath = path.slice(1);
|
|
225
|
+
var result = [];
|
|
226
|
+
var _iterator2 = _createForOfIteratorHelper(data),
|
|
227
|
+
_step2;
|
|
228
|
+
try {
|
|
229
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
230
|
+
var item = _step2.value;
|
|
231
|
+
if (!item || (0, _typeof2["default"])(item) !== "object") continue;
|
|
232
|
+
var value = item[nextKey];
|
|
233
|
+
if (Array.isArray(value)) {
|
|
234
|
+
var next = flatten(value, remainingPath);
|
|
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
|
|
241
|
+
}
|
|
242
|
+
} catch (err) {
|
|
243
|
+
_iterator2.e(err);
|
|
244
|
+
} finally {
|
|
245
|
+
_iterator2.f();
|
|
246
|
+
}
|
|
247
|
+
return result;
|
|
248
|
+
};
|
|
249
|
+
return flatten(dataSet, pathSegments);
|
|
250
|
+
}
|
|
251
|
+
var transformFormData = exports.transformFormData = function transformFormData(context, dataSet, myDataField, displayOptions, startIndex, scope, dataPath) {
|
|
252
|
+
if (dataPath) {
|
|
253
|
+
dataSet = resolveDataPath(dataSet, dataPath || "");
|
|
254
|
+
}
|
|
255
|
+
var data = [];
|
|
256
|
+
if ((0, _lodashEs.isString)(dataSet)) {
|
|
257
|
+
dataSet = dataSet.split(",").map(function (str) {
|
|
258
|
+
return str.trim();
|
|
259
|
+
});
|
|
260
|
+
dataSet.forEach(function (option, index) {
|
|
261
|
+
var dataSetItem = {
|
|
262
|
+
key: option,
|
|
263
|
+
value: option,
|
|
264
|
+
label: isDefined(option) && option !== null ? option.toString() : "",
|
|
265
|
+
index: startIndex + index
|
|
266
|
+
};
|
|
267
|
+
setGroupbyKey(scope, context, dataSetItem, "value");
|
|
268
|
+
data.push(dataSetItem);
|
|
269
|
+
});
|
|
270
|
+
} else if ((0, _lodashEs.isArray)(dataSet) && !(0, _lodashEs.isObject)(dataSet[0])) {
|
|
271
|
+
// array of primitive values only
|
|
272
|
+
dataSet.forEach(function (option, index) {
|
|
273
|
+
var dataSetItem = {
|
|
274
|
+
key: option,
|
|
275
|
+
value: option,
|
|
276
|
+
label: isDefined(option) && option !== null ? option.toString() : "",
|
|
277
|
+
index: startIndex + index
|
|
278
|
+
};
|
|
279
|
+
setGroupbyKey(scope, context, dataSetItem, "value");
|
|
280
|
+
data.push(dataSetItem);
|
|
281
|
+
});
|
|
282
|
+
} else if (!(dataSet instanceof Array) && (0, _lodashEs.isObject)(dataSet)) {
|
|
283
|
+
var i = 0;
|
|
284
|
+
(0, _lodashEs.forEach)(dataSet, function (value, key) {
|
|
285
|
+
// @ts-ignore
|
|
286
|
+
var dataSetItem = {
|
|
287
|
+
key: (0, _lodashEs.trim)(key),
|
|
288
|
+
value: key,
|
|
289
|
+
label: isDefined(value) && value !== null ? value.toString() : "",
|
|
290
|
+
index: startIndex,
|
|
291
|
+
dataObject: dataSet
|
|
292
|
+
};
|
|
293
|
+
setGroupbyKey(scope, context, dataSetItem, "value");
|
|
294
|
+
data.push(dataSetItem);
|
|
295
|
+
});
|
|
296
|
+
} else {
|
|
297
|
+
if (!myDataField) {
|
|
298
|
+
// consider the datafield as 'ALLFIELDS' when datafield is not given.
|
|
299
|
+
myDataField = ALLFIELDS;
|
|
300
|
+
}
|
|
301
|
+
dataSet.forEach(function (option, index) {
|
|
302
|
+
var key = myDataField === ALLFIELDS ? startIndex + index : (0, _widgets.getObjValueByKey)(option, myDataField);
|
|
303
|
+
// Omit all the items whose datafield (key) is null or undefined.
|
|
304
|
+
if (!(0, _lodashEs.isUndefined)(key) && !(0, _lodashEs.isNull)(key)) {
|
|
305
|
+
var label = (0, _widgets.getEvaluatedData)(option, {
|
|
306
|
+
field: displayOptions.displayField,
|
|
307
|
+
expression: displayOptions.displayExpr,
|
|
308
|
+
bindExpression: displayOptions.bindDisplayExpr
|
|
309
|
+
}, option);
|
|
310
|
+
var dataSetItem = {
|
|
311
|
+
key: key,
|
|
312
|
+
label: isDefined(label) && label !== null ? label.toString() : "",
|
|
313
|
+
value: myDataField === ALLFIELDS ? option : key,
|
|
314
|
+
dataObject: option,
|
|
315
|
+
// represents the object when datafield is ALLFIELDS. This is used as innerItem while grouping the datasetItems.
|
|
316
|
+
index: startIndex + index
|
|
317
|
+
};
|
|
318
|
+
if (displayOptions.displayImgSrc || displayOptions.bindDisplayImgSrc) {
|
|
319
|
+
dataSetItem.imgSrc = (0, _widgets.getEvaluatedData)(option, {
|
|
320
|
+
expression: displayOptions.displayImgSrc,
|
|
321
|
+
bindExpression: displayOptions.bindDisplayImgSrc
|
|
322
|
+
}, context);
|
|
323
|
+
}
|
|
324
|
+
setGroupbyKey(scope, context, dataSetItem, "dataObject");
|
|
325
|
+
data.push(dataSetItem);
|
|
326
|
+
}
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
return data;
|
|
330
|
+
};
|
|
331
|
+
var getUniqObjsByDataField = function getUniqObjsByDataField(data, dataField, displayField, allowEmptyFields) {
|
|
332
|
+
if (!allowEmptyFields) {
|
|
333
|
+
data = (0, _lodashEs.filter)(data, function (item) {
|
|
334
|
+
return isDefined(item.key) && item.key !== "";
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
return (0, _lodashEs.uniqWith)(data, function (obj1, obj2) {
|
|
338
|
+
var val1 = (0, _lodashEs.get)(obj1.dataObject, dataField);
|
|
339
|
+
var val2 = (0, _lodashEs.get)(obj2.dataObject, dataField);
|
|
340
|
+
var dVal1 = (0, _lodashEs.get)(obj1.dataObject, displayField);
|
|
341
|
+
var dVal2 = (0, _lodashEs.get)(obj2.dataObject, displayField);
|
|
342
|
+
return (0, _lodashEs.isEqual)(val1, val2) && (0, _lodashEs.isEqual)(dVal1, dVal2);
|
|
343
|
+
});
|
|
344
|
+
};
|
|
345
|
+
var setItemByCompare = exports.setItemByCompare = function setItemByCompare(datasetItems, compareWithDataObj, compareByField) {
|
|
346
|
+
return datasetItems.find(function (item) {
|
|
347
|
+
if (item.dataObject) {
|
|
348
|
+
return isEqualWithFields(compareWithDataObj, item.dataObject, compareByField);
|
|
349
|
+
}
|
|
350
|
+
return false;
|
|
351
|
+
});
|
|
352
|
+
};
|
|
353
|
+
var getSortedGroupedData = function getSortedGroupedData(groupedLiData, groupBy, orderby) {
|
|
354
|
+
var data = (0, _lodashEs.values)(groupedLiData).map(function (val) {
|
|
355
|
+
if (orderby) {
|
|
356
|
+
val.data = getOrderedDataset(val.data, orderby, "dataObject");
|
|
357
|
+
}
|
|
358
|
+
return val;
|
|
359
|
+
});
|
|
360
|
+
return (0, _lodashEs.sortBy)(data, "data[0].dataObject.".concat(groupBy));
|
|
361
|
+
};
|
|
362
|
+
var datasetItems = exports.datasetItems = function datasetItems(dataset, datafield, displayfield, displaylabel, displayexpression, orderby, groupby, dataPath, itemchildren) {
|
|
363
|
+
if (!dataset) return [];
|
|
364
|
+
var items = transformFormData(null, dataset, datafield, {
|
|
365
|
+
displayField: displayfield || displaylabel,
|
|
366
|
+
displayExpr: displayexpression
|
|
367
|
+
}, 0, null, dataPath);
|
|
368
|
+
if (orderby) {
|
|
369
|
+
var orderFields = orderby.split(",");
|
|
370
|
+
items.sort(function (a, b) {
|
|
371
|
+
var _iterator3 = _createForOfIteratorHelper(orderFields),
|
|
372
|
+
_step3;
|
|
373
|
+
try {
|
|
374
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
375
|
+
var orderField = _step3.value;
|
|
376
|
+
var _orderField$split = orderField.split(":"),
|
|
377
|
+
_orderField$split2 = (0, _slicedToArray2["default"])(_orderField$split, 2),
|
|
378
|
+
field = _orderField$split2[0],
|
|
379
|
+
order = _orderField$split2[1];
|
|
380
|
+
var aVal = String(a.dataObject[field] || a.label || "");
|
|
381
|
+
var bVal = String(b.dataObject[field] || b.label || "");
|
|
382
|
+
var comparison = order === "desc" ? bVal.localeCompare(aVal) : aVal.localeCompare(bVal);
|
|
383
|
+
if (comparison !== 0) return comparison;
|
|
384
|
+
}
|
|
385
|
+
} catch (err) {
|
|
386
|
+
_iterator3.e(err);
|
|
387
|
+
} finally {
|
|
388
|
+
_iterator3.f();
|
|
389
|
+
}
|
|
390
|
+
return 0;
|
|
391
|
+
});
|
|
392
|
+
}
|
|
393
|
+
var _iterator4 = _createForOfIteratorHelper(items),
|
|
394
|
+
_step4;
|
|
395
|
+
try {
|
|
396
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
397
|
+
var item = _step4.value;
|
|
398
|
+
var children = void 0;
|
|
399
|
+
if (typeof itemchildren === "function") {
|
|
400
|
+
var _itemchildren;
|
|
401
|
+
children = (_itemchildren = itemchildren(item === null || item === void 0 ? void 0 : item.dataObject)) !== null && _itemchildren !== void 0 ? _itemchildren : itemchildren(item);
|
|
402
|
+
if (Array.isArray(children)) {
|
|
403
|
+
var sortedChildren = datasetItems(children, datafield, displayfield, displaylabel, displayexpression, orderby, groupby);
|
|
404
|
+
if (itemchildren(item === null || item === void 0 ? void 0 : item.dataObject)) {
|
|
405
|
+
item.dataObject.children = sortedChildren;
|
|
406
|
+
} else if (itemchildren(item)) {
|
|
407
|
+
item.children = sortedChildren;
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
} else {
|
|
411
|
+
var _item$dataObject$item, _item$dataObject;
|
|
412
|
+
children = (_item$dataObject$item = item === null || item === void 0 || (_item$dataObject = item.dataObject) === null || _item$dataObject === void 0 ? void 0 : _item$dataObject[itemchildren]) !== null && _item$dataObject$item !== void 0 ? _item$dataObject$item : item === null || item === void 0 ? void 0 : item[itemchildren];
|
|
413
|
+
if (Array.isArray(children)) {
|
|
414
|
+
var _item$dataObject2;
|
|
415
|
+
var _sortedChildren = datasetItems(children, datafield, displayfield, displaylabel, displayexpression, orderby, groupby);
|
|
416
|
+
if (item !== null && item !== void 0 && (_item$dataObject2 = item.dataObject) !== null && _item$dataObject2 !== void 0 && _item$dataObject2[itemchildren]) {
|
|
417
|
+
item.dataObject.children = _sortedChildren;
|
|
418
|
+
} else if (item !== null && item !== void 0 && item[itemchildren]) {
|
|
419
|
+
item.children = _sortedChildren;
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
} catch (err) {
|
|
425
|
+
_iterator4.e(err);
|
|
426
|
+
} finally {
|
|
427
|
+
_iterator4.f();
|
|
428
|
+
}
|
|
429
|
+
if (groupby) {
|
|
430
|
+
items = groupData(null, items, groupby, "word", "", "");
|
|
431
|
+
}
|
|
432
|
+
return items;
|
|
433
|
+
};
|
|
434
|
+
var groupData = exports.groupData = function groupData(compRef, data, groupby, match, orderby, dateformat) {
|
|
435
|
+
var innerItem = arguments.length > 6 && arguments[6] !== undefined ? arguments[6] : "dataObject";
|
|
436
|
+
var AppDefaults = arguments.length > 7 ? arguments[7] : undefined;
|
|
437
|
+
if (!groupby || !data || !data.length) {
|
|
438
|
+
return [];
|
|
439
|
+
}
|
|
440
|
+
var groupedData = getGroupedData(data, groupby, match, orderby, dateformat, innerItem, AppDefaults);
|
|
441
|
+
return getSortedGroupedData(groupedData, groupby, orderby);
|
|
442
|
+
};
|
|
443
|
+
var getGroupedData = function getGroupedData(fieldDefs, groupby, match, orderby, dateFormat, innerItem, AppDefaults) {
|
|
444
|
+
var mappedData = fieldDefs.map(function (item) {
|
|
445
|
+
var groupByKey = groupDataByField(groupby, match, innerItem, dateFormat, /*datePipe,*/AppDefaults, item);
|
|
446
|
+
return {
|
|
447
|
+
groupByKey: groupByKey,
|
|
448
|
+
data: item
|
|
449
|
+
};
|
|
450
|
+
});
|
|
451
|
+
var groupedData = (0, _lodashEs.groupBy)(mappedData, "groupByKey");
|
|
452
|
+
|
|
453
|
+
// Format for final structure {key: groupName, data: [items]}
|
|
454
|
+
var result = {};
|
|
455
|
+
(0, _lodashEs.forEach)(groupedData, function (value, key) {
|
|
456
|
+
result[key] = {
|
|
457
|
+
key: key,
|
|
458
|
+
data: value.map(function (v) {
|
|
459
|
+
return v.data;
|
|
460
|
+
})
|
|
461
|
+
};
|
|
462
|
+
});
|
|
463
|
+
return result;
|
|
464
|
+
};
|
|
465
|
+
var filterDateReact = function filterDateReact(value, format, defaultFormat) {
|
|
466
|
+
if (!isDefined(value) || value === "") {
|
|
467
|
+
return "";
|
|
468
|
+
}
|
|
469
|
+
var mDate = moment(value);
|
|
470
|
+
if (mDate.isValid()) {
|
|
471
|
+
return mDate.format(format || defaultFormat);
|
|
472
|
+
}
|
|
473
|
+
return String(value); // Return original if not a valid date
|
|
474
|
+
};
|
|
475
|
+
var getTimeRolledUpString = function getTimeRolledUpString(concatStr, rollUp, dateformat, AppDefaults) {
|
|
476
|
+
if (!isDefined(concatStr) || concatStr === "") {
|
|
477
|
+
return GROUP_BY_OPTIONS.OTHERS;
|
|
478
|
+
}
|
|
479
|
+
var mDate = moment(concatStr);
|
|
480
|
+
if (!mDate.isValid()) {
|
|
481
|
+
return GROUP_BY_OPTIONS.OTHERS;
|
|
482
|
+
}
|
|
483
|
+
var appDateFormat = AppDefaults && AppDefaults.dateFormat ? AppDefaults.dateFormat : "yyyy-MM-dd";
|
|
484
|
+
var calendarDayFormats = {
|
|
485
|
+
lastDay: "[Yesterday]",
|
|
486
|
+
lastWeek: "[Last] dddd",
|
|
487
|
+
nextDay: "[Tomorrow]",
|
|
488
|
+
nextWeek: "dddd",
|
|
489
|
+
sameDay: "[Today]",
|
|
490
|
+
sameElse: appDateFormat.replace(/y/g, "Y").replace(/d/g, "D") // Adjust to moment format tokens
|
|
491
|
+
};
|
|
492
|
+
if (rollUp === TIME_ROLLUP_OPTIONS.DAY) {
|
|
493
|
+
return mDate.calendar(null, calendarDayFormats);
|
|
494
|
+
}
|
|
495
|
+
if (rollUp === TIME_ROLLUP_OPTIONS.WEEK) {
|
|
496
|
+
// Example: 'Week 1, 2023' or use specific format from ROLLUP_PATTERNS
|
|
497
|
+
return mDate.format(ROLLUP_PATTERNS.WEEK || "wo [Week], YYYY");
|
|
498
|
+
}
|
|
499
|
+
if (rollUp === TIME_ROLLUP_OPTIONS.MONTH) {
|
|
500
|
+
return mDate.format(ROLLUP_PATTERNS.MONTH || "MMM, YYYY");
|
|
501
|
+
}
|
|
502
|
+
if (rollUp === TIME_ROLLUP_OPTIONS.YEAR) {
|
|
503
|
+
return mDate.format(ROLLUP_PATTERNS.YEAR || "YYYY");
|
|
504
|
+
}
|
|
505
|
+
if (rollUp === TIME_ROLLUP_OPTIONS.HOUR) {
|
|
506
|
+
// Check if it's today to show 'Today, 09:00 AM', else 'YYYY-MM-DD, 09:00 AM'
|
|
507
|
+
var baseFormat = ROLLUP_PATTERNS.HOUR || "hh:mm A";
|
|
508
|
+
if (mDate.isSame(moment(), "day")) {
|
|
509
|
+
return "[Today], ".concat(mDate.format(baseFormat));
|
|
510
|
+
}
|
|
511
|
+
return mDate.format("".concat(ROLLUP_PATTERNS.DAY, ", ").concat(baseFormat));
|
|
512
|
+
}
|
|
513
|
+
|
|
514
|
+
// Default if no rollup matched, or for custom date formats if applicable
|
|
515
|
+
if (dateformat) {
|
|
516
|
+
return filterDateReact(mDate.toDate(), dateformat, appDateFormat);
|
|
517
|
+
}
|
|
518
|
+
return mDate.format(appDateFormat.replace(/y/g, "Y").replace(/d/g, "D"));
|
|
519
|
+
};
|
|
520
|
+
var groupDataByField = function groupDataByField(groupby, match, innerItem, dateFormat, AppDefaults, liData) {
|
|
521
|
+
var concatStr = (0, _lodashEs.get)(innerItem ? liData[innerItem] : liData, groupby);
|
|
522
|
+
if ((0, _lodashEs.isUndefined)(concatStr) || (0, _lodashEs.isNull)(concatStr) || (0, _lodashEs.isString)(concatStr) && concatStr.toString().trim() === "") {
|
|
523
|
+
return GROUP_BY_OPTIONS.OTHERS;
|
|
524
|
+
}
|
|
525
|
+
if (match === GROUP_BY_OPTIONS.ALPHABET) {
|
|
526
|
+
return String(concatStr).substr(0, 1).toUpperCase();
|
|
527
|
+
}
|
|
528
|
+
if (match === GROUP_BY_OPTIONS.WORD) {
|
|
529
|
+
return String(concatStr);
|
|
530
|
+
}
|
|
531
|
+
if ((0, _lodashEs.includes)((0, _lodashEs.values)(TIME_ROLLUP_OPTIONS), match)) {
|
|
532
|
+
return getTimeRolledUpString(String(concatStr), match, dateFormat, AppDefaults);
|
|
533
|
+
}
|
|
534
|
+
return String(concatStr);
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Utility functions for list group operations
|
|
539
|
+
*/
|
|
540
|
+
|
|
541
|
+
/**
|
|
542
|
+
* Toggle all list items in all groups
|
|
543
|
+
* @param containerRef - Reference to the container element
|
|
544
|
+
* @returns void
|
|
545
|
+
*/
|
|
546
|
+
var toggleAllHeaders = exports.toggleAllHeaders = function toggleAllHeaders(containerRef) {
|
|
547
|
+
var groups = containerRef.querySelectorAll(".item-group");
|
|
548
|
+
groups.forEach(function (group) {
|
|
549
|
+
var listItems = group.querySelectorAll(".group-list-item");
|
|
550
|
+
var icon = group.querySelector("li.list-group-header .app-icon");
|
|
551
|
+
listItems.forEach(function (item) {
|
|
552
|
+
// Toggle visibility
|
|
553
|
+
var currentDisplay = window.getComputedStyle(item).display;
|
|
554
|
+
item.style.display = currentDisplay === "none" ? "block" : "none";
|
|
555
|
+
});
|
|
556
|
+
if (icon) {
|
|
557
|
+
if (icon.classList.contains("wi-chevron-down")) {
|
|
558
|
+
icon.classList.remove("wi-chevron-down");
|
|
559
|
+
icon.classList.add("wi-chevron-up");
|
|
560
|
+
} else {
|
|
561
|
+
icon.classList.remove("wi-chevron-up");
|
|
562
|
+
icon.classList.add("wi-chevron-down");
|
|
563
|
+
}
|
|
564
|
+
}
|
|
565
|
+
});
|
|
566
|
+
};
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Handle click on a group header
|
|
570
|
+
* @param event - Click event
|
|
571
|
+
* @returns void
|
|
572
|
+
*/
|
|
573
|
+
var handleHeaderClick = exports.handleHeaderClick = function handleHeaderClick(event) {
|
|
574
|
+
var target = event.target;
|
|
575
|
+
var selectedGroup = target.closest(".item-group");
|
|
576
|
+
if (!selectedGroup) return;
|
|
577
|
+
var selectedAppIcon = selectedGroup.querySelector("li.list-group-header .app-icon");
|
|
578
|
+
var listItems = selectedGroup.querySelectorAll(".group-list-item");
|
|
579
|
+
if (selectedAppIcon) {
|
|
580
|
+
if (selectedAppIcon.classList.contains("wi-chevron-down")) {
|
|
581
|
+
selectedAppIcon.classList.remove("wi-chevron-down");
|
|
582
|
+
selectedAppIcon.classList.add("wi-chevron-up");
|
|
583
|
+
} else {
|
|
584
|
+
selectedAppIcon.classList.remove("wi-chevron-up");
|
|
585
|
+
selectedAppIcon.classList.add("wi-chevron-down");
|
|
586
|
+
}
|
|
587
|
+
}
|
|
588
|
+
listItems.forEach(function (item) {
|
|
589
|
+
var currentDisplay = window.getComputedStyle(item).display;
|
|
590
|
+
item.style.display = currentDisplay === "none" ? "block" : "none";
|
|
591
|
+
});
|
|
592
|
+
};
|
|
593
|
+
/**
|
|
594
|
+
* Configure drag and drop functionality
|
|
595
|
+
* Note: This is a basic implementation. For production use, consider using modern libraries like react-beautiful-dnd
|
|
596
|
+
* @param element - Element to make sortable
|
|
597
|
+
* @param options - Sortable options
|
|
598
|
+
* @param onDragStart - Callback when drag starts
|
|
599
|
+
* @param onUpdate - Callback when sorting ends and DOM position changes
|
|
600
|
+
* @param onSort - Optional callback during sorting
|
|
601
|
+
*/
|
|
602
|
+
var configureDnD = exports.configureDnD = function configureDnD(element) {
|
|
603
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
604
|
+
var onDragStart = arguments.length > 2 ? arguments[2] : undefined;
|
|
605
|
+
var onUpdate = arguments.length > 3 ? arguments[3] : undefined;
|
|
606
|
+
var onSort = arguments.length > 4 ? arguments[4] : undefined;
|
|
607
|
+
var defaultOptions = {
|
|
608
|
+
containment: element,
|
|
609
|
+
delay: 100,
|
|
610
|
+
opacity: 0.8,
|
|
611
|
+
helper: "clone",
|
|
612
|
+
zIndex: 1050,
|
|
613
|
+
tolerance: "pointer"
|
|
614
|
+
};
|
|
615
|
+
var finalOptions = _objectSpread(_objectSpread({}, defaultOptions), options);
|
|
616
|
+
|
|
617
|
+
// Add drag and drop event listeners
|
|
618
|
+
element.addEventListener("dragstart", onDragStart);
|
|
619
|
+
element.addEventListener("dragend", onUpdate);
|
|
620
|
+
if (onSort) {
|
|
621
|
+
element.addEventListener("drag", onSort);
|
|
622
|
+
}
|
|
623
|
+
|
|
624
|
+
// Make children draggable
|
|
625
|
+
var draggableItems = element.children;
|
|
626
|
+
Array.from(draggableItems).forEach(function (item) {
|
|
627
|
+
item.draggable = true;
|
|
628
|
+
item.style.userSelect = "none";
|
|
629
|
+
if (finalOptions.opacity) {
|
|
630
|
+
item.style.opacity = "1";
|
|
631
|
+
}
|
|
632
|
+
});
|
|
633
|
+
};
|