amis 1.5.6-beta.5 → 1.6.0
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/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- package/lib/components/Cascader.d.ts +123 -0
- package/lib/components/Cascader.js +487 -0
- package/lib/components/Cascader.js.map +13 -0
- package/lib/components/ChainedSelection.d.ts +84 -84
- package/lib/components/ChainedSelection.js +15 -3
- package/lib/components/ChainedSelection.js.map +2 -2
- package/lib/components/CityArea.d.ts +527 -0
- package/lib/components/CityArea.js +177 -0
- package/lib/components/CityArea.js.map +13 -0
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +84 -84
- package/lib/components/ColorPicker.js +4 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +85 -84
- package/lib/components/DatePicker.js +15 -8
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +18 -6
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +16 -6
- package/lib/components/MonthRangePicker.js.map +2 -2
- package/lib/components/Overlay.d.ts +1 -1
- package/lib/components/Overlay.js.map +1 -1
- package/lib/components/Picker.d.ts +1 -0
- package/lib/components/Picker.js +16 -7
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.d.ts +1 -0
- package/lib/components/PickerColumn.js +21 -18
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +3 -0
- package/lib/components/PickerContainer.js +12 -5
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopOverContainer.d.ts +1 -0
- package/lib/components/PopOverContainer.js +5 -3
- package/lib/components/PopOverContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +1041 -28
- package/lib/components/PopUp.js +32 -8
- package/lib/components/PopUp.js.map +2 -2
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/ResultBox.d.ts +85 -84
- package/lib/components/ResultBox.js +9 -4
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +9 -6
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Selection.d.ts +94 -86
- package/lib/components/Selection.js +11 -2
- package/lib/components/Selection.js.map +2 -2
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/TableSelection.d.ts +85 -85
- package/lib/components/TableSelection.js +1 -9
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/Tabs.js +31 -33
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/TabsTransfer.d.ts +87 -256
- package/lib/components/TabsTransfer.js +52 -9
- package/lib/components/TabsTransfer.js.map +2 -2
- package/lib/components/TabsTransferPicker.d.ts +1 -1
- package/lib/components/TabsTransferPicker.js +20 -18
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +85 -84
- package/lib/components/TransferDropDown.js +9 -10
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -0
- package/lib/components/TransferPicker.js +19 -4
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +19 -0
- package/lib/components/calendar/Calendar.js +71 -1
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +21 -0
- package/lib/components/calendar/DaysView.js +76 -17
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +34 -0
- package/lib/components/calendar/MonthsView.js +68 -3
- package/lib/components/calendar/MonthsView.js.map +2 -2
- package/lib/components/calendar/QuartersView.d.ts +1 -0
- package/lib/components/calendar/QuartersView.js +2 -2
- package/lib/components/calendar/QuartersView.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +30 -18
- package/lib/components/calendar/TimeView.js +47 -8
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.d.ts +6 -0
- package/lib/components/calendar/YearsView.js +21 -10
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Field.js +1 -4
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Func.js +1 -1
- package/lib/components/condition-builder/Func.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +3 -0
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/FuncList.js +2 -1
- package/lib/components/formula/FuncList.js.map +2 -2
- package/lib/components/formula/Picker.js +1 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/icons.js +4 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/icons/star.js +12 -0
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +17 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +17 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +16 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/CRUD.js +1 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +11 -2
- package/lib/renderers/DropDownButton.js +30 -12
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Each.js +5 -2
- package/lib/renderers/Each.js.map +2 -2
- package/lib/renderers/Flex.js +1 -5
- package/lib/renderers/Flex.js.map +2 -2
- package/lib/renderers/Form/ChartRadios.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/CityDB.js +526 -2
- package/lib/renderers/Form/CityDB.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +85 -84
- package/lib/renderers/Form/InputCity.js +4 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +6 -2
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -5
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +6 -2
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +4 -1
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +10 -14
- package/lib/renderers/Form/Item.js +18 -9
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +1 -0
- package/lib/renderers/Form/NestedSelect.js +8 -4
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +2 -0
- package/lib/renderers/Form/Select.js +7 -4
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/TabsTransfer.d.ts +5 -32
- package/lib/renderers/Form/TabsTransfer.js +20 -1
- package/lib/renderers/Form/TabsTransfer.js.map +2 -2
- package/lib/renderers/Form/TabsTransferPicker.d.ts +5 -35
- package/lib/renderers/Form/TabsTransferPicker.js +21 -2
- package/lib/renderers/Form/TabsTransferPicker.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +15 -4
- package/lib/renderers/Form/Transfer.js +55 -18
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TransferPicker.d.ts +3 -32
- package/lib/renderers/Form/TransferPicker.js +1 -1
- package/lib/renderers/Form/TransferPicker.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.js +4 -4
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +39 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/schemaExtend.js +23 -9
- package/lib/schemaExtend.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +1018 -67
- package/lib/themes/ang.css +1018 -67
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1053 -67
- package/lib/themes/antd.css +1053 -67
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1058 -78
- package/lib/themes/cxd.css +1058 -78
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1019 -67
- package/lib/themes/dark.css +1019 -67
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1058 -78
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/RootClose.js +3 -1
- package/lib/utils/RootClose.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -6
- package/lib/utils/helper.js +6 -17
- package/lib/utils/helper.js.map +2 -2
- package/package.json +12 -6
- package/schema.json +3696 -971
- package/scss/_properties.scss +21 -7
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +287 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_cascader.scss +102 -0
- package/scss/components/_city-area.scss +27 -0
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_dropdown.scss +39 -9
- package/scss/components/_formula.scss +30 -6
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_picker-columns.scss +15 -5
- package/scss/components/_popup.scss +42 -15
- package/scss/components/_result-box.scss +31 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_checks.scss +2 -0
- package/scss/components/form/_color.scss +2 -2
- package/scss/components/form/_date-range.scss +1 -1
- package/scss/components/form/_date.scss +46 -1
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_nested-select.scss +3 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_select.scss +32 -3
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_transfer.scss +3 -0
- package/scss/components/form/_tree-select.scss +1 -1
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +51 -2
- package/scss/themes/_dark-variables.scss +1 -0
- package/scss/themes/cxd.scss +0 -12
- package/sdk/ang-ie11.css +1278 -141
- package/sdk/ang.css +1296 -153
- package/sdk/antd-ie11.css +1278 -141
- package/sdk/antd.css +1331 -153
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1258 -132
- package/sdk/cxd.css +1338 -168
- package/sdk/dark-ie11.css +1278 -141
- package/sdk/dark.css +1297 -153
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +17 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +18 -18
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +1258 -132
- package/sdk/sdk.css +1338 -168
- package/sdk/sdk.js +1242 -1218
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +3 -0
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/Card.tsx +2 -2
- package/src/components/Cascader.tsx +564 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CityArea.tsx +315 -0
- package/src/components/Collapse.tsx +1 -1
- package/src/components/ColorPicker.tsx +41 -40
- package/src/components/DatePicker.tsx +54 -38
- package/src/components/DateRangePicker.tsx +83 -29
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +76 -30
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +55 -35
- package/src/components/PickerColumn.tsx +43 -36
- package/src/components/PickerContainer.tsx +13 -1
- package/src/components/PopOverContainer.tsx +31 -17
- package/src/components/PopUp.tsx +84 -57
- package/src/components/Rating.tsx +235 -47
- package/src/components/ResultBox.tsx +14 -2
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +20 -23
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +23 -10
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +20 -12
- package/src/components/TransferPicker.tsx +25 -4
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +101 -4
- package/src/components/calendar/DaysView.tsx +165 -33
- package/src/components/calendar/MonthsView.tsx +108 -1
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +104 -41
- package/src/components/calendar/YearsView.tsx +34 -17
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +16 -11
- package/src/components/formula/FuncList.tsx +3 -1
- package/src/components/formula/Picker.tsx +2 -1
- package/src/components/icons.tsx +4 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/star.svg +12 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +1 -0
- package/src/locale/de-DE.ts +17 -2
- package/src/locale/en-US.ts +17 -2
- package/src/locale/zh-CN.ts +16 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/CRUD.tsx +1 -3
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/DropDownButton.tsx +69 -35
- package/src/renderers/Each.tsx +4 -4
- package/src/renderers/Flex.tsx +3 -7
- package/src/renderers/Form/ChartRadios.tsx +2 -7
- package/src/renderers/Form/Checkboxes.tsx +1 -1
- package/src/renderers/Form/CityDB.ts +526 -2
- package/src/renderers/Form/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +23 -3
- package/src/renderers/Form/InputColor.tsx +21 -2
- package/src/renderers/Form/InputDate.tsx +48 -20
- package/src/renderers/Form/InputDateRange.tsx +9 -2
- package/src/renderers/Form/InputFormula.tsx +9 -4
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +0 -1
- package/src/renderers/Form/InputQuarterRange.tsx +0 -1
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +29 -8
- package/src/renderers/Form/NestedSelect.tsx +32 -4
- package/src/renderers/Form/Select.tsx +15 -3
- package/src/renderers/Form/TabsTransfer.tsx +28 -38
- package/src/renderers/Form/TabsTransferPicker.tsx +28 -46
- package/src/renderers/Form/Transfer.tsx +75 -24
- package/src/renderers/Form/TransferPicker.tsx +6 -38
- package/src/renderers/Form/TreeSelect.tsx +18 -16
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +68 -18
- package/src/renderers/Steps.tsx +11 -13
- package/src/renderers/Table/TableRow.tsx +3 -1
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/schemaExtend.ts +22 -10
- package/src/store/combo.ts +1 -3
- package/src/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/helper.ts +6 -16
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputYearRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAgC;AAChC,uEAA4B;AAC5B,uDAAkE;AAClE,iFAAwE;AACxE,kGAA+D;AAU/D;IAA8C,iDAAc;IAA5D;;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAgC;AAChC,uEAA4B;AAC5B,uDAAkE;AAClE,iFAAwE;AACxE,kGAA+D;AAU/D;IAA8C,iDAAc;IAA5D;;IAoCA,CAAC;IAnCC,iCAAM,GAAN;QACE,IAAM,KAaF,IAAI,CAAC,KAAK,EAZZ,SAAS,eAAA,EACI,EAAE,iBAAA,EACf,YAAY,kBAAA,EACZ,WAAW,iBAAA,EACX,OAAO,aAAA,EACP,OAAO,aAAA,EACP,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,MAAM,YAAA,EACN,GAAG,SAAA,EACA,IAAI,2BAZH,wIAaL,CAAa,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAI,EAAE,qBAAkB,EAAE,SAAS,CAAC;YACpD,8BAAC,yBAAe,0BACd,QAAQ,EAAC,OAAO,EAChB,MAAM,EAAC,MAAM,EACb,WAAW,EAAC,MAAM,EAClB,WAAW,EAAC,uBAAuB,EACnC,MAAM,EAAC,mBAAmB,EAC1B,WAAW,EAAE,EAAE,EACf,IAAI,EAAE,IAAI,IACN,IAAI,IACR,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAChE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,wBAAU,EAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,EAChE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,2BAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,EACjE,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,IAAA,2BAAa,EAAC,WAAW,CAAC,CAAC,CAAC,CAAC,SAAS,IACjE,CACE,CACP,CAAC;IACJ,CAAC;IACH,uBAAC;AAAD,CAAC,AApCD,CAA8C,wBAAc,GAoC3D;;AAKD;IAA8C,yDAAgB;IAA9D;;IASA,CAAC;IARQ,qCAAY,GAAG;QACpB,MAAM,EAAE,GAAG;QACX,UAAU,EAAE,IAAI;QAChB,SAAS,EAAE,GAAG;QACd,UAAU,EAAE,EAAE;QACd,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,MAAM;KACnB,CAAC;IARS,wBAAwB;QAHpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,kBAAkB;SACzB,CAAC;OACW,wBAAwB,CASpC;IAAD,+BAAC;CAAA,AATD,CAA8C,gBAAgB,GAS7D;AATY,4DAAwB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport InputDateRange, {DateRangeControlSchema} from './InputDateRange';\nimport DateRangePicker from '../../components/DateRangePicker';\n/**\n * YearRange 年份范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/input-year-range\n */\nexport interface YearRangeControlSchema\n extends Omit<DateRangeControlSchema, 'type'> {\n type: 'input-year-range';\n}\n\nexport default class YearRangeControl extends InputDateRange {\n render() {\n const {\n className,\n classPrefix: ns,\n defaultValue,\n defaultData,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n data,\n format,\n env,\n ...rest\n } = this.props;\n\n return (\n <div className={cx(`${ns}DateRangeControl`, className)}>\n <DateRangePicker\n viewMode=\"years\"\n format=\"YYYY\"\n inputFormat=\"YYYY\"\n placeholder=\"YearRange.placeholder\"\n ranges=\"thisyear,lastYear\"\n classPrefix={ns}\n data={data}\n {...rest}\n minDate={minDate ? filterDate(minDate, data, format) : undefined}\n maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}\n minDuration={minDuration ? parseDuration(minDuration) : undefined}\n maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}\n
|
11
|
+
"import React from 'react';\nimport {FormItem} from './Item';\nimport cx from 'classnames';\nimport {filterDate, parseDuration} from '../../utils/tpl-builtin';\nimport InputDateRange, {DateRangeControlSchema} from './InputDateRange';\nimport DateRangePicker from '../../components/DateRangePicker';\n/**\n * YearRange 年份范围控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/input-year-range\n */\nexport interface YearRangeControlSchema\n extends Omit<DateRangeControlSchema, 'type'> {\n type: 'input-year-range';\n}\n\nexport default class YearRangeControl extends InputDateRange {\n render() {\n const {\n className,\n classPrefix: ns,\n defaultValue,\n defaultData,\n minDate,\n maxDate,\n minDuration,\n maxDuration,\n data,\n format,\n env,\n ...rest\n } = this.props;\n\n return (\n <div className={cx(`${ns}DateRangeControl`, className)}>\n <DateRangePicker\n viewMode=\"years\"\n format=\"YYYY\"\n inputFormat=\"YYYY\"\n placeholder=\"YearRange.placeholder\"\n ranges=\"thisyear,lastYear\"\n classPrefix={ns}\n data={data}\n {...rest}\n minDate={minDate ? filterDate(minDate, data, format) : undefined}\n maxDate={maxDate ? filterDate(maxDate, data, format) : undefined}\n minDuration={minDuration ? parseDuration(minDuration) : undefined}\n maxDuration={maxDuration ? parseDuration(maxDuration) : undefined}\n />\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-year-range'\n})\nexport class YearRangeControlRenderer extends YearRangeControl {\n static defaultProps = {\n format: 'X',\n joinValues: true,\n delimiter: ',',\n timeFormat: '',\n inputFormat: 'YYYY',\n dateFormat: 'YYYY'\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -353,12 +353,8 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
353
353
|
storeType: string;
|
354
354
|
} & import("mobx-state-tree/dist/internal").NonEmptyObject & {
|
355
355
|
readonly fetcher: any;
|
356
|
-
readonly notify: any;
|
357
|
-
|
358
|
-
*/
|
359
|
-
readonly isCancel: (value: any) => boolean; /**
|
360
|
-
* 输入提示,聚焦的时候显示
|
361
|
-
*/
|
356
|
+
readonly notify: any;
|
357
|
+
readonly isCancel: (value: any) => boolean;
|
362
358
|
readonly __: import("../../locale").TranslateFn<any>;
|
363
359
|
getStoreById(id: string): {
|
364
360
|
id: string;
|
@@ -440,7 +436,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
440
436
|
addStore(store: {
|
441
437
|
[propName: string]: any;
|
442
438
|
storeType: string;
|
443
|
-
id: string;
|
439
|
+
id: string; /**
|
440
|
+
* 描述内容,支持 Html 片段。
|
441
|
+
*/
|
444
442
|
path: string;
|
445
443
|
parentId?: string | undefined;
|
446
444
|
}): {
|
@@ -521,12 +519,8 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
521
519
|
storeType: import("mobx-state-tree").IType<string | undefined, string, string>;
|
522
520
|
}, {
|
523
521
|
readonly fetcher: any;
|
524
|
-
readonly notify: any;
|
525
|
-
|
526
|
-
*/
|
527
|
-
readonly isCancel: (value: any) => boolean; /**
|
528
|
-
* 输入提示,聚焦的时候显示
|
529
|
-
*/
|
522
|
+
readonly notify: any;
|
523
|
+
readonly isCancel: (value: any) => boolean;
|
530
524
|
readonly __: import("../../locale").TranslateFn<any>;
|
531
525
|
getStoreById(id: string): {
|
532
526
|
id: string;
|
@@ -608,7 +602,9 @@ export declare function asFormItem(config: Omit<FormItemConfig, 'component'>): (
|
|
608
602
|
addStore(store: {
|
609
603
|
[propName: string]: any;
|
610
604
|
storeType: string;
|
611
|
-
id: string;
|
605
|
+
id: string; /**
|
606
|
+
* 描述内容,支持 Html 片段。
|
607
|
+
*/
|
612
608
|
path: string;
|
613
609
|
parentId?: string | undefined;
|
614
610
|
}): {
|
@@ -67,11 +67,12 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
67
67
|
};
|
68
68
|
FormItemWrap.prototype.renderControl = function () {
|
69
69
|
var _a;
|
70
|
-
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, renderControl = _b.renderControl, formItemConfig = _b.formItemConfig, sizeMutable = _b.sizeMutable, size = _b.size, defaultSize = _b.defaultSize, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "renderControl", "formItemConfig", "sizeMutable", "size", "defaultSize"]);
|
70
|
+
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, renderControl = _b.renderControl, formItemConfig = _b.formItemConfig, sizeMutable = _b.sizeMutable, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "renderControl", "formItemConfig", "sizeMutable", "size", "defaultSize", "useMobileUI"]);
|
71
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
71
72
|
if (renderControl) {
|
72
73
|
var controlSize = size || defaultSize;
|
73
74
|
return renderControl((0, tslib_1.__assign)((0, tslib_1.__assign)({}, rest), { onOpenDialog: this.handleOpenDialog, type: type, classnames: cx, formItem: model, className: cx("Form-control", (_a = {
|
74
|
-
'is-inline': !!rest.inline,
|
75
|
+
'is-inline': !!rest.inline && !mobileUI,
|
75
76
|
'is-error': model && !model.valid
|
76
77
|
},
|
77
78
|
_a["Form-control--withSize Form-control--size" + (0, helper_1.ucFirst)(controlSize)] = sizeMutable !== false &&
|
@@ -109,7 +110,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
109
110
|
FormItemWrap.layoutRenderers = {
|
110
111
|
horizontal: function (props, renderControl) {
|
111
112
|
var _a, _b, _c;
|
112
|
-
var className = props.className, cx = props.classnames, description = props.description, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, desc = props.desc, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg;
|
113
|
+
var className = props.className, cx = props.classnames, description = props.description, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, desc = props.desc, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI;
|
113
114
|
// 强制不渲染 label 的话
|
114
115
|
if (renderLabel === false) {
|
115
116
|
label = label === false ? false : '';
|
@@ -138,6 +139,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
138
139
|
type: 'remark',
|
139
140
|
icon: labelRemark.icon || 'warning-mark',
|
140
141
|
tooltip: labelRemark,
|
142
|
+
useMobileUI: useMobileUI,
|
141
143
|
className: cx("Form-labelRemark"),
|
142
144
|
container: props.popOverContainer
|
143
145
|
? props.popOverContainer
|
@@ -162,6 +164,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
162
164
|
icon: remark.icon || 'warning-mark',
|
163
165
|
tooltip: remark,
|
164
166
|
className: cx("Form-remark"),
|
167
|
+
useMobileUI: useMobileUI,
|
165
168
|
container: props.popOverContainer
|
166
169
|
? props.popOverContainer
|
167
170
|
: env && env.getModalContainer
|
@@ -186,7 +189,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
186
189
|
},
|
187
190
|
normal: function (props, renderControl) {
|
188
191
|
var _a;
|
189
|
-
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg;
|
192
|
+
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI;
|
190
193
|
description = description || desc;
|
191
194
|
return (react_1.default.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--normal", className, (_a = {
|
192
195
|
'is-error': model && !model.valid
|
@@ -205,6 +208,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
205
208
|
icon: labelRemark.icon || 'warning-mark',
|
206
209
|
tooltip: labelRemark,
|
207
210
|
className: cx("Form-lableRemark"),
|
211
|
+
useMobileUI: useMobileUI,
|
208
212
|
container: props.popOverContainer
|
209
213
|
? props.popOverContainer
|
210
214
|
: env && env.getModalContainer
|
@@ -224,6 +228,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
224
228
|
icon: remark.icon || 'warning-mark',
|
225
229
|
className: cx("Form-remark"),
|
226
230
|
tooltip: remark,
|
231
|
+
useMobileUI: useMobileUI,
|
227
232
|
container: env && env.getModalContainer
|
228
233
|
? env.getModalContainer
|
229
234
|
: undefined
|
@@ -246,7 +251,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
246
251
|
},
|
247
252
|
inline: function (props, renderControl) {
|
248
253
|
var _a;
|
249
|
-
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, remark = props.remark, labelRemark = props.labelRemark, env = props.env, hint = props.hint, renderLabel = props.renderLabel, renderDescription = props.renderDescription, data = props.data, showErrorMsg = props.showErrorMsg;
|
254
|
+
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, remark = props.remark, labelRemark = props.labelRemark, env = props.env, hint = props.hint, renderLabel = props.renderLabel, renderDescription = props.renderDescription, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI;
|
250
255
|
description = description || desc;
|
251
256
|
return (react_1.default.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--inline", className, (_a = {
|
252
257
|
'is-error': model && !model.valid
|
@@ -265,6 +270,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
265
270
|
icon: labelRemark.icon || 'warning-mark',
|
266
271
|
tooltip: labelRemark,
|
267
272
|
className: cx("Form-lableRemark"),
|
273
|
+
useMobileUI: useMobileUI,
|
268
274
|
container: props.popOverContainer
|
269
275
|
? props.popOverContainer
|
270
276
|
: env && env.getModalContainer
|
@@ -285,6 +291,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
285
291
|
icon: remark.icon || 'warning-mark',
|
286
292
|
className: cx("Form-remark"),
|
287
293
|
tooltip: remark,
|
294
|
+
useMobileUI: useMobileUI,
|
288
295
|
container: props.popOverContainer
|
289
296
|
? props.popOverContainer
|
290
297
|
: env && env.getModalContainer
|
@@ -309,7 +316,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
309
316
|
},
|
310
317
|
row: function (props, renderControl) {
|
311
318
|
var _a;
|
312
|
-
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg;
|
319
|
+
var className = props.className, cx = props.classnames, desc = props.desc, description = props.description, label = props.label, labelClassName = props.labelClassName, render = props.render, required = props.required, caption = props.caption, remark = props.remark, labelRemark = props.labelRemark, env = props.env, descriptionClassName = props.descriptionClassName, captionClassName = props.captionClassName, model = props.formItem, renderLabel = props.renderLabel, renderDescription = props.renderDescription, hint = props.hint, data = props.data, showErrorMsg = props.showErrorMsg, useMobileUI = props.useMobileUI;
|
313
320
|
description = description || desc;
|
314
321
|
return (react_1.default.createElement("div", { "data-role": "form-item", className: cx("Form-item Form-item--row", className, (_a = {
|
315
322
|
'is-error': model && !model.valid
|
@@ -327,6 +334,7 @@ var FormItemWrap = /** @class */ (function (_super) {
|
|
327
334
|
icon: labelRemark.icon || 'warning-mark',
|
328
335
|
tooltip: labelRemark,
|
329
336
|
className: cx("Form-lableRemark"),
|
337
|
+
useMobileUI: useMobileUI,
|
330
338
|
container: props.popOverContainer
|
331
339
|
? props.popOverContainer
|
332
340
|
: env && env.getModalContainer
|
@@ -519,10 +527,11 @@ function asFormItem(config) {
|
|
519
527
|
};
|
520
528
|
class_1.prototype.renderControl = function () {
|
521
529
|
var _a;
|
522
|
-
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, size = _b.size, defaultSize = _b.defaultSize, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize"]);
|
530
|
+
var _b = this.props, inputClassName = _b.inputClassName, model = _b.formItem, cx = _b.classnames, children = _b.children, type = _b.type, size = _b.size, defaultSize = _b.defaultSize, useMobileUI = _b.useMobileUI, rest = (0, tslib_1.__rest)(_b, ["inputClassName", "formItem", "classnames", "children", "type", "size", "defaultSize", "useMobileUI"]);
|
523
531
|
var controlSize = size || defaultSize;
|
524
|
-
|
525
|
-
|
532
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
533
|
+
return (react_1.default.createElement(Control, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, onOpenDialog: this.handleOpenDialog, size: config.sizeMutable !== false ? undefined : size, onFocus: this.handleFocus, onBlur: this.handleBlur, type: type, classnames: cx, ref: isSFC ? undefined : this.refFn, forwardedRef: isSFC ? this.refFn : undefined, formItem: model, className: cx("Form-control", (_a = {
|
534
|
+
'is-inline': !!rest.inline && !mobileUI,
|
526
535
|
'is-error': model && !model.valid
|
527
536
|
},
|
528
537
|
_a["Form-control--withSize Form-control--size" + (0, helper_1.ucFirst)(controlSize)] = config.sizeMutable !== false &&
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Item.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {anyChanged, ucFirst, getWidthRate, autobind} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange?: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction = reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog(confirmed);\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength',\n 'embed'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (nextProps.strictMode === false || config.strictMode === false) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n\n return (\n <Control\n {...rest}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
|
11
|
+
"import React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport {IFormItemStore, IFormStore} from '../../store/form';\nimport {reaction} from 'mobx';\n\nimport {\n RendererProps,\n registerRenderer,\n TestFunc,\n RendererConfig\n} from '../../factory';\nimport {\n anyChanged,\n ucFirst,\n getWidthRate,\n autobind,\n isMobile\n} from '../../utils/helper';\nimport {observer} from 'mobx-react';\nimport {FormHorizontal, FormSchema, FormSchemaHorizontal} from '.';\nimport {Api, Schema} from '../../types';\nimport {filter} from '../../utils/tpl';\nimport {SchemaRemark} from '../Remark';\nimport {\n BaseSchema,\n SchemaApi,\n SchemaClassName,\n SchemaObject,\n SchemaType\n} from '../../Schema';\nimport {HocStoreFactory} from '../../WithStore';\nimport {wrapControl} from './wrapControl';\n\nexport type FormControlSchemaAlias = SchemaObject;\n\nexport interface FormBaseControl extends Omit<BaseSchema, 'type'> {\n /**\n * 表单项类型\n */\n type: SchemaType;\n\n /**\n * 表单项大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n\n /**\n * 描述标题\n */\n label?: string | false;\n\n /**\n * 配置 label className\n */\n labelClassName?: SchemaClassName;\n\n /**\n * 字段名,表单提交时的 key,支持多层级,用.连接,如: a.b.c\n */\n name?: string;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容\n */\n remark?: SchemaRemark;\n\n /**\n * 显示一个小图标, 鼠标放上去的时候显示提示内容, 这个小图标跟 label 在一起\n */\n labelRemark?: SchemaRemark;\n\n /**\n * 输入提示,聚焦的时候显示\n */\n hint?: string;\n\n /**\n * 当修改完的时候是否提交表单。\n */\n submitOnChange?: boolean;\n\n /**\n * 是否只读\n */\n readOnly?: boolean;\n\n /**\n * 不设置时,当表单提交过后表单项每次修改都会触发重新验证,\n * 如果设置了,则由此配置项来决定要不要每次修改都触发验证。\n */\n validateOnChange?: boolean;\n\n /**\n * 描述内容,支持 Html 片段。\n */\n description?: string;\n\n /**\n * @deprecated 用 description 代替\n */\n desc?: string;\n\n /**\n * 配置描述上的 className\n */\n descriptionClassName?: SchemaClassName;\n\n /**\n * 配置当前表单项展示模式\n */\n mode?: 'normal' | 'inline' | 'horizontal';\n\n /**\n * 当配置为水平布局的时候,用来配置具体的左右分配。\n */\n horizontal?: FormSchemaHorizontal;\n\n /**\n * 表单 control 是否为 inline 模式。\n */\n inline?: boolean;\n\n /**\n * 配置 input className\n */\n inputClassName?: SchemaClassName;\n\n /**\n * 占位符\n */\n placeholder?: string;\n\n /**\n * 是否为必填\n */\n required?: boolean;\n\n /**\n * 验证失败的提示信息\n */\n validationErrors?: {\n isAlpha?: string;\n isAlphanumeric?: string;\n isEmail?: string;\n isFloat?: string;\n isInt?: string;\n isJson?: string;\n isLength?: string;\n isNumeric?: string;\n isRequired?: string;\n isUrl?: string;\n matchRegexp?: string;\n matchRegexp2?: string;\n matchRegexp3?: string;\n matchRegexp4?: string;\n matchRegexp5?: string;\n maxLength?: string;\n maximum?: string;\n minLength?: string;\n minimum?: string;\n\n [propName: string]: any;\n };\n\n validations?:\n | string\n | {\n /**\n * 是否是字母\n */\n isAlpha?: boolean;\n\n /**\n * 是否为字母数字\n */\n isAlphanumeric?: boolean;\n\n /**\n * 是否为邮箱地址\n */\n isEmail?: boolean;\n\n /**\n * 是否为浮点型\n */\n isFloat?: boolean;\n\n /**\n * 是否为整型\n */\n isInt?: boolean;\n\n /**\n * 是否为 json\n */\n isJson?: boolean;\n\n /**\n * 长度等于指定值\n */\n isLength?: number;\n\n /**\n * 是否为数字\n */\n isNumeric?: boolean;\n\n /**\n * 是否为必填\n */\n isRequired?: boolean;\n\n /**\n * 是否为 URL 地址\n */\n isUrl?: boolean;\n\n /**\n * 内容命中指定正则\n */\n matchRegexp?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp1?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp2?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp3?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp4?: string;\n /**\n * 内容命中指定正则\n */\n matchRegexp5?: string;\n\n /**\n * 最大长度为指定值\n */\n maxLength?: number;\n\n /**\n * 最大值为指定值\n */\n maximum?: number;\n\n /**\n * 最小长度为指定值\n */\n minLength?: number;\n\n /**\n * 最小值为指定值\n */\n minimum?: number;\n\n [propName: string]: any;\n };\n\n /**\n * 默认值,切记只能是静态值,不支持取变量,跟数据关联是通过设置 name 属性来实现的。\n */\n value?: any;\n\n /**\n * 表单项隐藏时,是否在当前 Form 中删除掉该表单项值。注意同名的未隐藏的表单项值也会删掉\n */\n clearValueOnHidden?: boolean;\n\n /**\n * 远端校验表单项接口\n */\n validateApi?: SchemaApi;\n}\n\nexport interface FormItemBasicConfig extends Partial<RendererConfig> {\n type?: string;\n wrap?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n test?: RegExp | TestFunc;\n storeType?: string;\n validations?: string;\n strictMode?: boolean;\n descriptionClassName?: string;\n storeExtendsData?: boolean;\n sizeMutable?: boolean;\n weight?: number;\n extendsData?: boolean;\n showErrorMsg?: boolean;\n\n // 兼容老用法,新用法直接在 Component 里面定义 validate 方法即可。\n validate?: (values: any, value: any) => string | boolean;\n}\n\n// 自己接收到属性。\nexport interface FormItemProps extends RendererProps {\n name?: string;\n formStore?: IFormStore;\n formItem?: IFormItemStore;\n formInited: boolean;\n formMode: 'normal' | 'horizontal' | 'inline' | 'row' | 'default';\n formHorizontal: FormHorizontal;\n defaultSize?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'full';\n disabled?: boolean;\n btnDisabled: boolean;\n defaultValue: any;\n value?: any;\n prinstine: any;\n setPrinstineValue: (value: any) => void;\n onChange: (\n value: any,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onBulkChange?: (\n values: {[propName: string]: any},\n submitOnChange?: boolean\n ) => void;\n addHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => () => void;\n removeHook: (fn: Function, mode?: 'validate' | 'init' | 'flush') => void;\n renderFormItems: (\n schema: Partial<FormSchema>,\n region: string,\n props: any\n ) => JSX.Element;\n onFocus: (e: any) => void;\n onBlur: (e: any) => void;\n\n formItemValue: any; // 不建议使用 为了兼容 v1\n getValue: () => any; // 不建议使用 为了兼容 v1\n setValue: (value: any, key: string) => void; // 不建议使用 为了兼容 v1\n\n inputClassName?: string;\n renderControl?: (props: FormControlProps) => JSX.Element;\n\n inputOnly?: boolean;\n renderLabel?: boolean;\n renderDescription?: boolean;\n sizeMutable?: boolean;\n wrap?: boolean;\n hint?: string;\n description?: string;\n descriptionClassName?: string;\n // error 详情\n errors?: {\n [propName: string]: string;\n };\n // error string\n error?: string;\n showErrorMsg?: boolean;\n}\n\n// 下发下去的属性\nexport type FormControlProps = RendererProps & {\n onOpenDialog: (schema: Schema, data: any) => Promise<any>;\n} & Exclude<\n FormItemProps,\n | 'inputClassName'\n | 'renderControl'\n | 'defaultSize'\n | 'size'\n | 'error'\n | 'errors'\n | 'hint'\n | 'descriptionClassName'\n | 'inputOnly'\n | 'renderLabel'\n | 'renderDescription'\n | 'sizeMutable'\n | 'wrap'\n >;\n\nexport type FormItemComponent = React.ComponentType<FormItemProps>;\nexport type FormControlComponent = React.ComponentType<FormControlProps>;\n\nexport interface FormItemConfig extends FormItemBasicConfig {\n component: FormControlComponent;\n}\n\nexport class FormItemWrap extends React.Component<FormItemProps> {\n reaction: any;\n\n constructor(props: FormItemProps) {\n super(props);\n\n const {formItem: model} = props;\n\n if (model) {\n this.reaction = reaction(\n () => `${model.errors.join('')}${model.isFocused}${model.dialogOpen}`,\n () => this.forceUpdate()\n );\n }\n }\n\n componentWillUnmount() {\n this.reaction && this.reaction();\n }\n\n @autobind\n handleFocus(e: any) {\n const {formItem: model} = this.props;\n model && model.focus();\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @autobind\n handleBlur(e: any) {\n const {formItem: model} = this.props;\n model && model.blur();\n this.props.onBlur && this.props.onBlur(e);\n }\n\n @autobind\n async handleOpenDialog(schema: Schema, data: any) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n return new Promise(resolve =>\n model.openDialog(schema, data, (result?: any) => resolve(result))\n );\n }\n\n @autobind\n handleDialogConfirm([values]: Array<any>) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n\n model.closeDialog(values);\n }\n\n @autobind\n handleDialogClose(confirmed = false) {\n const {formItem: model} = this.props;\n if (!model) {\n return;\n }\n model.closeDialog(confirmed);\n }\n\n renderControl(): JSX.Element | null {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n renderControl,\n formItemConfig,\n sizeMutable,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const mobileUI = useMobileUI && isMobile();\n if (renderControl) {\n const controlSize = size || defaultSize;\n return renderControl({\n ...rest,\n onOpenDialog: this.handleOpenDialog,\n type,\n classnames: cx,\n formItem: model,\n className: cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )\n });\n }\n\n return null;\n }\n\n /**\n * 布局扩充点,可以自己扩充表单项的布局方式\n */\n static layoutRenderers: {\n [propsName: string]: (\n props: FormItemProps,\n renderControl: () => JSX.Element | null\n ) => JSX.Element;\n } = {\n horizontal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n description,\n descriptionClassName,\n captionClassName,\n desc,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n // 强制不渲染 label 的话\n if (renderLabel === false) {\n label = label === false ? false : '';\n }\n\n description = description || desc;\n const horizontal = props.horizontal || props.formHorizontal || {};\n const left = getWidthRate(horizontal.left);\n const right = getWidthRate(horizontal.right);\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--horizontal`,\n className,\n {\n [`is-error`]: model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label !== false ? (\n <label\n className={cx(\n `Form-label`,\n {\n [`Form-itemColumn--${\n typeof horizontal.leftFixed === 'string'\n ? horizontal.leftFixed\n : 'normal'\n }`]: horizontal.leftFixed,\n [`Form-itemColumn--${left}`]: !horizontal.leftFixed\n },\n labelClassName\n )}\n >\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n useMobileUI,\n className: cx(`Form-labelRemark`),\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div\n className={cx(`Form-value`, {\n // [`Form-itemColumn--offset${getWidthRate(horizontal.offset)}`]: !label && label !== false,\n [`Form-itemColumn--${right}`]:\n !horizontal.leftFixed && !!right && right !== 12 - left\n })}\n >\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n tooltip: remark,\n className: cx(`Form-remark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n normal: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--normal`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : null}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n },\n\n inline: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n descriptionClassName,\n captionClassName,\n formItem: model,\n remark,\n labelRemark,\n env,\n hint,\n renderLabel,\n renderDescription,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--inline`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {label\n ? render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )\n : label}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n <div className={cx(`Form-value`)}>\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx(`Form-feedback`)}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {renderDescription !== false && description\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n </div>\n );\n },\n\n row: (props: FormItemProps, renderControl: () => JSX.Element) => {\n let {\n className,\n classnames: cx,\n desc,\n description,\n label,\n labelClassName,\n render,\n required,\n caption,\n remark,\n labelRemark,\n env,\n descriptionClassName,\n captionClassName,\n formItem: model,\n renderLabel,\n renderDescription,\n hint,\n data,\n showErrorMsg,\n useMobileUI\n } = props;\n\n description = description || desc;\n\n return (\n <div\n data-role=\"form-item\"\n className={cx(\n `Form-item Form-item--row`,\n className,\n {\n 'is-error': model && !model.valid,\n [`is-required`]: required\n },\n model?.errClassNames\n )}\n >\n <div className={cx('Form-rowInner')}>\n {label && renderLabel !== false ? (\n <label className={cx(`Form-label`, labelClassName)}>\n <span>\n {render(\n 'label',\n typeof label === 'string' ? filter(label, data) : label\n )}\n {required && (label || labelRemark) ? (\n <span className={cx(`Form-star`)}>*</span>\n ) : null}\n {labelRemark\n ? render('label-remark', {\n type: 'remark',\n icon: labelRemark.icon || 'warning-mark',\n tooltip: labelRemark,\n className: cx(`Form-lableRemark`),\n useMobileUI,\n container: props.popOverContainer\n ? props.popOverContainer\n : env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </span>\n </label>\n ) : null}\n\n {renderControl()}\n\n {caption\n ? render('caption', caption, {\n className: cx(`Form-caption`, captionClassName)\n })\n : null}\n\n {remark\n ? render('remark', {\n type: 'remark',\n icon: remark.icon || 'warning-mark',\n className: cx(`Form-remark`),\n tooltip: remark,\n container:\n env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n })\n : null}\n </div>\n\n {hint && model && model.isFocused\n ? render('hint', hint, {\n className: cx(`Form-hint`)\n })\n : null}\n\n {model &&\n !model.valid &&\n showErrorMsg !== false &&\n Array.isArray(model.errors) ? (\n <ul className={cx('Form-feedback')}>\n {model.errors.map((msg: string, key: number) => (\n <li key={key}>{msg}</li>\n ))}\n </ul>\n ) : null}\n\n {description && renderDescription !== false\n ? render('description', description, {\n className: cx(`Form-description`, descriptionClassName)\n })\n : null}\n </div>\n );\n }\n };\n\n render() {\n const {formMode, inputOnly, wrap, render, formItem: model} = this.props;\n const mode = this.props.mode || formMode;\n\n if (wrap === false || inputOnly) {\n return this.renderControl();\n }\n\n const renderLayout =\n FormItemWrap.layoutRenderers[mode] ||\n FormItemWrap.layoutRenderers['normal'];\n\n return (\n <>\n {renderLayout(this.props, this.renderControl.bind(this))}\n\n {model\n ? render(\n 'modal',\n {\n type: 'dialog',\n ...model.dialogSchema\n },\n {\n show: model.dialogOpen,\n onClose: this.handleDialogClose,\n onConfirm: this.handleDialogConfirm,\n data: model.dialogData,\n formStore: undefined\n }\n )\n : null}\n </>\n );\n }\n}\n\n// 白名单形式,只有这些属性发生变化,才会往下更新。\n// 除非配置 strictMode\nexport const detectProps = [\n 'formPristine', // 这个千万不能干掉。\n 'formInited',\n 'addable',\n 'addButtonClassName',\n 'addButtonText',\n 'addOn',\n 'btnClassName',\n 'btnLabel',\n 'btnDisabled',\n 'className',\n 'clearable',\n 'columns',\n 'columnsCount',\n 'controls',\n 'desc',\n 'description',\n 'disabled',\n 'draggable',\n 'editable',\n 'editButtonClassName',\n 'formHorizontal',\n 'formMode',\n 'hideRoot',\n 'horizontal',\n 'icon',\n 'inline',\n 'inputClassName',\n 'label',\n 'labelClassName',\n 'labelField',\n 'language',\n 'level',\n 'max',\n 'maxRows',\n 'min',\n 'minRows',\n 'multiLine',\n 'multiple',\n 'option',\n 'placeholder',\n 'removable',\n 'required',\n 'remark',\n 'hint',\n 'rows',\n 'searchable',\n 'showCompressOptions',\n 'size',\n 'step',\n 'showInput',\n 'unit',\n 'value',\n 'diffValue',\n 'borderMode',\n 'items',\n 'showCounter',\n 'minLength',\n 'maxLength',\n 'embed'\n];\n\nexport function asFormItem(config: Omit<FormItemConfig, 'component'>) {\n return (Control: FormControlComponent) => {\n const isSFC = !(Control.prototype instanceof React.Component);\n\n // 兼容老的 FormItem 用法。\n if (config.validate && !Control.prototype.validate) {\n const fn = config.validate;\n Control.prototype.validate = function () {\n const host = {\n input: this\n };\n\n return fn.apply(host, arguments);\n };\n } else if (config.validate) {\n console.error(\n 'FormItem配置中的 validate 将不起作用,因为类的成员函数中已经定义了 validate 方法,将优先使用类里面的实现。'\n );\n }\n\n if (config.storeType) {\n Control = HocStoreFactory({\n storeType: config.storeType,\n extendsData: config.extendsData\n })(observer(Control));\n delete config.storeType;\n }\n\n return wrapControl(\n hoistNonReactStatic(\n class extends FormItemWrap {\n static defaultProps = {\n className: '',\n renderLabel: config.renderLabel,\n renderDescription: config.renderDescription,\n sizeMutable: config.sizeMutable,\n wrap: config.wrap,\n showErrorMsg: config.showErrorMsg,\n ...Control.defaultProps\n };\n static propsList: any = [\n 'value',\n 'defaultValue',\n 'onChange',\n 'setPrinstineValue',\n 'readOnly',\n 'strictMode',\n ...((Control as any).propsList || [])\n ];\n\n static displayName = `FormItem${\n config.type ? `(${config.type})` : ''\n }`;\n static ComposedComponent = Control;\n\n ref: any;\n\n constructor(props: FormItemProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n\n const {validations, formItem: model} = props;\n\n // 组件注册的时候可能默认指定验证器类型\n if (model && !validations && config.validations) {\n model.config({\n rules: config.validations\n });\n }\n }\n\n shouldComponentUpdate(nextProps: FormControlProps) {\n if (nextProps.strictMode === false || config.strictMode === false) {\n return true;\n }\n\n // 把可能会影响视图的白名单弄出来,减少重新渲染次数。\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderControl() {\n const {\n inputClassName,\n formItem: model,\n classnames: cx,\n children,\n type,\n size,\n defaultSize,\n useMobileUI,\n ...rest\n } = this.props;\n\n const controlSize = size || defaultSize;\n const mobileUI = useMobileUI && isMobile();\n return (\n <Control\n {...rest}\n useMobileUI={useMobileUI}\n onOpenDialog={this.handleOpenDialog}\n size={config.sizeMutable !== false ? undefined : size}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n type={type}\n classnames={cx}\n ref={isSFC ? undefined : this.refFn}\n forwardedRef={isSFC ? this.refFn : undefined}\n formItem={model}\n className={cx(\n `Form-control`,\n {\n 'is-inline': !!rest.inline && !mobileUI,\n 'is-error': model && !model.valid,\n [`Form-control--withSize Form-control--size${ucFirst(\n controlSize\n )}`]:\n config.sizeMutable !== false &&\n typeof controlSize === 'string' &&\n !!controlSize &&\n controlSize !== 'full'\n },\n model?.errClassNames,\n inputClassName\n )}\n />\n );\n }\n },\n Control\n ) as any\n );\n };\n}\n\nexport function registerFormItem(config: FormItemConfig): RendererConfig {\n let Control = asFormItem(config)(config.component);\n\n return registerRenderer({\n ...config,\n weight: typeof config.weight !== 'undefined' ? config.weight : -100, // 优先级高点\n component: Control as any,\n isFormItem: true\n });\n}\n\nexport function FormItem(config: FormItemBasicConfig) {\n return function (component: FormControlComponent): any {\n const renderer = registerFormItem({\n ...config,\n component\n });\n\n return renderer.component as any;\n };\n}\n\nexport default FormItem;\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -6,6 +6,7 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var Overlay_1 = (0, tslib_1.__importDefault)(require("../../components/Overlay"));
|
7
7
|
var Checkbox_1 = (0, tslib_1.__importDefault)(require("../../components/Checkbox"));
|
8
8
|
var PopOver_1 = (0, tslib_1.__importDefault)(require("../../components/PopOver"));
|
9
|
+
var PopUp_1 = (0, tslib_1.__importDefault)(require("../../components/PopUp"));
|
9
10
|
var icons_1 = require("../../components/icons");
|
10
11
|
var helper_1 = require("../../utils/helper");
|
11
12
|
var Options_1 = require("../Form/Options");
|
@@ -16,6 +17,7 @@ var xor_1 = (0, tslib_1.__importDefault)(require("lodash/xor"));
|
|
16
17
|
var union_1 = (0, tslib_1.__importDefault)(require("lodash/union"));
|
17
18
|
var compact_1 = (0, tslib_1.__importDefault)(require("lodash/compact"));
|
18
19
|
var RootClose_1 = require("../../utils/RootClose");
|
20
|
+
var Cascader_1 = (0, tslib_1.__importDefault)(require("../../components/Cascader"));
|
19
21
|
var NestedSelectControl = /** @class */ (function (_super) {
|
20
22
|
(0, tslib_1.__extends)(NestedSelectControl, _super);
|
21
23
|
function NestedSelectControl() {
|
@@ -337,9 +339,10 @@ var NestedSelectControl = /** @class */ (function (_super) {
|
|
337
339
|
};
|
338
340
|
NestedSelectControl.prototype.render = function () {
|
339
341
|
var _a;
|
340
|
-
var _b = this.props, className = _b.className, disabled = _b.disabled, cx = _b.classnames, multiple = _b.multiple, placeholder = _b.placeholder, __ = _b.translate, inline = _b.inline, searchable = _b.searchable, autoComplete = _b.autoComplete, selectedOptions = _b.selectedOptions, clearable = _b.clearable, loading = _b.loading, borderMode = _b.borderMode;
|
342
|
+
var _b = this.props, className = _b.className, disabled = _b.disabled, cx = _b.classnames, multiple = _b.multiple, placeholder = _b.placeholder, __ = _b.translate, inline = _b.inline, searchable = _b.searchable, autoComplete = _b.autoComplete, selectedOptions = _b.selectedOptions, clearable = _b.clearable, loading = _b.loading, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI, env = _b.env;
|
343
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
341
344
|
return (react_1.default.createElement("div", { className: cx('NestedSelectControl', className) },
|
342
|
-
react_1.default.createElement(components_1.ResultBox, { disabled: disabled, ref: this.domRef, placeholder: __(placeholder || '空'), className: cx("NestedSelect", (_a = {
|
345
|
+
react_1.default.createElement(components_1.ResultBox, { useMobileUI: useMobileUI, disabled: disabled, ref: this.domRef, placeholder: __(placeholder || '空'), className: cx("NestedSelect", (_a = {
|
343
346
|
'NestedSelect--inline': inline,
|
344
347
|
'NestedSelect--single': !multiple,
|
345
348
|
'NestedSelect--multi': multiple,
|
@@ -351,9 +354,10 @@ var NestedSelectControl = /** @class */ (function (_super) {
|
|
351
354
|
_a)), result: multiple
|
352
355
|
? selectedOptions
|
353
356
|
: selectedOptions.length
|
354
|
-
?
|
357
|
+
? selectedOptions[0]
|
355
358
|
: '', onResultClick: this.handleOutClick, value: this.state.inputValue, onChange: this.handleInputChange, onResultChange: this.handleResultChange, itemRender: this.renderValue, onKeyPress: this.handleKeyPress, onFocus: this.onFocus, onBlur: this.onBlur, onKeyDown: this.handleInputKeyDown, clearable: clearable, allowInput: searchable, inputPlaceholder: '' }, loading ? react_1.default.createElement(components_1.Spinner, { size: "sm" }) : undefined),
|
356
|
-
this.state.isOpened
|
359
|
+
mobileUI ? (react_1.default.createElement(PopUp_1.default, { className: cx("NestedSelect-popup"), container: env && env.getModalContainer ? env.getModalContainer : undefined, isShow: this.state.isOpened, onHide: this.close, showConfirm: false, showClose: false },
|
360
|
+
react_1.default.createElement(Cascader_1.default, (0, tslib_1.__assign)({ onClose: this.close }, this.props, { options: this.props.options.slice(), value: selectedOptions })))) : this.state.isOpened ? (this.renderOuter()) : null));
|
357
361
|
};
|
358
362
|
var _a, _b, _c, _d, _e, _f, _g, _h;
|
359
363
|
NestedSelectControl.defaultProps = {
|