@wavemaker/react-runtime 11.14.2-rc.6311 → 11.15.0-1.246
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 +5 -7
- package/actions/login-action.js +7 -8
- package/actions/logout-action.js +5 -7
- package/actions/navigation-action.js +73 -18
- package/actions/notification-action.js +22 -8
- package/actions/timer-action.js +13 -15
- package/actions/toast.js +4 -2
- package/actions/toast.service.js +1 -2
- package/components/advanced/carousel/index.js +1 -1
- package/components/advanced/carousel/template.js +1 -1
- package/components/basic/anchor/index.js +31 -11
- package/components/basic/html/index.js +115 -24
- package/components/basic/icon/index.js +2 -1
- package/components/basic/iframe/index.js +2 -1
- package/components/basic/label/index.js +12 -9
- package/components/basic/message/index.js +12 -3
- package/components/basic/picture/index.js +11 -4
- package/components/basic/progress-bar/index.js +4 -1
- package/components/basic/progress-circle/index.js +34 -28
- package/components/basic/progress-circle/props.js +10 -2
- package/components/basic/richtexteditor/index.js +95 -94
- package/components/basic/search/index.js +401 -156
- package/components/basic/search/providers.js +126 -61
- package/components/basic/spinner/index.js +2 -1
- package/components/basic/tree/index.js +34 -34
- package/components/basic/tree/utils.js +10 -4
- package/components/chart/components/barColumnChart/index.js +36 -33
- package/components/chart/components/bubbleChart/index.js +35 -25
- package/components/chart/components/chartLegend/utils.js +2 -1
- package/components/chart/components/cumulativeLineChart/index.js +30 -26
- package/components/chart/components/lineAreaChart/index.js +50 -32
- package/components/chart/components/pieDonutChart/index.js +13 -4
- package/components/chart/hooks/useXAxisConfig.js +15 -8
- package/components/chart/index.js +223 -53
- package/components/chart/utils.js +12 -1
- package/components/constants.js +5 -2
- package/components/container/accordion/accordion-pane/index.js +17 -12
- package/components/container/accordion/index.js +9 -4
- package/components/container/alignment-utils.js +56 -1
- package/components/container/index.js +49 -20
- package/components/container/panel/components/panel-header/index.js +3 -4
- package/components/container/panel/index.js +15 -10
- package/components/container/repeat-template/index.js +33 -0
- package/components/container/tabs/index.js +83 -14
- package/components/container/tabs/tab-pane/index.js +33 -10
- package/components/container/tabs/utils.js +51 -0
- package/components/container/wizard/components/StepComponents.js +2 -1
- package/components/container/wizard/components/WizardStep.js +2 -1
- package/components/container/wizard/index.js +64 -35
- package/components/container/wizard/utils.js +46 -1
- package/components/container/wizard/wizard-step/index.js +11 -1
- package/components/data/card/card-content/index.js +1 -1
- package/components/data/form/base-form/index.js +985 -183
- package/components/data/form/base-form/props.js +3 -1
- package/components/data/form/base-form/utils.js +159 -1
- package/components/data/form/dynamic-fields/constant.js +53 -0
- package/components/data/form/dynamic-fields/index.js +10 -45
- package/components/data/form/dynamic-fields/utils.js +37 -2
- package/components/data/form/form-action/index.js +5 -4
- package/components/data/form/form-context.js +5 -1
- package/components/data/form/form-controller/utils.js +84 -0
- package/components/data/form/form-controller/validation-contrustor.js +402 -189
- package/components/data/form/form-controller/withFormController.js +191 -52
- package/components/data/form/form-field/base-field.js +67 -45
- package/components/data/form/form-field/index.js +28 -5
- package/components/data/form/form-header/index.js +3 -4
- package/components/data/form/index.js +20 -1
- package/components/data/list/components/ListDND.js +2 -1
- package/components/data/list/components/ListItem.js +6 -2
- package/components/data/list/components/ListItemWithTemplate.js +46 -2
- package/components/data/list/components/ListItems.js +17 -26
- package/components/data/list/components/ListPagination.js +3 -3
- package/components/data/list/components/StandardListItems.js +3 -4
- package/components/data/list/hooks/useListEffects.js +55 -14
- package/components/data/list/hooks/useListEventHandlers.js +3 -1
- package/components/data/list/hooks/useListState.js +3 -1
- package/components/data/list/hooks/usePaginatedGroupedData.js +18 -5
- package/components/data/list/index.js +74 -55
- package/components/data/list/utils/list-helpers.js +73 -35
- package/components/data/list/utils/list-widget-methods.js +138 -95
- package/components/data/live-filter/index.js +26 -15
- package/components/data/live-form/index.js +51 -18
- package/components/data/live-form/props.js +1 -1
- package/components/data/pagination/components/BasicPagination.js +71 -16
- package/components/data/pagination/components/PageSizeSelector.js +8 -3
- package/components/data/pagination/components/TotalRecords.js +1 -5
- package/components/data/pagination/hooks/usePagination.js +349 -66
- package/components/data/pagination/index.js +137 -19
- package/components/data/table/components/AddNewRow.js +5 -1
- package/components/data/table/components/EditableCell.js +2 -2
- package/components/data/table/components/RowCells.js +64 -0
- package/components/data/table/components/RowExpansionButton.js +2 -2
- package/components/data/table/components/SummaryCell.js +111 -0
- package/components/data/table/components/SummaryRow.js +54 -0
- package/components/data/table/components/SummaryRowFooter.js +46 -0
- package/components/data/table/components/TableBody.js +61 -59
- package/components/data/table/components/TableDataRow.js +109 -0
- package/components/data/table/components/TableFilters.js +225 -121
- package/components/data/table/components/TableHeader.js +291 -23
- package/components/data/table/components/TablePanelHeading.js +139 -8
- package/components/data/table/components/index.js +22 -1
- package/components/data/table/hooks/use-edited-rows.js +141 -0
- package/components/data/table/hooks/useCellState.js +5 -12
- package/components/data/table/hooks/useFormWidget.js +58 -52
- package/components/data/table/hooks/usePaginationState.js +45 -24
- package/components/data/table/hooks/usePanelStructure.js +4 -4
- package/components/data/table/hooks/useRowHandlers.js +39 -5
- package/components/data/table/hooks/useRowSelection.js +244 -50
- package/components/data/table/hooks/useServerSideSorting.js +81 -37
- package/components/data/table/hooks/useTableColumns.js +211 -118
- package/components/data/table/hooks/useTableData.js +54 -9
- package/components/data/table/hooks/useTableEdit.js +272 -97
- package/components/data/table/hooks/useTableEffects.js +31 -13
- package/components/data/table/hooks/useTableFilter.js +1 -1
- package/components/data/table/hooks/useTableInitialization.js +23 -22
- package/components/data/table/hooks/useTableState.js +11 -5
- package/components/data/table/hooks/useTableStateManager.js +140 -65
- package/components/data/table/index.js +637 -274
- package/components/data/table/live-table/index.js +54 -22
- package/components/data/table/table-action/index.js +1 -1
- package/components/data/table/table-group/index.js +26 -0
- package/components/data/table/table-row-action/index.js +32 -18
- package/components/data/table/utils/buildSelectionColumns.js +12 -21
- package/components/data/table/utils/columnBuilder.js +29 -14
- package/components/data/table/utils/columnProxy.js +68 -1
- package/components/data/table/utils/constants.js +6 -2
- package/components/data/table/utils/crud-handlers.js +68 -63
- package/components/data/table/utils/groupHeaderUtils.js +102 -0
- package/components/data/table/utils/index.js +210 -21
- package/components/data/table/utils/renderDisplayCell.js +6 -6
- package/components/data/table/utils/selectionUtils.js +25 -26
- package/components/data/table/utils/validation.js +1 -0
- package/components/data/utils/filter-field-util.js +3 -3
- package/components/dialogs/alert-dialog/index.js +1 -1
- package/components/dialogs/confirm-dialog/index.js +1 -1
- package/components/dialogs/dialog/index.js +4 -1
- package/components/dialogs/dialog-content/index.js +3 -1
- package/components/dialogs/dialog-header/index.js +2 -2
- package/components/dialogs/iframe-dialog/index.js +11 -5
- package/components/dialogs/index.js +1 -1
- package/components/dialogs/login-dialog/index.js +1 -1
- package/components/dialogs/page-dialog/index.js +1 -1
- package/components/form/button/index.js +33 -7
- package/components/input/calendar/index.js +18 -6
- package/components/input/chips/index.js +99 -28
- package/components/input/chips/utils.js +34 -4
- package/components/input/color-picker/index.js +74 -25
- package/components/input/composite/index.js +3 -3
- package/components/input/currency/index.js +35 -49
- package/components/input/default/checkbox/index.js +23 -28
- package/components/input/default/checkboxset/index.js +38 -18
- package/components/input/default/checkboxset/utils.js +30 -0
- package/components/input/default/radioset/index.js +36 -39
- package/components/input/default/switch/index.js +30 -13
- package/components/input/epoch/date/index.js +130 -69
- package/components/input/epoch/date/utils.js +94 -1
- package/components/input/epoch/datetime/index.js +72 -22
- package/components/input/epoch/datetime/utils.js +49 -10
- package/components/input/epoch/time/index.js +68 -19
- package/components/input/epoch/time/utils.js +62 -14
- package/components/input/fileupload/Utils.js +12 -7
- package/components/input/fileupload/components/MultiUpload.js +2 -6
- package/components/input/fileupload/components/SingleUpload.js +3 -7
- package/components/input/fileupload/index.js +6 -10
- package/components/input/fileupload/useFileUpload.js +16 -5
- package/components/input/number/index.js +158 -43
- package/components/input/rating/index.js +90 -7
- package/components/input/select/index.js +209 -72
- package/components/input/slider/index.js +84 -26
- package/components/input/text/index.js +38 -18
- package/components/input/text/util.js +283 -130
- package/components/input/textarea/index.js +13 -10
- package/components/input/upload/index.js +124 -0
- package/components/input/upload/props.js +5 -0
- package/components/input/util/index.js +11 -0
- package/components/navbar/index.js +51 -3
- package/components/navbar/nav/index.js +46 -16
- package/components/navbar/nav-item/index.js +11 -5
- package/components/navigation/menu/components/ListItems.js +3 -0
- package/components/navigation/menu/constants.js +2 -1
- package/components/navigation/menu/hooks/useHoverState.hook.js +48 -0
- package/components/navigation/menu/hooks/useKeyboardMovements.hook.js +37 -0
- package/components/navigation/menu/hooks/useTransformedDataset.hook.js +15 -0
- package/components/navigation/menu/index.js +326 -188
- package/components/navigation/menu/utils/action-task.js +14 -0
- package/components/navigation/menu/utils/role-filter.js +76 -0
- package/components/navigation/popover/index.js +105 -32
- package/components/page/partial-container/index.js +34 -5
- package/components/prefab/index.js +2 -4
- package/context/PrefabContext.js +10 -6
- package/context/WidgetProvider.js +30 -31
- package/core/app.service.js +1 -1
- package/core/constants/events.js +57 -1
- package/core/dialog.service.js +1 -2
- package/core/event-notifier.js +1 -2
- package/core/formatter/array-formatters.js +33 -0
- package/core/formatter/date-formatters.js +2 -4
- package/core/formatter/index.js +2 -1
- package/core/formatter/number-formatters.js +5 -10
- package/core/formatter/security-formatters.js +2 -4
- package/core/formatter/string-formatters.js +3 -6
- package/core/proxy-service.js +85 -13
- package/core/script-registry.js +108 -48
- package/core/util/common.js +4 -4
- package/core/util/compare.js +30 -0
- package/core/util/dom.js +8 -8
- package/core/util/index.js +16 -6
- package/core/util/safe-is-equal.js +156 -0
- package/core/util/security.js +1 -2
- package/core/util/utils.js +16 -7
- package/higherOrder/BaseApp.js +108 -65
- package/higherOrder/BaseDateTime.js +31 -13
- package/higherOrder/BasePage.js +268 -144
- package/higherOrder/BasePartial.js +1 -1
- package/higherOrder/BasePrefab.js +33 -15
- package/higherOrder/DataNav.js +99 -16
- package/higherOrder/helper.js +41 -3
- package/higherOrder/withBaseWrapper.js +41 -28
- package/hooks/useAuth.js +11 -5
- package/hooks/useHttp.js +280 -94
- package/mui-config/theme-provider.js +1 -1
- package/mui-config/theme.js +1 -1
- package/package-lock.json +840 -740
- package/package.json +8 -8
- package/store/bindActions/i18nActions.js +18 -0
- package/store/index.js +3 -1
- package/store/slices/appConfigSlice.js +2 -2
- package/store/slices/authSlice.js +31 -28
- package/store/slices/i18nSlice.js +2 -2
- package/store/slices/navigationSlice.js +35 -0
- package/store/viewport.service.js +255 -0
- package/utils/attr.js +35 -0
- package/utils/dataset-util.js +1 -2
- package/utils/form-state.util.js +43 -12
- package/utils/form-utils.js +47 -2
- package/utils/format-util.js +28 -13
- package/utils/page-params-util.js +33 -1
- package/utils/state-persistance.js +72 -13
- package/utils/transformedDataset-utils.js +35 -24
- package/variables/base-variable.js +12 -14
- package/variables/crud-variable.js +225 -0
- package/variables/live-variable.js +56 -20
- package/variables/metadata.service.js +123 -0
- package/variables/model-variable.js +21 -15
- package/variables/service-variable.js +88 -83
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.getCheckboxsetDisplayValues = getCheckboxsetDisplayValues;
|
|
8
|
+
var _toString = _interopRequireDefault(require("lodash-es/toString"));
|
|
9
|
+
var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
|
|
10
|
+
var _constants = require("@wavemaker/react-runtime/components/constants");
|
|
11
|
+
function getCheckboxsetDisplayValues() {
|
|
12
|
+
var items = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
|
|
13
|
+
var selectedKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
|
|
14
|
+
var datafield = arguments.length > 2 ? arguments[2] : undefined;
|
|
15
|
+
var usekeys = arguments.length > 3 ? arguments[3] : undefined;
|
|
16
|
+
if (!Array.isArray(items) || !Array.isArray(selectedKeys)) {
|
|
17
|
+
return [];
|
|
18
|
+
}
|
|
19
|
+
var isAllFields = datafield === _constants.ALL_FIELDS;
|
|
20
|
+
return items.filter(function (item) {
|
|
21
|
+
return selectedKeys.some(function (k) {
|
|
22
|
+
if (isAllFields) {
|
|
23
|
+
return usekeys ? (0, _toString["default"])(k) === (0, _toString["default"])(item.key) : (0, _isEqual["default"])(k, item.value);
|
|
24
|
+
}
|
|
25
|
+
return (0, _toString["default"])(k) === (0, _toString["default"])(item.key);
|
|
26
|
+
});
|
|
27
|
+
}).map(function (item) {
|
|
28
|
+
return (item === null || item === void 0 ? void 0 : item.label) != null ? String(item.label) : "";
|
|
29
|
+
});
|
|
30
|
+
}
|
|
@@ -88,7 +88,7 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
88
88
|
tabindex = _props$tabindex === void 0 ? 0 : _props$tabindex,
|
|
89
89
|
_props$usekeys = props.usekeys,
|
|
90
90
|
usekeys = _props$usekeys === void 0 ? false : _props$usekeys,
|
|
91
|
-
|
|
91
|
+
_onClick = props.onClick,
|
|
92
92
|
onChange = props.onChange,
|
|
93
93
|
onMouseenter = props.onMouseenter,
|
|
94
94
|
onMouseleave = props.onMouseleave,
|
|
@@ -98,6 +98,7 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
98
98
|
_props$selectedItems = props.selectedItems,
|
|
99
99
|
selectedItems = _props$selectedItems === void 0 ? [] : _props$selectedItems,
|
|
100
100
|
onblur = props.onblur,
|
|
101
|
+
onBlur = props.onBlur,
|
|
101
102
|
validation = props.validation,
|
|
102
103
|
groupedData = props.groupedData,
|
|
103
104
|
externalHandleHeaderClick = props.handleHeaderClick,
|
|
@@ -129,13 +130,18 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
129
130
|
var itemsPerRowClass = (0, _react.useMemo)(function () {
|
|
130
131
|
return (0, _listHelpers.getItemsPerRowClass)(itemsperrow);
|
|
131
132
|
}, [itemsperrow]);
|
|
132
|
-
var handleBlur = (0, _react.useCallback)(function () {
|
|
133
|
-
if (
|
|
134
|
-
|
|
133
|
+
var handleBlur = (0, _react.useCallback)(function (e) {
|
|
134
|
+
if (onBlur) {
|
|
135
|
+
onBlur(e);
|
|
136
|
+
}
|
|
137
|
+
}, []);
|
|
135
138
|
var transformedDataset = (0, _react.useMemo)(function () {
|
|
136
139
|
if (!dataset) return [];
|
|
140
|
+
if (usekeys) {
|
|
141
|
+
return (0, _transformedDatasetUtils.transformDataWithKeys)(dataset);
|
|
142
|
+
}
|
|
137
143
|
return (0, _transformedDatasetUtils.transformDataset)(dataset, datafield, displayfield, undefined, getDisplayExpression, orderby, groupby, dataPath);
|
|
138
|
-
}, [dataset, datafield, displayfield, getDisplayExpression, orderby, groupby]);
|
|
144
|
+
}, [dataset, datafield, displayfield, getDisplayExpression, orderby, groupby, usekeys, dataPath]);
|
|
139
145
|
(0, _react.useEffect)(function () {
|
|
140
146
|
setIsLoading(true);
|
|
141
147
|
setError(null);
|
|
@@ -194,58 +200,45 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
194
200
|
if (externalHandleHeaderClick && event) {
|
|
195
201
|
externalHandleHeaderClick(key);
|
|
196
202
|
}
|
|
203
|
+
if (_onClick) {
|
|
204
|
+
_onClick(event, listener === null || listener === void 0 ? void 0 : listener.Widgets[name]);
|
|
205
|
+
}
|
|
197
206
|
}, [externalHandleHeaderClick]);
|
|
198
207
|
var handleRadioChange = (0, _react.useCallback)(function (event) {
|
|
199
208
|
var newSelectedKey = event.target.value;
|
|
209
|
+
// check if the selected key is readonly or disabled
|
|
210
|
+
if (disabled || readonly) return;
|
|
200
211
|
setSelectedKey(newSelectedKey);
|
|
201
212
|
var selectedItem = (0, _lodashEs.find)(localDatasetItems, function (item) {
|
|
202
213
|
return (0, _lodashEs.toString)(item.key) === (0, _lodashEs.toString)(newSelectedKey);
|
|
203
214
|
});
|
|
204
215
|
if (selectedItem) {
|
|
205
|
-
if (onChange) {
|
|
206
|
-
onChange(event, props, selectedItem.value, selectedKey);
|
|
207
|
-
}
|
|
208
216
|
if (listener !== null && listener !== void 0 && listener.onChange) {
|
|
209
|
-
listener.onChange(props.name, {
|
|
217
|
+
listener.onChange(props.fieldName || props.name, {
|
|
210
218
|
datavalue: selectedItem.key,
|
|
211
219
|
displayValue: selectedItem.label
|
|
212
220
|
});
|
|
213
221
|
}
|
|
214
|
-
}
|
|
215
|
-
}, [localDatasetItems, onChange, props]);
|
|
216
|
-
var handleItemClick = (0, _react.useCallback)(function (item, event) {
|
|
217
|
-
if (disabled || readonly) return;
|
|
218
|
-
var newKey = (0, _lodashEs.toString)(item.key);
|
|
219
|
-
setSelectedKey(newKey);
|
|
220
|
-
if (item) {
|
|
221
|
-
if (onClick) {
|
|
222
|
-
onClick(event, props, item.value, selectedKey);
|
|
223
|
-
}
|
|
224
222
|
if (onChange) {
|
|
225
|
-
onChange(event, props,
|
|
226
|
-
}
|
|
227
|
-
if (listener !== null && listener !== void 0 && listener.onChange) {
|
|
228
|
-
listener.onChange(name, _objectSpread(_objectSpread({}, props), {}, {
|
|
229
|
-
datavalue: newKey,
|
|
230
|
-
displayValue: item.label
|
|
231
|
-
}));
|
|
223
|
+
onChange(event, props, selectedItem.value, selectedKey);
|
|
232
224
|
}
|
|
233
225
|
}
|
|
234
|
-
}, [
|
|
226
|
+
}, [localDatasetItems, onChange, props]);
|
|
235
227
|
var renderRadio = (0, _react.useCallback)(function (item, index) {
|
|
236
|
-
var isChecked = (0, _lodashEs.toString)(selectedKey) === (0, _lodashEs.toString)(item.key);
|
|
228
|
+
var isChecked = (0, _lodashEs.toString)(selectedKey).toLowerCase() === (0, _lodashEs.toString)(item.key).toLowerCase();
|
|
237
229
|
return __jsx(_ListItem["default"], {
|
|
238
230
|
key: (0, _lodashEs.toString)(item.key) + index,
|
|
239
|
-
className: (0, _clsx["default"])("radio app-radio", {
|
|
231
|
+
className: (0, _clsx["default"])("radio app-radio", itemsPerRowClass, listclass, itemclass, {
|
|
240
232
|
active: isChecked
|
|
241
233
|
}),
|
|
242
|
-
onClick: function onClick(e) {
|
|
243
|
-
return handleItemClick(item, e);
|
|
244
|
-
},
|
|
245
234
|
component: "li"
|
|
246
235
|
}, __jsx(_Box["default"], {
|
|
247
236
|
component: "label",
|
|
248
|
-
className: "app-radioset-label ".concat(disabled || readonly ? "disabled" : "")
|
|
237
|
+
className: "app-radioset-label ".concat(disabled || readonly ? "disabled" : ""),
|
|
238
|
+
onClick: function onClick(e) {
|
|
239
|
+
e.stopPropagation();
|
|
240
|
+
_onClick && _onClick(e);
|
|
241
|
+
}
|
|
249
242
|
}, __jsx(_input.Input, {
|
|
250
243
|
"data-attr-index": index,
|
|
251
244
|
type: "radio",
|
|
@@ -255,14 +248,16 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
255
248
|
tabIndex: tabindex,
|
|
256
249
|
"aria-label": item.label,
|
|
257
250
|
value: item.key,
|
|
251
|
+
id: "radioset_".concat(name || "unnamed", "_").concat(item.key),
|
|
258
252
|
onChange: handleRadioChange,
|
|
259
253
|
role: "radio",
|
|
260
254
|
"aria-checked": isChecked
|
|
261
255
|
}), __jsx(_Box["default"], {
|
|
262
256
|
component: "span",
|
|
263
|
-
className: "caption customTemplate"
|
|
257
|
+
className: "caption customTemplate",
|
|
258
|
+
htmlFor: "radioset_".concat(name || "unnamed", "_").concat(item.key)
|
|
264
259
|
}, item.label)));
|
|
265
|
-
}, [selectedKey, handleRadioChange,
|
|
260
|
+
}, [selectedKey, handleRadioChange, disabled, readonly, name]);
|
|
266
261
|
var renderGroupHeader = (0, _react.useCallback)(function (group) {
|
|
267
262
|
var _group$data;
|
|
268
263
|
return __jsx(_ListItem["default"], {
|
|
@@ -303,7 +298,8 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
303
298
|
}
|
|
304
299
|
if (!localDatasetItems || localDatasetItems.length === 0) {
|
|
305
300
|
return __jsx(_Box["default"], {
|
|
306
|
-
className: (0, _clsx["default"])(className, DEFAULT_CLASS, itemsPerRowClass, listclass, itemclass)
|
|
301
|
+
className: (0, _clsx["default"])(className, DEFAULT_CLASS, itemsPerRowClass, listclass, itemclass),
|
|
302
|
+
hidden: props.hidden
|
|
307
303
|
}, __jsx(_Box["default"], {
|
|
308
304
|
className: "empty-state"
|
|
309
305
|
}, "No items to display"));
|
|
@@ -314,7 +310,8 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
314
310
|
onMouseLeave: props.onMouseLeave
|
|
315
311
|
});
|
|
316
312
|
return __jsx(_Box["default"], (0, _extends2["default"])({}, events, {
|
|
317
|
-
|
|
313
|
+
hidden: props.hidden,
|
|
314
|
+
className: (0, _clsx["default"])(className, DEFAULT_CLASS),
|
|
318
315
|
sx: _objectSpread(_objectSpread({}, styles), {}, {
|
|
319
316
|
height: height,
|
|
320
317
|
width: width
|
|
@@ -329,7 +326,7 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
329
326
|
className: (0, _clsx["default"])({
|
|
330
327
|
"collapsible-radio-group": collapsible
|
|
331
328
|
})
|
|
332
|
-
}, groupby && groupedDataset.length > 0 ? __jsx(_Box["default"], {
|
|
329
|
+
}, groupby && groupedDataset.length > 0 && !usekeys ? __jsx(_Box["default"], {
|
|
333
330
|
component: "ul",
|
|
334
331
|
className: (0, _clsx["default"])(DEFAULT_CLASS)
|
|
335
332
|
}, groupedDataset.map(function (group) {
|
|
@@ -368,7 +365,7 @@ var WmRadioset = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
368
365
|
className: "readonly-wrapper"
|
|
369
366
|
}));
|
|
370
367
|
}, function (prev, current) {
|
|
371
|
-
var keys = ["datavalue", "dataset", "show", "disabled", "readonly", "orderby", "groupby", "collapsible", "datasetItems"];
|
|
368
|
+
var keys = ["datavalue", "dataset", "show", "disabled", "readonly", "orderby", "groupby", "collapsible", "datasetItems", "hidden"];
|
|
372
369
|
return keys.every(function (key) {
|
|
373
370
|
if (key === "datasetItems") {
|
|
374
371
|
return (0, _lodashEs.isEqual)(prev[key], current[key]);
|
|
@@ -16,7 +16,7 @@ var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
|
16
16
|
var _material = require("@mui/material");
|
|
17
17
|
var _transformedDatasetUtils = require("@wavemaker/react-runtime/utils/transformedDataset-utils");
|
|
18
18
|
var _withFormController = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form/form-controller/withFormController"));
|
|
19
|
-
var _excluded = ["dataset", "datasetItems", "multiple", "disabled", "required", "name", "hint", "iconclass", "checkediconclass", "displayfield", "datafield", "value", "onChange", "onClick", "onMouseEnter", "onMouseLeave", "onBlur", "compareby", "toBeProcessedValue", "show", "tabindex", "arialabel", "className", "datavalue", "displayExpression", "orderby", "displayValue", "listener", "styles", "dataPath"];
|
|
19
|
+
var _excluded = ["dataset", "datasetItems", "multiple", "disabled", "required", "name", "hint", "iconclass", "checkediconclass", "displayfield", "datafield", "value", "onChange", "onClick", "onMouseEnter", "onMouseLeave", "onBlur", "compareby", "toBeProcessedValue", "show", "tabindex", "arialabel", "className", "datavalue", "displayExpression", "orderby", "displayValue", "listener", "styles", "dataPath", "hidden", "fieldName"];
|
|
20
20
|
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" != _typeof(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); }
|
|
21
21
|
var __jsx = _react["default"].createElement;
|
|
22
22
|
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; }
|
|
@@ -32,8 +32,7 @@ var defaultProps = {
|
|
|
32
32
|
required: false,
|
|
33
33
|
allowempty: true,
|
|
34
34
|
acceptsArray: false,
|
|
35
|
-
dataset: "yes, no, maybe"
|
|
36
|
-
datavalue: "yes"
|
|
35
|
+
dataset: "yes, no, maybe"
|
|
37
36
|
};
|
|
38
37
|
var useSwitch = function useSwitch(props) {
|
|
39
38
|
var _props$dataset = props.dataset,
|
|
@@ -56,8 +55,7 @@ var useSwitch = function useSwitch(props) {
|
|
|
56
55
|
allowempty = _props$allowempty === void 0 ? defaultProps.allowempty : _props$allowempty,
|
|
57
56
|
_props$acceptsArray = props.acceptsArray,
|
|
58
57
|
acceptsArray = _props$acceptsArray === void 0 ? defaultProps.acceptsArray : _props$acceptsArray,
|
|
59
|
-
|
|
60
|
-
datavalue = _props$datavalue === void 0 ? defaultProps.datavalue : _props$datavalue,
|
|
58
|
+
datavalue = props.datavalue,
|
|
61
59
|
listener = props.listener,
|
|
62
60
|
displayfield = props.displayfield,
|
|
63
61
|
orderby = props.orderby,
|
|
@@ -68,7 +66,9 @@ var useSwitch = function useSwitch(props) {
|
|
|
68
66
|
// Consolidated dataset transformation - handles both initial value and updates
|
|
69
67
|
var transformedDataset = (0, _react.useMemo)(function () {
|
|
70
68
|
if (propDatasetItems !== null && propDatasetItems !== void 0 && propDatasetItems.length) return propDatasetItems;
|
|
71
|
-
|
|
69
|
+
// Check if dataset is a function and call it to get the actual dataset value
|
|
70
|
+
var resolvedDataset = typeof dataset === "function" ? dataset() : dataset;
|
|
71
|
+
return (0, _transformedDatasetUtils.transformDataset)(resolvedDataset, datafield, displayfield, undefined, displayExpression, orderby, null, dataPath);
|
|
72
72
|
}, [dataset, datafield, displayfield, displayExpression, orderby, propDatasetItems]);
|
|
73
73
|
var _useState = (0, _react.useState)(transformedDataset),
|
|
74
74
|
datasetItems = _useState[0],
|
|
@@ -158,6 +158,16 @@ var useSwitch = function useSwitch(props) {
|
|
|
158
158
|
setSelectedItem(firstItem);
|
|
159
159
|
setModelByKey(firstItem.key);
|
|
160
160
|
setModelByValue(firstItem.value);
|
|
161
|
+
} else if ((datasetItems === null || datasetItems === void 0 ? void 0 : datasetItems.length) > 0 && datavalue === undefined && selectedItem) {
|
|
162
|
+
var _updatedItems2 = datasetItems.map(function (item) {
|
|
163
|
+
return _objectSpread(_objectSpread({}, item), {}, {
|
|
164
|
+
selected: false
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
setDatasetItems(_updatedItems2);
|
|
168
|
+
setSelectedItem(null);
|
|
169
|
+
setModelByKey(null);
|
|
170
|
+
setModelByValue(null);
|
|
161
171
|
}
|
|
162
172
|
}, [datasetItems, value, toBeProcessedValue, datavalue, selectedItem, isUserInteraction]);
|
|
163
173
|
(0, _react.useEffect)(function () {
|
|
@@ -239,15 +249,15 @@ var useSwitch = function useSwitch(props) {
|
|
|
239
249
|
return;
|
|
240
250
|
}
|
|
241
251
|
}
|
|
242
|
-
var
|
|
243
|
-
|
|
252
|
+
var _updatedItems3 = (0, _toConsumableArray2["default"])(datasetItems);
|
|
253
|
+
_updatedItems3.forEach(function (item) {
|
|
244
254
|
return item.selected = false;
|
|
245
255
|
});
|
|
246
|
-
|
|
247
|
-
var selectedOption =
|
|
256
|
+
_updatedItems3[targetIndex].selected = true;
|
|
257
|
+
var selectedOption = _updatedItems3[targetIndex];
|
|
248
258
|
|
|
249
259
|
// Batch all state updates together to ensure they happen atomically
|
|
250
|
-
setDatasetItems(
|
|
260
|
+
setDatasetItems(_updatedItems3);
|
|
251
261
|
setSelectedItem(selectedOption);
|
|
252
262
|
setModelByKey(selectedOption.key);
|
|
253
263
|
setModelByValue(selectedOption.value);
|
|
@@ -391,6 +401,8 @@ var WmSwitch = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
|
391
401
|
listener = _ref2.listener,
|
|
392
402
|
styles = _ref2.styles,
|
|
393
403
|
dataPath = _ref2.dataPath,
|
|
404
|
+
hidden = _ref2.hidden,
|
|
405
|
+
fieldName = _ref2.fieldName,
|
|
394
406
|
rest = (0, _objectWithoutProperties2["default"])(_ref2, _excluded);
|
|
395
407
|
var _useSwitch = useSwitch({
|
|
396
408
|
dataset: dataset,
|
|
@@ -412,7 +424,8 @@ var WmSwitch = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
|
412
424
|
displayExpression: displayExpression,
|
|
413
425
|
orderby: orderby,
|
|
414
426
|
listener: listener,
|
|
415
|
-
dataPath: dataPath
|
|
427
|
+
dataPath: dataPath,
|
|
428
|
+
fieldName: fieldName
|
|
416
429
|
}),
|
|
417
430
|
datasetItems = _useSwitch.datasetItems,
|
|
418
431
|
selectedItem = _useSwitch.selectedItem,
|
|
@@ -435,10 +448,14 @@ var WmSwitch = /*#__PURE__*/(0, _react.memo)(function (_ref2) {
|
|
|
435
448
|
return hint;
|
|
436
449
|
}, [hint, displayfield]);
|
|
437
450
|
return __jsx(_Box["default"], {
|
|
451
|
+
hidden: hidden,
|
|
438
452
|
className: DEFAULT_CLS,
|
|
439
453
|
name: name,
|
|
440
454
|
"aria-label": arialabel,
|
|
441
|
-
datavalue: datavalue
|
|
455
|
+
datavalue: datavalue,
|
|
456
|
+
style: _objectSpread(_objectSpread({}, styles), {}, {
|
|
457
|
+
overflow: "auto"
|
|
458
|
+
})
|
|
442
459
|
}, __jsx(_Box["default"], {
|
|
443
460
|
ref: switchRef,
|
|
444
461
|
role: "group",
|