iglooform 2.3.3 → 2.3.7
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/es/admin-upload/modal.js +1 -1
- package/es/card-detail/card-group.js +2 -1
- package/es/card-detail/card-item.js +7 -0
- package/es/card-detail/card.d.ts +2 -2
- package/es/card-detail/card.js +3 -3
- package/es/card-detail/style/index.less +28 -2
- package/es/card-detail/utils.d.ts +2 -2
- package/es/card-detail/utils.js +24 -11
- package/es/detail-panel/style/index.less +3 -2
- package/es/filter/customize.d.ts +9 -0
- package/es/filter/customize.js +21 -0
- package/es/filter/index.d.ts +6 -4
- package/es/filter/index.js +82 -42
- package/es/filter/style/index.less +1 -1
- package/es/form/context.d.ts +2 -0
- package/es/form/context.js +2 -1
- package/es/form/element/index.js +54 -2
- package/es/form/index.js +63 -13
- package/es/form/page/index.js +31 -2
- package/es/form/pages/index.js +46 -26
- package/es/form/render/index.js +3 -2
- package/es/form/steps/index.js +47 -30
- package/es/free-form/context.d.ts +19 -0
- package/es/free-form/context.js +7 -0
- package/es/free-form/element/index.d.ts +11 -0
- package/es/free-form/element/index.js +262 -0
- package/es/free-form/element/style/index.d.ts +1 -0
- package/es/free-form/element/style/index.js +1 -0
- package/es/free-form/element/style/index.less +116 -0
- package/es/free-form/index.d.ts +7 -0
- package/es/free-form/index.js +203 -0
- package/es/free-form/messages.d.ts +48 -0
- package/es/free-form/messages.js +49 -0
- package/es/free-form/page/index.d.ts +11 -0
- package/es/free-form/page/index.js +144 -0
- package/es/free-form/page/style/index.d.ts +1 -0
- package/es/free-form/page/style/index.js +1 -0
- package/es/free-form/page/style/index.less +55 -0
- package/es/free-form/style/index.d.ts +1 -0
- package/es/free-form/style/index.js +1 -0
- package/es/free-form/style/index.less +40 -0
- package/es/free-form/utils.d.ts +73 -0
- package/es/free-form/utils.js +370 -0
- package/es/global-message/style/index.less +30 -0
- package/es/index.d.ts +3 -0
- package/es/index.js +4 -1
- package/es/input/input-date.js +18 -9
- package/es/input/phone-number.js +9 -9
- package/es/input/style/index.less +17 -14
- package/es/layout/index.js +10 -2
- package/es/layout/style/index.less +2 -0
- package/es/locale/en-US/messages.json +1 -1
- package/es/locale/id-ID/messages.json +1 -1
- package/es/locale/th-TH/messages.json +1 -1
- package/es/locale/vi-VN/messages.json +1 -1
- package/es/locale/zh-CN/messages.json +1 -1
- package/es/media/media.js +0 -1
- package/es/media/preview.js +0 -1
- package/es/select/attached-select.js +2 -2
- package/es/table/index.js +33 -9
- package/es/typography/index.js +2 -2
- package/es/typography/style/index.less +4 -1
- package/es/upload/index.d.ts +3 -3
- package/es/upload/index.js +2 -2
- package/es/upload-photo/index.d.ts +2 -2
- package/es/upload-photo/index.js +2 -2
- package/es/upload-photo/media.js +0 -1
- package/es/upload-preview/media.js +0 -1
- package/lib/admin-upload/modal.js +1 -1
- package/lib/card-detail/card-group.js +2 -1
- package/lib/card-detail/card-item.js +7 -0
- package/lib/card-detail/card.d.ts +2 -2
- package/lib/card-detail/card.js +3 -3
- package/lib/card-detail/style/index.less +28 -2
- package/lib/card-detail/utils.d.ts +2 -2
- package/lib/card-detail/utils.js +25 -12
- package/lib/detail-panel/style/index.less +3 -2
- package/lib/filter/customize.d.ts +9 -0
- package/lib/filter/customize.js +33 -0
- package/lib/filter/index.d.ts +6 -4
- package/lib/filter/index.js +83 -42
- package/lib/filter/style/index.less +1 -1
- package/lib/form/context.d.ts +2 -0
- package/lib/form/context.js +2 -1
- package/lib/form/element/index.js +53 -1
- package/lib/form/index.js +62 -12
- package/lib/form/page/index.js +29 -1
- package/lib/form/pages/index.js +45 -25
- package/lib/form/render/index.js +2 -1
- package/lib/form/steps/index.js +46 -29
- package/lib/free-form/context.d.ts +19 -0
- package/lib/free-form/context.js +19 -0
- package/lib/free-form/element/index.d.ts +11 -0
- package/lib/free-form/element/index.js +288 -0
- package/lib/free-form/element/style/index.d.ts +1 -0
- package/lib/free-form/element/style/index.js +3 -0
- package/lib/free-form/element/style/index.less +116 -0
- package/lib/free-form/index.d.ts +7 -0
- package/lib/free-form/index.js +220 -0
- package/lib/free-form/messages.d.ts +48 -0
- package/lib/free-form/messages.js +56 -0
- package/lib/free-form/page/index.d.ts +11 -0
- package/lib/free-form/page/index.js +164 -0
- package/lib/free-form/page/style/index.d.ts +1 -0
- package/lib/free-form/page/style/index.js +3 -0
- package/lib/free-form/page/style/index.less +55 -0
- package/lib/free-form/style/index.d.ts +1 -0
- package/lib/free-form/style/index.js +3 -0
- package/lib/free-form/style/index.less +40 -0
- package/lib/free-form/utils.d.ts +73 -0
- package/lib/free-form/utils.js +403 -0
- package/lib/global-message/style/index.less +30 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +28 -1
- package/lib/input/input-date.js +18 -9
- package/lib/input/phone-number.js +9 -9
- package/lib/input/style/index.less +17 -14
- package/lib/layout/index.js +10 -2
- package/lib/layout/style/index.less +2 -0
- package/lib/locale/en-US/messages.json +1 -1
- package/lib/locale/id-ID/messages.json +1 -1
- package/lib/locale/th-TH/messages.json +1 -1
- package/lib/locale/vi-VN/messages.json +1 -1
- package/lib/locale/zh-CN/messages.json +1 -1
- package/lib/media/media.js +0 -1
- package/lib/media/preview.js +0 -1
- package/lib/select/attached-select.js +2 -2
- package/lib/table/index.js +32 -8
- package/lib/typography/index.js +2 -2
- package/lib/typography/style/index.less +4 -1
- package/lib/upload/index.d.ts +3 -3
- package/lib/upload/index.js +2 -2
- package/lib/upload-photo/index.d.ts +2 -2
- package/lib/upload-photo/index.js +2 -2
- package/lib/upload-photo/media.js +0 -1
- package/lib/upload-preview/media.js +0 -1
- package/package.json +1 -1
|
@@ -223,7 +223,7 @@
|
|
|
223
223
|
}
|
|
224
224
|
|
|
225
225
|
.igloo-form-filter-drop-down-container-content {
|
|
226
|
-
.igloo-form-filter-drop-
|
|
226
|
+
.igloo-form-filter-drop-down-container-content-group {
|
|
227
227
|
.igloo-form-filter-drop-down-container-content-group-title {
|
|
228
228
|
display: flex;
|
|
229
229
|
justify-content: space-between;
|
package/lib/form/context.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { FormInstance } from 'antd/es/form';
|
|
3
|
+
import { FormItemName } from '@/types';
|
|
3
4
|
declare const _default: React.Context<{
|
|
4
5
|
form?: FormInstance<any> | undefined;
|
|
5
6
|
onCancel?(): void;
|
|
@@ -13,5 +14,6 @@ declare const _default: React.Context<{
|
|
|
13
14
|
requiredMark?: boolean | undefined;
|
|
14
15
|
showSubmitButton?: boolean | undefined;
|
|
15
16
|
getScrollContainer: () => HTMLElement | Window | null;
|
|
17
|
+
registerDependencies: (name: FormItemName | FormItemName[], updater: Function) => void;
|
|
16
18
|
}>;
|
|
17
19
|
export default _default;
|
package/lib/form/context.js
CHANGED
|
@@ -12,7 +12,8 @@ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { de
|
|
|
12
12
|
var _default = /*#__PURE__*/_react.default.createContext({
|
|
13
13
|
getScrollContainer: function getScrollContainer() {
|
|
14
14
|
return window;
|
|
15
|
-
}
|
|
15
|
+
},
|
|
16
|
+
registerDependencies: function registerDependencies() {}
|
|
16
17
|
});
|
|
17
18
|
|
|
18
19
|
exports.default = _default;
|
|
@@ -58,6 +58,18 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
58
58
|
|
|
59
59
|
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
60
60
|
|
|
61
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
62
|
+
|
|
63
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
64
|
+
|
|
65
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
66
|
+
|
|
67
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
68
|
+
|
|
69
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
70
|
+
|
|
71
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
72
|
+
|
|
61
73
|
var useBreakpoint = _grid.default.useBreakpoint;
|
|
62
74
|
|
|
63
75
|
var Element = function Element(_ref) {
|
|
@@ -72,8 +84,48 @@ var Element = function Element(_ref) {
|
|
|
72
84
|
|
|
73
85
|
var _useContext = (0, _react.useContext)(_context.default),
|
|
74
86
|
form = _useContext.form,
|
|
75
|
-
requiredMark = _useContext.requiredMark
|
|
87
|
+
requiredMark = _useContext.requiredMark,
|
|
88
|
+
registerDependencies = _useContext.registerDependencies;
|
|
89
|
+
|
|
90
|
+
var _useReducer = (0, _react.useReducer)(function (r) {
|
|
91
|
+
return r + 1;
|
|
92
|
+
}, 0),
|
|
93
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
94
|
+
_ = _useReducer2[0],
|
|
95
|
+
dispatch = _useReducer2[1];
|
|
96
|
+
|
|
97
|
+
(0, _react.useEffect)(function () {
|
|
98
|
+
var dependencies = config.dependencies,
|
|
99
|
+
asserts = config.asserts,
|
|
100
|
+
copyValue = config.copyValue,
|
|
101
|
+
selectValue = config.selectValue,
|
|
102
|
+
shouldRender = config.shouldRender;
|
|
103
|
+
var dependentField = dependencies || [];
|
|
104
|
+
|
|
105
|
+
if (asserts && asserts.length) {
|
|
106
|
+
asserts.forEach(function (_ref2) {
|
|
107
|
+
var field = _ref2.field;
|
|
108
|
+
return dependentField.push(field);
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
if (copyValue) {
|
|
113
|
+
dependentField.push(copyValue.assert.field);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
if (selectValue && selectValue.length) {
|
|
117
|
+
selectValue.forEach(function (_ref3) {
|
|
118
|
+
var assert = _ref3.assert;
|
|
119
|
+
return dependentField.push(assert.field);
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
if (shouldRender) {
|
|
124
|
+
dependentField.push('SUBSCRIBE_ALL');
|
|
125
|
+
}
|
|
76
126
|
|
|
127
|
+
registerDependencies(dependentField, dispatch);
|
|
128
|
+
}, []);
|
|
77
129
|
(0, _invariant.default)(type !== 'Pages' && type !== 'Page', "".concat(type, " should not be inner form item"));
|
|
78
130
|
|
|
79
131
|
var _useComponent = (0, _elements.default)(config),
|
package/lib/form/index.js
CHANGED
|
@@ -80,13 +80,6 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
80
80
|
return window;
|
|
81
81
|
} : _props$getScrollConta;
|
|
82
82
|
|
|
83
|
-
var _useReducer = (0, _react.useReducer)(function (r) {
|
|
84
|
-
return r + 1;
|
|
85
|
-
}, 0),
|
|
86
|
-
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
87
|
-
_ = _useReducer2[0],
|
|
88
|
-
dispatch = _useReducer2[1];
|
|
89
|
-
|
|
90
83
|
var _Form$useForm = _form.default.useForm(),
|
|
91
84
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
92
85
|
innerForm = _Form$useForm2[0];
|
|
@@ -96,9 +89,14 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
96
89
|
submitting = _useState2[0],
|
|
97
90
|
setSubmitting = _useState2[1];
|
|
98
91
|
|
|
99
|
-
var _useState3 = (0, _react.useState)(
|
|
100
|
-
_useState4 = _slicedToArray(_useState3,
|
|
101
|
-
|
|
92
|
+
var _useState3 = (0, _react.useState)({}),
|
|
93
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
94
|
+
dependents = _useState4[0],
|
|
95
|
+
setDependents = _useState4[1];
|
|
96
|
+
|
|
97
|
+
var _useState5 = (0, _react.useState)(formProp || innerForm),
|
|
98
|
+
_useState6 = _slicedToArray(_useState5, 1),
|
|
99
|
+
form = _useState6[0];
|
|
102
100
|
|
|
103
101
|
var type = config.type;
|
|
104
102
|
(0, _invariant.default)(type, "Contianer type should be one of ['Pages', 'Page', 'Steps', 'Login']");
|
|
@@ -179,6 +177,57 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
179
177
|
}()
|
|
180
178
|
};
|
|
181
179
|
});
|
|
180
|
+
|
|
181
|
+
var registerDependencies = function registerDependencies(field, updater) {
|
|
182
|
+
if (Array.isArray(field)) {
|
|
183
|
+
setDependents(function (deps) {
|
|
184
|
+
var newDeps = _objectSpread({}, deps);
|
|
185
|
+
|
|
186
|
+
field.forEach(function (name) {
|
|
187
|
+
var key = Array.isArray(name) ? name.join() : name;
|
|
188
|
+
|
|
189
|
+
if (!newDeps[key]) {
|
|
190
|
+
newDeps[key] = [];
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
newDeps[key].push(updater);
|
|
194
|
+
});
|
|
195
|
+
return newDeps;
|
|
196
|
+
});
|
|
197
|
+
return;
|
|
198
|
+
}
|
|
199
|
+
|
|
200
|
+
setDependents(function (deps) {
|
|
201
|
+
var newDeps = _objectSpread({}, deps);
|
|
202
|
+
|
|
203
|
+
var key = Array.isArray(field) ? field.join() : field;
|
|
204
|
+
|
|
205
|
+
if (!newDeps[key]) {
|
|
206
|
+
newDeps[key] = [];
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
newDeps[key].push(updater);
|
|
210
|
+
return newDeps;
|
|
211
|
+
});
|
|
212
|
+
};
|
|
213
|
+
|
|
214
|
+
var handleValuesChange = function handleValuesChange(changedFields) {
|
|
215
|
+
var changedField = changedFields[0].name;
|
|
216
|
+
var changedKey = Array.isArray(changedField) ? changedField.join() : changedField;
|
|
217
|
+
|
|
218
|
+
if (dependents[changedKey]) {
|
|
219
|
+
dependents[changedKey].forEach(function (updater) {
|
|
220
|
+
return updater();
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
if (dependents['SUBSCRIBE_ALL']) {
|
|
225
|
+
dependents['SUBSCRIBE_ALL'].forEach(function (updater) {
|
|
226
|
+
return updater();
|
|
227
|
+
});
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
|
|
182
231
|
return (0, _jsxRuntime.jsx)("div", Object.assign({
|
|
183
232
|
className: (0, _classnames.default)(className, {
|
|
184
233
|
'igloo-form-without-button': !showSubmitButton
|
|
@@ -192,13 +241,14 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
192
241
|
submitting: submitting,
|
|
193
242
|
requiredMark: requiredMark,
|
|
194
243
|
showSubmitButton: showSubmitButton,
|
|
195
|
-
getScrollContainer: getScrollContainer
|
|
244
|
+
getScrollContainer: getScrollContainer,
|
|
245
|
+
registerDependencies: registerDependencies
|
|
196
246
|
}, locales)
|
|
197
247
|
}, {
|
|
198
248
|
children: (0, _jsxRuntime.jsxs)(_form.default, Object.assign({
|
|
199
249
|
form: form,
|
|
200
250
|
onFinish: handleSubmit,
|
|
201
|
-
|
|
251
|
+
onFieldsChange: handleValuesChange,
|
|
202
252
|
colon: false,
|
|
203
253
|
validateMessages: validateMessages || _messages.default,
|
|
204
254
|
initialValues: initialValues,
|
package/lib/form/page/index.js
CHANGED
|
@@ -35,6 +35,18 @@ require("./style/index.less");
|
|
|
35
35
|
|
|
36
36
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
37
37
|
|
|
38
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
39
|
+
|
|
40
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
41
|
+
|
|
42
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
43
|
+
|
|
44
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
45
|
+
|
|
46
|
+
function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
|
|
47
|
+
|
|
48
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
49
|
+
|
|
38
50
|
var Page = function Page(_ref) {
|
|
39
51
|
var parentName = _ref.parentName,
|
|
40
52
|
_ref$config = _ref.config,
|
|
@@ -42,6 +54,7 @@ var Page = function Page(_ref) {
|
|
|
42
54
|
elements = _ref$config$elements === void 0 ? [] : _ref$config$elements,
|
|
43
55
|
name = _ref$config.name,
|
|
44
56
|
getButtonDisabledState = _ref$config.getButtonDisabledState,
|
|
57
|
+
shouldRender = _ref$config.shouldRender,
|
|
45
58
|
_ref$showFooter = _ref.showFooter,
|
|
46
59
|
showFooter = _ref$showFooter === void 0 ? true : _ref$showFooter;
|
|
47
60
|
|
|
@@ -51,12 +64,27 @@ var Page = function Page(_ref) {
|
|
|
51
64
|
submitText = _useContext.submitText,
|
|
52
65
|
submitting = _useContext.submitting,
|
|
53
66
|
showSubmitButton = _useContext.showSubmitButton,
|
|
54
|
-
form = _useContext.form
|
|
67
|
+
form = _useContext.form,
|
|
68
|
+
registerDependencies = _useContext.registerDependencies;
|
|
69
|
+
|
|
70
|
+
var _useReducer = (0, _react.useReducer)(function (r) {
|
|
71
|
+
return r + 1;
|
|
72
|
+
}, 0),
|
|
73
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
74
|
+
_ = _useReducer2[0],
|
|
75
|
+
dispatch = _useReducer2[1];
|
|
55
76
|
|
|
56
77
|
var _useContext2 = (0, _react.useContext)(_locale.LocaleContext),
|
|
57
78
|
formatMessage = _useContext2.formatMessage;
|
|
58
79
|
|
|
59
80
|
var buttonDisabled = getButtonDisabledState && form && getButtonDisabledState(form);
|
|
81
|
+
(0, _react.useEffect)(function () {
|
|
82
|
+
var subscribe = Boolean(shouldRender) || Boolean(getButtonDisabledState);
|
|
83
|
+
|
|
84
|
+
if (subscribe) {
|
|
85
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
86
|
+
}
|
|
87
|
+
}, []);
|
|
60
88
|
return (0, _jsxRuntime.jsxs)("div", Object.assign({
|
|
61
89
|
className: 'igloo-page-container'
|
|
62
90
|
}, {
|
package/lib/form/pages/index.js
CHANGED
|
@@ -64,6 +64,13 @@ var Pages = function Pages(_ref) {
|
|
|
64
64
|
current = _useState2[0],
|
|
65
65
|
setCurrent = _useState2[1];
|
|
66
66
|
|
|
67
|
+
var _useReducer = (0, _react.useReducer)(function (r) {
|
|
68
|
+
return r + 1;
|
|
69
|
+
}, 0),
|
|
70
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
71
|
+
_ = _useReducer2[0],
|
|
72
|
+
dispatch = _useReducer2[1];
|
|
73
|
+
|
|
67
74
|
var _useContext = (0, _react.useContext)(_locale.LocaleContext),
|
|
68
75
|
formatMessage = _useContext.formatMessage;
|
|
69
76
|
|
|
@@ -73,7 +80,21 @@ var Pages = function Pages(_ref) {
|
|
|
73
80
|
previewText = _useContext2.previewText,
|
|
74
81
|
nextText = _useContext2.nextText,
|
|
75
82
|
submitting = _useContext2.submitting,
|
|
76
|
-
showSubmitButton = _useContext2.showSubmitButton
|
|
83
|
+
showSubmitButton = _useContext2.showSubmitButton,
|
|
84
|
+
registerDependencies = _useContext2.registerDependencies;
|
|
85
|
+
|
|
86
|
+
(0, _react.useEffect)(function () {
|
|
87
|
+
var subscribe = elements.some(function (_ref2) {
|
|
88
|
+
var shouldRender = _ref2.shouldRender,
|
|
89
|
+
getButtonDisabledState = _ref2.getButtonDisabledState,
|
|
90
|
+
getPreviousDisabledState = _ref2.getPreviousDisabledState;
|
|
91
|
+
return Boolean(shouldRender) || Boolean(getButtonDisabledState) || Boolean(getPreviousDisabledState);
|
|
92
|
+
});
|
|
93
|
+
|
|
94
|
+
if (subscribe) {
|
|
95
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
96
|
+
}
|
|
97
|
+
}, []);
|
|
77
98
|
|
|
78
99
|
var _useBreakpoint = useBreakpoint(),
|
|
79
100
|
md = _useBreakpoint.md;
|
|
@@ -84,10 +105,10 @@ var Pages = function Pages(_ref) {
|
|
|
84
105
|
});
|
|
85
106
|
|
|
86
107
|
var handleNext = /*#__PURE__*/function () {
|
|
87
|
-
var
|
|
108
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
88
109
|
var _allFields$filter;
|
|
89
110
|
|
|
90
|
-
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields,
|
|
111
|
+
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields, errors;
|
|
91
112
|
|
|
92
113
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
93
114
|
while (1) {
|
|
@@ -96,11 +117,11 @@ var Pages = function Pages(_ref) {
|
|
|
96
117
|
allFields = (form === null || form === void 0 ? void 0 : form.getFieldsError()) || [];
|
|
97
118
|
_renderElements$curre = renderElements[current], currentName = _renderElements$curre.name, handleNext = _renderElements$curre.handleNext;
|
|
98
119
|
namePath = (0, _utils.calcNamePath)(name, currentName);
|
|
99
|
-
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (
|
|
100
|
-
var name = _ref3.name;
|
|
101
|
-
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
102
|
-
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref4) {
|
|
120
|
+
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (_ref4) {
|
|
103
121
|
var name = _ref4.name;
|
|
122
|
+
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
123
|
+
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref5) {
|
|
124
|
+
var name = _ref5.name;
|
|
104
125
|
return name;
|
|
105
126
|
});
|
|
106
127
|
_context.prev = 4;
|
|
@@ -108,58 +129,57 @@ var Pages = function Pages(_ref) {
|
|
|
108
129
|
return form === null || form === void 0 ? void 0 : form.validateFields(fields);
|
|
109
130
|
|
|
110
131
|
case 7:
|
|
111
|
-
_context.next =
|
|
132
|
+
_context.next = 13;
|
|
112
133
|
break;
|
|
113
134
|
|
|
114
135
|
case 9:
|
|
115
136
|
_context.prev = 9;
|
|
116
137
|
_context.t0 = _context["catch"](4);
|
|
117
|
-
|
|
118
|
-
form === null || form === void 0 ? void 0 : form.scrollToField(errorFields[0].name);
|
|
138
|
+
form === null || form === void 0 ? void 0 : form.scrollToField(_context.t0.errorFields[0].name);
|
|
119
139
|
return _context.abrupt("return");
|
|
120
140
|
|
|
121
|
-
case
|
|
141
|
+
case 13:
|
|
122
142
|
if (!(typeof handleNext === 'function')) {
|
|
123
|
-
_context.next =
|
|
143
|
+
_context.next = 25;
|
|
124
144
|
break;
|
|
125
145
|
}
|
|
126
146
|
|
|
127
|
-
_context.prev =
|
|
128
|
-
_context.next =
|
|
147
|
+
_context.prev = 14;
|
|
148
|
+
_context.next = 17;
|
|
129
149
|
return handleNext(form === null || form === void 0 ? void 0 : form.getFieldsValue(fields));
|
|
130
150
|
|
|
131
|
-
case
|
|
151
|
+
case 17:
|
|
132
152
|
errors = _context.sent;
|
|
133
153
|
|
|
134
154
|
if (!Array.isArray(errors)) {
|
|
135
|
-
_context.next =
|
|
155
|
+
_context.next = 20;
|
|
136
156
|
break;
|
|
137
157
|
}
|
|
138
158
|
|
|
139
159
|
return _context.abrupt("return", form === null || form === void 0 ? void 0 : form.setFields(errors));
|
|
140
160
|
|
|
141
|
-
case
|
|
142
|
-
_context.next =
|
|
161
|
+
case 20:
|
|
162
|
+
_context.next = 25;
|
|
143
163
|
break;
|
|
144
164
|
|
|
145
|
-
case
|
|
146
|
-
_context.prev =
|
|
147
|
-
_context.t1 = _context["catch"](
|
|
165
|
+
case 22:
|
|
166
|
+
_context.prev = 22;
|
|
167
|
+
_context.t1 = _context["catch"](14);
|
|
148
168
|
return _context.abrupt("return");
|
|
149
169
|
|
|
150
|
-
case
|
|
170
|
+
case 25:
|
|
151
171
|
setCurrent(current + 1);
|
|
152
172
|
|
|
153
|
-
case
|
|
173
|
+
case 26:
|
|
154
174
|
case "end":
|
|
155
175
|
return _context.stop();
|
|
156
176
|
}
|
|
157
177
|
}
|
|
158
|
-
}, _callee, null, [[4, 9], [
|
|
178
|
+
}, _callee, null, [[4, 9], [14, 22]]);
|
|
159
179
|
}));
|
|
160
180
|
|
|
161
181
|
return function handleNext() {
|
|
162
|
-
return
|
|
182
|
+
return _ref3.apply(this, arguments);
|
|
163
183
|
};
|
|
164
184
|
}();
|
|
165
185
|
|
package/lib/form/render/index.js
CHANGED
|
@@ -27,7 +27,8 @@ var RenderElement = function RenderElement(_ref) {
|
|
|
27
27
|
var _useContext = (0, _react.useContext)(_context.default),
|
|
28
28
|
form = _useContext.form;
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
var memoedRender = (0, _react.useCallback)(render, [render]);
|
|
31
|
+
return memoedRender(preview, form, value, onChange, setShowStepButton);
|
|
31
32
|
};
|
|
32
33
|
|
|
33
34
|
RenderElement.formItemPropsHandler = function (_ref2) {
|
package/lib/form/steps/index.js
CHANGED
|
@@ -61,20 +61,38 @@ var Steps = function Steps(_ref) {
|
|
|
61
61
|
shouldScroll = _useState6[0],
|
|
62
62
|
setShouldScroll = _useState6[1];
|
|
63
63
|
|
|
64
|
-
var
|
|
65
|
-
|
|
64
|
+
var _useReducer = (0, _react.useReducer)(function (r) {
|
|
65
|
+
return r + 1;
|
|
66
|
+
}, 0),
|
|
67
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
68
|
+
_ = _useReducer2[0],
|
|
69
|
+
dispatch = _useReducer2[1];
|
|
66
70
|
|
|
67
|
-
(0, _react.
|
|
71
|
+
var _useContext = (0, _react.useContext)(_context2.default),
|
|
72
|
+
form = _useContext.form,
|
|
73
|
+
registerDependencies = _useContext.registerDependencies;
|
|
74
|
+
|
|
75
|
+
(0, _react.useEffect)(function () {
|
|
76
|
+
var subscribe = elements.some(function (_ref2) {
|
|
77
|
+
var shouldRender = _ref2.shouldRender,
|
|
78
|
+
getButtonDisabledState = _ref2.getButtonDisabledState;
|
|
79
|
+
return Boolean(shouldRender) || Boolean(getButtonDisabledState);
|
|
80
|
+
});
|
|
81
|
+
|
|
82
|
+
if (subscribe) {
|
|
83
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
84
|
+
}
|
|
85
|
+
}, []);
|
|
68
86
|
var renderElements = elements.filter(function (step) {
|
|
69
87
|
step.key = step.name || step.key || Math.random();
|
|
70
88
|
return typeof step.shouldRender !== 'function' || step.shouldRender(form);
|
|
71
89
|
});
|
|
72
90
|
|
|
73
91
|
var handleNext = /*#__PURE__*/function () {
|
|
74
|
-
var
|
|
92
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
75
93
|
var _allFields$filter;
|
|
76
94
|
|
|
77
|
-
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields,
|
|
95
|
+
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields, errors;
|
|
78
96
|
|
|
79
97
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
80
98
|
while (1) {
|
|
@@ -83,11 +101,11 @@ var Steps = function Steps(_ref) {
|
|
|
83
101
|
allFields = (form === null || form === void 0 ? void 0 : form.getFieldsError()) || [];
|
|
84
102
|
_renderElements$curre = renderElements[current], currentName = _renderElements$curre.name, handleNext = _renderElements$curre.handleNext;
|
|
85
103
|
namePath = (0, _utils.calcNamePath)(name, currentName);
|
|
86
|
-
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (
|
|
87
|
-
var name = _ref3.name;
|
|
88
|
-
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
89
|
-
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref4) {
|
|
104
|
+
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (_ref4) {
|
|
90
105
|
var name = _ref4.name;
|
|
106
|
+
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
107
|
+
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref5) {
|
|
108
|
+
var name = _ref5.name;
|
|
91
109
|
return name;
|
|
92
110
|
});
|
|
93
111
|
_context.prev = 4;
|
|
@@ -95,60 +113,59 @@ var Steps = function Steps(_ref) {
|
|
|
95
113
|
return form === null || form === void 0 ? void 0 : form.validateFields(fields);
|
|
96
114
|
|
|
97
115
|
case 7:
|
|
98
|
-
_context.next =
|
|
116
|
+
_context.next = 13;
|
|
99
117
|
break;
|
|
100
118
|
|
|
101
119
|
case 9:
|
|
102
120
|
_context.prev = 9;
|
|
103
121
|
_context.t0 = _context["catch"](4);
|
|
104
|
-
|
|
105
|
-
form === null || form === void 0 ? void 0 : form.scrollToField(errorFields[0].name);
|
|
122
|
+
form === null || form === void 0 ? void 0 : form.scrollToField(_context.t0.errorFields[0].name);
|
|
106
123
|
return _context.abrupt("return");
|
|
107
124
|
|
|
108
|
-
case
|
|
125
|
+
case 13:
|
|
109
126
|
if (!(typeof handleNext === 'function')) {
|
|
110
|
-
_context.next =
|
|
127
|
+
_context.next = 25;
|
|
111
128
|
break;
|
|
112
129
|
}
|
|
113
130
|
|
|
114
|
-
_context.prev =
|
|
115
|
-
_context.next =
|
|
131
|
+
_context.prev = 14;
|
|
132
|
+
_context.next = 17;
|
|
116
133
|
return handleNext(form === null || form === void 0 ? void 0 : form.getFieldsValue(fields));
|
|
117
134
|
|
|
118
|
-
case
|
|
135
|
+
case 17:
|
|
119
136
|
errors = _context.sent;
|
|
120
137
|
|
|
121
138
|
if (!Array.isArray(errors)) {
|
|
122
|
-
_context.next =
|
|
139
|
+
_context.next = 20;
|
|
123
140
|
break;
|
|
124
141
|
}
|
|
125
142
|
|
|
126
143
|
return _context.abrupt("return", form === null || form === void 0 ? void 0 : form.setFields(errors));
|
|
127
144
|
|
|
128
|
-
case
|
|
129
|
-
_context.next =
|
|
145
|
+
case 20:
|
|
146
|
+
_context.next = 25;
|
|
130
147
|
break;
|
|
131
148
|
|
|
132
|
-
case
|
|
133
|
-
_context.prev =
|
|
134
|
-
_context.t1 = _context["catch"](
|
|
149
|
+
case 22:
|
|
150
|
+
_context.prev = 22;
|
|
151
|
+
_context.t1 = _context["catch"](14);
|
|
135
152
|
return _context.abrupt("return");
|
|
136
153
|
|
|
137
|
-
case
|
|
154
|
+
case 25:
|
|
138
155
|
setCurrent(last || current + 1);
|
|
139
156
|
setLast(0);
|
|
140
157
|
setShouldScroll(true);
|
|
141
158
|
|
|
142
|
-
case
|
|
159
|
+
case 28:
|
|
143
160
|
case "end":
|
|
144
161
|
return _context.stop();
|
|
145
162
|
}
|
|
146
163
|
}
|
|
147
|
-
}, _callee, null, [[4, 9], [
|
|
164
|
+
}, _callee, null, [[4, 9], [14, 22]]);
|
|
148
165
|
}));
|
|
149
166
|
|
|
150
167
|
return function handleNext() {
|
|
151
|
-
return
|
|
168
|
+
return _ref3.apply(this, arguments);
|
|
152
169
|
};
|
|
153
170
|
}();
|
|
154
171
|
|
|
@@ -169,7 +186,7 @@ var Steps = function Steps(_ref) {
|
|
|
169
186
|
return (0, _jsxRuntime.jsx)(_step.default, {
|
|
170
187
|
config: child,
|
|
171
188
|
parentName: (0, _utils.calcNamePath)(parentName, name),
|
|
172
|
-
index:
|
|
189
|
+
index: index,
|
|
173
190
|
total: renderElements.length,
|
|
174
191
|
preview: current > index,
|
|
175
192
|
edit: current === index,
|
|
@@ -177,7 +194,7 @@ var Steps = function Steps(_ref) {
|
|
|
177
194
|
handleEdit: handleEdit,
|
|
178
195
|
showLastIndex: showLastIndex,
|
|
179
196
|
shouldScroll: shouldScroll
|
|
180
|
-
},
|
|
197
|
+
}, child.key);
|
|
181
198
|
})
|
|
182
199
|
}), void 0)
|
|
183
200
|
}), void 0);
|