@wavemaker/react-runtime 11.14.2-rc.6311 → 12.0.0-next.28533
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 +32 -10
- 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 +26 -9
- 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 +1 -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/tabs/index.js +92 -14
- package/components/container/tabs/tab-pane/index.js +15 -8
- 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 +991 -180
- 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 +54 -33
- 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 +23 -7
- 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 -51
- 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 +147 -70
- 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 +99 -26
- 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 +84 -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 +5 -0
- 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 +824 -724
- 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
|
@@ -12,12 +12,14 @@ var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof"));
|
|
|
12
12
|
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
13
|
var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass"));
|
|
14
14
|
var _lodash = require("lodash");
|
|
15
|
+
var _types = require("@wavemaker/react-runtime/components/data/types");
|
|
16
|
+
// import { DataSource } from "../../data/types";
|
|
15
17
|
// Enhanced LocalDataProvider with React Native logic
|
|
16
18
|
var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
17
19
|
function LocalDataProvider() {
|
|
18
20
|
(0, _classCallCheck2["default"])(this, LocalDataProvider);
|
|
19
21
|
}
|
|
20
|
-
(0, _createClass2["default"])(LocalDataProvider, [{
|
|
22
|
+
return (0, _createClass2["default"])(LocalDataProvider, [{
|
|
21
23
|
key: "createEmptyResult",
|
|
22
24
|
value: function createEmptyResult() {
|
|
23
25
|
return {
|
|
@@ -40,7 +42,12 @@ var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
|
40
42
|
var queryText = typeof config.query === "string" ? config.query : "";
|
|
41
43
|
var searchKey = config.searchKey,
|
|
42
44
|
_config$casesensitive = config.casesensitive,
|
|
43
|
-
casesensitive = _config$casesensitive === void 0 ? false : _config$casesensitive
|
|
45
|
+
casesensitive = _config$casesensitive === void 0 ? false : _config$casesensitive,
|
|
46
|
+
matchMode = config.matchMode,
|
|
47
|
+
groupby = config.groupby,
|
|
48
|
+
limit = config.limit,
|
|
49
|
+
orderby = config.orderby;
|
|
50
|
+
var isCaseSensitive = matchMode && !(0, _lodash.includes)(matchMode, "ignorecase") ? true : casesensitive;
|
|
44
51
|
var filteredData = [];
|
|
45
52
|
return new Promise(function (resolve) {
|
|
46
53
|
// If searchkey is defined, then check for match string against each item in the dataset
|
|
@@ -70,11 +77,11 @@ var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
|
70
77
|
return keys.some(function (key) {
|
|
71
78
|
var a = (0, _lodash.get)(item.dataObject || item, key);
|
|
72
79
|
var b = queryText;
|
|
73
|
-
if (!
|
|
80
|
+
if (!isCaseSensitive) {
|
|
74
81
|
a = (0, _lodash.toLower)(String(a));
|
|
75
82
|
b = (0, _lodash.toLower)(String(b));
|
|
76
83
|
}
|
|
77
|
-
return _this.applyFilter(a, b);
|
|
84
|
+
return matchMode ? _this.applyMatchMode(String(a), String(b), matchMode) : _this.applyFilter(a, b);
|
|
78
85
|
});
|
|
79
86
|
});
|
|
80
87
|
} else {
|
|
@@ -87,45 +94,71 @@ var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
|
87
94
|
filteredData = (0, _lodash.filter)(entries, function (entry) {
|
|
88
95
|
var dataObj = entry.dataObject || entry;
|
|
89
96
|
var a = (0, _lodash.isString)(dataObj) ? dataObj : (0, _lodash.values)(dataObj).join(" ");
|
|
90
|
-
if (!
|
|
97
|
+
if (!isCaseSensitive) {
|
|
91
98
|
a = (0, _lodash.toLower)(String(a));
|
|
92
99
|
queryText = (0, _lodash.toLower)(String(queryText));
|
|
93
100
|
}
|
|
94
|
-
return _this.applyFilter(a, queryText);
|
|
101
|
+
return matchMode ? _this.applyMatchMode(String(a), String(queryText), matchMode, groupby) : _this.applyFilter(a, queryText);
|
|
95
102
|
});
|
|
96
103
|
} else if ((0, _lodash.isObject)(entries[0])) {
|
|
97
104
|
// Handle regular object array
|
|
98
105
|
filteredData = (0, _lodash.filter)(entries, function (entry) {
|
|
99
106
|
var dataObj = entry.dataObject || entry;
|
|
100
107
|
var a = (0, _lodash.isString)(dataObj) ? dataObj : (0, _lodash.values)(dataObj).join(" ");
|
|
101
|
-
if (!
|
|
108
|
+
if (!isCaseSensitive) {
|
|
102
109
|
a = (0, _lodash.toLower)(String(a));
|
|
103
110
|
queryText = (0, _lodash.toLower)(String(queryText));
|
|
104
111
|
}
|
|
105
|
-
return _this.applyFilter(a, queryText);
|
|
112
|
+
return matchMode ? _this.applyMatchMode(String(a), String(queryText), matchMode) : _this.applyFilter(a, queryText);
|
|
106
113
|
});
|
|
107
114
|
} else {
|
|
108
115
|
// Handle primitive values
|
|
109
116
|
filteredData = (0, _lodash.filter)(entries, function (entry) {
|
|
110
117
|
var entryValue = entry;
|
|
111
|
-
if (!
|
|
118
|
+
if (!isCaseSensitive) {
|
|
112
119
|
entryValue = (0, _lodash.toLower)(String(entryValue));
|
|
113
120
|
queryText = (0, _lodash.toLower)(String(queryText));
|
|
114
121
|
}
|
|
115
|
-
return _this.applyFilter(entryValue, queryText);
|
|
122
|
+
return matchMode ? _this.applyMatchMode(String(entryValue), String(queryText), matchMode) : _this.applyFilter(entryValue, queryText);
|
|
116
123
|
});
|
|
117
124
|
}
|
|
118
125
|
} else {
|
|
119
126
|
filteredData = (0, _lodash.filter)(entries, function (entry) {
|
|
120
127
|
var entryValue = entry;
|
|
121
|
-
if (!
|
|
128
|
+
if (!isCaseSensitive) {
|
|
122
129
|
entryValue = (0, _lodash.toLower)(String(entryValue));
|
|
123
130
|
queryText = (0, _lodash.toLower)(String(queryText));
|
|
124
131
|
}
|
|
125
|
-
return _this.applyFilter(entryValue, queryText);
|
|
132
|
+
return matchMode ? _this.applyMatchMode(String(entryValue), String(queryText), matchMode) : _this.applyFilter(entryValue, queryText);
|
|
126
133
|
});
|
|
127
134
|
}
|
|
128
135
|
}
|
|
136
|
+
|
|
137
|
+
// Apply orderby if provided
|
|
138
|
+
if (orderby && filteredData.length > 0) {
|
|
139
|
+
var _orderParts$, _orderParts$2;
|
|
140
|
+
var orderParts = (0, _lodash.split)(orderby, ":");
|
|
141
|
+
var orderField = (_orderParts$ = orderParts[0]) === null || _orderParts$ === void 0 ? void 0 : _orderParts$.trim();
|
|
142
|
+
var orderDirection = ((_orderParts$2 = orderParts[1]) === null || _orderParts$2 === void 0 ? void 0 : _orderParts$2.trim().toLowerCase()) || "asc";
|
|
143
|
+
if (orderField) {
|
|
144
|
+
filteredData = (0, _lodash.orderBy)(filteredData, function (item) {
|
|
145
|
+
// Handle normalized format with dataObject
|
|
146
|
+
var dataObj = item.dataObject || item;
|
|
147
|
+
var value = (0, _lodash.get)(dataObj, orderField);
|
|
148
|
+
// Handle numeric values for proper sorting
|
|
149
|
+
if ((0, _lodash.isNumber)(value)) {
|
|
150
|
+
return value;
|
|
151
|
+
}
|
|
152
|
+
// Convert to string for consistent sorting
|
|
153
|
+
return String(value || "").toLowerCase();
|
|
154
|
+
}, [orderDirection]);
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
// Apply limit if provided
|
|
159
|
+
if (limit && (0, _lodash.isNumber)(limit) && limit > 0) {
|
|
160
|
+
filteredData = filteredData.slice(0, limit);
|
|
161
|
+
}
|
|
129
162
|
resolve({
|
|
130
163
|
data: filteredData,
|
|
131
164
|
hasMoreData: false,
|
|
@@ -192,9 +225,9 @@ var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
|
192
225
|
}
|
|
193
226
|
}, {
|
|
194
227
|
key: "applyMatchMode",
|
|
195
|
-
value: function applyMatchMode(entry, queryText, matchMode) {
|
|
228
|
+
value: function applyMatchMode(entry, queryText, matchMode, groupby) {
|
|
196
229
|
if (!queryText) return true;
|
|
197
|
-
if (matchMode !== null && matchMode !== void 0 && matchMode.includes("start")) {
|
|
230
|
+
if (matchMode !== null && matchMode !== void 0 && matchMode.includes("start") && !(groupby && (0, _lodash.includes)(matchMode, "ignorecase"))) {
|
|
198
231
|
return entry.startsWith(queryText);
|
|
199
232
|
}
|
|
200
233
|
if (matchMode !== null && matchMode !== void 0 && matchMode.includes("end")) {
|
|
@@ -203,23 +236,27 @@ var LocalDataProvider = exports.LocalDataProvider = /*#__PURE__*/function () {
|
|
|
203
236
|
if (matchMode !== null && matchMode !== void 0 && matchMode.includes("exact")) {
|
|
204
237
|
return entry === queryText;
|
|
205
238
|
}
|
|
239
|
+
if (matchMode === "contains") {
|
|
240
|
+
return entry.toLowerCase().includes(queryText.toLowerCase());
|
|
241
|
+
}
|
|
206
242
|
return entry.includes(queryText);
|
|
207
243
|
}
|
|
208
244
|
}]);
|
|
209
|
-
return LocalDataProvider;
|
|
210
245
|
}(); // Enhanced DataProvider with React Native logic
|
|
211
246
|
var DataProvider = exports.DataProvider = /*#__PURE__*/function () {
|
|
212
247
|
function DataProvider() {
|
|
213
248
|
(0, _classCallCheck2["default"])(this, DataProvider);
|
|
214
249
|
(0, _defineProperty2["default"])(this, "localDataProvider", new LocalDataProvider());
|
|
215
250
|
}
|
|
216
|
-
(0, _createClass2["default"])(DataProvider, [{
|
|
251
|
+
return (0, _createClass2["default"])(DataProvider, [{
|
|
217
252
|
key: "init",
|
|
218
253
|
value:
|
|
219
254
|
// Check if the variable is of type service variable and whether update is required
|
|
220
255
|
function init(component) {
|
|
221
|
-
|
|
222
|
-
|
|
256
|
+
var datasource = component === null || component === void 0 ? void 0 : component.datasource;
|
|
257
|
+
if (datasource) {
|
|
258
|
+
var _datasource$serviceIn, _datasource$serviceIn2;
|
|
259
|
+
return datasource.execute(_types.DataSource.Operation.IS_PAGEABLE) || ((_datasource$serviceIn = datasource === null || datasource === void 0 || (_datasource$serviceIn2 = datasource.serviceInfo) === null || _datasource$serviceIn2 === void 0 || (_datasource$serviceIn2 = _datasource$serviceIn2.parameters) === null || _datasource$serviceIn2 === void 0 ? void 0 : _datasource$serviceIn2.length) !== null && _datasource$serviceIn !== void 0 ? _datasource$serviceIn : 0) > 0;
|
|
223
260
|
}
|
|
224
261
|
return false;
|
|
225
262
|
}
|
|
@@ -228,10 +265,10 @@ var DataProvider = exports.DataProvider = /*#__PURE__*/function () {
|
|
|
228
265
|
}, {
|
|
229
266
|
key: "invokeVariable",
|
|
230
267
|
value: function () {
|
|
231
|
-
var _invokeVariable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
232
|
-
var paramsObj;
|
|
233
|
-
return _regenerator["default"].wrap(function
|
|
234
|
-
while (1) switch (
|
|
268
|
+
var _invokeVariable = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2(component, query) {
|
|
269
|
+
var paramsObj, datasource, dataSource;
|
|
270
|
+
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
271
|
+
while (1) switch (_context2.prev = _context2.next) {
|
|
235
272
|
case 0:
|
|
236
273
|
paramsObj = null;
|
|
237
274
|
if (component !== null && component !== void 0 && component.searchkey) {
|
|
@@ -242,26 +279,55 @@ var DataProvider = exports.DataProvider = /*#__PURE__*/function () {
|
|
|
242
279
|
paramsObj[k] = query;
|
|
243
280
|
});
|
|
244
281
|
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
_context.next = 4;
|
|
282
|
+
datasource = component === null || component === void 0 ? void 0 : component.datasource;
|
|
283
|
+
if (!datasource) {
|
|
284
|
+
_context2.next = 8;
|
|
249
285
|
break;
|
|
250
286
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
287
|
+
if (datasource.category === "wm.LiveVariable") {
|
|
288
|
+
// datasource.setFilter(paramsObj);
|
|
289
|
+
} else {
|
|
290
|
+
datasource.setInput(paramsObj);
|
|
291
|
+
}
|
|
292
|
+
dataSource = datasource;
|
|
293
|
+
if (component !== null && component !== void 0 && component.onBeforeservicecall) {
|
|
294
|
+
component.onBeforeservicecall(component, paramsObj);
|
|
295
|
+
}
|
|
296
|
+
return _context2.abrupt("return", new Promise(/*#__PURE__*/function () {
|
|
297
|
+
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee(resolve, reject) {
|
|
298
|
+
var result;
|
|
299
|
+
return _regenerator["default"].wrap(function _callee$(_context) {
|
|
300
|
+
while (1) switch (_context.prev = _context.next) {
|
|
301
|
+
case 0:
|
|
302
|
+
_context.prev = 0;
|
|
303
|
+
_context.next = 3;
|
|
304
|
+
return dataSource.execute(_types.DataSource.Operation.SEARCH_RECORDS, component);
|
|
305
|
+
case 3:
|
|
306
|
+
result = _context.sent;
|
|
307
|
+
resolve((result === null || result === void 0 ? void 0 : result.data) || []);
|
|
308
|
+
_context.next = 10;
|
|
309
|
+
break;
|
|
310
|
+
case 7:
|
|
311
|
+
_context.prev = 7;
|
|
312
|
+
_context.t0 = _context["catch"](0);
|
|
313
|
+
resolve([]);
|
|
314
|
+
case 10:
|
|
315
|
+
case "end":
|
|
316
|
+
return _context.stop();
|
|
317
|
+
}
|
|
318
|
+
}, _callee, null, [[0, 7]]);
|
|
319
|
+
}));
|
|
320
|
+
return function (_x3, _x4) {
|
|
321
|
+
return _ref.apply(this, arguments);
|
|
322
|
+
};
|
|
323
|
+
}()));
|
|
324
|
+
case 8:
|
|
325
|
+
return _context2.abrupt("return", Promise.resolve());
|
|
326
|
+
case 9:
|
|
261
327
|
case "end":
|
|
262
|
-
return
|
|
328
|
+
return _context2.stop();
|
|
263
329
|
}
|
|
264
|
-
},
|
|
330
|
+
}, _callee2);
|
|
265
331
|
}));
|
|
266
332
|
function invokeVariable(_x, _x2) {
|
|
267
333
|
return _invokeVariable.apply(this, arguments);
|
|
@@ -271,42 +337,42 @@ var DataProvider = exports.DataProvider = /*#__PURE__*/function () {
|
|
|
271
337
|
}, {
|
|
272
338
|
key: "filter",
|
|
273
339
|
value: function () {
|
|
274
|
-
var _filter2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function
|
|
340
|
+
var _filter2 = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3(config) {
|
|
275
341
|
var searchKey, keys, updateRequired, response, dataSet;
|
|
276
|
-
return _regenerator["default"].wrap(function
|
|
277
|
-
while (1) switch (
|
|
342
|
+
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
343
|
+
while (1) switch (_context3.prev = _context3.next) {
|
|
278
344
|
case 0:
|
|
279
345
|
searchKey = config.searchKey; // If searchkey is provided, check if we need to make an API call
|
|
280
346
|
if (!searchKey) {
|
|
281
|
-
|
|
347
|
+
_context3.next = 22;
|
|
282
348
|
break;
|
|
283
349
|
}
|
|
284
350
|
keys = (0, _lodash.split)(searchKey, ",");
|
|
285
351
|
if (!(keys.length && config.component)) {
|
|
286
|
-
|
|
352
|
+
_context3.next = 22;
|
|
287
353
|
break;
|
|
288
354
|
}
|
|
289
355
|
// Check if update is required for service variables
|
|
290
356
|
updateRequired = this.init(config.component);
|
|
291
357
|
if (!updateRequired) {
|
|
292
|
-
|
|
358
|
+
_context3.next = 22;
|
|
293
359
|
break;
|
|
294
360
|
}
|
|
295
|
-
|
|
296
|
-
|
|
361
|
+
_context3.prev = 6;
|
|
362
|
+
_context3.next = 9;
|
|
297
363
|
return this.invokeVariable(config.component, config.query || "");
|
|
298
364
|
case 9:
|
|
299
|
-
response =
|
|
365
|
+
response = _context3.sent;
|
|
300
366
|
if (!response) {
|
|
301
|
-
|
|
367
|
+
_context3.next = 16;
|
|
302
368
|
break;
|
|
303
369
|
}
|
|
304
370
|
dataSet = response.dataSet || response;
|
|
305
371
|
if (!(0, _lodash.isEmpty)(dataSet)) {
|
|
306
|
-
|
|
372
|
+
_context3.next = 14;
|
|
307
373
|
break;
|
|
308
374
|
}
|
|
309
|
-
return
|
|
375
|
+
return _context3.abrupt("return", {
|
|
310
376
|
data: [],
|
|
311
377
|
hasMoreData: false,
|
|
312
378
|
isLastPage: true
|
|
@@ -315,36 +381,35 @@ var DataProvider = exports.DataProvider = /*#__PURE__*/function () {
|
|
|
315
381
|
if ((0, _lodash.isObject)(dataSet) && !(0, _lodash.isArray)(dataSet)) {
|
|
316
382
|
dataSet = [dataSet];
|
|
317
383
|
}
|
|
318
|
-
return
|
|
384
|
+
return _context3.abrupt("return", {
|
|
319
385
|
data: dataSet,
|
|
320
386
|
hasMoreData: false,
|
|
321
387
|
isLastPage: true
|
|
322
388
|
});
|
|
323
389
|
case 16:
|
|
324
|
-
|
|
390
|
+
_context3.next = 22;
|
|
325
391
|
break;
|
|
326
392
|
case 18:
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
console.error("API call failed:",
|
|
330
|
-
return
|
|
393
|
+
_context3.prev = 18;
|
|
394
|
+
_context3.t0 = _context3["catch"](6);
|
|
395
|
+
console.error("API call failed:", _context3.t0);
|
|
396
|
+
return _context3.abrupt("return", {
|
|
331
397
|
data: [],
|
|
332
398
|
hasMoreData: false,
|
|
333
399
|
isLastPage: true
|
|
334
400
|
});
|
|
335
401
|
case 22:
|
|
336
|
-
return
|
|
402
|
+
return _context3.abrupt("return", this.localDataProvider.filter(config));
|
|
337
403
|
case 23:
|
|
338
404
|
case "end":
|
|
339
|
-
return
|
|
405
|
+
return _context3.stop();
|
|
340
406
|
}
|
|
341
|
-
},
|
|
407
|
+
}, _callee3, this, [[6, 18]]);
|
|
342
408
|
}));
|
|
343
|
-
function filter(
|
|
409
|
+
function filter(_x5) {
|
|
344
410
|
return _filter2.apply(this, arguments);
|
|
345
411
|
}
|
|
346
412
|
return filter;
|
|
347
413
|
}()
|
|
348
414
|
}]);
|
|
349
|
-
return DataProvider;
|
|
350
415
|
}();
|
|
@@ -178,7 +178,8 @@ var WmSpinner = exports.WmSpinner = /*#__PURE__*/(0, _react.memo)(function (prop
|
|
|
178
178
|
"aria-label": arialabel,
|
|
179
179
|
role: "alert",
|
|
180
180
|
"aria-live": "polite",
|
|
181
|
-
"aria-busy": "true"
|
|
181
|
+
"aria-busy": "true",
|
|
182
|
+
hidden: props.hidden
|
|
182
183
|
}, __jsx(_Box["default"], {
|
|
183
184
|
className: "spinner-message"
|
|
184
185
|
}, renderSpinnerContent(), shouldShowStaticCaption && __jsx(_Typography["default"], {
|
|
@@ -114,8 +114,9 @@ var WmTree = function WmTree(props) {
|
|
|
114
114
|
}
|
|
115
115
|
};
|
|
116
116
|
if ((0, _isArray["default"])(newVal)) {
|
|
117
|
-
|
|
118
|
-
|
|
117
|
+
var ordered = orderby ? (0, _transformedDatasetUtils.getOrderedDataset)(newVal, orderby) : newVal;
|
|
118
|
+
return ordered.map(function (item, index) {
|
|
119
|
+
return (0, _utils.processNode)(item, 0, undefined, ordered, index, name, processNodeOptions);
|
|
119
120
|
});
|
|
120
121
|
} else if ((0, _isObject["default"])(newVal) && newVal !== null) {
|
|
121
122
|
return [(0, _utils.processNode)(newVal, 0, undefined, [newVal], 0, name, processNodeOptions)];
|
|
@@ -123,7 +124,7 @@ var WmTree = function WmTree(props) {
|
|
|
123
124
|
return getNodesFromString(newVal.trim());
|
|
124
125
|
}
|
|
125
126
|
return [];
|
|
126
|
-
}, [getNodesFromString, levels, nodelabel, nodeicon, nodechildren, nodeid, name]);
|
|
127
|
+
}, [getNodesFromString, levels, nodelabel, nodeicon, nodechildren, nodeid, name, orderby]);
|
|
127
128
|
|
|
128
129
|
// Get path to node (for event callbacks)
|
|
129
130
|
var getPath = (0, _react.useCallback)(function (node) {
|
|
@@ -147,20 +148,20 @@ var WmTree = function WmTree(props) {
|
|
|
147
148
|
});
|
|
148
149
|
|
|
149
150
|
// Update the node in the tree
|
|
150
|
-
var
|
|
151
|
+
var _updateNodeInTree = function updateNodeInTree(nodes, targetNode) {
|
|
151
152
|
return nodes.map(function (n) {
|
|
152
153
|
var _n$children;
|
|
153
154
|
if (n.nodeId === targetNode.nodeId) {
|
|
154
155
|
return updatedNode;
|
|
155
156
|
} else if ((_n$children = n.children) !== null && _n$children !== void 0 && _n$children.length) {
|
|
156
157
|
return _objectSpread(_objectSpread({}, n), {}, {
|
|
157
|
-
children:
|
|
158
|
+
children: _updateNodeInTree(n.children, targetNode)
|
|
158
159
|
});
|
|
159
160
|
}
|
|
160
161
|
return n;
|
|
161
162
|
});
|
|
162
163
|
};
|
|
163
|
-
var updatedNodes =
|
|
164
|
+
var updatedNodes = _updateNodeInTree(treeNodes, node);
|
|
164
165
|
setTreeNodes(updatedNodes);
|
|
165
166
|
var path = getPath(node);
|
|
166
167
|
if (updatedNode.open) {
|
|
@@ -200,7 +201,7 @@ var WmTree = function WmTree(props) {
|
|
|
200
201
|
var newCheckedState = !node.checked;
|
|
201
202
|
|
|
202
203
|
// Update the tree with cascading effect
|
|
203
|
-
var
|
|
204
|
+
var _updateCheckedState = function updateCheckedState(nodes, nodeId, checked) {
|
|
204
205
|
return nodes.map(function (node) {
|
|
205
206
|
var _node$children3;
|
|
206
207
|
if (node.nodeId === nodeId) {
|
|
@@ -212,7 +213,7 @@ var WmTree = function WmTree(props) {
|
|
|
212
213
|
|
|
213
214
|
// Update all children recursively if any
|
|
214
215
|
if ((_node$children2 = node.children) !== null && _node$children2 !== void 0 && _node$children2.length) {
|
|
215
|
-
updatedNode.children =
|
|
216
|
+
updatedNode.children = _updateAllChildrenChecked(node.children, checked);
|
|
216
217
|
}
|
|
217
218
|
|
|
218
219
|
// Also update the data object to maintain consistency
|
|
@@ -224,7 +225,7 @@ var WmTree = function WmTree(props) {
|
|
|
224
225
|
return updatedNode;
|
|
225
226
|
} else if ((_node$children3 = node.children) !== null && _node$children3 !== void 0 && _node$children3.length) {
|
|
226
227
|
// Check if the target node is in the children
|
|
227
|
-
var updatedChildren =
|
|
228
|
+
var updatedChildren = _updateCheckedState(node.children, nodeId, checked);
|
|
228
229
|
|
|
229
230
|
// Check if all children are checked or unchecked to update parent accordingly
|
|
230
231
|
var allChildrenChecked = updatedChildren.every(function (child) {
|
|
@@ -252,12 +253,12 @@ var WmTree = function WmTree(props) {
|
|
|
252
253
|
};
|
|
253
254
|
|
|
254
255
|
// Helper function to set all children to the same checked state
|
|
255
|
-
var
|
|
256
|
+
var _updateAllChildrenChecked = function updateAllChildrenChecked(nodes, checked) {
|
|
256
257
|
return nodes.map(function (node) {
|
|
257
258
|
var _node$children4;
|
|
258
259
|
var updatedNode = _objectSpread(_objectSpread({}, node), {}, {
|
|
259
260
|
checked: checked,
|
|
260
|
-
children: (_node$children4 = node.children) !== null && _node$children4 !== void 0 && _node$children4.length ?
|
|
261
|
+
children: (_node$children4 = node.children) !== null && _node$children4 !== void 0 && _node$children4.length ? _updateAllChildrenChecked(node.children, checked) : node.children
|
|
261
262
|
});
|
|
262
263
|
|
|
263
264
|
// Update the data object to maintain consistency
|
|
@@ -269,7 +270,7 @@ var WmTree = function WmTree(props) {
|
|
|
269
270
|
return updatedNode;
|
|
270
271
|
});
|
|
271
272
|
};
|
|
272
|
-
var updatedNodes =
|
|
273
|
+
var updatedNodes = _updateCheckedState(treeNodes, node.nodeId, newCheckedState);
|
|
273
274
|
setTreeNodes(updatedNodes);
|
|
274
275
|
if (onCheck) {
|
|
275
276
|
onCheck(event, undefined, node.data, newCheckedState);
|
|
@@ -289,7 +290,7 @@ var WmTree = function WmTree(props) {
|
|
|
289
290
|
setRadioSelectedNodeId(node.nodeId);
|
|
290
291
|
|
|
291
292
|
// Update all nodes in the tree to set the correct radio state
|
|
292
|
-
var
|
|
293
|
+
var _updateRadioState = function updateRadioState(nodes, selectedNodeId) {
|
|
293
294
|
return nodes.map(function (node) {
|
|
294
295
|
var _node$children5;
|
|
295
296
|
var isChecked = node.nodeId === selectedNodeId;
|
|
@@ -308,12 +309,12 @@ var WmTree = function WmTree(props) {
|
|
|
308
309
|
|
|
309
310
|
// Update children recursively if any
|
|
310
311
|
if ((_node$children5 = node.children) !== null && _node$children5 !== void 0 && _node$children5.length) {
|
|
311
|
-
updatedNode.children =
|
|
312
|
+
updatedNode.children = _updateRadioState(node.children, selectedNodeId);
|
|
312
313
|
}
|
|
313
314
|
return updatedNode;
|
|
314
315
|
});
|
|
315
316
|
};
|
|
316
|
-
var updatedNodes =
|
|
317
|
+
var updatedNodes = _updateRadioState(treeNodes, node.nodeId);
|
|
317
318
|
setTreeNodes(updatedNodes);
|
|
318
319
|
if (onCheck) {
|
|
319
320
|
onCheck(event, undefined, node.data, true);
|
|
@@ -331,7 +332,7 @@ var WmTree = function WmTree(props) {
|
|
|
331
332
|
selectNode(undefined, node);
|
|
332
333
|
if (isRadioTree) {
|
|
333
334
|
setRadioSelectedNodeId(node.nodeId);
|
|
334
|
-
var
|
|
335
|
+
var _updateRadioState2 = function updateRadioState(nodes, selectedNodeId) {
|
|
335
336
|
return nodes.map(function (node) {
|
|
336
337
|
var _node$children6;
|
|
337
338
|
var isChecked = node.nodeId === selectedNodeId;
|
|
@@ -344,12 +345,12 @@ var WmTree = function WmTree(props) {
|
|
|
344
345
|
});
|
|
345
346
|
}
|
|
346
347
|
if ((_node$children6 = node.children) !== null && _node$children6 !== void 0 && _node$children6.length) {
|
|
347
|
-
updatedNode.children =
|
|
348
|
+
updatedNode.children = _updateRadioState2(node.children, selectedNodeId);
|
|
348
349
|
}
|
|
349
350
|
return updatedNode;
|
|
350
351
|
});
|
|
351
352
|
};
|
|
352
|
-
var updatedNodes =
|
|
353
|
+
var updatedNodes = _updateRadioState2(treeNodes, node.nodeId);
|
|
353
354
|
setTreeNodes(updatedNodes);
|
|
354
355
|
}
|
|
355
356
|
var currentNode = node.parent;
|
|
@@ -359,7 +360,7 @@ var WmTree = function WmTree(props) {
|
|
|
359
360
|
currentNode = currentNode.parent;
|
|
360
361
|
}
|
|
361
362
|
if (nodesToExpand.length) {
|
|
362
|
-
var
|
|
363
|
+
var _updateNodeOpenState = function updateNodeOpenState(nodes, nodesToExpand) {
|
|
363
364
|
return nodes.map(function (node) {
|
|
364
365
|
var _node$children7;
|
|
365
366
|
if (nodesToExpand.some(function (n) {
|
|
@@ -367,17 +368,17 @@ var WmTree = function WmTree(props) {
|
|
|
367
368
|
})) {
|
|
368
369
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
369
370
|
open: true,
|
|
370
|
-
children: node.children ?
|
|
371
|
+
children: node.children ? _updateNodeOpenState(node.children, nodesToExpand) : undefined
|
|
371
372
|
});
|
|
372
373
|
} else if ((_node$children7 = node.children) !== null && _node$children7 !== void 0 && _node$children7.length) {
|
|
373
374
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
374
|
-
children:
|
|
375
|
+
children: _updateNodeOpenState(node.children, nodesToExpand)
|
|
375
376
|
});
|
|
376
377
|
}
|
|
377
378
|
return node;
|
|
378
379
|
});
|
|
379
380
|
};
|
|
380
|
-
var _updatedNodes =
|
|
381
|
+
var _updatedNodes = _updateNodeOpenState(treeNodes, nodesToExpand);
|
|
381
382
|
setTreeNodes(_updatedNodes);
|
|
382
383
|
}
|
|
383
384
|
}
|
|
@@ -386,12 +387,12 @@ var WmTree = function WmTree(props) {
|
|
|
386
387
|
setSelectedItem(null);
|
|
387
388
|
if (isRadioTree) {
|
|
388
389
|
setRadioSelectedNodeId(null);
|
|
389
|
-
var
|
|
390
|
+
var _clearCheckedState = function clearCheckedState(nodes) {
|
|
390
391
|
return nodes.map(function (node) {
|
|
391
392
|
var _node$children8;
|
|
392
393
|
var updatedNode = _objectSpread(_objectSpread({}, node), {}, {
|
|
393
394
|
checked: false,
|
|
394
|
-
children: (_node$children8 = node.children) !== null && _node$children8 !== void 0 && _node$children8.length ?
|
|
395
|
+
children: (_node$children8 = node.children) !== null && _node$children8 !== void 0 && _node$children8.length ? _clearCheckedState(node.children) : node.children
|
|
395
396
|
});
|
|
396
397
|
if (updatedNode.data) {
|
|
397
398
|
updatedNode.data = _objectSpread(_objectSpread({}, updatedNode.data), {}, {
|
|
@@ -401,14 +402,12 @@ var WmTree = function WmTree(props) {
|
|
|
401
402
|
return updatedNode;
|
|
402
403
|
});
|
|
403
404
|
};
|
|
404
|
-
setTreeNodes(
|
|
405
|
+
setTreeNodes(_clearCheckedState(treeNodes));
|
|
405
406
|
}
|
|
406
407
|
}, [isRadioTree]);
|
|
407
|
-
|
|
408
|
-
// Memoized sorted nodes to avoid re-sorting on every render
|
|
409
408
|
var sortedTreeNodes = (0, _react.useMemo)(function () {
|
|
410
|
-
return
|
|
411
|
-
}, [
|
|
409
|
+
return treeNodes;
|
|
410
|
+
}, [treeNodes]);
|
|
412
411
|
|
|
413
412
|
// Process dataset when it changes
|
|
414
413
|
(0, _react.useEffect)(function () {
|
|
@@ -436,23 +435,23 @@ var WmTree = function WmTree(props) {
|
|
|
436
435
|
var _targetNode$children;
|
|
437
436
|
selectNode(undefined, targetNode);
|
|
438
437
|
if ((_targetNode$children = targetNode.children) !== null && _targetNode$children !== void 0 && _targetNode$children.length) {
|
|
439
|
-
var
|
|
438
|
+
var _updateNodeOpenState2 = function updateNodeOpenState(nodes, targetNodeId) {
|
|
440
439
|
return nodes.map(function (node) {
|
|
441
440
|
var _node$children9;
|
|
442
441
|
if (node.nodeId === targetNodeId) {
|
|
443
442
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
444
443
|
open: true,
|
|
445
|
-
children: node.children ?
|
|
444
|
+
children: node.children ? _updateNodeOpenState2(node.children, targetNodeId) : undefined
|
|
446
445
|
});
|
|
447
446
|
} else if ((_node$children9 = node.children) !== null && _node$children9 !== void 0 && _node$children9.length) {
|
|
448
447
|
return _objectSpread(_objectSpread({}, node), {}, {
|
|
449
|
-
children:
|
|
448
|
+
children: _updateNodeOpenState2(node.children, targetNodeId)
|
|
450
449
|
});
|
|
451
450
|
}
|
|
452
451
|
return node;
|
|
453
452
|
});
|
|
454
453
|
};
|
|
455
|
-
var updatedNodes =
|
|
454
|
+
var updatedNodes = _updateNodeOpenState2(treeNodes, targetNode.nodeId);
|
|
456
455
|
setTreeNodes(updatedNodes);
|
|
457
456
|
}
|
|
458
457
|
}
|
|
@@ -477,7 +476,8 @@ var WmTree = function WmTree(props) {
|
|
|
477
476
|
width: width,
|
|
478
477
|
height: height,
|
|
479
478
|
textAlign: horizontalalign
|
|
480
|
-
})
|
|
479
|
+
}),
|
|
480
|
+
hidden: props.hidden
|
|
481
481
|
}, sortedTreeNodes.length > 0 ? sortedTreeNodes.map(function (node) {
|
|
482
482
|
return __jsx(_TreeNodeComponent["default"], {
|
|
483
483
|
key: node.nodeId,
|
|
@@ -35,7 +35,7 @@ var generateUniqueNodeId = exports.generateUniqueNodeId = function generateUniqu
|
|
|
35
35
|
};
|
|
36
36
|
|
|
37
37
|
// Process a single node and its children with depth tracking
|
|
38
|
-
var
|
|
38
|
+
var _processNode = exports.processNode = function processNode(item, depth, parent, rootDataset, nodeIndex, treeName, options) {
|
|
39
39
|
var levels = options.levels,
|
|
40
40
|
nodelabel = options.nodelabel,
|
|
41
41
|
nodeicon = options.nodeicon,
|
|
@@ -54,6 +54,9 @@ var processNode = exports.processNode = function processNode(item, depth, parent
|
|
|
54
54
|
}
|
|
55
55
|
// If not found on current item, fall back to default values (don't do global search)
|
|
56
56
|
}
|
|
57
|
+
if (nodelabel) {
|
|
58
|
+
return nodelabel;
|
|
59
|
+
}
|
|
57
60
|
return (_ref = (_ref2 = (_item$nodelabel = item[nodelabel]) !== null && _item$nodelabel !== void 0 ? _item$nodelabel : item.label) !== null && _ref2 !== void 0 ? _ref2 : item.name) !== null && _ref !== void 0 ? _ref : String(item);
|
|
58
61
|
};
|
|
59
62
|
var getIconValue = function getIconValue() {
|
|
@@ -66,6 +69,9 @@ var processNode = exports.processNode = function processNode(item, depth, parent
|
|
|
66
69
|
}
|
|
67
70
|
// If not found on current item, fall back to default values (don't do global search)
|
|
68
71
|
}
|
|
72
|
+
if (nodeicon) {
|
|
73
|
+
return nodeicon;
|
|
74
|
+
}
|
|
69
75
|
return (_item$nodeicon = item[nodeicon]) !== null && _item$nodeicon !== void 0 ? _item$nodeicon : item.icon;
|
|
70
76
|
};
|
|
71
77
|
var getNodeIdValue = function getNodeIdValue() {
|
|
@@ -127,12 +133,12 @@ var processNode = exports.processNode = function processNode(item, depth, parent
|
|
|
127
133
|
};
|
|
128
134
|
if ((0, _isArray["default"])(childrenData) && childrenData.length > 0) {
|
|
129
135
|
node.children = childrenData.map(function (child, index) {
|
|
130
|
-
return
|
|
136
|
+
return _processNode(child, depth + 1, node, rootDataset, index, treeName, options);
|
|
131
137
|
});
|
|
132
138
|
}
|
|
133
139
|
return node;
|
|
134
140
|
};
|
|
135
|
-
var
|
|
141
|
+
var _findNodeById = exports.findNodeById = function findNodeById(nodes, id) {
|
|
136
142
|
var _iterator = _createForOfIteratorHelper(nodes),
|
|
137
143
|
_step;
|
|
138
144
|
try {
|
|
@@ -141,7 +147,7 @@ var findNodeById = exports.findNodeById = function findNodeById(nodes, id) {
|
|
|
141
147
|
var node = _step.value;
|
|
142
148
|
if (String(node.nodeId) === String(id)) return node;
|
|
143
149
|
if ((_node$children = node.children) !== null && _node$children !== void 0 && _node$children.length) {
|
|
144
|
-
var found =
|
|
150
|
+
var found = _findNodeById(node.children, id);
|
|
145
151
|
if (found) return found;
|
|
146
152
|
}
|
|
147
153
|
}
|