@qsxy/element-plus-react 1.0.0-next.10 → 1.0.0-next.12
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/dist/Avatar/Avatar.d.ts +2 -2
- package/dist/Avatar/Avatar.js +81 -73
- package/dist/Avatar/index.js +1 -39
- package/dist/Avatar/typings.js +1 -17
- package/dist/Badge/Badge.d.ts +2 -2
- package/dist/Badge/Badge.js +75 -60
- package/dist/Badge/index.js +1 -39
- package/dist/Badge/typings.d.ts +1 -1
- package/dist/Badge/typings.js +1 -17
- package/dist/Breadcrumb/Breadcrumb.js +23 -50
- package/dist/Breadcrumb/BreadcrumbItem.js +45 -51
- package/dist/Breadcrumb/index.js +2 -42
- package/dist/Breadcrumb/typings.js +1 -17
- package/dist/Button/Button.js +132 -105
- package/dist/Button/ButtonGroup.js +29 -48
- package/dist/Button/ButtonGroupContext.js +2 -30
- package/dist/Button/index.js +2 -42
- package/dist/Button/typings.d.ts +4 -2
- package/dist/Button/typings.js +1 -17
- package/dist/Button/useButtonCustomStyle.d.ts +4 -0
- package/dist/Button/useButtonCustomStyle.js +65 -0
- package/dist/Calendar/Calendar.js +310 -237
- package/dist/Calendar/CalendarContext.js +3 -27
- package/dist/Calendar/DatePanel.js +191 -158
- package/dist/Calendar/DateRangePanel.js +140 -125
- package/dist/Calendar/Footer.js +41 -51
- package/dist/Calendar/Header.js +83 -65
- package/dist/Calendar/MonthPanel.js +138 -124
- package/dist/Calendar/MonthRangePanel.js +137 -124
- package/dist/Calendar/ShortCuts.js +21 -40
- package/dist/Calendar/WeekPanel.js +213 -145
- package/dist/Calendar/YearPanel.js +150 -125
- package/dist/Calendar/YearRangePanel.js +138 -128
- package/dist/Calendar/index.js +4 -47
- package/dist/Calendar/typings.js +1 -17
- package/dist/Calendar/util.js +26 -68
- package/dist/Card/Card.js +36 -46
- package/dist/Card/index.js +1 -39
- package/dist/Card/typings.js +1 -17
- package/dist/Carousel/Carousel.js +202 -166
- package/dist/Carousel/CarouselContext.js +14 -42
- package/dist/Carousel/CarouselItem.js +55 -71
- package/dist/Carousel/hooks/useCarousel.js +263 -238
- package/dist/Carousel/hooks/useCarouselItem.js +136 -132
- package/dist/Carousel/index.js +2 -42
- package/dist/Carousel/typings.js +1 -17
- package/dist/Cascader/Cascader.js +693 -569
- package/dist/Cascader/CascaderContext.js +9 -45
- package/dist/Cascader/CascaderDropdown.js +90 -77
- package/dist/Cascader/CascaderMenu.js +101 -114
- package/dist/Cascader/Utils.js +6 -33
- package/dist/Cascader/index.js +1 -39
- package/dist/Cascader/typings.d.ts +1 -1
- package/dist/Cascader/typings.js +1 -17
- package/dist/Cascader/useCascader.js +648 -458
- package/dist/Checkbox/Checkbox.d.ts +3 -3
- package/dist/Checkbox/Checkbox.js +138 -161
- package/dist/Checkbox/CheckboxButton.js +133 -157
- package/dist/Checkbox/index.js +2 -42
- package/dist/Checkbox/typings.d.ts +3 -2
- package/dist/Checkbox/typings.js +1 -17
- package/dist/CheckboxGroup/CheckboxGroup.js +133 -112
- package/dist/CheckboxGroup/CheckboxGroupContext.js +2 -30
- package/dist/CheckboxGroup/index.js +2 -42
- package/dist/Col/Col.js +53 -72
- package/dist/Col/index.js +1 -39
- package/dist/Col/typings.js +1 -17
- package/dist/Collapse/Collapse.js +36 -45
- package/dist/Collapse/CollapseContext.js +3 -31
- package/dist/Collapse/CollapseItem.js +88 -73
- package/dist/Collapse/CollapseTransition.js +29 -67
- package/dist/Collapse/index.js +2 -42
- package/dist/Collapse/typings.js +1 -17
- package/dist/ColorPicker/AlphaSlider.js +117 -99
- package/dist/ColorPicker/ColorPicker.d.ts +1 -1
- package/dist/ColorPicker/ColorPicker.js +233 -189
- package/dist/ColorPicker/HueSlider.js +102 -96
- package/dist/ColorPicker/Predefine.js +65 -66
- package/dist/ColorPicker/SvPanel.js +95 -81
- package/dist/ColorPicker/color.js +301 -213
- package/dist/ColorPicker/draggable.js +30 -48
- package/dist/ColorPicker/index.js +1 -39
- package/dist/ColorPicker/typings.js +1 -17
- package/dist/ColorPicker/util.js +23 -60
- package/dist/ConfigProvider/ConfigProvider.js +4 -28
- package/dist/ConfigProvider/index.js +1 -39
- package/dist/DatePicker/DatePicker.d.ts +3 -3
- package/dist/DatePicker/DatePicker.js +251 -227
- package/dist/DatePicker/DateRangePicker.d.ts +3 -3
- package/dist/DatePicker/DateRangePicker.js +279 -276
- package/dist/DatePicker/index.js +2 -39
- package/dist/DatePicker/main.d.ts +2 -2
- package/dist/DatePicker/main.js +21 -44
- package/dist/DatePicker/typings.d.ts +24 -17
- package/dist/DatePicker/typings.js +1 -17
- package/dist/DateTimePicker/DateTimePicker.d.ts +3 -5
- package/dist/DateTimePicker/DateTimePicker.js +286 -215
- package/dist/DateTimePicker/index.js +1 -39
- package/dist/DateTimePicker/typings.d.ts +10 -13
- package/dist/DateTimePicker/typings.js +1 -17
- package/dist/DateTimePicker/util.js +5 -35
- package/dist/Descriptions/Descriptions.js +83 -63
- package/dist/Descriptions/DescriptionsCell.js +67 -79
- package/dist/Descriptions/DescriptionsContext.js +4 -32
- package/dist/Descriptions/DescriptionsItem.js +4 -27
- package/dist/Descriptions/DescriptionsRow.js +42 -44
- package/dist/Descriptions/index.js +2 -42
- package/dist/Descriptions/typings.js +1 -17
- package/dist/Dialog/Dialog.js +224 -176
- package/dist/Dialog/DialogBody.js +52 -59
- package/dist/Dialog/DialogContext.js +6 -44
- package/dist/Dialog/DialogFooter.js +21 -45
- package/dist/Dialog/DialogHeader.js +44 -50
- package/dist/Dialog/index.js +1 -39
- package/dist/Dialog/typings.d.ts +1 -1
- package/dist/Dialog/typings.js +1 -17
- package/dist/Dialog/useDraggable.js +52 -79
- package/dist/Divider/Divider.d.ts +3 -3
- package/dist/Divider/Divider.js +38 -44
- package/dist/Divider/index.js +1 -39
- package/dist/Drawer/Drawer.js +144 -136
- package/dist/Drawer/DrawerBody.js +35 -57
- package/dist/Drawer/DrawerContext.js +13 -44
- package/dist/Drawer/DrawerFooter.js +22 -43
- package/dist/Drawer/DrawerHeader.js +41 -48
- package/dist/Drawer/index.js +1 -39
- package/dist/Drawer/typings.js +1 -17
- package/dist/Dropdown/Dropdown.d.ts +3 -3
- package/dist/Dropdown/Dropdown.js +103 -107
- package/dist/Dropdown/DropdownContext.js +5 -43
- package/dist/Dropdown/DropdownItem.js +40 -60
- package/dist/Dropdown/DropdownMenu.js +28 -56
- package/dist/Dropdown/index.js +3 -45
- package/dist/Dropdown/typings.d.ts +8 -1
- package/dist/Dropdown/typings.js +1 -17
- package/dist/Empty/Empty.js +32 -53
- package/dist/Empty/ImgEmpty.js +115 -117
- package/dist/Empty/index.js +1 -39
- package/dist/Form/FieldContext.js +8 -37
- package/dist/Form/Form.js +167 -162
- package/dist/Form/FormContext.js +58 -97
- package/dist/Form/FormItem.js +620 -352
- package/dist/Form/FormItemContext.js +3 -31
- package/dist/Form/List.js +121 -104
- package/dist/Form/ListContext.js +3 -27
- package/dist/Form/index.js +3 -45
- package/dist/Form/typings.d.ts +25 -4
- package/dist/Form/typings.js +1 -17
- package/dist/Form/useForm.js +830 -690
- package/dist/Form/useWatch.js +64 -79
- package/dist/Form/utils/NameMap.js +98 -69
- package/dist/Form/utils/asyncUtil.js +9 -37
- package/dist/Form/utils/classUtil.js +26 -48
- package/dist/Form/utils/cloneDeep.js +8 -29
- package/dist/Form/utils/get.js +6 -30
- package/dist/Form/utils/messages.js +25 -53
- package/dist/Form/utils/set.js +31 -44
- package/dist/Form/utils/typeUtil.js +3 -31
- package/dist/Form/utils/util.js +18 -55
- package/dist/Form/utils/validateUtil.js +284 -159
- package/dist/Form/utils/valueUtil.js +102 -107
- package/dist/Icon/Icon.js +39 -63
- package/dist/Icon/IconList/Check.js +25 -65
- package/dist/Icon/IconList/Close.js +23 -52
- package/dist/Icon/IconList/Delete.js +25 -65
- package/dist/Icon/IconList/Down.js +25 -65
- package/dist/Icon/IconList/Eye.js +25 -65
- package/dist/Icon/IconList/EyeClose.js +25 -65
- package/dist/Icon/IconList/Left.js +25 -65
- package/dist/Icon/IconList/Link.js +19 -55
- package/dist/Icon/IconList/More.js +25 -65
- package/dist/Icon/IconList/Question.js +25 -65
- package/dist/Icon/IconList/Right.js +25 -65
- package/dist/Icon/IconList/Search.js +25 -65
- package/dist/Icon/IconList/Up.js +25 -65
- package/dist/Icon/IconList/Upload.js +25 -65
- package/dist/Icon/IconList/index.js +14 -68
- package/dist/Icon/index.js +2 -42
- package/dist/Icon/typings.js +1 -17
- package/dist/Input/Input.js +335 -358
- package/dist/Input/InputGroup.js +27 -43
- package/dist/Input/InputRange.js +295 -308
- package/dist/Input/TextArea.js +129 -120
- package/dist/Input/index.js +3 -45
- package/dist/Input/typings.d.ts +1 -1
- package/dist/Input/typings.js +1 -17
- package/dist/InputNumber/InputNumber.js +224 -203
- package/dist/InputNumber/index.js +1 -39
- package/dist/InputNumber/typings.d.ts +1 -1
- package/dist/InputNumber/typings.js +1 -17
- package/dist/Link/Link.js +43 -60
- package/dist/Link/index.js +1 -39
- package/dist/Link/typings.js +1 -17
- package/dist/Loading/Loading.js +93 -66
- package/dist/Loading/index.js +1 -39
- package/dist/Loading/typings.js +1 -17
- package/dist/Message/Main.js +41 -66
- package/dist/Message/Message.js +167 -130
- package/dist/Message/index.js +68 -88
- package/dist/Message/typings.js +1 -17
- package/dist/MessageBox/Main.js +43 -68
- package/dist/MessageBox/MessageBox.js +253 -202
- package/dist/MessageBox/index.js +74 -79
- package/dist/MessageBox/typings.js +1 -17
- package/dist/Notification/Main.js +41 -66
- package/dist/Notification/Notification.js +148 -131
- package/dist/Notification/index.js +76 -92
- package/dist/Notification/typings.js +1 -17
- package/dist/Pagination/Options.js +104 -99
- package/dist/Pagination/Pager.js +30 -61
- package/dist/Pagination/Pagination.js +462 -380
- package/dist/Pagination/index.js +1 -39
- package/dist/Pagination/typings.js +1 -17
- package/dist/Pagination/util.js +10 -41
- package/dist/Popconfirm/Popconfirm.js +108 -116
- package/dist/Popconfirm/index.js +1 -39
- package/dist/Popconfirm/typings.js +1 -17
- package/dist/Popover/Popover.js +87 -89
- package/dist/Popover/index.js +1 -39
- package/dist/Popover/typings.js +1 -17
- package/dist/Popper/Popper.js +172 -149
- package/dist/Popper/index.js +1 -39
- package/dist/Popper/popperOptions.js +79 -90
- package/dist/Popper/typings.js +1 -17
- package/dist/Progress/Progress.js +186 -155
- package/dist/Progress/index.js +1 -39
- package/dist/Progress/typings.js +1 -17
- package/dist/Radio/Radio.js +162 -117
- package/dist/Radio/RadioButton.d.ts +2 -2
- package/dist/Radio/RadioButton.js +137 -117
- package/dist/Radio/index.js +1 -39
- package/dist/Radio/typings.d.ts +2 -1
- package/dist/Radio/typings.js +1 -17
- package/dist/RadioGroup/RadioGroup.js +63 -78
- package/dist/RadioGroup/index.js +1 -39
- package/dist/RadioGroup/typings.js +1 -17
- package/dist/Row/Row.js +41 -62
- package/dist/Row/RowContext.js +3 -31
- package/dist/Row/index.js +2 -42
- package/dist/Row/typings.js +1 -17
- package/dist/Scrollbar/Scrollbar.js +172 -133
- package/dist/Scrollbar/Thumb.js +108 -96
- package/dist/Scrollbar/index.js +1 -39
- package/dist/Scrollbar/typings.d.ts +11 -2
- package/dist/Scrollbar/typings.js +1 -17
- package/dist/Scrollbar/util.js +24 -51
- package/dist/Select/Option.js +50 -75
- package/dist/Select/OptionGroup.js +31 -47
- package/dist/Select/Select.js +25 -48
- package/dist/Select/SelectContext.js +8 -46
- package/dist/Select/SelectCore.js +449 -377
- package/dist/Select/SelectDropdown.js +200 -160
- package/dist/Select/index.js +2 -42
- package/dist/Select/typings.d.ts +1 -1
- package/dist/Select/typings.js +1 -17
- package/dist/Skeleton/PlaceholderGraph.js +39 -45
- package/dist/Skeleton/PlaceholderGrid.js +55 -67
- package/dist/Skeleton/PlaceholderParagraph.js +51 -52
- package/dist/Skeleton/Skeleton.js +8 -42
- package/dist/Skeleton/index.js +1 -39
- package/dist/Switch/Switch.js +183 -154
- package/dist/Switch/index.js +1 -39
- package/dist/Switch/typings.js +1 -17
- package/dist/Table/Colgroup.js +17 -41
- package/dist/Table/Table.js +246 -188
- package/dist/Table/TableBody.js +265 -200
- package/dist/Table/TableCell.js +461 -320
- package/dist/Table/TableColumn.js +9 -43
- package/dist/Table/TableContext.js +44 -63
- package/dist/Table/TableHeader.js +112 -102
- package/dist/Table/TableHeaderCell.js +211 -158
- package/dist/Table/hooks/useResize.js +69 -83
- package/dist/Table/hooks/useScroll.js +88 -114
- package/dist/Table/hooks/useSelection.js +145 -110
- package/dist/Table/hooks/useTable.js +411 -309
- package/dist/Table/index.js +2 -42
- package/dist/Table/treeUtil.js +99 -77
- package/dist/Table/typings.js +1 -17
- package/dist/Table/util.js +168 -109
- package/dist/Tabs/TabPane.js +51 -53
- package/dist/Tabs/Tabs.js +277 -178
- package/dist/Tabs/TabsContext.js +4 -32
- package/dist/Tabs/index.js +2 -42
- package/dist/Tabs/typings.js +1 -17
- package/dist/Tag/Tag.js +86 -74
- package/dist/Tag/index.js +1 -39
- package/dist/Tag/typings.js +1 -17
- package/dist/TimeLine/TimeLine.js +13 -42
- package/dist/TimeLine/TimeLineItem.js +66 -54
- package/dist/TimeLine/index.js +2 -42
- package/dist/TimeLine/typings.js +1 -17
- package/dist/TimePicker/TimePicker.d.ts +1 -4
- package/dist/TimePicker/TimePicker.js +275 -215
- package/dist/TimePicker/TimePickerPanel.js +62 -71
- package/dist/TimePicker/TimePickerRange.d.ts +4 -4
- package/dist/TimePicker/TimePickerRange.js +371 -334
- package/dist/TimePicker/TimeRangePanel.js +182 -165
- package/dist/TimePicker/TimeSpinnerPanel.js +321 -267
- package/dist/TimePicker/index.d.ts +2 -3
- package/dist/TimePicker/index.js +1 -42
- package/dist/TimePicker/main.d.ts +9 -0
- package/dist/TimePicker/main.js +17 -0
- package/dist/TimePicker/typings.d.ts +29 -24
- package/dist/TimePicker/typings.js +1 -17
- package/dist/TimePicker/useTimePicker.js +62 -65
- package/dist/TimePicker/util.js +8 -40
- package/dist/Tooltip/Tooltip.js +172 -180
- package/dist/Tooltip/TooltipContext.js +8 -46
- package/dist/Tooltip/index.js +2 -42
- package/dist/Tooltip/typings.js +1 -17
- package/dist/Transfer/List.js +290 -241
- package/dist/Transfer/ListBody.js +92 -106
- package/dist/Transfer/ListItem.js +38 -51
- package/dist/Transfer/Transfer.js +323 -280
- package/dist/Transfer/index.js +1 -39
- package/dist/Transfer/interface.js +1 -17
- package/dist/Transfer/operation.js +35 -48
- package/dist/Transfer/search.js +30 -62
- package/dist/Transfer/typings/index.js +1 -17
- package/dist/Transfer/typings/list.js +1 -17
- package/dist/Transfer/typings/listBody.js +2 -30
- package/dist/Transition/Transition.js +271 -234
- package/dist/Transition/TransitionGroup.js +136 -88
- package/dist/Transition/TransitionGroupContext.js +2 -26
- package/dist/Transition/childMapping.js +84 -71
- package/dist/Transition/index.js +2 -42
- package/dist/Transition/util.d.ts +0 -1
- package/dist/Transition/util.js +6 -47
- package/dist/Tree/DirectoryTree.js +146 -118
- package/dist/Tree/DropIndicator.js +15 -45
- package/dist/Tree/Indent.js +23 -54
- package/dist/Tree/MotionTreeNode.js +94 -95
- package/dist/Tree/NodeList.js +228 -221
- package/dist/Tree/RCTree.js +969 -702
- package/dist/Tree/Tree.js +64 -79
- package/dist/Tree/TreeNode.js +254 -255
- package/dist/Tree/contextTypes.js +8 -42
- package/dist/Tree/index.js +4 -48
- package/dist/Tree/typings.js +1 -17
- package/dist/Tree/useUnmount.js +21 -41
- package/dist/Tree/util.js +156 -134
- package/dist/Tree/utils/conductUtil.js +113 -104
- package/dist/Tree/utils/dictUtil.js +50 -78
- package/dist/Tree/utils/diffUtil.js +26 -43
- package/dist/Tree/utils/dropIndicator.js +23 -51
- package/dist/Tree/utils/iconUtil.js +44 -51
- package/dist/Tree/utils/keyUtil.js +2 -26
- package/dist/Tree/utils/motion.js +34 -72
- package/dist/Tree/utils/pickAttrs.js +30 -58
- package/dist/Tree/utils/treeUtil.js +263 -203
- package/dist/TreeSelect/TreeSelect.js +521 -459
- package/dist/TreeSelect/Utils.js +15 -36
- package/dist/TreeSelect/index.js +1 -39
- package/dist/TreeSelect/typings.d.ts +1 -1
- package/dist/TreeSelect/typings.js +1 -17
- package/dist/Upload/Upload.js +106 -109
- package/dist/Upload/UploadContent.js +227 -182
- package/dist/Upload/UploadContext.js +5 -33
- package/dist/Upload/UploadDrag.js +77 -97
- package/dist/Upload/UploadList.js +104 -73
- package/dist/Upload/ajax.js +45 -71
- package/dist/Upload/index.js +1 -39
- package/dist/Upload/typings.js +34 -36
- package/dist/Upload/use-handlers.js +182 -126
- package/dist/Util/Math.js +81 -78
- package/dist/Util/PopupManager.js +5 -27
- package/dist/Util/base.js +101 -171
- package/dist/Util/genFileId.js +3 -29
- package/dist/Util/index.js +6 -51
- package/dist/Util/resize-event.js +31 -54
- package/dist/Util/shallowEqual.js +30 -28
- package/dist/Util/treeUtils.js +68 -64
- package/dist/config/Constants.js +17 -47
- package/dist/display.css +1 -0
- package/dist/hooks/animationPropsUtils.js +25 -49
- package/dist/hooks/htmlPropsUtils.js +54 -121
- package/dist/hooks/index.js +14 -73
- package/dist/hooks/popperPropsUtils.js +25 -67
- package/dist/hooks/prefix.js +22 -55
- package/dist/hooks/treePropsUtils.js +24 -103
- package/dist/hooks/useChildrenInstance.js +51 -60
- package/dist/hooks/useClassNames.d.ts +2 -0
- package/dist/hooks/useClassNames.js +279 -197
- package/dist/hooks/useClickOutside.js +37 -62
- package/dist/hooks/useCommonProps.js +17 -53
- package/dist/hooks/useComponentWillMount.js +4 -28
- package/dist/hooks/useControlled.js +31 -37
- package/dist/hooks/useForceUpdate.js +16 -34
- package/dist/hooks/useUpdateEffect.js +6 -29
- package/dist/index.css +1 -57810
- package/dist/index.d.ts +0 -2
- package/dist/index.js +69 -237
- package/dist/theme-chalk/common/index.js +1 -2
- package/dist/theme-chalk/common/index.scss +2 -2
- package/dist/theme-chalk/date-picker/index.scss +1 -1
- package/dist/theme-chalk/display.scss +46 -0
- package/dist/theme-chalk/form/index.scss +21 -2
- package/dist/types/common.js +1 -17
- package/dist/types/type.js +16 -28
- package/package.json +6 -1
- package/theme-chalk/common/index.scss +2 -2
- package/theme-chalk/date-picker/index.scss +1 -1
- package/theme-chalk/display.scss +46 -0
- package/theme-chalk/form/index.scss +21 -2
package/dist/Form/FormItem.js
CHANGED
|
@@ -1,463 +1,731 @@
|
|
|
1
|
-
var
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
));
|
|
27
|
-
var
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
var import_FormItemContext = require("./FormItemContext");
|
|
44
|
-
var import_classUtil = require("./utils/classUtil");
|
|
45
|
-
var import_typeUtil = require("./utils/typeUtil");
|
|
46
|
-
var import_validateUtil = require("./utils/validateUtil");
|
|
47
|
-
var import_valueUtil = require("./utils/valueUtil");
|
|
1
|
+
var _excluded = ["name", "rules"];
|
|
2
|
+
var _templateObject, _templateObject2, _templateObject3, _templateObject4, _templateObject5;
|
|
3
|
+
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
|
4
|
+
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
5
|
+
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; }
|
|
6
|
+
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; }
|
|
7
|
+
function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
|
|
8
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
9
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
10
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
11
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
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
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
14
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
15
|
+
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; }
|
|
16
|
+
function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
|
|
17
|
+
function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
|
|
18
|
+
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
19
|
+
function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
|
|
20
|
+
function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
|
|
21
|
+
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
|
|
22
|
+
function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
|
|
23
|
+
function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
|
|
24
|
+
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
25
|
+
function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
|
|
26
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
27
|
+
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
28
|
+
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
29
|
+
import classNames from 'classnames';
|
|
30
|
+
import head from 'lodash/head';
|
|
31
|
+
import React, { Children, cloneElement, createRef, isValidElement, memo, useContext } from 'react';
|
|
32
|
+
import Icon from "../Icon/Icon";
|
|
33
|
+
import Tooltip from "../Tooltip/Tooltip";
|
|
34
|
+
import Transition from "../Transition/Transition";
|
|
35
|
+
import { addUnit, isNotEmpty, warning } from "../Util";
|
|
36
|
+
import FieldContext, { HOOK_MARK } from "./FieldContext";
|
|
37
|
+
import { FormItemContext } from "./FormItemContext";
|
|
38
|
+
import { b, e, m } from "./utils/classUtil";
|
|
39
|
+
import get from "./utils/get";
|
|
40
|
+
import { toArray } from "./utils/typeUtil";
|
|
41
|
+
import { validateRules } from "./utils/validateUtil";
|
|
42
|
+
import { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from "./utils/valueUtil";
|
|
48
43
|
var EMPTY_ERRORS = [];
|
|
49
44
|
function requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {
|
|
50
|
-
if (typeof shouldUpdate ===
|
|
51
|
-
return shouldUpdate(prev, next,
|
|
45
|
+
if (typeof shouldUpdate === 'function') {
|
|
46
|
+
return shouldUpdate(prev, next, 'source' in info ? {
|
|
47
|
+
source: info.source
|
|
48
|
+
} : {});
|
|
52
49
|
}
|
|
53
50
|
return prevValue !== nextValue;
|
|
54
51
|
}
|
|
55
|
-
|
|
52
|
+
|
|
53
|
+
// eslint-disable-next-line @typescript-eslint/consistent-indexed-object-style
|
|
54
|
+
// We use Class instead of Hooks here since it will cost much code by using Hooks.
|
|
55
|
+
var Field = /*#__PURE__*/function (_React$Component) {
|
|
56
|
+
_inherits(Field, _React$Component);
|
|
57
|
+
var _super = _createSuper(Field);
|
|
56
58
|
// ============================== Subscriptions ==============================
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
this
|
|
59
|
+
function Field(props) {
|
|
60
|
+
var _this;
|
|
61
|
+
_classCallCheck(this, Field);
|
|
62
|
+
_this = _super.call(this, props);
|
|
63
|
+
|
|
64
|
+
// Register on init
|
|
65
|
+
_defineProperty(_assertThisInitialized(_this), "state", {
|
|
60
66
|
resetCount: 0
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
/**
|
|
65
|
-
* Follow state should not management in State since it will async update by
|
|
66
|
-
* This makes first render of form can not get correct state value.
|
|
67
|
+
});
|
|
68
|
+
_defineProperty(_assertThisInitialized(_this), "cancelRegisterFunc", null);
|
|
69
|
+
_defineProperty(_assertThisInitialized(_this), "mounted", false);
|
|
70
|
+
/**
|
|
71
|
+
* Follow state should not management in State since it will async update by
|
|
72
|
+
* This makes first render of form can not get correct state value.
|
|
67
73
|
*/
|
|
68
|
-
|
|
69
|
-
/**
|
|
70
|
-
* Mark when touched & validated. Currently only used for `dependencies`.
|
|
71
|
-
* Note that we do not think field with `initialValue` is dirty
|
|
72
|
-
* but this will be by `isFieldDirty` func.
|
|
74
|
+
_defineProperty(_assertThisInitialized(_this), "touched", false);
|
|
75
|
+
/**
|
|
76
|
+
* Mark when touched & validated. Currently only used for `dependencies`.
|
|
77
|
+
* Note that we do not think field with `initialValue` is dirty
|
|
78
|
+
* but this will be by `isFieldDirty` func.
|
|
73
79
|
*/
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
_defineProperty(_assertThisInitialized(_this), "dirty", false);
|
|
81
|
+
_defineProperty(_assertThisInitialized(_this), "validatePromise", null);
|
|
82
|
+
_defineProperty(_assertThisInitialized(_this), "prevValidating", void 0);
|
|
83
|
+
_defineProperty(_assertThisInitialized(_this), "errors", EMPTY_ERRORS);
|
|
84
|
+
_defineProperty(_assertThisInitialized(_this), "warnings", EMPTY_ERRORS);
|
|
85
|
+
_defineProperty(_assertThisInitialized(_this), "warningRef", void 0);
|
|
86
|
+
_defineProperty(_assertThisInitialized(_this), "errorRef", void 0);
|
|
87
|
+
_defineProperty(_assertThisInitialized(_this), "containerRef", void 0);
|
|
88
|
+
_defineProperty(_assertThisInitialized(_this), "cancelRegister", function () {
|
|
89
|
+
var _this$props = _this.props,
|
|
90
|
+
preserve = _this$props.preserve,
|
|
91
|
+
isListField = _this$props.isListField,
|
|
92
|
+
name = _this$props.name;
|
|
93
|
+
if (_this.cancelRegisterFunc) {
|
|
94
|
+
_this.cancelRegisterFunc(isListField, preserve, getNamePath(name));
|
|
82
95
|
}
|
|
83
|
-
|
|
84
|
-
};
|
|
96
|
+
_this.cancelRegisterFunc = null;
|
|
97
|
+
});
|
|
85
98
|
// ================================== Utils ==================================
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
99
|
+
_defineProperty(_assertThisInitialized(_this), "getNamePath", function () {
|
|
100
|
+
var _this$props2 = _this.props,
|
|
101
|
+
name = _this$props2.name,
|
|
102
|
+
fieldContext = _this$props2.fieldContext;
|
|
103
|
+
var _fieldContext$prefixN = fieldContext.prefixName,
|
|
104
|
+
prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;
|
|
105
|
+
return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];
|
|
106
|
+
});
|
|
107
|
+
_defineProperty(_assertThisInitialized(_this), "getRules", function () {
|
|
108
|
+
var _this$props3 = _this.props,
|
|
109
|
+
_this$props3$rules = _this$props3.rules,
|
|
110
|
+
rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,
|
|
111
|
+
fieldContext = _this$props3.fieldContext;
|
|
112
|
+
return rules.map(function (rule) {
|
|
113
|
+
if (typeof rule === 'function') {
|
|
95
114
|
return rule(fieldContext);
|
|
96
115
|
}
|
|
97
116
|
return rule;
|
|
98
117
|
});
|
|
99
|
-
};
|
|
100
|
-
|
|
101
|
-
if (!
|
|
118
|
+
});
|
|
119
|
+
_defineProperty(_assertThisInitialized(_this), "refresh", function () {
|
|
120
|
+
if (!_this.mounted) {
|
|
102
121
|
return;
|
|
103
122
|
}
|
|
104
|
-
|
|
105
|
-
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Clean up current node.
|
|
126
|
+
*/
|
|
127
|
+
_this.setState(function (_ref) {
|
|
128
|
+
var resetCount = _ref.resetCount;
|
|
129
|
+
return {
|
|
130
|
+
resetCount: resetCount + 1
|
|
131
|
+
};
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
_defineProperty(_assertThisInitialized(_this), "triggerMetaEvent", function (destroy) {
|
|
135
|
+
var onMetaChange = _this.props.onMetaChange;
|
|
136
|
+
onMetaChange === null || onMetaChange === void 0 || onMetaChange(_objectSpread(_objectSpread({}, _this.getMeta()), {}, {
|
|
137
|
+
destroy: destroy
|
|
106
138
|
}));
|
|
107
|
-
};
|
|
108
|
-
this.triggerMetaEvent = (destroy) => {
|
|
109
|
-
const { onMetaChange } = this.props;
|
|
110
|
-
onMetaChange == null ? void 0 : onMetaChange({ ...this.getMeta(), destroy });
|
|
111
|
-
};
|
|
139
|
+
});
|
|
112
140
|
// ========================= Field Entity Interfaces =========================
|
|
113
141
|
// Trigger by store update. Check if need update the component
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
142
|
+
_defineProperty(_assertThisInitialized(_this), "onStoreChange", function (prevStore, namePathList, info) {
|
|
143
|
+
var _this$props4 = _this.props,
|
|
144
|
+
shouldUpdate = _this$props4.shouldUpdate,
|
|
145
|
+
_this$props4$dependen = _this$props4.dependencies,
|
|
146
|
+
dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,
|
|
147
|
+
onReset = _this$props4.onReset;
|
|
148
|
+
var store = info.store;
|
|
149
|
+
var namePath = _this.getNamePath();
|
|
150
|
+
var prevValue = _this.getValue(prevStore);
|
|
151
|
+
var curValue = _this.getValue(store);
|
|
152
|
+
var namePathMatch = namePathList && containsNamePath(namePathList, namePath);
|
|
153
|
+
|
|
154
|
+
// `setFieldsValue` is a quick access to update related status
|
|
155
|
+
if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {
|
|
156
|
+
_this.touched = true;
|
|
157
|
+
_this.dirty = true;
|
|
158
|
+
_this.validatePromise = null;
|
|
159
|
+
_this.errors = EMPTY_ERRORS;
|
|
160
|
+
_this.warnings = EMPTY_ERRORS;
|
|
161
|
+
_this.triggerMetaEvent();
|
|
128
162
|
}
|
|
129
163
|
switch (info.type) {
|
|
130
|
-
case
|
|
164
|
+
case 'reset':
|
|
131
165
|
if (!namePathList || namePathMatch) {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
166
|
+
// Clean up state
|
|
167
|
+
_this.touched = false;
|
|
168
|
+
_this.dirty = false;
|
|
169
|
+
_this.validatePromise = null;
|
|
170
|
+
_this.errors = EMPTY_ERRORS;
|
|
171
|
+
_this.warnings = EMPTY_ERRORS;
|
|
172
|
+
_this.triggerMetaEvent();
|
|
173
|
+
onReset === null || onReset === void 0 || onReset();
|
|
174
|
+
_this.refresh();
|
|
140
175
|
return;
|
|
141
176
|
}
|
|
142
177
|
break;
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
case
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
if ("validating" in data && !("originRCField" in data)) {
|
|
157
|
-
this.validatePromise = data.validating ? Promise.resolve([]) : null;
|
|
178
|
+
|
|
179
|
+
/**
|
|
180
|
+
* In case field with `preserve = false` nest deps like:
|
|
181
|
+
* - A = 1 => show B
|
|
182
|
+
* - B = 1 => show C
|
|
183
|
+
* - Reset A, need clean B, C
|
|
184
|
+
*/
|
|
185
|
+
case 'remove':
|
|
186
|
+
{
|
|
187
|
+
if (shouldUpdate) {
|
|
188
|
+
_this.reRender();
|
|
189
|
+
return;
|
|
158
190
|
}
|
|
159
|
-
|
|
160
|
-
|
|
191
|
+
break;
|
|
192
|
+
}
|
|
193
|
+
case 'setField':
|
|
194
|
+
{
|
|
195
|
+
if (namePathMatch) {
|
|
196
|
+
var data = info.data;
|
|
197
|
+
if ('touched' in data) {
|
|
198
|
+
_this.touched = data.touched;
|
|
199
|
+
}
|
|
200
|
+
if ('validating' in data && !('originRCField' in data)) {
|
|
201
|
+
_this.validatePromise = data.validating ? Promise.resolve([]) : null;
|
|
202
|
+
}
|
|
203
|
+
if ('errors' in data) {
|
|
204
|
+
_this.errors = data.errors || EMPTY_ERRORS;
|
|
205
|
+
}
|
|
206
|
+
if ('warnings' in data) {
|
|
207
|
+
_this.warnings = data.warnings || EMPTY_ERRORS;
|
|
208
|
+
}
|
|
209
|
+
_this.dirty = true;
|
|
210
|
+
_this.triggerMetaEvent();
|
|
211
|
+
_this.reRender();
|
|
212
|
+
return;
|
|
161
213
|
}
|
|
162
|
-
|
|
163
|
-
|
|
214
|
+
|
|
215
|
+
// Handle update by `setField` with `shouldUpdate`
|
|
216
|
+
if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {
|
|
217
|
+
_this.reRender();
|
|
218
|
+
return;
|
|
164
219
|
}
|
|
165
|
-
|
|
166
|
-
this.triggerMetaEvent();
|
|
167
|
-
this.reRender();
|
|
168
|
-
return;
|
|
220
|
+
break;
|
|
169
221
|
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
222
|
+
case 'dependenciesUpdate':
|
|
223
|
+
{
|
|
224
|
+
//
|
|
225
|
+
/**
|
|
226
|
+
* Trigger when marked `dependencies` updated. Related fields will all update
|
|
227
|
+
*/
|
|
228
|
+
var dependencyList = dependencies.map(getNamePath);
|
|
229
|
+
// No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be
|
|
230
|
+
// emitted earlier and they will work there
|
|
231
|
+
// If set it may cause unnecessary twice rerendering
|
|
232
|
+
if (dependencyList.some(function (dependency) {
|
|
233
|
+
return containsNamePath(info.relatedFields, dependency);
|
|
234
|
+
})) {
|
|
235
|
+
_this.reRender();
|
|
236
|
+
return;
|
|
237
|
+
}
|
|
238
|
+
break;
|
|
181
239
|
}
|
|
182
|
-
break;
|
|
183
|
-
}
|
|
184
240
|
default:
|
|
241
|
+
// 1. If `namePath` exists in `namePathList`, means it's related value and should update
|
|
242
|
+
// For example <List name="list"><Field name={['list', 0]}/>
|
|
243
|
+
// If `namePathList` is [['list']] (List value update), Field should be updated
|
|
244
|
+
// If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated
|
|
245
|
+
// 2.
|
|
246
|
+
// 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,
|
|
247
|
+
// don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`
|
|
248
|
+
// is not provided
|
|
249
|
+
// 2.2 If `shouldUpdate` provided, use customize logic to update the field
|
|
250
|
+
// else to check if value changed
|
|
185
251
|
if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {
|
|
186
|
-
|
|
252
|
+
_this.reRender();
|
|
187
253
|
return;
|
|
188
254
|
}
|
|
189
255
|
break;
|
|
190
256
|
}
|
|
191
257
|
if (shouldUpdate === true) {
|
|
192
|
-
|
|
258
|
+
_this.reRender();
|
|
193
259
|
}
|
|
194
|
-
};
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
260
|
+
});
|
|
261
|
+
_defineProperty(_assertThisInitialized(_this), "validateRules", function (options) {
|
|
262
|
+
// We should fixed namePath & value to avoid developer change then by form function
|
|
263
|
+
var namePath = _this.getNamePath();
|
|
264
|
+
var currentValue = _this.getValue();
|
|
265
|
+
|
|
266
|
+
// Force change to async to avoid rule OOD under renderProps field
|
|
267
|
+
var rootPromise = Promise.resolve().then(function () {
|
|
268
|
+
if (!_this.mounted) {
|
|
200
269
|
return [];
|
|
201
270
|
}
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
271
|
+
var _this$props5 = _this.props,
|
|
272
|
+
_this$props5$validate = _this$props5.validateFirst,
|
|
273
|
+
validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,
|
|
274
|
+
messageVariables = _this$props5.messageVariables;
|
|
275
|
+
var _ref2 = options || {},
|
|
276
|
+
triggerName = _ref2.triggerName;
|
|
277
|
+
var filteredRules = _this.getRules();
|
|
205
278
|
if (triggerName) {
|
|
206
|
-
filteredRules = filteredRules.filter(
|
|
207
|
-
|
|
279
|
+
filteredRules = filteredRules.filter(function (rule) {
|
|
280
|
+
return rule;
|
|
281
|
+
}).filter(function (rule) {
|
|
282
|
+
var validateTrigger = rule.validateTrigger;
|
|
208
283
|
if (!validateTrigger) {
|
|
209
284
|
return true;
|
|
210
285
|
}
|
|
211
|
-
|
|
286
|
+
var triggerList = toArray(validateTrigger);
|
|
212
287
|
return triggerList.includes(triggerName);
|
|
213
288
|
});
|
|
214
289
|
}
|
|
215
|
-
|
|
216
|
-
promise.catch(
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
290
|
+
var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);
|
|
291
|
+
promise.catch(function (e) {
|
|
292
|
+
return e;
|
|
293
|
+
}).then(function () {
|
|
294
|
+
var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;
|
|
295
|
+
if (_this.validatePromise === rootPromise) {
|
|
296
|
+
var _ruleErrors$forEach;
|
|
297
|
+
_this.validatePromise = null;
|
|
298
|
+
|
|
299
|
+
// Get errors & warnings
|
|
300
|
+
var nextErrors = [];
|
|
301
|
+
var nextWarnings = [];
|
|
302
|
+
(_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 || _ruleErrors$forEach.call(ruleErrors, function (_ref3) {
|
|
303
|
+
var warningOnly = _ref3.rule.warningOnly,
|
|
304
|
+
_ref3$errors = _ref3.errors,
|
|
305
|
+
errors = _ref3$errors === void 0 ? EMPTY_ERRORS : _ref3$errors;
|
|
223
306
|
if (warningOnly) {
|
|
224
|
-
nextWarnings.push(
|
|
307
|
+
nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));
|
|
225
308
|
} else {
|
|
226
|
-
nextErrors.push(
|
|
309
|
+
nextErrors.push.apply(nextErrors, _toConsumableArray(errors));
|
|
227
310
|
}
|
|
228
311
|
});
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
312
|
+
_this.errors = nextErrors;
|
|
313
|
+
_this.warnings = nextWarnings;
|
|
314
|
+
_this.triggerMetaEvent();
|
|
315
|
+
_this.reRender();
|
|
233
316
|
}
|
|
234
317
|
});
|
|
235
318
|
return promise;
|
|
236
319
|
});
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
320
|
+
_this.validatePromise = rootPromise;
|
|
321
|
+
_this.dirty = true;
|
|
322
|
+
_this.errors = EMPTY_ERRORS;
|
|
323
|
+
_this.warnings = EMPTY_ERRORS;
|
|
324
|
+
_this.triggerMetaEvent();
|
|
325
|
+
|
|
326
|
+
// Force trigger re-render since we need sync renderProps with new meta
|
|
327
|
+
_this.reRender();
|
|
243
328
|
return rootPromise;
|
|
244
|
-
};
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
329
|
+
});
|
|
330
|
+
_defineProperty(_assertThisInitialized(_this), "isFieldValidating", function () {
|
|
331
|
+
return !!_this.validatePromise;
|
|
332
|
+
});
|
|
333
|
+
_defineProperty(_assertThisInitialized(_this), "isFieldTouched", function () {
|
|
334
|
+
return _this.touched;
|
|
335
|
+
});
|
|
336
|
+
_defineProperty(_assertThisInitialized(_this), "isFieldDirty", function () {
|
|
337
|
+
// Touched or validate or has initialValue
|
|
338
|
+
if (_this.dirty || _this.props.initialValue !== undefined) {
|
|
249
339
|
return true;
|
|
250
340
|
}
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
341
|
+
|
|
342
|
+
// Form set initialValue
|
|
343
|
+
var fieldContext = _this.props.fieldContext;
|
|
344
|
+
var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),
|
|
345
|
+
getInitialValue = _fieldContext$getInte.getInitialValue;
|
|
346
|
+
if (getInitialValue(_this.getNamePath()) !== undefined) {
|
|
254
347
|
return true;
|
|
255
348
|
}
|
|
256
349
|
return false;
|
|
257
|
-
};
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
350
|
+
});
|
|
351
|
+
_defineProperty(_assertThisInitialized(_this), "getErrors", function () {
|
|
352
|
+
return _this.errors;
|
|
353
|
+
});
|
|
354
|
+
_defineProperty(_assertThisInitialized(_this), "getWarnings", function () {
|
|
355
|
+
return _this.warnings;
|
|
356
|
+
});
|
|
357
|
+
_defineProperty(_assertThisInitialized(_this), "isListField", function () {
|
|
358
|
+
return _this.props.isListField;
|
|
359
|
+
});
|
|
360
|
+
_defineProperty(_assertThisInitialized(_this), "isList", function () {
|
|
361
|
+
return _this.props.isList;
|
|
362
|
+
});
|
|
363
|
+
_defineProperty(_assertThisInitialized(_this), "isPreserve", function () {
|
|
364
|
+
return _this.props.preserve;
|
|
365
|
+
});
|
|
263
366
|
// ============================= Child Component =============================
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
367
|
+
_defineProperty(_assertThisInitialized(_this), "getMeta", function () {
|
|
368
|
+
// Make error & validating in cache to save perf
|
|
369
|
+
_this.prevValidating = _this.isFieldValidating();
|
|
370
|
+
var meta = {
|
|
371
|
+
touched: _this.isFieldTouched(),
|
|
372
|
+
validating: _this.prevValidating,
|
|
373
|
+
errors: _this.errors,
|
|
374
|
+
warnings: _this.warnings,
|
|
375
|
+
name: _this.getNamePath()
|
|
272
376
|
};
|
|
273
377
|
return meta;
|
|
274
|
-
};
|
|
378
|
+
});
|
|
275
379
|
// Only return validate child node. If invalidate, will do nothing about field.
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
380
|
+
_defineProperty(_assertThisInitialized(_this), "getOnlyChild", function (children) {
|
|
381
|
+
// Support render props
|
|
382
|
+
if (typeof children === 'function') {
|
|
383
|
+
var _meta = _this.getMeta();
|
|
384
|
+
return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), _meta, _this.props.fieldContext))), {}, {
|
|
281
385
|
isFunction: true
|
|
282
|
-
};
|
|
386
|
+
});
|
|
283
387
|
}
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
388
|
+
|
|
389
|
+
// Filed element only
|
|
390
|
+
var childList = Children.toArray(children);
|
|
391
|
+
if (childList.length !== 1 || ! /*#__PURE__*/isValidElement(childList[0])) {
|
|
392
|
+
// @ts-ignore
|
|
393
|
+
return {
|
|
394
|
+
child: childList,
|
|
395
|
+
isFunction: false
|
|
396
|
+
};
|
|
287
397
|
}
|
|
288
|
-
|
|
289
|
-
|
|
398
|
+
|
|
399
|
+
// @ts-ignore
|
|
400
|
+
return {
|
|
401
|
+
child: childList[0],
|
|
402
|
+
isFunction: false
|
|
403
|
+
};
|
|
404
|
+
});
|
|
290
405
|
// ============================== Field Control ==============================
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
return
|
|
295
|
-
};
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
406
|
+
_defineProperty(_assertThisInitialized(_this), "getValue", function (store) {
|
|
407
|
+
var getFieldsValue = _this.props.fieldContext.getFieldsValue;
|
|
408
|
+
var namePath = _this.getNamePath();
|
|
409
|
+
return getValue(store || getFieldsValue(true), namePath);
|
|
410
|
+
});
|
|
411
|
+
_defineProperty(_assertThisInitialized(_this), "getControlled", function () {
|
|
412
|
+
var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
413
|
+
var _this$props6 = _this.props,
|
|
414
|
+
trigger = _this$props6.trigger,
|
|
415
|
+
validateTrigger = _this$props6.validateTrigger,
|
|
416
|
+
getValueFromEvent = _this$props6.getValueFromEvent,
|
|
417
|
+
normalize = _this$props6.normalize,
|
|
418
|
+
valuePropName = _this$props6.valuePropName,
|
|
419
|
+
getValueProps = _this$props6.getValueProps,
|
|
420
|
+
fieldContext = _this$props6.fieldContext;
|
|
421
|
+
var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;
|
|
422
|
+
var namePath = _this.getNamePath();
|
|
423
|
+
var getInternalHooks = fieldContext.getInternalHooks,
|
|
424
|
+
getFieldsValue = fieldContext.getFieldsValue;
|
|
425
|
+
var _getInternalHooks = getInternalHooks(HOOK_MARK),
|
|
426
|
+
dispatch = _getInternalHooks.dispatch;
|
|
427
|
+
var value = _this.getValue();
|
|
428
|
+
var mergedGetValueProps = getValueProps || function (val) {
|
|
429
|
+
return _defineProperty({}, valuePropName, val);
|
|
311
430
|
};
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
431
|
+
|
|
432
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
433
|
+
var originTriggerFunc = childProps[trigger];
|
|
434
|
+
var control = _objectSpread(_objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value)), {}, {
|
|
435
|
+
error: _this.errors.length > 0,
|
|
436
|
+
warning: _this.warnings.length > 0,
|
|
437
|
+
onClear: _this.onClear
|
|
438
|
+
});
|
|
439
|
+
|
|
440
|
+
// Add trigger
|
|
441
|
+
control[trigger] = function () {
|
|
442
|
+
// Mark as touched
|
|
443
|
+
_this.touched = true;
|
|
444
|
+
_this.dirty = true;
|
|
445
|
+
_this.triggerMetaEvent();
|
|
446
|
+
var newValue;
|
|
447
|
+
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
448
|
+
args[_key] = arguments[_key];
|
|
449
|
+
}
|
|
317
450
|
if (getValueFromEvent) {
|
|
318
|
-
newValue = getValueFromEvent(
|
|
451
|
+
newValue = getValueFromEvent.apply(void 0, args);
|
|
319
452
|
} else {
|
|
320
|
-
newValue = (0,
|
|
453
|
+
newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));
|
|
321
454
|
}
|
|
322
455
|
if (normalize) {
|
|
323
456
|
newValue = normalize(newValue, value, getFieldsValue(true));
|
|
324
457
|
}
|
|
325
458
|
dispatch({
|
|
326
|
-
type:
|
|
327
|
-
namePath,
|
|
459
|
+
type: 'updateValue',
|
|
460
|
+
namePath: namePath,
|
|
328
461
|
value: newValue
|
|
329
462
|
});
|
|
330
463
|
if (originTriggerFunc) {
|
|
331
|
-
originTriggerFunc(
|
|
464
|
+
originTriggerFunc.apply(void 0, args);
|
|
332
465
|
}
|
|
333
466
|
};
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
467
|
+
|
|
468
|
+
// Add validateTrigger
|
|
469
|
+
var validateTriggerList = toArray(mergedValidateTrigger || []);
|
|
470
|
+
validateTriggerList.forEach(function (triggerName) {
|
|
471
|
+
// Wrap additional function of component, so that we can get latest value from store
|
|
472
|
+
var originTrigger = control[triggerName];
|
|
473
|
+
control[triggerName] = function () {
|
|
338
474
|
if (originTrigger) {
|
|
339
|
-
originTrigger(
|
|
475
|
+
originTrigger.apply(void 0, arguments);
|
|
340
476
|
}
|
|
341
|
-
|
|
477
|
+
|
|
478
|
+
// Always use latest rules
|
|
479
|
+
var rules = _this.props.rules;
|
|
342
480
|
if (rules && rules.length) {
|
|
481
|
+
// We dispatch validate to root,
|
|
482
|
+
// since it will update related data with other field with same name
|
|
343
483
|
dispatch({
|
|
344
|
-
type:
|
|
345
|
-
namePath,
|
|
346
|
-
triggerName
|
|
484
|
+
type: 'validateField',
|
|
485
|
+
namePath: namePath,
|
|
486
|
+
triggerName: triggerName
|
|
347
487
|
});
|
|
348
488
|
}
|
|
349
489
|
};
|
|
350
490
|
});
|
|
351
491
|
return control;
|
|
352
|
-
};
|
|
353
|
-
|
|
354
|
-
var
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
492
|
+
});
|
|
493
|
+
_defineProperty(_assertThisInitialized(_this), "onClear", function () {
|
|
494
|
+
var _this$props7, _this$props7$onClear;
|
|
495
|
+
_this.touched = true;
|
|
496
|
+
var getInternalHooks = _this.props.fieldContext.getInternalHooks;
|
|
497
|
+
var _getInternalHooks2 = getInternalHooks(HOOK_MARK),
|
|
498
|
+
dispatch = _getInternalHooks2.dispatch;
|
|
358
499
|
dispatch({
|
|
359
|
-
type:
|
|
360
|
-
namePath:
|
|
361
|
-
value:
|
|
500
|
+
type: 'updateValue',
|
|
501
|
+
namePath: _this.getNamePath(),
|
|
502
|
+
value: ''
|
|
362
503
|
});
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
504
|
+
// @ts-ignore
|
|
505
|
+
(_this$props7 = _this.props) === null || _this$props7 === void 0 || (_this$props7 = _this$props7.children) === null || _this$props7 === void 0 || (_this$props7 = _this$props7.props) === null || _this$props7 === void 0 || (_this$props7$onClear = _this$props7.onClear) === null || _this$props7$onClear === void 0 || _this$props7$onClear.call(_this$props7);
|
|
506
|
+
});
|
|
507
|
+
_defineProperty(_assertThisInitialized(_this), "getLabelWidth", function () {
|
|
508
|
+
var _this$props$labelPosi;
|
|
509
|
+
var _this$props8 = _this.props,
|
|
510
|
+
pure = _this$props8.pure,
|
|
511
|
+
fieldContext = _this$props8.fieldContext,
|
|
512
|
+
labelWidth = _this$props8.labelWidth;
|
|
513
|
+
var labelWidthContext = fieldContext.labelWidth,
|
|
514
|
+
contextLabelPos = fieldContext.labelPosition;
|
|
515
|
+
var labelPosition = (_this$props$labelPosi = _this.props.labelPosition) !== null && _this$props$labelPosi !== void 0 ? _this$props$labelPosi : contextLabelPos;
|
|
516
|
+
if (labelPosition === 'top') {
|
|
369
517
|
return 0;
|
|
370
|
-
} else if (
|
|
371
|
-
return labelWidth;
|
|
518
|
+
} else if (isNotEmpty(labelWidth)) {
|
|
519
|
+
return addUnit(labelWidth);
|
|
372
520
|
} else if (pure === true) {
|
|
373
521
|
return 0;
|
|
374
522
|
} else {
|
|
375
523
|
return labelWidthContext;
|
|
376
524
|
}
|
|
377
|
-
};
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
525
|
+
});
|
|
526
|
+
_defineProperty(_assertThisInitialized(_this), "getValidateLable", function () {
|
|
527
|
+
var _this$props9 = _this.props,
|
|
528
|
+
errorStyle = _this$props9.errorStyle,
|
|
529
|
+
warningStyle = _this$props9.warningStyle;
|
|
530
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Transition, {
|
|
531
|
+
nodeRef: _this.errorRef,
|
|
532
|
+
name: b('slide-up'),
|
|
533
|
+
visible: _this.errors.length > 0,
|
|
534
|
+
transitionAppear: true,
|
|
535
|
+
unmountOnExit: true,
|
|
536
|
+
display: ""
|
|
537
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
538
|
+
ref: _this.errorRef,
|
|
539
|
+
className: e(_templateObject || (_templateObject = _taggedTemplateLiteral(["error"]))),
|
|
540
|
+
style: errorStyle
|
|
541
|
+
}, head(_this.errors))), /*#__PURE__*/React.createElement(Transition, {
|
|
542
|
+
nodeRef: _this.warningRef,
|
|
543
|
+
name: b('slide-up'),
|
|
544
|
+
visible: _this.warnings.length > 0,
|
|
545
|
+
transitionAppear: true,
|
|
546
|
+
unmountOnExit: true,
|
|
547
|
+
display: ""
|
|
548
|
+
}, /*#__PURE__*/React.createElement("label", {
|
|
549
|
+
ref: _this.warningRef,
|
|
550
|
+
className: e(_templateObject2 || (_templateObject2 = _taggedTemplateLiteral(["warning"]))),
|
|
551
|
+
style: warningStyle
|
|
552
|
+
}, head(_this.warnings))));
|
|
553
|
+
});
|
|
382
554
|
if (props.fieldContext) {
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
555
|
+
var getInternalHooks = props.fieldContext.getInternalHooks;
|
|
556
|
+
var _getInternalHooks3 = getInternalHooks(HOOK_MARK),
|
|
557
|
+
initEntityValue = _getInternalHooks3.initEntityValue;
|
|
558
|
+
initEntityValue(_assertThisInitialized(_this));
|
|
386
559
|
}
|
|
387
|
-
|
|
388
|
-
|
|
560
|
+
_this.warningRef = /*#__PURE__*/createRef();
|
|
561
|
+
_this.errorRef = /*#__PURE__*/createRef();
|
|
562
|
+
_this.containerRef = /*#__PURE__*/createRef();
|
|
563
|
+
return _this;
|
|
389
564
|
}
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
this.
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
565
|
+
_createClass(Field, [{
|
|
566
|
+
key: "componentDidMount",
|
|
567
|
+
value: function componentDidMount() {
|
|
568
|
+
var _this$props10 = this.props,
|
|
569
|
+
shouldUpdate = _this$props10.shouldUpdate,
|
|
570
|
+
fieldContext = _this$props10.fieldContext;
|
|
571
|
+
this.mounted = true;
|
|
572
|
+
|
|
573
|
+
// Register on init
|
|
574
|
+
if (fieldContext) {
|
|
575
|
+
var getInternalHooks = fieldContext.getInternalHooks;
|
|
576
|
+
var _getInternalHooks4 = getInternalHooks(HOOK_MARK),
|
|
577
|
+
registerField = _getInternalHooks4.registerField;
|
|
578
|
+
this.cancelRegisterFunc = registerField(this);
|
|
579
|
+
}
|
|
580
|
+
|
|
581
|
+
// One more render for component in case fields not ready
|
|
582
|
+
if (shouldUpdate === true) {
|
|
583
|
+
this.reRender();
|
|
584
|
+
}
|
|
400
585
|
}
|
|
401
|
-
}
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
reRender() {
|
|
408
|
-
if (!this.mounted) {
|
|
409
|
-
return;
|
|
586
|
+
}, {
|
|
587
|
+
key: "componentWillUnmount",
|
|
588
|
+
value: function componentWillUnmount() {
|
|
589
|
+
this.cancelRegister();
|
|
590
|
+
this.triggerMetaEvent(true);
|
|
591
|
+
this.mounted = false;
|
|
410
592
|
}
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
const { child, isFunction } = this.getOnlyChild(children);
|
|
419
|
-
const isRequired = this.props.required || this.getRules().some((item) => item.required);
|
|
420
|
-
let returnChildNode;
|
|
421
|
-
if (isFunction) {
|
|
422
|
-
returnChildNode = child;
|
|
423
|
-
} else if ((0, import_react.isValidElement)(child)) {
|
|
424
|
-
returnChildNode = (0, import_react.cloneElement)(child, this.getControlled(child.props));
|
|
425
|
-
} else {
|
|
426
|
-
returnChildNode = child;
|
|
593
|
+
}, {
|
|
594
|
+
key: "reRender",
|
|
595
|
+
value: function reRender() {
|
|
596
|
+
if (!this.mounted) {
|
|
597
|
+
return;
|
|
598
|
+
}
|
|
599
|
+
this.forceUpdate();
|
|
427
600
|
}
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
601
|
+
}, {
|
|
602
|
+
key: "render",
|
|
603
|
+
value: function render() {
|
|
604
|
+
var _this$props$labelPosi2, _this$props$showMessa;
|
|
605
|
+
var resetCount = this.state.resetCount;
|
|
606
|
+
var _this$props11 = this.props,
|
|
607
|
+
children = _this$props11.children,
|
|
608
|
+
label = _this$props11.label,
|
|
609
|
+
center = _this$props11.center,
|
|
610
|
+
className = _this$props11.className,
|
|
611
|
+
style = _this$props11.style,
|
|
612
|
+
noStyle = _this$props11.noStyle,
|
|
613
|
+
fieldContext = _this$props11.fieldContext,
|
|
614
|
+
_this$props11$labelSt = _this$props11.labelStyle,
|
|
615
|
+
labelStyle = _this$props11$labelSt === void 0 ? {} : _this$props11$labelSt,
|
|
616
|
+
_this$props11$colon = _this$props11.colon,
|
|
617
|
+
colon = _this$props11$colon === void 0 ? false : _this$props11$colon,
|
|
618
|
+
size = _this$props11.size,
|
|
619
|
+
help = _this$props11.help,
|
|
620
|
+
pure = _this$props11.pure;
|
|
621
|
+
var sizeContext = fieldContext.size,
|
|
622
|
+
contextLabelPos = fieldContext.labelPosition,
|
|
623
|
+
colonContext = fieldContext.colon,
|
|
624
|
+
hideRequiredAsterisk = fieldContext.hideRequiredAsterisk,
|
|
625
|
+
requireAsteriskPosition = fieldContext.requireAsteriskPosition,
|
|
626
|
+
contextShowMessage = fieldContext.showMessage;
|
|
627
|
+
var labelWidth = this.getLabelWidth();
|
|
628
|
+
var labelPosition = (_this$props$labelPosi2 = this.props.labelPosition) !== null && _this$props$labelPosi2 !== void 0 ? _this$props$labelPosi2 : contextLabelPos;
|
|
629
|
+
var showMessage = (_this$props$showMessa = this.props.showMessage) !== null && _this$props$showMessa !== void 0 ? _this$props$showMessa : contextShowMessage;
|
|
630
|
+
var _this$getOnlyChild = this.getOnlyChild(children),
|
|
631
|
+
child = _this$getOnlyChild.child,
|
|
632
|
+
isFunction = _this$getOnlyChild.isFunction;
|
|
633
|
+
|
|
634
|
+
// 是否必输项
|
|
635
|
+
var isRequired = this.props.required || this.getRules().some(function (item) {
|
|
636
|
+
return item.required;
|
|
637
|
+
});
|
|
638
|
+
|
|
639
|
+
// Not need to `cloneElement` since user can handle this in render function self
|
|
640
|
+
var returnChildNode;
|
|
641
|
+
if (isFunction) {
|
|
642
|
+
returnChildNode = child;
|
|
643
|
+
} else if ( /*#__PURE__*/isValidElement(child)) {
|
|
644
|
+
returnChildNode = /*#__PURE__*/cloneElement(child, this.getControlled(child.props));
|
|
645
|
+
} else {
|
|
646
|
+
// warning(!child, '当前包裹的组件不是合法的表单组件!');
|
|
647
|
+
returnChildNode = child;
|
|
648
|
+
}
|
|
649
|
+
return noStyle ? /*#__PURE__*/React.createElement(FormItemContext.Provider, {
|
|
650
|
+
key: resetCount,
|
|
651
|
+
value: {
|
|
652
|
+
size: size
|
|
438
653
|
}
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
}
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
}
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
654
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
655
|
+
ref: this.containerRef,
|
|
656
|
+
className: e('nostyle')
|
|
657
|
+
}, returnChildNode, showMessage ? this.getValidateLable() : null)) : /*#__PURE__*/React.createElement(FormItemContext.Provider, {
|
|
658
|
+
key: resetCount,
|
|
659
|
+
value: {
|
|
660
|
+
size: size
|
|
661
|
+
}
|
|
662
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
663
|
+
ref: this.containerRef,
|
|
664
|
+
className: classNames(b('form-item'), _defineProperty(_defineProperty({
|
|
665
|
+
'is-required': isRequired && !hideRequiredAsterisk
|
|
666
|
+
}, m("label-".concat(labelPosition)), this.props.labelPosition), m(sizeContext !== null && sizeContext !== void 0 ? sizeContext : size), sizeContext !== null && sizeContext !== void 0 ? sizeContext : size), 'asterisk-' + requireAsteriskPosition, className),
|
|
667
|
+
style: style
|
|
668
|
+
}, label && !pure && /*#__PURE__*/React.createElement("label", {
|
|
669
|
+
className: e(_templateObject3 || (_templateObject3 = _taggedTemplateLiteral(["label"]))),
|
|
670
|
+
style: ['left', 'right'].includes(labelPosition) ? _objectSpread({
|
|
671
|
+
width: labelWidth
|
|
672
|
+
}, labelStyle) : labelStyle
|
|
673
|
+
}, typeof label === 'string' || typeof label === 'number' ? "".concat(label).concat((colonContext !== null && colonContext !== void 0 ? colonContext : colon) ? ':' : '') : label, help && /*#__PURE__*/React.createElement(Tooltip, {
|
|
674
|
+
className: e(_templateObject4 || (_templateObject4 = _taggedTemplateLiteral(["label--help"]))),
|
|
675
|
+
content: help,
|
|
676
|
+
placement: "top",
|
|
677
|
+
enterable: true
|
|
678
|
+
}, /*#__PURE__*/React.createElement(Icon, {
|
|
679
|
+
name: "circle-exclamation",
|
|
680
|
+
prefix: "fas"
|
|
681
|
+
}))), /*#__PURE__*/React.createElement("div", {
|
|
682
|
+
className: classNames(e(_templateObject5 || (_templateObject5 = _taggedTemplateLiteral(["content"]))), {
|
|
683
|
+
'is-center': center
|
|
684
|
+
})
|
|
685
|
+
// 没有文本或者表单布局不是top的时候需要添加marginLeft
|
|
686
|
+
,
|
|
687
|
+
style: !label ? {
|
|
688
|
+
marginLeft: labelWidth
|
|
689
|
+
} : {}
|
|
690
|
+
}, /*#__PURE__*/React.createElement(React.Fragment, null, Children.map(returnChildNode, function (item) {
|
|
691
|
+
return item;
|
|
692
|
+
}), showMessage ? this.getValidateLable() : null))));
|
|
693
|
+
}
|
|
694
|
+
}]);
|
|
695
|
+
return Field;
|
|
696
|
+
}(React.Component);
|
|
697
|
+
_defineProperty(Field, "contextType", FieldContext);
|
|
698
|
+
_defineProperty(Field, "defaultProps", {
|
|
699
|
+
trigger: 'onChange',
|
|
700
|
+
valuePropName: 'value'
|
|
701
|
+
});
|
|
702
|
+
function InternalFormItem(_ref5) {
|
|
703
|
+
var _fieldContext$rules;
|
|
704
|
+
var name = _ref5.name,
|
|
705
|
+
_ref5$rules = _ref5.rules,
|
|
706
|
+
rules = _ref5$rules === void 0 ? [] : _ref5$rules,
|
|
707
|
+
restProps = _objectWithoutProperties(_ref5, _excluded);
|
|
708
|
+
var fieldContext = useContext(FieldContext);
|
|
709
|
+
var namePath = name !== undefined ? getNamePath(name) : undefined;
|
|
710
|
+
var key = 'keep';
|
|
453
711
|
if (!restProps.isListField) {
|
|
454
|
-
key =
|
|
712
|
+
key = "_".concat((namePath || []).join('_'));
|
|
455
713
|
}
|
|
456
|
-
|
|
457
|
-
|
|
714
|
+
|
|
715
|
+
// Warning if it's a directly list field.
|
|
716
|
+
// We can still support multiple level field preserve.
|
|
717
|
+
if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {
|
|
718
|
+
warning(false, '`preserve` should not apply on Form.List fields.');
|
|
458
719
|
}
|
|
459
|
-
|
|
720
|
+
var formRules = (namePath === null || namePath === void 0 ? void 0 : namePath.length) > 0 ? get((_fieldContext$rules = fieldContext === null || fieldContext === void 0 ? void 0 : fieldContext.rules) !== null && _fieldContext$rules !== void 0 ? _fieldContext$rules : {}, namePath) : undefined;
|
|
721
|
+
return /*#__PURE__*/React.createElement(Field, _extends({
|
|
722
|
+
key: key,
|
|
723
|
+
name: namePath,
|
|
724
|
+
rules: [].concat(_toConsumableArray(formRules || []), _toConsumableArray(rules))
|
|
725
|
+
}, restProps, {
|
|
726
|
+
fieldContext: fieldContext
|
|
727
|
+
}));
|
|
460
728
|
}
|
|
461
|
-
var FormItem =
|
|
462
|
-
FormItem.displayName =
|
|
463
|
-
|
|
729
|
+
var FormItem = /*#__PURE__*/memo(InternalFormItem);
|
|
730
|
+
FormItem.displayName = 'ElFormItem';
|
|
731
|
+
export default FormItem;
|