@wavemaker/react-runtime 11.14.1-rc.241 → 11.14.2-1.6423
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/navigation-action.js +5 -3
- package/actions/notification-action.js +6 -3
- package/components/basic/anchor/index.js +6 -7
- package/components/basic/label/index.js +2 -2
- package/components/basic/search/index.js +7 -3
- package/components/chart/components/barColumnChart/index.js +2 -4
- package/components/chart/components/pieDonutChart/index.js +3 -1
- package/components/chart/hooks/useBarYAxisExtras.js +52 -0
- package/components/chart/hooks/useXAxisConfig.js +98 -0
- package/components/chart/index.js +72 -39
- package/components/chart/utils.js +23 -12
- package/components/container/index.js +6 -7
- package/components/container/panel/components/panel-header/index.js +3 -2
- package/components/container/panel/index.js +13 -9
- package/components/container/tabs/index.js +1 -0
- package/components/container/tabs/tab-pane/index.js +39 -3
- package/components/container/wizard/index.js +187 -57
- package/components/container/wizard/utils.js +1 -1
- package/components/container/wizard/wizard-action/index.js +9 -4
- package/components/container/wizard/wizard-step/index.js +21 -8
- package/components/data/form/base-form/index.js +51 -11
- package/components/data/form/form-controller/withFormController.js +7 -10
- package/components/data/list/components/GroupedListItems.js +5 -1
- package/components/data/list/components/ListItemWithTemplate.js +4 -1
- package/components/data/list/hooks/useListEffects.js +34 -14
- package/components/data/list/hooks/useListEventHandlers.js +18 -2
- package/components/data/list/hooks/useListState.js +15 -2
- package/components/data/list/index.js +1 -0
- package/components/data/list/utils/list-helpers.js +3 -5
- package/components/data/list/utils/list-widget-methods.js +1 -1
- package/components/data/live-filter/index.js +6 -5
- package/components/data/live-form/index.js +24 -14
- package/components/data/table/components/TableBody.js +5 -21
- package/components/data/table/components/TableHeader.js +5 -1
- package/components/data/table/index.js +21 -5
- package/components/data/utils/field-data-utils.js +1 -1
- package/components/dialogs/index.js +14 -16
- package/components/input/currency/index.js +11 -7
- package/components/input/default/checkbox/index.js +2 -3
- package/components/input/default/checkboxset/index.js +2 -22
- package/components/input/default/radioset/index.js +5 -4
- package/components/input/epoch/datetime/index.js +6 -2
- package/components/input/epoch/time/index.js +2 -1
- package/components/input/number/index.js +2 -2
- package/components/input/text/util.js +2 -0
- package/components/input/textarea/index.js +22 -24
- package/components/layout/leftnav/index.js +1 -1
- package/components/navbar/nav/index.js +97 -7
- package/components/navbar/nav-item/index.js +5 -2
- package/components/navigation/menu/index.js +73 -12
- package/components/navigation/popover/index.js +2 -0
- package/components/page/error-boundary/index.js +1 -0
- package/components/prefab/container/index.js +10 -3
- package/context/LocalizationProvider.js +1 -0
- package/context/PrefabContext.js +138 -13
- package/context/WidgetProvider.js +2 -2
- package/core/constants/events.js +12 -6
- package/core/constants/index.js +6 -11
- package/core/formatter/number-formatters.js +1 -1
- package/core/proxy-service.js +72 -36
- package/core/util/utils.js +23 -4
- package/higherOrder/BaseApp.js +60 -18
- package/higherOrder/BasePage.js +99 -77
- package/higherOrder/BasePrefab.js +13 -5
- package/higherOrder/withBaseWrapper.js +3 -3
- package/hooks/useDataSourceSubscription.js +1 -1
- package/hooks/useHttp.js +20 -13
- package/mui-config/theme.js +3 -0
- package/package-lock.json +781 -669
- package/package.json +3 -3
- package/store/index.js +5 -1
- package/utils/lib-error-skipper.js +196 -0
- package/variables/service-variable.js +17 -14
|
@@ -35,15 +35,13 @@ var WmPanel = function WmPanel(props) {
|
|
|
35
35
|
fullscreen = _props$fullscreen === void 0 ? false : _props$fullscreen,
|
|
36
36
|
helptext = props.helptext,
|
|
37
37
|
hint = props.hint,
|
|
38
|
-
|
|
39
|
-
iconclass = _props$iconclass === void 0 ? "wi wi-account-circle" : _props$iconclass,
|
|
38
|
+
iconclass = props.iconclass,
|
|
40
39
|
iconheight = props.iconheight,
|
|
41
40
|
iconmargin = props.iconmargin,
|
|
42
41
|
iconurl = props.iconurl,
|
|
43
42
|
iconwidth = props.iconwidth,
|
|
44
43
|
subheading = props.subheading,
|
|
45
|
-
|
|
46
|
-
title = _props$title === void 0 ? "Title" : _props$title,
|
|
44
|
+
title = props.title,
|
|
47
45
|
className = props.className,
|
|
48
46
|
style = props.style,
|
|
49
47
|
children = props.children,
|
|
@@ -77,6 +75,7 @@ var WmPanel = function WmPanel(props) {
|
|
|
77
75
|
var _useState2 = (0, _react.useState)(true),
|
|
78
76
|
show = _useState2[0],
|
|
79
77
|
setShow = _useState2[1];
|
|
78
|
+
var hasTriggeredOnLoadRef = (0, _react.useRef)(false);
|
|
80
79
|
|
|
81
80
|
// Manages expand/collapse state
|
|
82
81
|
var _usePanelExpansion = (0, _hooks.usePanelExpansion)(expanded, onExpand, onCollapse, name, listener),
|
|
@@ -134,8 +133,10 @@ var WmPanel = function WmPanel(props) {
|
|
|
134
133
|
// onLoad handler
|
|
135
134
|
(0, _react.useEffect)(function () {
|
|
136
135
|
var _listener$Widgets6;
|
|
136
|
+
if (hasTriggeredOnLoadRef.current || !isExpanded) return;
|
|
137
|
+
hasTriggeredOnLoadRef.current = true;
|
|
137
138
|
onLoad === null || onLoad === void 0 || onLoad(listener === null || listener === void 0 || (_listener$Widgets6 = listener.Widgets) === null || _listener$Widgets6 === void 0 ? void 0 : _listener$Widgets6[name]);
|
|
138
|
-
}, []);
|
|
139
|
+
}, [isExpanded]);
|
|
139
140
|
(0, _react.useEffect)(function () {
|
|
140
141
|
if (isExpanded) {
|
|
141
142
|
computeDimensions();
|
|
@@ -156,6 +157,7 @@ var WmPanel = function WmPanel(props) {
|
|
|
156
157
|
};
|
|
157
158
|
}
|
|
158
159
|
}, [closable]);
|
|
160
|
+
var showHeader = Boolean(iconurl || iconclass || collapsible || actions && (Array.isArray(actions) ? actions.length > 0 : true) || title || subheading || enablefullscreen);
|
|
159
161
|
|
|
160
162
|
// Panel methods exposed via listener
|
|
161
163
|
var collapse = function collapse() {
|
|
@@ -219,7 +221,7 @@ var WmPanel = function WmPanel(props) {
|
|
|
219
221
|
onMouseOut: handleMouseOut,
|
|
220
222
|
hidden: !show,
|
|
221
223
|
component: "div"
|
|
222
|
-
}, componentProps), __jsx(_material.Box, {
|
|
224
|
+
}, componentProps), showHeader && __jsx(_material.Box, {
|
|
223
225
|
className: (0, _clsx["default"])("panel-heading", {
|
|
224
226
|
"show-help": helpVisible
|
|
225
227
|
}),
|
|
@@ -251,7 +253,8 @@ var WmPanel = function WmPanel(props) {
|
|
|
251
253
|
onToggleHelp: toggleHelp,
|
|
252
254
|
onClose: handleClose,
|
|
253
255
|
onActionsclick: onActionsclick
|
|
254
|
-
})),
|
|
256
|
+
})), __jsx(_material.Box, {
|
|
257
|
+
hidden: !isExpanded,
|
|
255
258
|
className: "panel-content",
|
|
256
259
|
ref: panelContentRef
|
|
257
260
|
}, __jsx(_material.Box, {
|
|
@@ -276,9 +279,10 @@ var WmPanel = function WmPanel(props) {
|
|
|
276
279
|
var WmPanelFooter = exports.WmPanelFooter = function WmPanelFooter(_ref) {
|
|
277
280
|
var children = _ref.children,
|
|
278
281
|
name = _ref.name;
|
|
279
|
-
return __jsx(
|
|
282
|
+
return __jsx("div", {
|
|
280
283
|
className: "app-panel-footer panel-footer clearfix",
|
|
281
|
-
"aria-label": name
|
|
284
|
+
"aria-label": name,
|
|
285
|
+
name: name
|
|
282
286
|
}, children);
|
|
283
287
|
};
|
|
284
288
|
WmPanelFooter.displayName = "WmPanelFooter";
|
|
@@ -1,16 +1,18 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = exports.WmTabpane = void 0;
|
|
8
9
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
-
var _react =
|
|
10
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
10
11
|
var _clsx2 = _interopRequireDefault(require("clsx"));
|
|
11
12
|
var _tabs = require("@base-ui-components/react/tabs");
|
|
12
13
|
var _withBaseWrapper = _interopRequireDefault(require("@wavemaker/react-runtime/higherOrder/withBaseWrapper"));
|
|
13
14
|
var _ = require("..");
|
|
15
|
+
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); }
|
|
14
16
|
var __jsx = _react["default"].createElement;
|
|
15
17
|
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; }
|
|
16
18
|
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; }
|
|
@@ -22,10 +24,44 @@ var WmTabpane = exports.WmTabpane = function WmTabpane(props) {
|
|
|
22
24
|
name = props.name,
|
|
23
25
|
index = props.index;
|
|
24
26
|
var _useTabsContext = (0, _.useTabsContext)(),
|
|
25
|
-
selectedIndex = _useTabsContext.selectedIndex
|
|
27
|
+
selectedIndex = _useTabsContext.selectedIndex,
|
|
28
|
+
setSelectedIndex = _useTabsContext.setSelectedIndex;
|
|
29
|
+
var wasActiveRef = _react["default"].useRef(false);
|
|
30
|
+
var loadedRef = _react["default"].useRef(false);
|
|
31
|
+
(0, _react.useEffect)(function () {
|
|
32
|
+
var _props$listener;
|
|
33
|
+
var isActive = selectedIndex === index;
|
|
34
|
+
var widgetInstance = props === null || props === void 0 || (_props$listener = props.listener) === null || _props$listener === void 0 || (_props$listener = _props$listener.Widgets) === null || _props$listener === void 0 ? void 0 : _props$listener[name];
|
|
35
|
+
if (isActive) {
|
|
36
|
+
if (!loadedRef.current) {
|
|
37
|
+
var _props$onLoad;
|
|
38
|
+
props === null || props === void 0 || (_props$onLoad = props.onLoad) === null || _props$onLoad === void 0 || _props$onLoad.call(props, null, widgetInstance);
|
|
39
|
+
loadedRef.current = true;
|
|
40
|
+
}
|
|
41
|
+
if (!wasActiveRef.current) {
|
|
42
|
+
var _props$onSelect;
|
|
43
|
+
props === null || props === void 0 || (_props$onSelect = props.onSelect) === null || _props$onSelect === void 0 || _props$onSelect.call(props, null, widgetInstance, index);
|
|
44
|
+
wasActiveRef.current = true;
|
|
45
|
+
}
|
|
46
|
+
} else if (wasActiveRef.current) {
|
|
47
|
+
var _props$onDeselect;
|
|
48
|
+
props === null || props === void 0 || (_props$onDeselect = props.onDeselect) === null || _props$onDeselect === void 0 || _props$onDeselect.call(props, null, widgetInstance, index);
|
|
49
|
+
wasActiveRef.current = false;
|
|
50
|
+
}
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
}, [selectedIndex, name]);
|
|
53
|
+
(0, _react.useEffect)(function () {
|
|
54
|
+
if (props.listener && props.listener.onChange) {
|
|
55
|
+
props.listener.onChange(name, {
|
|
56
|
+
select: function select() {
|
|
57
|
+
return setSelectedIndex(index);
|
|
58
|
+
}
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
}, []);
|
|
26
62
|
return __jsx(_tabs.Tabs.Panel, {
|
|
27
63
|
value: index,
|
|
28
|
-
className: (0, _clsx2["default"])((_clsx = {
|
|
64
|
+
className: (0, _clsx2["default"])("tab-pane", (_clsx = {
|
|
29
65
|
disabled: disabled
|
|
30
66
|
}, (0, _defineProperty2["default"])(_clsx, className, !!className), (0, _defineProperty2["default"])(_clsx, "active", selectedIndex === index), _clsx)),
|
|
31
67
|
role: "tabpanel",
|
|
@@ -20,6 +20,7 @@ var _wizardStep = _interopRequireDefault(require("./wizard-step"));
|
|
|
20
20
|
var _WizardStep = require("./components/WizardStep");
|
|
21
21
|
var _form = _interopRequireDefault(require("@wavemaker/react-runtime/components/data/form"));
|
|
22
22
|
var _formUtils = require("@wavemaker/react-runtime/utils/form-utils");
|
|
23
|
+
var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
|
|
23
24
|
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); }
|
|
24
25
|
var __jsx = _react["default"].createElement;
|
|
25
26
|
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; }
|
|
@@ -88,6 +89,10 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
88
89
|
isInitialized = _useState3[0],
|
|
89
90
|
setIsInitialized = _useState3[1];
|
|
90
91
|
var formRefs = (0, _react.useRef)({});
|
|
92
|
+
var navIndexRef = (0, _react.useRef)(-1);
|
|
93
|
+
var _useState4 = (0, _react.useState)(false),
|
|
94
|
+
formReady = _useState4[0],
|
|
95
|
+
setFormReady = _useState4[1];
|
|
91
96
|
|
|
92
97
|
// Create dynamic steps callback
|
|
93
98
|
var createDynamicSteps = (0, _react.useCallback)(function (datasetItems) {
|
|
@@ -132,6 +137,11 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
132
137
|
return step.name === currentStep.name;
|
|
133
138
|
});
|
|
134
139
|
}, [currentStep, visibleSteps]);
|
|
140
|
+
|
|
141
|
+
// Sync navigation ref whenever the visible current index changes
|
|
142
|
+
(0, _react.useEffect)(function () {
|
|
143
|
+
navIndexRef.current = currentStepIndex;
|
|
144
|
+
}, [currentStepIndex]);
|
|
135
145
|
var _hasNextStep = (0, _react.useMemo)(function () {
|
|
136
146
|
return currentStepIndex < visibleSteps.length - 1;
|
|
137
147
|
}, [currentStepIndex, visibleSteps]);
|
|
@@ -141,9 +151,41 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
141
151
|
var showDoneBtn = (0, _react.useMemo)(function () {
|
|
142
152
|
return !_hasNextStep && (currentStep === null || currentStep === void 0 ? void 0 : currentStep.enableDone) !== false;
|
|
143
153
|
}, [_hasNextStep, currentStep]);
|
|
144
|
-
var
|
|
145
|
-
isStepValid =
|
|
146
|
-
setIsStepValid =
|
|
154
|
+
var _useState5 = (0, _react.useState)(true),
|
|
155
|
+
isStepValid = _useState5[0],
|
|
156
|
+
setIsStepValid = _useState5[1];
|
|
157
|
+
var _useState6 = (0, _react.useState)(""),
|
|
158
|
+
formValiditySignature = _useState6[0],
|
|
159
|
+
setFormValiditySignature = _useState6[1];
|
|
160
|
+
(0, _react.useEffect)(function () {
|
|
161
|
+
var unbind = null;
|
|
162
|
+
var bindEmitEvent = function bindEmitEvent() {
|
|
163
|
+
var _formRefs$current;
|
|
164
|
+
var stepName = currentStep === null || currentStep === void 0 ? void 0 : currentStep.name;
|
|
165
|
+
if (!stepName) return false;
|
|
166
|
+
var formElOrList = (_formRefs$current = formRefs.current) === null || _formRefs$current === void 0 ? void 0 : _formRefs$current[stepName];
|
|
167
|
+
var forms = formElOrList ? Array.isArray(formElOrList) ? formElOrList : [formElOrList] : [];
|
|
168
|
+
if (forms.length === 0) return false;
|
|
169
|
+
var onValidity = function onValidity(e) {
|
|
170
|
+
var detail = e.detail;
|
|
171
|
+
var isValid = (detail === null || detail === void 0 ? void 0 : detail.isValid) !== false;
|
|
172
|
+
setFormValiditySignature(isValid ? "1" : "0");
|
|
173
|
+
};
|
|
174
|
+
forms.forEach(function (f) {
|
|
175
|
+
return f.addEventListener("wm:form-validity", onValidity);
|
|
176
|
+
});
|
|
177
|
+
unbind = function unbind() {
|
|
178
|
+
forms.forEach(function (f) {
|
|
179
|
+
return f.removeEventListener("wm:form-validity", onValidity);
|
|
180
|
+
});
|
|
181
|
+
};
|
|
182
|
+
return true;
|
|
183
|
+
};
|
|
184
|
+
bindEmitEvent();
|
|
185
|
+
return function () {
|
|
186
|
+
if (unbind) unbind();
|
|
187
|
+
};
|
|
188
|
+
}, [currentStep, formReady]);
|
|
147
189
|
(0, _react.useEffect)(function () {
|
|
148
190
|
var validateStep = /*#__PURE__*/function () {
|
|
149
191
|
var _ref = (0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee() {
|
|
@@ -199,7 +241,7 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
199
241
|
};
|
|
200
242
|
}();
|
|
201
243
|
validateStep();
|
|
202
|
-
}, [currentStep]);
|
|
244
|
+
}, [currentStep, formValiditySignature, formReady]);
|
|
203
245
|
var enableNext = (0, _react.useMemo)(function () {
|
|
204
246
|
return enablenext || (currentStep === null || currentStep === void 0 ? void 0 : currentStep.enableNext) !== false && (currentStep === null || currentStep === void 0 ? void 0 : currentStep.isValid) !== false && isStepValid;
|
|
205
247
|
}, [enablenext, currentStep, isStepValid]);
|
|
@@ -273,108 +315,143 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
273
315
|
// Navigation functions
|
|
274
316
|
var _next = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee2() {
|
|
275
317
|
var eventName,
|
|
276
|
-
|
|
318
|
+
fromIndex,
|
|
319
|
+
fromStep,
|
|
320
|
+
nextStep,
|
|
321
|
+
nextIndex,
|
|
322
|
+
_fromStep$onSkip,
|
|
277
323
|
response,
|
|
278
|
-
|
|
324
|
+
_fromStep$onNext,
|
|
279
325
|
_response,
|
|
280
326
|
_args2 = arguments;
|
|
281
327
|
return _regenerator["default"].wrap(function _callee2$(_context2) {
|
|
282
328
|
while (1) switch (_context2.prev = _context2.next) {
|
|
283
329
|
case 0:
|
|
284
330
|
eventName = _args2.length > 0 && _args2[0] !== undefined ? _args2[0] : "next";
|
|
285
|
-
|
|
286
|
-
|
|
331
|
+
fromIndex = navIndexRef.current >= 0 ? navIndexRef.current : currentStepIndex;
|
|
332
|
+
fromStep = (0, _utils.getStepByIndex)(fromIndex, visibleSteps);
|
|
333
|
+
if (fromStep) {
|
|
334
|
+
_context2.next = 5;
|
|
287
335
|
break;
|
|
288
336
|
}
|
|
289
337
|
return _context2.abrupt("return");
|
|
290
|
-
case
|
|
338
|
+
case 5:
|
|
339
|
+
nextStep = (0, _utils.getNextValidStep)(fromIndex + 1, visibleSteps);
|
|
340
|
+
if (nextStep) {
|
|
341
|
+
_context2.next = 8;
|
|
342
|
+
break;
|
|
343
|
+
}
|
|
344
|
+
return _context2.abrupt("return");
|
|
345
|
+
case 8:
|
|
346
|
+
nextIndex = visibleSteps.findIndex(function (s) {
|
|
347
|
+
return s.name === nextStep.name;
|
|
348
|
+
});
|
|
291
349
|
if (!(eventName === "skip")) {
|
|
292
|
-
_context2.next =
|
|
350
|
+
_context2.next = 19;
|
|
293
351
|
break;
|
|
294
352
|
}
|
|
295
|
-
response = (
|
|
353
|
+
response = (_fromStep$onSkip = fromStep.onSkip) === null || _fromStep$onSkip === void 0 ? void 0 : _fromStep$onSkip.call(fromStep, fromStep, fromStep, fromIndex);
|
|
296
354
|
if (!(response !== undefined)) {
|
|
297
|
-
_context2.next =
|
|
355
|
+
_context2.next = 16;
|
|
298
356
|
break;
|
|
299
357
|
}
|
|
300
|
-
_context2.next =
|
|
358
|
+
_context2.next = 14;
|
|
301
359
|
return (0, _utils.handleNavigation)(response, function () {
|
|
302
|
-
return (0, _utils.extendNextFn)(
|
|
360
|
+
return (0, _utils.extendNextFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
303
361
|
});
|
|
304
|
-
case
|
|
305
|
-
_context2.next =
|
|
362
|
+
case 14:
|
|
363
|
+
_context2.next = 17;
|
|
306
364
|
break;
|
|
307
|
-
case
|
|
308
|
-
(0, _utils.extendNextFn)(
|
|
309
|
-
case
|
|
310
|
-
_context2.next =
|
|
365
|
+
case 16:
|
|
366
|
+
(0, _utils.extendNextFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
367
|
+
case 17:
|
|
368
|
+
_context2.next = 30;
|
|
311
369
|
break;
|
|
312
|
-
case
|
|
313
|
-
if (!(
|
|
314
|
-
_context2.next =
|
|
370
|
+
case 19:
|
|
371
|
+
if (!(fromStep.isValid && eventName === "next")) {
|
|
372
|
+
_context2.next = 29;
|
|
315
373
|
break;
|
|
316
374
|
}
|
|
317
|
-
_response = (
|
|
375
|
+
_response = (_fromStep$onNext = fromStep.onNext) === null || _fromStep$onNext === void 0 ? void 0 : _fromStep$onNext.call(fromStep, fromStep, fromStep, fromIndex);
|
|
318
376
|
if (!(_response !== undefined)) {
|
|
319
|
-
_context2.next =
|
|
377
|
+
_context2.next = 26;
|
|
320
378
|
break;
|
|
321
379
|
}
|
|
322
|
-
_context2.next =
|
|
380
|
+
_context2.next = 24;
|
|
323
381
|
return (0, _utils.handleNavigation)(_response, function () {
|
|
324
|
-
return (0, _utils.extendNextFn)(
|
|
382
|
+
return (0, _utils.extendNextFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
325
383
|
});
|
|
326
|
-
case
|
|
327
|
-
_context2.next =
|
|
384
|
+
case 24:
|
|
385
|
+
_context2.next = 27;
|
|
328
386
|
break;
|
|
329
|
-
case
|
|
330
|
-
(0, _utils.extendNextFn)(
|
|
331
|
-
case
|
|
332
|
-
_context2.next =
|
|
387
|
+
case 26:
|
|
388
|
+
(0, _utils.extendNextFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
389
|
+
case 27:
|
|
390
|
+
_context2.next = 30;
|
|
333
391
|
break;
|
|
334
|
-
case
|
|
335
|
-
if (enablenext && !
|
|
392
|
+
case 29:
|
|
393
|
+
if (enablenext && !fromStep.isValid) {
|
|
336
394
|
console.warn("Cannot proceed: current step is invalid");
|
|
337
395
|
} else {
|
|
338
|
-
(0, _utils.extendNextFn)(
|
|
396
|
+
(0, _utils.extendNextFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
339
397
|
}
|
|
340
|
-
case
|
|
398
|
+
case 30:
|
|
399
|
+
// update ref to reflect the logical next position immediately
|
|
400
|
+
navIndexRef.current = nextIndex;
|
|
401
|
+
setFormReady(false);
|
|
402
|
+
case 32:
|
|
341
403
|
case "end":
|
|
342
404
|
return _context2.stop();
|
|
343
405
|
}
|
|
344
406
|
}, _callee2);
|
|
345
|
-
})), [
|
|
407
|
+
})), [currentStepIndex, visibleSteps, enablenext]);
|
|
346
408
|
var prev = (0, _react.useCallback)(/*#__PURE__*/(0, _asyncToGenerator2["default"])(/*#__PURE__*/_regenerator["default"].mark(function _callee3() {
|
|
347
|
-
var
|
|
348
|
-
var response;
|
|
409
|
+
var _fromStep$onPrev;
|
|
410
|
+
var fromIndex, fromStep, targetStep, prevIndex, response;
|
|
349
411
|
return _regenerator["default"].wrap(function _callee3$(_context3) {
|
|
350
412
|
while (1) switch (_context3.prev = _context3.next) {
|
|
351
413
|
case 0:
|
|
352
|
-
|
|
353
|
-
|
|
414
|
+
fromIndex = navIndexRef.current >= 0 ? navIndexRef.current : currentStepIndex;
|
|
415
|
+
fromStep = (0, _utils.getStepByIndex)(fromIndex, visibleSteps);
|
|
416
|
+
if (fromStep) {
|
|
417
|
+
_context3.next = 4;
|
|
418
|
+
break;
|
|
419
|
+
}
|
|
420
|
+
return _context3.abrupt("return");
|
|
421
|
+
case 4:
|
|
422
|
+
targetStep = (0, _utils.getPrevValidStep)(fromIndex - 1, visibleSteps);
|
|
423
|
+
if (targetStep) {
|
|
424
|
+
_context3.next = 7;
|
|
354
425
|
break;
|
|
355
426
|
}
|
|
356
427
|
return _context3.abrupt("return");
|
|
357
|
-
case
|
|
358
|
-
|
|
428
|
+
case 7:
|
|
429
|
+
prevIndex = visibleSteps.findIndex(function (s) {
|
|
430
|
+
return s.name === targetStep.name;
|
|
431
|
+
});
|
|
432
|
+
response = (_fromStep$onPrev = fromStep.onPrev) === null || _fromStep$onPrev === void 0 ? void 0 : _fromStep$onPrev.call(fromStep, fromStep, fromStep, fromIndex);
|
|
359
433
|
if (!(response !== undefined)) {
|
|
360
|
-
_context3.next =
|
|
434
|
+
_context3.next = 14;
|
|
361
435
|
break;
|
|
362
436
|
}
|
|
363
|
-
_context3.next =
|
|
437
|
+
_context3.next = 12;
|
|
364
438
|
return (0, _utils.handleNavigation)(response, function () {
|
|
365
|
-
return (0, _utils.extendPrevFn)(
|
|
439
|
+
return (0, _utils.extendPrevFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
366
440
|
});
|
|
367
|
-
case
|
|
368
|
-
_context3.next =
|
|
441
|
+
case 12:
|
|
442
|
+
_context3.next = 15;
|
|
369
443
|
break;
|
|
370
|
-
case
|
|
371
|
-
(0, _utils.extendPrevFn)(
|
|
372
|
-
case
|
|
444
|
+
case 14:
|
|
445
|
+
(0, _utils.extendPrevFn)(fromStep, fromIndex, visibleSteps, setSteps);
|
|
446
|
+
case 15:
|
|
447
|
+
navIndexRef.current = prevIndex;
|
|
448
|
+
setFormReady(false);
|
|
449
|
+
case 17:
|
|
373
450
|
case "end":
|
|
374
451
|
return _context3.stop();
|
|
375
452
|
}
|
|
376
453
|
}, _callee3);
|
|
377
|
-
})), [
|
|
454
|
+
})), [currentStepIndex, visibleSteps]);
|
|
378
455
|
var registerStep = (0, _react.useCallback)(function (stepData) {
|
|
379
456
|
setSteps(function (prevSteps) {
|
|
380
457
|
var existingIndex = prevSteps.findIndex(function (step) {
|
|
@@ -435,6 +512,11 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
435
512
|
return;
|
|
436
513
|
}
|
|
437
514
|
if ((_targetStep = targetStep) !== null && _targetStep !== void 0 && _targetStep.show) {
|
|
515
|
+
var visIndex = visibleSteps.findIndex(function (s) {
|
|
516
|
+
var _targetStep2;
|
|
517
|
+
return s.name === ((_targetStep2 = targetStep) === null || _targetStep2 === void 0 ? void 0 : _targetStep2.name);
|
|
518
|
+
});
|
|
519
|
+
if (visIndex >= 0) navIndexRef.current = visIndex;
|
|
438
520
|
onStepHeaderClick({}, targetStep);
|
|
439
521
|
} else {
|
|
440
522
|
console.error("The gotoStep function cannot navigate to hidden steps");
|
|
@@ -478,6 +560,30 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
478
560
|
}
|
|
479
561
|
}
|
|
480
562
|
}, [visibleSteps]);
|
|
563
|
+
var showSignature = steps.map(function (s) {
|
|
564
|
+
var _listener$Widgets, _listener$Widgets2;
|
|
565
|
+
return (listener === null || listener === void 0 || (_listener$Widgets = listener.Widgets) === null || _listener$Widgets === void 0 || (_listener$Widgets = _listener$Widgets[s.name]) === null || _listener$Widgets === void 0 ? void 0 : _listener$Widgets.show) === false || (listener === null || listener === void 0 || (_listener$Widgets2 = listener.Widgets) === null || _listener$Widgets2 === void 0 || (_listener$Widgets2 = _listener$Widgets2[s.name]) === null || _listener$Widgets2 === void 0 ? void 0 : _listener$Widgets2.show) === "false" ? "0" : "1";
|
|
566
|
+
}).join("|");
|
|
567
|
+
(0, _react.useEffect)(function () {
|
|
568
|
+
if (!(listener !== null && listener !== void 0 && listener.Widgets)) return;
|
|
569
|
+
steps.forEach(function (step, index) {
|
|
570
|
+
var _listener$Widgets$ste;
|
|
571
|
+
var widgetShow = (_listener$Widgets$ste = listener.Widgets[step.name]) === null || _listener$Widgets$ste === void 0 ? void 0 : _listener$Widgets$ste.show;
|
|
572
|
+
if ((widgetShow === false || widgetShow === "false") && step.show !== false) {
|
|
573
|
+
updateStep(step.name, {
|
|
574
|
+
show: false,
|
|
575
|
+
enableskip: false
|
|
576
|
+
});
|
|
577
|
+
var prevStep = steps[index - 1];
|
|
578
|
+
if (prevStep && step.active) {
|
|
579
|
+
updateStep(prevStep.name, {
|
|
580
|
+
active: true
|
|
581
|
+
});
|
|
582
|
+
navIndexRef.current = index - 1;
|
|
583
|
+
}
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
}, [showSignature]);
|
|
481
587
|
var updateListener = _react["default"].useCallback(function () {
|
|
482
588
|
if (listener && typeof listener.onChange === "function") {
|
|
483
589
|
listener.onChange(name, {
|
|
@@ -514,6 +620,7 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
514
620
|
disableDone: function disableDone() {
|
|
515
621
|
return !enableDone;
|
|
516
622
|
},
|
|
623
|
+
prev: prev,
|
|
517
624
|
cancelable: cancelable,
|
|
518
625
|
nextbtnlabel: nextbtnlabel,
|
|
519
626
|
previousbtnlabel: previousbtnlabel,
|
|
@@ -528,10 +635,12 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
528
635
|
return _gotoStep(step);
|
|
529
636
|
},
|
|
530
637
|
isFirstStep: isFirstStep,
|
|
531
|
-
isLastStep: isLastStep
|
|
638
|
+
isLastStep: isLastStep,
|
|
639
|
+
currentStepIndex: currentStepIndex,
|
|
640
|
+
currentStep: currentStep
|
|
532
641
|
});
|
|
533
642
|
}
|
|
534
|
-
}, [_hasNextStep, hasPrevStep, showDoneBtn, enableNext, enablePrev, enableDone, cancelable, currentStep === null || currentStep === void 0 ? void 0 : currentStep.enableskip, nextbtnlabel, previousbtnlabel, donebtnlabel, cancelbtnlabel, actionsalignment, currentStepIndex]);
|
|
643
|
+
}, [_hasNextStep, hasPrevStep, showDoneBtn, enableNext, enablePrev, enableDone, cancelable, currentStep === null || currentStep === void 0 ? void 0 : currentStep.enableskip, nextbtnlabel, previousbtnlabel, donebtnlabel, cancelbtnlabel, actionsalignment, currentStepIndex, isFirstStep, isLastStep]);
|
|
535
644
|
(0, _react.useEffect)(function () {
|
|
536
645
|
updateListener();
|
|
537
646
|
}, [updateListener]);
|
|
@@ -640,7 +749,8 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
640
749
|
style: _objectSpread(_objectSpread({}, styles), {}, {
|
|
641
750
|
width: width,
|
|
642
751
|
height: height
|
|
643
|
-
})
|
|
752
|
+
}),
|
|
753
|
+
name: name
|
|
644
754
|
}, __jsx(_material.Box, {
|
|
645
755
|
className: "app-wizard-heading"
|
|
646
756
|
}, __jsx(_material.Stepper, {
|
|
@@ -673,7 +783,9 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
673
783
|
}, __jsx(_material.Typography, {
|
|
674
784
|
variant: "body2",
|
|
675
785
|
color: wizardMessage.type === "error" ? "error" : "textSecondary"
|
|
676
|
-
}, wizardMessage.caption)), steps.
|
|
786
|
+
}, wizardMessage.caption)), (type === "dynamic" ? steps.filter(function (s) {
|
|
787
|
+
return s.active;
|
|
788
|
+
}) : steps).map(function (step, index) {
|
|
677
789
|
return __jsx("div", {
|
|
678
790
|
key: step.name,
|
|
679
791
|
ref: function ref(el) {
|
|
@@ -681,6 +793,15 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
681
793
|
var formElement = el.querySelector("form");
|
|
682
794
|
if (formElement) {
|
|
683
795
|
formRefs.current[step.name] = formElement;
|
|
796
|
+
if (formElement.classList.contains("app-form")) {
|
|
797
|
+
setFormReady(true);
|
|
798
|
+
}
|
|
799
|
+
}
|
|
800
|
+
if (step.haveForm === undefined) {
|
|
801
|
+
var hasFormNow = !!formElement;
|
|
802
|
+
updateStep(step.name, {
|
|
803
|
+
haveForm: hasFormNow
|
|
804
|
+
});
|
|
684
805
|
}
|
|
685
806
|
}
|
|
686
807
|
},
|
|
@@ -705,6 +826,15 @@ var WmWizard = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
705
826
|
key: ((_step$props = step.props) === null || _step$props === void 0 ? void 0 : _step$props.name) || index
|
|
706
827
|
});
|
|
707
828
|
})));
|
|
829
|
+
}, function (prev, next) {
|
|
830
|
+
var keys = ["render", "dataset", "className", "styles", "width", "height", "type", "stepstyle", "orientation", "alternativeLabel", "nonLinear", "defaultstep", "defaultstepindex", "message", "cancelable", "enablenext", "nextbtnlabel", "previousbtnlabel", "donebtnlabel", "cancelbtnlabel", "children"];
|
|
831
|
+
return keys.every(function (key) {
|
|
832
|
+
// Never deep-compare children; treat as referential
|
|
833
|
+
if (key === "children") {
|
|
834
|
+
return prev[key] === next[key];
|
|
835
|
+
}
|
|
836
|
+
return (0, _isEqual["default"])(prev[key], next[key]);
|
|
837
|
+
});
|
|
708
838
|
});
|
|
709
839
|
WmWizard.displayName = "WmWizard";
|
|
710
840
|
var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WmWizard);
|
|
@@ -36,7 +36,7 @@ var getPrevValidStep = exports.getPrevValidStep = function getPrevValidStep(from
|
|
|
36
36
|
var getStepByName = exports.getStepByName = function getStepByName(stepName, steps) {
|
|
37
37
|
return steps.find(function (step) {
|
|
38
38
|
return step.name === stepName;
|
|
39
|
-
}) ||
|
|
39
|
+
}) || steps[0];
|
|
40
40
|
};
|
|
41
41
|
var getStepByIndex = exports.getStepByIndex = function getStepByIndex(index, visibleSteps) {
|
|
42
42
|
return visibleSteps[index] || null;
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
4
5
|
Object.defineProperty(exports, "__esModule", {
|
|
5
6
|
value: true
|
|
6
7
|
});
|
|
7
8
|
exports["default"] = void 0;
|
|
8
|
-
var _react =
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
9
10
|
var _material = require("@mui/material");
|
|
10
11
|
var _clsx = _interopRequireDefault(require("clsx"));
|
|
12
|
+
var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
|
|
13
|
+
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); }
|
|
11
14
|
var __jsx = _react["default"].createElement;
|
|
12
15
|
var ACTIONS_CLASS = "app-wizard-actions panel-footer";
|
|
13
|
-
var WmWizardAction = function
|
|
16
|
+
var WmWizardAction = /*#__PURE__*/(0, _react.memo)(function (_ref) {
|
|
14
17
|
var children = _ref.children,
|
|
15
18
|
_ref$actionsalignment = _ref.actionsalignment,
|
|
16
19
|
actionsalignment = _ref$actionsalignment === void 0 ? "right" : _ref$actionsalignment;
|
|
17
20
|
return __jsx(_material.Box, {
|
|
18
21
|
className: (0, _clsx["default"])(ACTIONS_CLASS, actionsalignment)
|
|
19
22
|
}, children);
|
|
20
|
-
}
|
|
23
|
+
}, function (prev, next) {
|
|
24
|
+
return prev.actionsalignment === next.actionsalignment && prev.children === next.children && prev.listener === next.listener;
|
|
25
|
+
});
|
|
21
26
|
WmWizardAction.displayName = "WmWizardAction";
|
|
22
|
-
var _default = exports["default"] = WmWizardAction;
|
|
27
|
+
var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WmWizardAction);
|
|
@@ -1,11 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
3
5
|
Object.defineProperty(exports, "__esModule", {
|
|
4
6
|
value: true
|
|
5
7
|
});
|
|
6
8
|
exports["default"] = void 0;
|
|
7
|
-
var _react = require("react");
|
|
9
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
8
10
|
var _WizardContext = require("../WizardContext");
|
|
11
|
+
var _withBaseWrapper = require("@wavemaker/react-runtime/higherOrder/withBaseWrapper");
|
|
12
|
+
var _isEqual = _interopRequireDefault(require("lodash-es/isEqual"));
|
|
13
|
+
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); }
|
|
14
|
+
var __jsx = _react["default"].createElement;
|
|
9
15
|
var WmWizardstep = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
10
16
|
var name = props.name,
|
|
11
17
|
_props$title = props.title,
|
|
@@ -81,14 +87,21 @@ var WmWizardstep = /*#__PURE__*/(0, _react.memo)(function (props) {
|
|
|
81
87
|
if (isRegistered && name) {
|
|
82
88
|
context.updateStep(name, {
|
|
83
89
|
content: content || children,
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
90
|
+
enableNext: !disablenext,
|
|
91
|
+
enablePrev: !disableprevious,
|
|
92
|
+
enableDone: !disabledone,
|
|
93
|
+
title: title,
|
|
94
|
+
enableskip: enableskip,
|
|
95
|
+
show: show
|
|
88
96
|
});
|
|
89
97
|
}
|
|
90
|
-
}, [
|
|
91
|
-
return null;
|
|
98
|
+
}, [name, title, enableskip, show, disablenext, disableprevious, disabledone, content]);
|
|
99
|
+
return __jsx(_react["default"].Fragment, null);
|
|
100
|
+
}, function (prev, next) {
|
|
101
|
+
var keys = ["name", "title", "subtitle", "iconclass", "doneiconclass", "show", "enableskip", "disablenext", "disableprevious", "disabledone", "content", "dynamicStepIndex", "isdynamic", "haveForm", "onLoad", "onNext", "onPrev", "onSkip", "render"];
|
|
102
|
+
return keys.every(function (key) {
|
|
103
|
+
return (0, _isEqual["default"])(prev[key], next[key]);
|
|
104
|
+
});
|
|
92
105
|
});
|
|
93
106
|
WmWizardstep.displayName = "WmWizardstep";
|
|
94
|
-
var _default = exports["default"] = WmWizardstep;
|
|
107
|
+
var _default = exports["default"] = (0, _withBaseWrapper.withBaseWrapper)(WmWizardstep);
|