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/es/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/es/form/context.js
CHANGED
package/es/form/element/index.js
CHANGED
|
@@ -19,8 +19,20 @@ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { va
|
|
|
19
19
|
|
|
20
20
|
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; }
|
|
21
21
|
|
|
22
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
|
+
|
|
24
|
+
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."); }
|
|
25
|
+
|
|
26
|
+
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); }
|
|
27
|
+
|
|
28
|
+
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; }
|
|
29
|
+
|
|
30
|
+
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; }
|
|
31
|
+
|
|
32
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
33
|
+
|
|
22
34
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
-
import { useContext, useEffect, useRef } from 'react';
|
|
35
|
+
import { useContext, useEffect, useRef, useReducer } from 'react';
|
|
24
36
|
import { CloseCircleFilled } from '@ant-design/icons';
|
|
25
37
|
import { calcFormItemProps } from '../utils';
|
|
26
38
|
import Section from '../section';
|
|
@@ -44,8 +56,48 @@ var Element = function Element(_ref) {
|
|
|
44
56
|
|
|
45
57
|
var _useContext = useContext(FormContext),
|
|
46
58
|
form = _useContext.form,
|
|
47
|
-
requiredMark = _useContext.requiredMark
|
|
59
|
+
requiredMark = _useContext.requiredMark,
|
|
60
|
+
registerDependencies = _useContext.registerDependencies;
|
|
61
|
+
|
|
62
|
+
var _useReducer = useReducer(function (r) {
|
|
63
|
+
return r + 1;
|
|
64
|
+
}, 0),
|
|
65
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
66
|
+
_ = _useReducer2[0],
|
|
67
|
+
dispatch = _useReducer2[1];
|
|
68
|
+
|
|
69
|
+
useEffect(function () {
|
|
70
|
+
var dependencies = config.dependencies,
|
|
71
|
+
asserts = config.asserts,
|
|
72
|
+
copyValue = config.copyValue,
|
|
73
|
+
selectValue = config.selectValue,
|
|
74
|
+
shouldRender = config.shouldRender;
|
|
75
|
+
var dependentField = dependencies || [];
|
|
76
|
+
|
|
77
|
+
if (asserts && asserts.length) {
|
|
78
|
+
asserts.forEach(function (_ref2) {
|
|
79
|
+
var field = _ref2.field;
|
|
80
|
+
return dependentField.push(field);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (copyValue) {
|
|
85
|
+
dependentField.push(copyValue.assert.field);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (selectValue && selectValue.length) {
|
|
89
|
+
selectValue.forEach(function (_ref3) {
|
|
90
|
+
var assert = _ref3.assert;
|
|
91
|
+
return dependentField.push(assert.field);
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
if (shouldRender) {
|
|
96
|
+
dependentField.push('SUBSCRIBE_ALL');
|
|
97
|
+
}
|
|
48
98
|
|
|
99
|
+
registerDependencies(dependentField, dispatch);
|
|
100
|
+
}, []);
|
|
49
101
|
invariant(type !== 'Pages' && type !== 'Page', "".concat(type, " should not be inner form item"));
|
|
50
102
|
|
|
51
103
|
var _useComponent = useComponent(config),
|
package/es/form/index.js
CHANGED
|
@@ -29,7 +29,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
29
29
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
30
30
|
|
|
31
31
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
32
|
-
import { useState,
|
|
32
|
+
import { useState, useImperativeHandle, forwardRef } from 'react';
|
|
33
33
|
import Pages from './pages';
|
|
34
34
|
import Page from './page';
|
|
35
35
|
import Steps from './steps';
|
|
@@ -59,13 +59,6 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
59
59
|
return window;
|
|
60
60
|
} : _props$getScrollConta;
|
|
61
61
|
|
|
62
|
-
var _useReducer = useReducer(function (r) {
|
|
63
|
-
return r + 1;
|
|
64
|
-
}, 0),
|
|
65
|
-
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
66
|
-
_ = _useReducer2[0],
|
|
67
|
-
dispatch = _useReducer2[1];
|
|
68
|
-
|
|
69
62
|
var _Form$useForm = _Form.useForm(),
|
|
70
63
|
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
71
64
|
innerForm = _Form$useForm2[0];
|
|
@@ -75,9 +68,14 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
75
68
|
submitting = _useState2[0],
|
|
76
69
|
setSubmitting = _useState2[1];
|
|
77
70
|
|
|
78
|
-
var _useState3 = useState(
|
|
79
|
-
_useState4 = _slicedToArray(_useState3,
|
|
80
|
-
|
|
71
|
+
var _useState3 = useState({}),
|
|
72
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
73
|
+
dependents = _useState4[0],
|
|
74
|
+
setDependents = _useState4[1];
|
|
75
|
+
|
|
76
|
+
var _useState5 = useState(formProp || innerForm),
|
|
77
|
+
_useState6 = _slicedToArray(_useState5, 1),
|
|
78
|
+
form = _useState6[0];
|
|
81
79
|
|
|
82
80
|
var type = config.type;
|
|
83
81
|
invariant(type, "Contianer type should be one of ['Pages', 'Page', 'Steps', 'Login']");
|
|
@@ -158,6 +156,57 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
158
156
|
}()
|
|
159
157
|
};
|
|
160
158
|
});
|
|
159
|
+
|
|
160
|
+
var registerDependencies = function registerDependencies(field, updater) {
|
|
161
|
+
if (Array.isArray(field)) {
|
|
162
|
+
setDependents(function (deps) {
|
|
163
|
+
var newDeps = _objectSpread({}, deps);
|
|
164
|
+
|
|
165
|
+
field.forEach(function (name) {
|
|
166
|
+
var key = Array.isArray(name) ? name.join() : name;
|
|
167
|
+
|
|
168
|
+
if (!newDeps[key]) {
|
|
169
|
+
newDeps[key] = [];
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
newDeps[key].push(updater);
|
|
173
|
+
});
|
|
174
|
+
return newDeps;
|
|
175
|
+
});
|
|
176
|
+
return;
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
setDependents(function (deps) {
|
|
180
|
+
var newDeps = _objectSpread({}, deps);
|
|
181
|
+
|
|
182
|
+
var key = Array.isArray(field) ? field.join() : field;
|
|
183
|
+
|
|
184
|
+
if (!newDeps[key]) {
|
|
185
|
+
newDeps[key] = [];
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
newDeps[key].push(updater);
|
|
189
|
+
return newDeps;
|
|
190
|
+
});
|
|
191
|
+
};
|
|
192
|
+
|
|
193
|
+
var handleValuesChange = function handleValuesChange(changedFields) {
|
|
194
|
+
var changedField = changedFields[0].name;
|
|
195
|
+
var changedKey = Array.isArray(changedField) ? changedField.join() : changedField;
|
|
196
|
+
|
|
197
|
+
if (dependents[changedKey]) {
|
|
198
|
+
dependents[changedKey].forEach(function (updater) {
|
|
199
|
+
return updater();
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
if (dependents['SUBSCRIBE_ALL']) {
|
|
204
|
+
dependents['SUBSCRIBE_ALL'].forEach(function (updater) {
|
|
205
|
+
return updater();
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
|
|
161
210
|
return _jsx("div", Object.assign({
|
|
162
211
|
className: classNames(className, {
|
|
163
212
|
'igloo-form-without-button': !showSubmitButton
|
|
@@ -171,13 +220,14 @@ var IglooForm = function IglooForm(props, ref) {
|
|
|
171
220
|
submitting: submitting,
|
|
172
221
|
requiredMark: requiredMark,
|
|
173
222
|
showSubmitButton: showSubmitButton,
|
|
174
|
-
getScrollContainer: getScrollContainer
|
|
223
|
+
getScrollContainer: getScrollContainer,
|
|
224
|
+
registerDependencies: registerDependencies
|
|
175
225
|
}, locales)
|
|
176
226
|
}, {
|
|
177
227
|
children: _jsxs(_Form, Object.assign({
|
|
178
228
|
form: form,
|
|
179
229
|
onFinish: handleSubmit,
|
|
180
|
-
|
|
230
|
+
onFieldsChange: handleValuesChange,
|
|
181
231
|
colon: false,
|
|
182
232
|
validateMessages: validateMessages || messages,
|
|
183
233
|
initialValues: initialValues,
|
package/es/form/page/index.js
CHANGED
|
@@ -4,8 +4,21 @@ import "antd/es/col/style";
|
|
|
4
4
|
import _Col from "antd/es/col";
|
|
5
5
|
import "antd/es/row/style";
|
|
6
6
|
import _Row from "antd/es/row";
|
|
7
|
+
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
|
|
10
|
+
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."); }
|
|
11
|
+
|
|
12
|
+
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); }
|
|
13
|
+
|
|
14
|
+
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; }
|
|
15
|
+
|
|
16
|
+
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; }
|
|
17
|
+
|
|
18
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
19
|
+
|
|
7
20
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
8
|
-
import { useContext } from 'react';
|
|
21
|
+
import { useContext, useEffect, useReducer } from 'react';
|
|
9
22
|
import Button from '../../button';
|
|
10
23
|
import Element from '../element';
|
|
11
24
|
import { calcNamePath } from '../utils';
|
|
@@ -20,6 +33,7 @@ var Page = function Page(_ref) {
|
|
|
20
33
|
elements = _ref$config$elements === void 0 ? [] : _ref$config$elements,
|
|
21
34
|
name = _ref$config.name,
|
|
22
35
|
getButtonDisabledState = _ref$config.getButtonDisabledState,
|
|
36
|
+
shouldRender = _ref$config.shouldRender,
|
|
23
37
|
_ref$showFooter = _ref.showFooter,
|
|
24
38
|
showFooter = _ref$showFooter === void 0 ? true : _ref$showFooter;
|
|
25
39
|
|
|
@@ -29,12 +43,27 @@ var Page = function Page(_ref) {
|
|
|
29
43
|
submitText = _useContext.submitText,
|
|
30
44
|
submitting = _useContext.submitting,
|
|
31
45
|
showSubmitButton = _useContext.showSubmitButton,
|
|
32
|
-
form = _useContext.form
|
|
46
|
+
form = _useContext.form,
|
|
47
|
+
registerDependencies = _useContext.registerDependencies;
|
|
48
|
+
|
|
49
|
+
var _useReducer = useReducer(function (r) {
|
|
50
|
+
return r + 1;
|
|
51
|
+
}, 0),
|
|
52
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
53
|
+
_ = _useReducer2[0],
|
|
54
|
+
dispatch = _useReducer2[1];
|
|
33
55
|
|
|
34
56
|
var _useContext2 = useContext(LocaleContext),
|
|
35
57
|
formatMessage = _useContext2.formatMessage;
|
|
36
58
|
|
|
37
59
|
var buttonDisabled = getButtonDisabledState && form && getButtonDisabledState(form);
|
|
60
|
+
useEffect(function () {
|
|
61
|
+
var subscribe = Boolean(shouldRender) || Boolean(getButtonDisabledState);
|
|
62
|
+
|
|
63
|
+
if (subscribe) {
|
|
64
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
65
|
+
}
|
|
66
|
+
}, []);
|
|
38
67
|
return _jsxs("div", Object.assign({
|
|
39
68
|
className: 'igloo-page-container'
|
|
40
69
|
}, {
|
package/es/form/pages/index.js
CHANGED
|
@@ -20,7 +20,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
20
20
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
21
21
|
|
|
22
22
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
23
|
-
import { useState, useContext } from 'react';
|
|
23
|
+
import { useState, useContext, useReducer, useEffect } from 'react';
|
|
24
24
|
import Button from '../../button';
|
|
25
25
|
import Page from '../page';
|
|
26
26
|
import { calcNamePath } from '../utils';
|
|
@@ -42,6 +42,13 @@ var Pages = function Pages(_ref) {
|
|
|
42
42
|
current = _useState2[0],
|
|
43
43
|
setCurrent = _useState2[1];
|
|
44
44
|
|
|
45
|
+
var _useReducer = useReducer(function (r) {
|
|
46
|
+
return r + 1;
|
|
47
|
+
}, 0),
|
|
48
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
49
|
+
_ = _useReducer2[0],
|
|
50
|
+
dispatch = _useReducer2[1];
|
|
51
|
+
|
|
45
52
|
var _useContext = useContext(LocaleContext),
|
|
46
53
|
formatMessage = _useContext.formatMessage;
|
|
47
54
|
|
|
@@ -51,7 +58,21 @@ var Pages = function Pages(_ref) {
|
|
|
51
58
|
previewText = _useContext2.previewText,
|
|
52
59
|
nextText = _useContext2.nextText,
|
|
53
60
|
submitting = _useContext2.submitting,
|
|
54
|
-
showSubmitButton = _useContext2.showSubmitButton
|
|
61
|
+
showSubmitButton = _useContext2.showSubmitButton,
|
|
62
|
+
registerDependencies = _useContext2.registerDependencies;
|
|
63
|
+
|
|
64
|
+
useEffect(function () {
|
|
65
|
+
var subscribe = elements.some(function (_ref2) {
|
|
66
|
+
var shouldRender = _ref2.shouldRender,
|
|
67
|
+
getButtonDisabledState = _ref2.getButtonDisabledState,
|
|
68
|
+
getPreviousDisabledState = _ref2.getPreviousDisabledState;
|
|
69
|
+
return Boolean(shouldRender) || Boolean(getButtonDisabledState) || Boolean(getPreviousDisabledState);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
if (subscribe) {
|
|
73
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
74
|
+
}
|
|
75
|
+
}, []);
|
|
55
76
|
|
|
56
77
|
var _useBreakpoint = useBreakpoint(),
|
|
57
78
|
md = _useBreakpoint.md;
|
|
@@ -62,10 +83,10 @@ var Pages = function Pages(_ref) {
|
|
|
62
83
|
});
|
|
63
84
|
|
|
64
85
|
var handleNext = /*#__PURE__*/function () {
|
|
65
|
-
var
|
|
86
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
66
87
|
var _allFields$filter;
|
|
67
88
|
|
|
68
|
-
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields,
|
|
89
|
+
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields, errors;
|
|
69
90
|
|
|
70
91
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
71
92
|
while (1) {
|
|
@@ -74,11 +95,11 @@ var Pages = function Pages(_ref) {
|
|
|
74
95
|
allFields = (form === null || form === void 0 ? void 0 : form.getFieldsError()) || [];
|
|
75
96
|
_renderElements$curre = renderElements[current], currentName = _renderElements$curre.name, handleNext = _renderElements$curre.handleNext;
|
|
76
97
|
namePath = calcNamePath(name, currentName);
|
|
77
|
-
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (
|
|
78
|
-
var name = _ref3.name;
|
|
79
|
-
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
80
|
-
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref4) {
|
|
98
|
+
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (_ref4) {
|
|
81
99
|
var name = _ref4.name;
|
|
100
|
+
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
101
|
+
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref5) {
|
|
102
|
+
var name = _ref5.name;
|
|
82
103
|
return name;
|
|
83
104
|
});
|
|
84
105
|
_context.prev = 4;
|
|
@@ -86,58 +107,57 @@ var Pages = function Pages(_ref) {
|
|
|
86
107
|
return form === null || form === void 0 ? void 0 : form.validateFields(fields);
|
|
87
108
|
|
|
88
109
|
case 7:
|
|
89
|
-
_context.next =
|
|
110
|
+
_context.next = 13;
|
|
90
111
|
break;
|
|
91
112
|
|
|
92
113
|
case 9:
|
|
93
114
|
_context.prev = 9;
|
|
94
115
|
_context.t0 = _context["catch"](4);
|
|
95
|
-
|
|
96
|
-
form === null || form === void 0 ? void 0 : form.scrollToField(errorFields[0].name);
|
|
116
|
+
form === null || form === void 0 ? void 0 : form.scrollToField(_context.t0.errorFields[0].name);
|
|
97
117
|
return _context.abrupt("return");
|
|
98
118
|
|
|
99
|
-
case
|
|
119
|
+
case 13:
|
|
100
120
|
if (!(typeof handleNext === 'function')) {
|
|
101
|
-
_context.next =
|
|
121
|
+
_context.next = 25;
|
|
102
122
|
break;
|
|
103
123
|
}
|
|
104
124
|
|
|
105
|
-
_context.prev =
|
|
106
|
-
_context.next =
|
|
125
|
+
_context.prev = 14;
|
|
126
|
+
_context.next = 17;
|
|
107
127
|
return handleNext(form === null || form === void 0 ? void 0 : form.getFieldsValue(fields));
|
|
108
128
|
|
|
109
|
-
case
|
|
129
|
+
case 17:
|
|
110
130
|
errors = _context.sent;
|
|
111
131
|
|
|
112
132
|
if (!Array.isArray(errors)) {
|
|
113
|
-
_context.next =
|
|
133
|
+
_context.next = 20;
|
|
114
134
|
break;
|
|
115
135
|
}
|
|
116
136
|
|
|
117
137
|
return _context.abrupt("return", form === null || form === void 0 ? void 0 : form.setFields(errors));
|
|
118
138
|
|
|
119
|
-
case
|
|
120
|
-
_context.next =
|
|
139
|
+
case 20:
|
|
140
|
+
_context.next = 25;
|
|
121
141
|
break;
|
|
122
142
|
|
|
123
|
-
case
|
|
124
|
-
_context.prev =
|
|
125
|
-
_context.t1 = _context["catch"](
|
|
143
|
+
case 22:
|
|
144
|
+
_context.prev = 22;
|
|
145
|
+
_context.t1 = _context["catch"](14);
|
|
126
146
|
return _context.abrupt("return");
|
|
127
147
|
|
|
128
|
-
case
|
|
148
|
+
case 25:
|
|
129
149
|
setCurrent(current + 1);
|
|
130
150
|
|
|
131
|
-
case
|
|
151
|
+
case 26:
|
|
132
152
|
case "end":
|
|
133
153
|
return _context.stop();
|
|
134
154
|
}
|
|
135
155
|
}
|
|
136
|
-
}, _callee, null, [[4, 9], [
|
|
156
|
+
}, _callee, null, [[4, 9], [14, 22]]);
|
|
137
157
|
}));
|
|
138
158
|
|
|
139
159
|
return function handleNext() {
|
|
140
|
-
return
|
|
160
|
+
return _ref3.apply(this, arguments);
|
|
141
161
|
};
|
|
142
162
|
}();
|
|
143
163
|
|
package/es/form/render/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
-
import { useContext } from 'react';
|
|
2
|
+
import { useContext, useCallback } from 'react';
|
|
3
3
|
import FormContext from '../context';
|
|
4
4
|
|
|
5
5
|
var RenderElement = function RenderElement(_ref) {
|
|
@@ -16,7 +16,8 @@ var RenderElement = function RenderElement(_ref) {
|
|
|
16
16
|
var _useContext = useContext(FormContext),
|
|
17
17
|
form = _useContext.form;
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
var memoedRender = useCallback(render, [render]);
|
|
20
|
+
return memoedRender(preview, form, value, onChange, setShowStepButton);
|
|
20
21
|
};
|
|
21
22
|
|
|
22
23
|
RenderElement.formItemPropsHandler = function (_ref2) {
|
package/es/form/steps/index.js
CHANGED
|
@@ -15,7 +15,7 @@ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Sy
|
|
|
15
15
|
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
16
16
|
|
|
17
17
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
18
|
-
import { useState, useContext, useEffect } from 'react';
|
|
18
|
+
import { useState, useContext, useEffect, useReducer } from 'react';
|
|
19
19
|
import Step from '../step';
|
|
20
20
|
import { calcNamePath } from '../utils';
|
|
21
21
|
import FormContext from '../context';
|
|
@@ -46,20 +46,38 @@ var Steps = function Steps(_ref) {
|
|
|
46
46
|
shouldScroll = _useState6[0],
|
|
47
47
|
setShouldScroll = _useState6[1];
|
|
48
48
|
|
|
49
|
-
var
|
|
50
|
-
|
|
49
|
+
var _useReducer = useReducer(function (r) {
|
|
50
|
+
return r + 1;
|
|
51
|
+
}, 0),
|
|
52
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
53
|
+
_ = _useReducer2[0],
|
|
54
|
+
dispatch = _useReducer2[1];
|
|
51
55
|
|
|
52
|
-
|
|
56
|
+
var _useContext = useContext(FormContext),
|
|
57
|
+
form = _useContext.form,
|
|
58
|
+
registerDependencies = _useContext.registerDependencies;
|
|
59
|
+
|
|
60
|
+
useEffect(function () {
|
|
61
|
+
var subscribe = elements.some(function (_ref2) {
|
|
62
|
+
var shouldRender = _ref2.shouldRender,
|
|
63
|
+
getButtonDisabledState = _ref2.getButtonDisabledState;
|
|
64
|
+
return Boolean(shouldRender) || Boolean(getButtonDisabledState);
|
|
65
|
+
});
|
|
66
|
+
|
|
67
|
+
if (subscribe) {
|
|
68
|
+
registerDependencies('SUBSCRIBE_ALL', dispatch);
|
|
69
|
+
}
|
|
70
|
+
}, []);
|
|
53
71
|
var renderElements = elements.filter(function (step) {
|
|
54
72
|
step.key = step.name || step.key || Math.random();
|
|
55
73
|
return typeof step.shouldRender !== 'function' || step.shouldRender(form);
|
|
56
74
|
});
|
|
57
75
|
|
|
58
76
|
var handleNext = /*#__PURE__*/function () {
|
|
59
|
-
var
|
|
77
|
+
var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
|
|
60
78
|
var _allFields$filter;
|
|
61
79
|
|
|
62
|
-
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields,
|
|
80
|
+
var allFields, _renderElements$curre, currentName, handleNext, namePath, fields, errors;
|
|
63
81
|
|
|
64
82
|
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
65
83
|
while (1) {
|
|
@@ -68,11 +86,11 @@ var Steps = function Steps(_ref) {
|
|
|
68
86
|
allFields = (form === null || form === void 0 ? void 0 : form.getFieldsError()) || [];
|
|
69
87
|
_renderElements$curre = renderElements[current], currentName = _renderElements$curre.name, handleNext = _renderElements$curre.handleNext;
|
|
70
88
|
namePath = calcNamePath(name, currentName);
|
|
71
|
-
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (
|
|
72
|
-
var name = _ref3.name;
|
|
73
|
-
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
74
|
-
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref4) {
|
|
89
|
+
fields = allFields === null || allFields === void 0 ? void 0 : (_allFields$filter = allFields.filter(function (_ref4) {
|
|
75
90
|
var name = _ref4.name;
|
|
91
|
+
return name.join().startsWith(namePath === null || namePath === void 0 ? void 0 : namePath.join());
|
|
92
|
+
})) === null || _allFields$filter === void 0 ? void 0 : _allFields$filter.map(function (_ref5) {
|
|
93
|
+
var name = _ref5.name;
|
|
76
94
|
return name;
|
|
77
95
|
});
|
|
78
96
|
_context.prev = 4;
|
|
@@ -80,60 +98,59 @@ var Steps = function Steps(_ref) {
|
|
|
80
98
|
return form === null || form === void 0 ? void 0 : form.validateFields(fields);
|
|
81
99
|
|
|
82
100
|
case 7:
|
|
83
|
-
_context.next =
|
|
101
|
+
_context.next = 13;
|
|
84
102
|
break;
|
|
85
103
|
|
|
86
104
|
case 9:
|
|
87
105
|
_context.prev = 9;
|
|
88
106
|
_context.t0 = _context["catch"](4);
|
|
89
|
-
|
|
90
|
-
form === null || form === void 0 ? void 0 : form.scrollToField(errorFields[0].name);
|
|
107
|
+
form === null || form === void 0 ? void 0 : form.scrollToField(_context.t0.errorFields[0].name);
|
|
91
108
|
return _context.abrupt("return");
|
|
92
109
|
|
|
93
|
-
case
|
|
110
|
+
case 13:
|
|
94
111
|
if (!(typeof handleNext === 'function')) {
|
|
95
|
-
_context.next =
|
|
112
|
+
_context.next = 25;
|
|
96
113
|
break;
|
|
97
114
|
}
|
|
98
115
|
|
|
99
|
-
_context.prev =
|
|
100
|
-
_context.next =
|
|
116
|
+
_context.prev = 14;
|
|
117
|
+
_context.next = 17;
|
|
101
118
|
return handleNext(form === null || form === void 0 ? void 0 : form.getFieldsValue(fields));
|
|
102
119
|
|
|
103
|
-
case
|
|
120
|
+
case 17:
|
|
104
121
|
errors = _context.sent;
|
|
105
122
|
|
|
106
123
|
if (!Array.isArray(errors)) {
|
|
107
|
-
_context.next =
|
|
124
|
+
_context.next = 20;
|
|
108
125
|
break;
|
|
109
126
|
}
|
|
110
127
|
|
|
111
128
|
return _context.abrupt("return", form === null || form === void 0 ? void 0 : form.setFields(errors));
|
|
112
129
|
|
|
113
|
-
case
|
|
114
|
-
_context.next =
|
|
130
|
+
case 20:
|
|
131
|
+
_context.next = 25;
|
|
115
132
|
break;
|
|
116
133
|
|
|
117
|
-
case
|
|
118
|
-
_context.prev =
|
|
119
|
-
_context.t1 = _context["catch"](
|
|
134
|
+
case 22:
|
|
135
|
+
_context.prev = 22;
|
|
136
|
+
_context.t1 = _context["catch"](14);
|
|
120
137
|
return _context.abrupt("return");
|
|
121
138
|
|
|
122
|
-
case
|
|
139
|
+
case 25:
|
|
123
140
|
setCurrent(last || current + 1);
|
|
124
141
|
setLast(0);
|
|
125
142
|
setShouldScroll(true);
|
|
126
143
|
|
|
127
|
-
case
|
|
144
|
+
case 28:
|
|
128
145
|
case "end":
|
|
129
146
|
return _context.stop();
|
|
130
147
|
}
|
|
131
148
|
}
|
|
132
|
-
}, _callee, null, [[4, 9], [
|
|
149
|
+
}, _callee, null, [[4, 9], [14, 22]]);
|
|
133
150
|
}));
|
|
134
151
|
|
|
135
152
|
return function handleNext() {
|
|
136
|
-
return
|
|
153
|
+
return _ref3.apply(this, arguments);
|
|
137
154
|
};
|
|
138
155
|
}();
|
|
139
156
|
|
|
@@ -154,7 +171,7 @@ var Steps = function Steps(_ref) {
|
|
|
154
171
|
return _jsx(Step, {
|
|
155
172
|
config: child,
|
|
156
173
|
parentName: calcNamePath(parentName, name),
|
|
157
|
-
index:
|
|
174
|
+
index: index,
|
|
158
175
|
total: renderElements.length,
|
|
159
176
|
preview: current > index,
|
|
160
177
|
edit: current === index,
|
|
@@ -162,7 +179,7 @@ var Steps = function Steps(_ref) {
|
|
|
162
179
|
handleEdit: handleEdit,
|
|
163
180
|
showLastIndex: showLastIndex,
|
|
164
181
|
shouldScroll: shouldScroll
|
|
165
|
-
},
|
|
182
|
+
}, child.key);
|
|
166
183
|
})
|
|
167
184
|
}), void 0)
|
|
168
185
|
}), void 0);
|