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
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { FormInstance } from 'antd/es/form';
|
|
3
|
+
import { FormItemName } from '@/types';
|
|
4
|
+
declare const _default: React.Context<{
|
|
5
|
+
form?: FormInstance<any> | undefined;
|
|
6
|
+
onCancel?(): void;
|
|
7
|
+
cancelText?: string | undefined;
|
|
8
|
+
submitText?: string | undefined;
|
|
9
|
+
previewText?: string | undefined;
|
|
10
|
+
nextText?: string | undefined;
|
|
11
|
+
continueText?: string | undefined;
|
|
12
|
+
validateMessages?: Object | undefined;
|
|
13
|
+
submitting?: boolean | undefined;
|
|
14
|
+
requiredMark?: boolean | undefined;
|
|
15
|
+
showSubmitButton?: boolean | undefined;
|
|
16
|
+
getScrollContainer: () => HTMLElement | Window | null;
|
|
17
|
+
registerDependencies: (name: FormItemName | FormItemName[], updater: Function) => void;
|
|
18
|
+
}>;
|
|
19
|
+
export default _default;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { FC } from 'react';
|
|
2
|
+
import { FormItemConfig, FormItemName } from '../../types';
|
|
3
|
+
import './style/index.less';
|
|
4
|
+
interface ElementProps extends FormItemConfig {
|
|
5
|
+
parentName?: FormItemName;
|
|
6
|
+
preview?: boolean;
|
|
7
|
+
disabled?: boolean;
|
|
8
|
+
setShowStepButton?: (showButton: boolean) => void;
|
|
9
|
+
}
|
|
10
|
+
declare const Element: FC<ElementProps>;
|
|
11
|
+
export default Element;
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
import "antd/es/row/style";
|
|
2
|
+
import _Row from "antd/es/row";
|
|
3
|
+
import "antd/es/form/style";
|
|
4
|
+
import _Form from "antd/es/form";
|
|
5
|
+
import "antd/es/col/style";
|
|
6
|
+
import _Col from "antd/es/col";
|
|
7
|
+
import "antd/es/grid/style";
|
|
8
|
+
import _Grid from "antd/es/grid";
|
|
9
|
+
var _excluded = ["halfRow"];
|
|
10
|
+
|
|
11
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
12
|
+
|
|
13
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
14
|
+
|
|
15
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
16
|
+
|
|
17
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
18
|
+
|
|
19
|
+
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; }
|
|
20
|
+
|
|
21
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
22
|
+
|
|
23
|
+
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."); }
|
|
24
|
+
|
|
25
|
+
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); }
|
|
26
|
+
|
|
27
|
+
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; }
|
|
28
|
+
|
|
29
|
+
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; }
|
|
30
|
+
|
|
31
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
32
|
+
|
|
33
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
34
|
+
import { useContext, useEffect, useRef, useReducer, isValidElement, cloneElement, useMemo } from 'react';
|
|
35
|
+
import { CloseCircleFilled } from '@ant-design/icons';
|
|
36
|
+
import { calcFormItemProps } from '../utils';
|
|
37
|
+
import FormContext from '../context';
|
|
38
|
+
import omit from 'omit.js';
|
|
39
|
+
import classNames from 'classnames';
|
|
40
|
+
import './style/index.less';
|
|
41
|
+
var useBreakpoint = _Grid.useBreakpoint;
|
|
42
|
+
|
|
43
|
+
var Element = function Element(props) {
|
|
44
|
+
var parentName = props.parentName,
|
|
45
|
+
label = props.label,
|
|
46
|
+
preview = props.preview,
|
|
47
|
+
disabled = props.disabled,
|
|
48
|
+
children = props.children;
|
|
49
|
+
|
|
50
|
+
var _useContext = useContext(FormContext),
|
|
51
|
+
form = _useContext.form,
|
|
52
|
+
requiredMark = _useContext.requiredMark,
|
|
53
|
+
registerDependencies = _useContext.registerDependencies;
|
|
54
|
+
|
|
55
|
+
var _useReducer = useReducer(function (r) {
|
|
56
|
+
return r + 1;
|
|
57
|
+
}, 0),
|
|
58
|
+
_useReducer2 = _slicedToArray(_useReducer, 2),
|
|
59
|
+
_ = _useReducer2[0],
|
|
60
|
+
dispatch = _useReducer2[1];
|
|
61
|
+
|
|
62
|
+
useEffect(function () {
|
|
63
|
+
var dependencies = props.dependencies,
|
|
64
|
+
asserts = props.asserts,
|
|
65
|
+
copyValue = props.copyValue,
|
|
66
|
+
selectValue = props.selectValue,
|
|
67
|
+
shouldRender = props.shouldRender;
|
|
68
|
+
var dependentField = dependencies || [];
|
|
69
|
+
|
|
70
|
+
if (asserts && asserts.length) {
|
|
71
|
+
asserts.forEach(function (_ref) {
|
|
72
|
+
var field = _ref.field;
|
|
73
|
+
return dependentField.push(field);
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
if (copyValue) {
|
|
78
|
+
dependentField.push(copyValue.assert.field);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (selectValue && selectValue.length) {
|
|
82
|
+
selectValue.forEach(function (_ref2) {
|
|
83
|
+
var assert = _ref2.assert;
|
|
84
|
+
return dependentField.push(assert.field);
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
if (shouldRender) {
|
|
89
|
+
dependentField.push('SUBSCRIBE_ALL');
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
registerDependencies(dependentField, dispatch);
|
|
93
|
+
}, []);
|
|
94
|
+
var extraConfig = useMemo(function () {
|
|
95
|
+
var _children$type, _children$type2;
|
|
96
|
+
|
|
97
|
+
if (! /*#__PURE__*/isValidElement(children)) return {}; //@ts-ignore
|
|
98
|
+
|
|
99
|
+
return (children === null || children === void 0 ? void 0 : (_children$type = children.type) === null || _children$type === void 0 ? void 0 : _children$type.formItemPropsHandler) ? //@ts-ignore
|
|
100
|
+
children === null || children === void 0 ? void 0 : (_children$type2 = children.type) === null || _children$type2 === void 0 ? void 0 : _children$type2.formItemPropsHandler(props) : {};
|
|
101
|
+
}, [children]);
|
|
102
|
+
|
|
103
|
+
var _calcFormItemProps = calcFormItemProps(props, _objectSpread(_objectSpread({}, extraConfig), {}, {
|
|
104
|
+
requiredMark: requiredMark
|
|
105
|
+
}), form, parentName),
|
|
106
|
+
colProps = _calcFormItemProps.colProps,
|
|
107
|
+
formItemProps = _calcFormItemProps.formItemProps,
|
|
108
|
+
display = _calcFormItemProps.display,
|
|
109
|
+
previewFormater = _calcFormItemProps.previewFormater,
|
|
110
|
+
elementProps = _calcFormItemProps.elementProps;
|
|
111
|
+
|
|
112
|
+
useEffect(function () {
|
|
113
|
+
if (!formItemProps.name || preview || !formItemProps.copiedValue.copied) return;
|
|
114
|
+
form && form.setFields([{
|
|
115
|
+
name: formItemProps.name,
|
|
116
|
+
value: formItemProps.copiedValue.value,
|
|
117
|
+
errors: []
|
|
118
|
+
}]);
|
|
119
|
+
}, [formItemProps.copiedValue.value]);
|
|
120
|
+
useEffect(function () {
|
|
121
|
+
if (!formItemProps.name || preview || !formItemProps.selectedValue.selected) return;
|
|
122
|
+
form && form.setFields([{
|
|
123
|
+
name: formItemProps.name,
|
|
124
|
+
value: formItemProps.selectedValue.value,
|
|
125
|
+
errors: []
|
|
126
|
+
}]);
|
|
127
|
+
}, [formItemProps.selectedValue.value]);
|
|
128
|
+
|
|
129
|
+
var _useBreakpoint = useBreakpoint(),
|
|
130
|
+
md = _useBreakpoint.md;
|
|
131
|
+
|
|
132
|
+
var ref = useRef(null);
|
|
133
|
+
|
|
134
|
+
var halfRow = colProps.halfRow,
|
|
135
|
+
restColProps = _objectWithoutProperties(colProps, _excluded);
|
|
136
|
+
|
|
137
|
+
var value = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
138
|
+
var error = form === null || form === void 0 ? void 0 : form.getFieldError(formItemProps.name);
|
|
139
|
+
useEffect(function () {
|
|
140
|
+
var value = form === null || form === void 0 ? void 0 : form.getFieldValue(formItemProps.name);
|
|
141
|
+
if (value || !formItemProps.initialValue) return;
|
|
142
|
+
form === null || form === void 0 ? void 0 : form.setFields([{
|
|
143
|
+
name: formItemProps.name,
|
|
144
|
+
value: formItemProps.initialValue
|
|
145
|
+
}]);
|
|
146
|
+
}, [formItemProps.initialValue]);
|
|
147
|
+
|
|
148
|
+
var setFieldError = function setFieldError(errorMsg) {
|
|
149
|
+
form === null || form === void 0 ? void 0 : form.setFields([{
|
|
150
|
+
name: formItemProps.name,
|
|
151
|
+
errors: errorMsg ? [errorMsg] : []
|
|
152
|
+
}]);
|
|
153
|
+
};
|
|
154
|
+
|
|
155
|
+
var setFieldValue = function setFieldValue(value) {
|
|
156
|
+
form === null || form === void 0 ? void 0 : form.setFields([{
|
|
157
|
+
name: formItemProps.name,
|
|
158
|
+
value: value
|
|
159
|
+
}]);
|
|
160
|
+
};
|
|
161
|
+
|
|
162
|
+
var validateField = function validateField() {
|
|
163
|
+
form === null || form === void 0 ? void 0 : form.validateFields([formItemProps.name]);
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
var getFormInstance = function getFormInstance() {
|
|
167
|
+
return form;
|
|
168
|
+
};
|
|
169
|
+
|
|
170
|
+
var transformChildren = function transformChildren() {
|
|
171
|
+
if (! /*#__PURE__*/isValidElement(children)) return children;
|
|
172
|
+
return /*#__PURE__*/cloneElement(children, _objectSpread(_objectSpread({}, children.props), {}, {
|
|
173
|
+
disabled: elementProps.disabled || disabled,
|
|
174
|
+
containerRef: ref,
|
|
175
|
+
setFieldError: setFieldError,
|
|
176
|
+
setFieldValue: setFieldValue,
|
|
177
|
+
getFormInstance: getFormInstance,
|
|
178
|
+
validateField: validateField
|
|
179
|
+
}));
|
|
180
|
+
};
|
|
181
|
+
|
|
182
|
+
if (!display) return null;
|
|
183
|
+
|
|
184
|
+
if (preview) {
|
|
185
|
+
if (!value) {
|
|
186
|
+
return null;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
return _jsx(_Col, Object.assign({
|
|
190
|
+
span: 24,
|
|
191
|
+
className: classNames('igloo-element-preview', {
|
|
192
|
+
'igloo-element-preview-hide': props.hideWhenPreview,
|
|
193
|
+
'igloo-element-preview-hide-divider': props.hidePreviewDivider
|
|
194
|
+
})
|
|
195
|
+
}, {
|
|
196
|
+
children: _jsx(_Form.Item, Object.assign({}, omit(formItemProps, ['copiedValue', 'selectedValue']), {
|
|
197
|
+
labelCol: {
|
|
198
|
+
span: 24
|
|
199
|
+
},
|
|
200
|
+
wrapperCol: {
|
|
201
|
+
span: 24
|
|
202
|
+
},
|
|
203
|
+
label: null
|
|
204
|
+
}, {
|
|
205
|
+
children: _jsxs(_Row, Object.assign({
|
|
206
|
+
className: "igloo-element-preview-item",
|
|
207
|
+
gutter: {
|
|
208
|
+
md: 32,
|
|
209
|
+
sm: 0,
|
|
210
|
+
xs: 0
|
|
211
|
+
}
|
|
212
|
+
}, {
|
|
213
|
+
children: [label && _jsx(_Col, Object.assign({
|
|
214
|
+
span: 12,
|
|
215
|
+
md: 12,
|
|
216
|
+
sm: 24,
|
|
217
|
+
xs: 24,
|
|
218
|
+
className: "igloo-element-preview-label"
|
|
219
|
+
}, {
|
|
220
|
+
children: label
|
|
221
|
+
}), void 0), _jsxs(_Col, Object.assign({
|
|
222
|
+
span: label ? 12 : 24,
|
|
223
|
+
md: label ? 12 : 24,
|
|
224
|
+
sm: 24,
|
|
225
|
+
xs: 24,
|
|
226
|
+
className: "igloo-element-preview-value"
|
|
227
|
+
}, {
|
|
228
|
+
children: [error && !!error.length && _jsx(CloseCircleFilled, {
|
|
229
|
+
className: "igloo-element-preview-value-icon"
|
|
230
|
+
}, void 0), previewFormater ? previewFormater(value) : value]
|
|
231
|
+
}), void 0)]
|
|
232
|
+
}), void 0)
|
|
233
|
+
}), void 0)
|
|
234
|
+
}), void 0);
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
return props.hideWhenEdit ? null : _jsx(_Col, Object.assign({}, restColProps, {
|
|
238
|
+
className: "igloo-form-item"
|
|
239
|
+
}, {
|
|
240
|
+
children: _jsx("div", Object.assign({
|
|
241
|
+
ref: ref,
|
|
242
|
+
style: {
|
|
243
|
+
width: halfRow && md ? '50%' : '100%',
|
|
244
|
+
paddingRight: halfRow && md ? 16 : 0
|
|
245
|
+
}
|
|
246
|
+
}, {
|
|
247
|
+
children: _jsx(_Form.Item, Object.assign({
|
|
248
|
+
labelCol: {
|
|
249
|
+
span: 24
|
|
250
|
+
},
|
|
251
|
+
wrapperCol: {
|
|
252
|
+
span: 24
|
|
253
|
+
}
|
|
254
|
+
}, omit(formItemProps, ['copiedValue', 'selectedValue']), {
|
|
255
|
+
children: transformChildren()
|
|
256
|
+
}), void 0)
|
|
257
|
+
}), void 0)
|
|
258
|
+
}), void 0);
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
Element.displayName = 'Igloo_Free_Form_Item';
|
|
262
|
+
export default Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.less';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import './index.less';
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
.igloo-element-preview {
|
|
2
|
+
margin: 0 !important;
|
|
3
|
+
|
|
4
|
+
.ant-form-item-control-input {
|
|
5
|
+
min-height: unset;
|
|
6
|
+
}
|
|
7
|
+
|
|
8
|
+
&:not(:last-child) {
|
|
9
|
+
& > div {
|
|
10
|
+
padding-bottom: 16px;
|
|
11
|
+
border-bottom: 1px solid #eeeeee;
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
&:last-child > div {
|
|
16
|
+
padding-bottom: 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
.igloo-element-preview-item {
|
|
20
|
+
.igloo-element-preview-label {
|
|
21
|
+
color: #666666;
|
|
22
|
+
line-height: 24px;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
.igloo-element-preview-value {
|
|
26
|
+
color: #212121;
|
|
27
|
+
white-space: pre-wrap;
|
|
28
|
+
word-break: break-word;
|
|
29
|
+
line-height: 24px;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
.ant-form-item-explain-error {
|
|
34
|
+
margin-top: 0;
|
|
35
|
+
margin-left: 50%;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
.ant-form-item-extra,
|
|
39
|
+
.ant-form-item-explain {
|
|
40
|
+
display: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.ant-form-item-explain-error {
|
|
44
|
+
display: block;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
.igloo-element-preview-hide {
|
|
49
|
+
border-bottom: none !important;
|
|
50
|
+
display: none;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.igloo-element-preview-hide-divider {
|
|
54
|
+
& > div {
|
|
55
|
+
border-bottom: none !important;
|
|
56
|
+
padding-bottom: 8px;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
&:last-child {
|
|
60
|
+
padding-bottom: 0;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.ant-form-item-control-input {
|
|
65
|
+
min-height: unset;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
.igloo-form-label {
|
|
69
|
+
display: flex;
|
|
70
|
+
justify-content: space-between;
|
|
71
|
+
width: 100%;
|
|
72
|
+
|
|
73
|
+
.igloo-form-label-text {
|
|
74
|
+
color: #666666;
|
|
75
|
+
font-size: 16px;
|
|
76
|
+
line-height: 24px;
|
|
77
|
+
|
|
78
|
+
.igloo-form-label-required {
|
|
79
|
+
margin-left: 8px;
|
|
80
|
+
}
|
|
81
|
+
.igloo-form-label-optional {
|
|
82
|
+
margin-left: 5px;
|
|
83
|
+
font-size: 16px;
|
|
84
|
+
font-style: italic;
|
|
85
|
+
color: #999999;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
@media screen and (max-width: 768px) {
|
|
91
|
+
.igloo-element-preview {
|
|
92
|
+
.igloo-element-preview-value {
|
|
93
|
+
margin-top: 8px;
|
|
94
|
+
|
|
95
|
+
.igloo-element-preview-value-icon {
|
|
96
|
+
color: @error-color;
|
|
97
|
+
margin-right: 8px;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.ant-form-item-explain-error {
|
|
102
|
+
margin-left: 0 !important;
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
.ant-form-item-label > label {
|
|
108
|
+
height: auto;
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
.igloo-form-item,
|
|
112
|
+
.igloo-element-preview {
|
|
113
|
+
.ant-form-item {
|
|
114
|
+
margin-bottom: 0;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
import "antd/es/form/style";
|
|
2
|
+
import _Form from "antd/es/form";
|
|
3
|
+
var _excluded = ["validateMessages"];
|
|
4
|
+
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
|
|
7
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
8
|
+
|
|
9
|
+
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; }
|
|
10
|
+
|
|
11
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
12
|
+
|
|
13
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
14
|
+
|
|
15
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
16
|
+
|
|
17
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
18
|
+
|
|
19
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
|
+
|
|
21
|
+
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."); }
|
|
22
|
+
|
|
23
|
+
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); }
|
|
24
|
+
|
|
25
|
+
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; }
|
|
26
|
+
|
|
27
|
+
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; }
|
|
28
|
+
|
|
29
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
30
|
+
|
|
31
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
32
|
+
import { useState } from 'react';
|
|
33
|
+
import FormContext from './context';
|
|
34
|
+
import messages from './messages';
|
|
35
|
+
import './style/index.less';
|
|
36
|
+
import classNames from 'classnames';
|
|
37
|
+
|
|
38
|
+
var FreeForm = function FreeForm(props) {
|
|
39
|
+
var children = props.children,
|
|
40
|
+
onCancel = props.onCancel,
|
|
41
|
+
onSubmit = props.onSubmit,
|
|
42
|
+
className = props.className,
|
|
43
|
+
style = props.style,
|
|
44
|
+
_props$locales = props.locales,
|
|
45
|
+
localesProp = _props$locales === void 0 ? {} : _props$locales,
|
|
46
|
+
initialValues = props.initialValues,
|
|
47
|
+
formProp = props.form,
|
|
48
|
+
_props$requiredMark = props.requiredMark,
|
|
49
|
+
requiredMark = _props$requiredMark === void 0 ? false : _props$requiredMark,
|
|
50
|
+
_props$showSubmitButt = props.showSubmitButton,
|
|
51
|
+
showSubmitButton = _props$showSubmitButt === void 0 ? true : _props$showSubmitButt,
|
|
52
|
+
_props$getScrollConta = props.getScrollContainer,
|
|
53
|
+
getScrollContainer = _props$getScrollConta === void 0 ? function () {
|
|
54
|
+
return window;
|
|
55
|
+
} : _props$getScrollConta;
|
|
56
|
+
|
|
57
|
+
var _Form$useForm = _Form.useForm(),
|
|
58
|
+
_Form$useForm2 = _slicedToArray(_Form$useForm, 1),
|
|
59
|
+
innerForm = _Form$useForm2[0];
|
|
60
|
+
|
|
61
|
+
var _useState = useState(false),
|
|
62
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
63
|
+
submitting = _useState2[0],
|
|
64
|
+
setSubmitting = _useState2[1];
|
|
65
|
+
|
|
66
|
+
var _useState3 = useState({}),
|
|
67
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
68
|
+
dependents = _useState4[0],
|
|
69
|
+
setDependents = _useState4[1];
|
|
70
|
+
|
|
71
|
+
var _useState5 = useState(formProp || innerForm),
|
|
72
|
+
_useState6 = _slicedToArray(_useState5, 1),
|
|
73
|
+
form = _useState6[0];
|
|
74
|
+
|
|
75
|
+
var validateMessages = localesProp.validateMessages,
|
|
76
|
+
locales = _objectWithoutProperties(localesProp, _excluded);
|
|
77
|
+
|
|
78
|
+
var handleSubmit = /*#__PURE__*/function () {
|
|
79
|
+
var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(values) {
|
|
80
|
+
var errors;
|
|
81
|
+
return regeneratorRuntime.wrap(function _callee$(_context) {
|
|
82
|
+
while (1) {
|
|
83
|
+
switch (_context.prev = _context.next) {
|
|
84
|
+
case 0:
|
|
85
|
+
if (!(typeof onSubmit === 'function')) {
|
|
86
|
+
_context.next = 10;
|
|
87
|
+
break;
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
setSubmitting(true);
|
|
91
|
+
_context.prev = 2;
|
|
92
|
+
_context.next = 5;
|
|
93
|
+
return onSubmit(values);
|
|
94
|
+
|
|
95
|
+
case 5:
|
|
96
|
+
errors = _context.sent;
|
|
97
|
+
|
|
98
|
+
if (Array.isArray(errors)) {
|
|
99
|
+
form.setFields(errors);
|
|
100
|
+
form.scrollToField(errors[0].name);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
case 7:
|
|
104
|
+
_context.prev = 7;
|
|
105
|
+
setSubmitting(false);
|
|
106
|
+
return _context.finish(7);
|
|
107
|
+
|
|
108
|
+
case 10:
|
|
109
|
+
case "end":
|
|
110
|
+
return _context.stop();
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
}, _callee, null, [[2,, 7, 10]]);
|
|
114
|
+
}));
|
|
115
|
+
|
|
116
|
+
return function handleSubmit(_x) {
|
|
117
|
+
return _ref.apply(this, arguments);
|
|
118
|
+
};
|
|
119
|
+
}();
|
|
120
|
+
|
|
121
|
+
var registerDependencies = function registerDependencies(field, updater) {
|
|
122
|
+
if (Array.isArray(field)) {
|
|
123
|
+
setDependents(function (deps) {
|
|
124
|
+
var newDeps = _objectSpread({}, deps);
|
|
125
|
+
|
|
126
|
+
field.forEach(function (name) {
|
|
127
|
+
var key = Array.isArray(name) ? name.join() : name;
|
|
128
|
+
|
|
129
|
+
if (!newDeps[key]) {
|
|
130
|
+
newDeps[key] = [];
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
newDeps[key].push(updater);
|
|
134
|
+
});
|
|
135
|
+
return newDeps;
|
|
136
|
+
});
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
setDependents(function (deps) {
|
|
141
|
+
var newDeps = _objectSpread({}, deps);
|
|
142
|
+
|
|
143
|
+
var key = Array.isArray(field) ? field.join() : field;
|
|
144
|
+
|
|
145
|
+
if (!newDeps[key]) {
|
|
146
|
+
newDeps[key] = [];
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
newDeps[key].push(updater);
|
|
150
|
+
return newDeps;
|
|
151
|
+
});
|
|
152
|
+
};
|
|
153
|
+
|
|
154
|
+
var handleValuesChange = function handleValuesChange(changedFields) {
|
|
155
|
+
var changedField = changedFields[0].name;
|
|
156
|
+
var changedKey = Array.isArray(changedField) ? changedField.join() : changedField;
|
|
157
|
+
|
|
158
|
+
if (dependents[changedKey]) {
|
|
159
|
+
dependents[changedKey].forEach(function (updater) {
|
|
160
|
+
return updater();
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
if (dependents['SUBSCRIBE_ALL']) {
|
|
165
|
+
dependents['SUBSCRIBE_ALL'].forEach(function (updater) {
|
|
166
|
+
return updater();
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
return _jsx("div", Object.assign({
|
|
172
|
+
className: classNames(className, {
|
|
173
|
+
'igloo-form-without-button': !showSubmitButton
|
|
174
|
+
}),
|
|
175
|
+
style: style
|
|
176
|
+
}, {
|
|
177
|
+
children: _jsx(FormContext.Provider, Object.assign({
|
|
178
|
+
value: _objectSpread({
|
|
179
|
+
form: form,
|
|
180
|
+
onCancel: onCancel,
|
|
181
|
+
submitting: submitting,
|
|
182
|
+
requiredMark: requiredMark,
|
|
183
|
+
showSubmitButton: showSubmitButton,
|
|
184
|
+
getScrollContainer: getScrollContainer,
|
|
185
|
+
registerDependencies: registerDependencies
|
|
186
|
+
}, locales)
|
|
187
|
+
}, {
|
|
188
|
+
children: _jsx(_Form, Object.assign({
|
|
189
|
+
form: form,
|
|
190
|
+
onFinish: handleSubmit,
|
|
191
|
+
onFieldsChange: handleValuesChange,
|
|
192
|
+
colon: false,
|
|
193
|
+
validateMessages: validateMessages || messages,
|
|
194
|
+
initialValues: initialValues,
|
|
195
|
+
scrollToFirstError: true
|
|
196
|
+
}, {
|
|
197
|
+
children: children
|
|
198
|
+
}), void 0)
|
|
199
|
+
}), void 0)
|
|
200
|
+
}), void 0);
|
|
201
|
+
};
|
|
202
|
+
|
|
203
|
+
export default FreeForm;
|