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/NestedSelect.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 Overlay from '../../components/Overlay';\nimport Checkbox from '../../components/Checkbox';\nimport PopOver from '../../components/PopOver';\nimport {Icon} from '../../components/icons';\nimport {\n autobind,\n flattenTree,\n filterTree,\n string2regExp,\n getTreeAncestors,\n getTreeParent,\n ucFirst\n} from '../../utils/helper';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from '../Form/Options';\nimport {Option, Options} from '../../components/Select';\nimport {findDOMNode} from 'react-dom';\nimport {ResultBox, Spinner} from '../../components';\nimport xor from 'lodash/xor';\nimport union from 'lodash/union';\nimport compact from 'lodash/compact';\nimport {RootClose} from '../../utils/RootClose';\n\n/**\n * Nested Select\n * 文档:https://baidu.gitee.io/amis/docs/components/form/nested-select\n */\nexport interface NestedSelectControlSchema extends FormOptionsControl {\n type: 'nested-select';\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 弹框的 css 类\n */\n menuClassName?: string;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectProps extends OptionsControlProps {\n cascade?: boolean;\n noResultsText?: string;\n withChildren?: boolean;\n onlyChildren?: boolean;\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectState {\n isOpened?: boolean;\n isFocused?: boolean;\n inputValue?: string;\n stack: Array<Array<Option>>;\n}\n\nexport default class NestedSelectControl extends React.Component<\n NestedSelectProps,\n NestedSelectState\n> {\n static defaultProps: Partial<NestedSelectProps> = {\n cascade: false,\n withChildren: false,\n onlyChildren: false,\n searchPromptText: 'Select.searchPromptText',\n noResultsText: 'noResult',\n checkAll: true,\n checkAllLabel: '全选',\n hideNodePathLabel: false\n };\n target: any;\n input: HTMLInputElement;\n state: NestedSelectState = {\n isOpened: false,\n isFocused: false,\n inputValue: '',\n stack: [this.props.options]\n };\n\n @autobind\n domRef(ref: any) {\n this.target = ref;\n }\n\n componentDidUpdate(prevProps: NestedSelectProps) {\n if (prevProps.options !== this.props.options) {\n this.setState({\n stack: [this.props.options]\n });\n }\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n const {options} = this.props;\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n let {\n onChange,\n selectedOptions,\n joinValues,\n valueField,\n extractValue,\n delimiter,\n value\n } = this.props;\n\n e && e.stopPropagation();\n\n selectedOptions.splice(index, 1);\n\n if (joinValues) {\n value = (selectedOptions as Options)\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = (selectedOptions as Options).map(\n item => item[valueField || 'value']\n );\n }\n\n onChange(value);\n }\n\n @autobind\n renderValue(item: Option, key?: any) {\n const {classnames: cx, labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n const ancestors = getTreeAncestors(options, item, true);\n\n return (\n <span className={cx('Select-valueLabel')} key={key}>\n {`${\n ancestors\n ? ancestors\n .map(item => `${item[labelField || 'label']}`)\n .join(' / ')\n : item[labelField || 'label']\n }`}\n </span>\n );\n }\n\n @autobind\n handleOptionClick(option: Option) {\n const {multiple, onChange, joinValues, extractValue, valueField} =\n this.props;\n\n if (multiple) {\n return;\n }\n\n onChange(\n joinValues\n ? option[valueField || 'value']\n : extractValue\n ? option[valueField || 'value']\n : option\n );\n !multiple && this.close();\n }\n\n @autobind\n handleCheck(option: Option | Options, index?: number) {\n const {\n onChange,\n selectedOptions,\n joinValues,\n delimiter,\n extractValue,\n withChildren,\n onlyChildren,\n cascade,\n options\n } = this.props;\n const {stack} = this.state;\n\n let valueField = this.props.valueField || 'value';\n\n if (\n !Array.isArray(option) &&\n option.children &&\n option.children.length &&\n typeof index === 'number'\n ) {\n if (stack[index]) {\n stack.splice(index + 1, 1, option.children);\n } else {\n stack.push(option.children);\n }\n }\n\n const items = selectedOptions;\n let value: any[];\n /**\n * 打平树且只保留叶节点\n */\n const flattenTreeWithLeafNodes = (option: Option | Options) =>\n compact(\n flattenTree(Array.isArray(option) ? option : [option], node =>\n node.children && node.children.length ? null : node\n )\n );\n\n // 三种情况:\n // 1.全选,option为数组\n // 2.单个选中,且有children\n // 3.单个选中,没有children\n\n if (Array.isArray(option)) {\n if (withChildren) {\n option = flattenTree(option);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n }\n value = items.length === option.length ? [] : (option as Options);\n } else if (Array.isArray(option.children)) {\n if (cascade) {\n value = xor(items, [option]);\n } else if (withChildren) {\n option = flattenTree([option]);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else {\n value = items.filter(item => !~flattenTree([option]).indexOf(item));\n !~items.indexOf(option) && value.push(option);\n }\n } else {\n value = xor(items, [option]);\n }\n\n if (!cascade) {\n let toCheck = option;\n\n while (true) {\n const parent = getTreeParent(options, toCheck as any);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (parent.children.every((child: any) => ~value.indexOf(child))) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index && !withChildren && !onlyChildren) {\n value.splice(index, 1);\n }\n });\n\n if (!onlyChildren) {\n value.push(parent);\n }\n\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n\n onChange(\n joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n\n allChecked(options: Options): boolean {\n const {selectedOptions, withChildren, onlyChildren} = this.props;\n return options.every(option => {\n if ((withChildren || onlyChildren) && option.children) {\n return this.allChecked(option.children);\n }\n return selectedOptions.some(item => item === option);\n });\n }\n\n partialChecked(options: Options): boolean {\n return options.some(option => {\n const childrenPartialChecked =\n option.children && this.partialChecked(option.children);\n return (\n childrenPartialChecked ||\n this.props.selectedOptions.some(item => item === option)\n );\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n onFocus(e: any) {\n this.props.disabled ||\n this.state.isOpened ||\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n onBlur(e: any) {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n getTarget() {\n if (!this.target) {\n this.target = findDOMNode(this) as HTMLElement;\n }\n return this.target as HTMLElement;\n }\n\n @autobind\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n @autobind\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleInputChange(inputValue: string) {\n const {options, labelField, valueField} = this.props;\n\n const regexp = string2regExp(inputValue);\n\n let filtedOptions =\n inputValue && this.state.isOpened\n ? filterTree(\n options,\n option =>\n regexp.test(option[labelField || 'label']) ||\n regexp.test(option[valueField || 'value']) ||\n !!(option.children && option.children.length),\n 1,\n true\n )\n : options.concat();\n\n this.setState({\n inputValue,\n stack: [filtedOptions]\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n renderOptions() {\n const {\n multiple,\n selectedOptions,\n classnames: cx,\n options: propOptions,\n disabled,\n checkAll,\n checkAllLabel,\n translate: __,\n labelField,\n menuClassName,\n cascade,\n onlyChildren\n } = this.props;\n const valueField = this.props.valueField || 'value';\n\n const stack = this.state.stack;\n\n let partialChecked = this.partialChecked(propOptions);\n let allChecked = this.allChecked(propOptions);\n\n return (\n <>\n {stack.map((options, index) => (\n <div key={index} className={cx('NestedSelect-menu', menuClassName)}>\n {multiple && checkAll && index === 0 ? (\n <div className={cx('NestedSelect-option', 'checkall')}>\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, options)}\n checked={partialChecked}\n partial={partialChecked && !allChecked}\n ></Checkbox>\n <span onClick={this.handleCheck.bind(this, options)}>\n {__(checkAllLabel)}\n </span>\n </div>\n ) : null}\n\n {options.map((option: Option, idx: number) => {\n const ancestors = getTreeAncestors(propOptions, option as any);\n const parentChecked = ancestors?.some(\n item => !!~selectedOptions.indexOf(item)\n );\n const uncheckable = cascade ? false : multiple && parentChecked;\n const parentDisabled = ancestors?.some(item => !!item.disabled);\n\n let nodeDisabled =\n uncheckable || option.disabled || parentDisabled || !!disabled;\n let selfChildrenChecked = !!(\n option.children && this.partialChecked(option.children)\n );\n let selfChecked =\n uncheckable || !!~selectedOptions.indexOf(option);\n\n if (\n !selfChecked &&\n onlyChildren &&\n option.children &&\n this.allChecked(option.children)\n ) {\n selfChecked = true;\n }\n\n return (\n <div\n key={idx}\n className={cx('NestedSelect-option', {\n 'is-active':\n !nodeDisabled &&\n (selfChecked || (!cascade && selfChildrenChecked))\n })}\n onMouseEnter={this.onMouseEnter.bind(this, option, index)}\n >\n {multiple ? (\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, option, index)}\n trueValue={option[valueField]}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n disabled={nodeDisabled}\n ></Checkbox>\n ) : null}\n\n <div\n className={cx('NestedSelect-optionLabel', {\n 'is-disabled': nodeDisabled\n })}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(option, index)\n : this.handleOptionClick(option))\n }\n >\n {option[labelField || 'label']}\n </div>\n\n {option.children && option.children.length ? (\n <div className={cx('NestedSelect-optionArrowRight')}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n })}\n </div>\n ))}\n </>\n );\n }\n\n onMouseEnter(option: Option, index: number, e: MouseEvent) {\n let {stack} = this.state;\n index = index + 1;\n\n const children = option.children;\n if (children && children.length) {\n if (stack[index]) {\n stack.splice(index, 1, children);\n } else {\n stack.push(children);\n }\n } else {\n stack[index] && stack.splice(index, 1);\n }\n\n this.setState({stack: stack.slice(0, index + 1)});\n }\n\n renderOuter() {\n const {\n popOverContainer,\n translate: __,\n classnames: cx,\n options,\n render\n } = this.props;\n let noResultsText: any = this.props.noResultsText;\n\n if (noResultsText) {\n noResultsText = render('noResultText', __(noResultsText));\n }\n\n let body = (\n <RootClose disabled={!this.state.isOpened} onRootClose={this.close}>\n {(ref: any) => {\n return (\n <div className={cx('NestedSelect-menuOuter')} ref={ref}>\n {options.length ? (\n this.renderOptions()\n ) : (\n <div className={cx('NestedSelect-noResult')}>\n {noResultsText}\n </div>\n )}\n </div>\n );\n }}\n </RootClose>\n );\n\n return (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || (() => findDOMNode(this))}\n placement={'auto'}\n show\n >\n <PopOver className={cx('NestedSelect-popover')}>{body}</PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n classnames: cx,\n multiple,\n placeholder,\n translate: __,\n inline,\n searchable,\n autoComplete,\n selectedOptions,\n clearable,\n loading,\n borderMode\n } = this.props;\n\n return (\n <div className={cx('NestedSelectControl', className)}>\n <ResultBox\n disabled={disabled}\n ref={this.domRef}\n placeholder={__(placeholder || '空')}\n className={cx(`NestedSelect`, {\n 'NestedSelect--inline': inline,\n 'NestedSelect--single': !multiple,\n 'NestedSelect--multi': multiple,\n 'NestedSelect--searchable': searchable,\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n [`NestedSelect--border${ucFirst(borderMode)}`]: borderMode\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? this.renderValue(selectedOptions[0])\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderValue}\n onKeyPress={this.handleKeyPress}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'nested-select'\n})\nexport class NestedSelectControlRenderer extends NestedSelectControl {}\n"
|
11
|
+
"import React from 'react';\nimport Overlay from '../../components/Overlay';\nimport Checkbox from '../../components/Checkbox';\nimport PopOver from '../../components/PopOver';\nimport PopUp from '../../components/PopUp';\nimport {Icon} from '../../components/icons';\nimport {\n autobind,\n flattenTree,\n filterTree,\n string2regExp,\n getTreeAncestors,\n getTreeParent,\n ucFirst,\n isMobile\n} from '../../utils/helper';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from '../Form/Options';\nimport {Option, Options} from '../../components/Select';\nimport {findDOMNode} from 'react-dom';\nimport {ResultBox, Spinner} from '../../components';\nimport xor from 'lodash/xor';\nimport union from 'lodash/union';\nimport compact from 'lodash/compact';\nimport {RootClose} from '../../utils/RootClose';\nimport Cascader from '../../components/Cascader';\n\n/**\n * Nested Select\n * 文档:https://baidu.gitee.io/amis/docs/components/form/nested-select\n */\nexport interface NestedSelectControlSchema extends FormOptionsControl {\n type: 'nested-select';\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 弹框的 css 类\n */\n menuClassName?: string;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 是否隐藏选择框中已选中节点的祖先节点的文本信息\n */\n hideNodePathLabel?: boolean;\n}\n\nexport interface NestedSelectProps extends OptionsControlProps {\n cascade?: boolean;\n noResultsText?: string;\n withChildren?: boolean;\n onlyChildren?: boolean;\n hideNodePathLabel?: boolean;\n useMobileUI?: boolean;\n}\n\nexport interface NestedSelectState {\n isOpened?: boolean;\n isFocused?: boolean;\n inputValue?: string;\n stack: Array<Array<Option>>;\n}\n\nexport default class NestedSelectControl extends React.Component<\n NestedSelectProps,\n NestedSelectState\n> {\n static defaultProps: Partial<NestedSelectProps> = {\n cascade: false,\n withChildren: false,\n onlyChildren: false,\n searchPromptText: 'Select.searchPromptText',\n noResultsText: 'noResult',\n checkAll: true,\n checkAllLabel: '全选',\n hideNodePathLabel: false\n };\n target: any;\n input: HTMLInputElement;\n state: NestedSelectState = {\n isOpened: false,\n isFocused: false,\n inputValue: '',\n stack: [this.props.options]\n };\n\n @autobind\n domRef(ref: any) {\n this.target = ref;\n }\n\n componentDidUpdate(prevProps: NestedSelectProps) {\n if (prevProps.options !== this.props.options) {\n this.setState({\n stack: [this.props.options]\n });\n }\n }\n\n @autobind\n handleOutClick(e: React.MouseEvent<any>) {\n const {options} = this.props;\n e.defaultPrevented ||\n this.setState({\n isOpened: true\n });\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n removeItem(index: number, e?: React.MouseEvent<HTMLElement>) {\n let {\n onChange,\n selectedOptions,\n joinValues,\n valueField,\n extractValue,\n delimiter,\n value\n } = this.props;\n\n e && e.stopPropagation();\n\n selectedOptions.splice(index, 1);\n\n if (joinValues) {\n value = (selectedOptions as Options)\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n value = (selectedOptions as Options).map(\n item => item[valueField || 'value']\n );\n }\n\n onChange(value);\n }\n\n @autobind\n renderValue(item: Option, key?: any) {\n const {classnames: cx, labelField, options, hideNodePathLabel} = this.props;\n\n if (hideNodePathLabel) {\n return item[labelField || 'label'];\n }\n const ancestors = getTreeAncestors(options, item, true);\n\n return (\n <span className={cx('Select-valueLabel')} key={key}>\n {`${\n ancestors\n ? ancestors\n .map(item => `${item[labelField || 'label']}`)\n .join(' / ')\n : item[labelField || 'label']\n }`}\n </span>\n );\n }\n\n @autobind\n handleOptionClick(option: Option) {\n const {multiple, onChange, joinValues, extractValue, valueField} =\n this.props;\n\n if (multiple) {\n return;\n }\n\n onChange(\n joinValues\n ? option[valueField || 'value']\n : extractValue\n ? option[valueField || 'value']\n : option\n );\n !multiple && this.close();\n }\n\n @autobind\n handleCheck(option: Option | Options, index?: number) {\n const {\n onChange,\n selectedOptions,\n joinValues,\n delimiter,\n extractValue,\n withChildren,\n onlyChildren,\n cascade,\n options\n } = this.props;\n const {stack} = this.state;\n\n let valueField = this.props.valueField || 'value';\n\n if (\n !Array.isArray(option) &&\n option.children &&\n option.children.length &&\n typeof index === 'number'\n ) {\n if (stack[index]) {\n stack.splice(index + 1, 1, option.children);\n } else {\n stack.push(option.children);\n }\n }\n\n const items = selectedOptions;\n let value: any[];\n /**\n * 打平树且只保留叶节点\n */\n const flattenTreeWithLeafNodes = (option: Option | Options) =>\n compact(\n flattenTree(Array.isArray(option) ? option : [option], node =>\n node.children && node.children.length ? null : node\n )\n );\n\n // 三种情况:\n // 1.全选,option为数组\n // 2.单个选中,且有children\n // 3.单个选中,没有children\n\n if (Array.isArray(option)) {\n if (withChildren) {\n option = flattenTree(option);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n }\n value = items.length === option.length ? [] : (option as Options);\n } else if (Array.isArray(option.children)) {\n if (cascade) {\n value = xor(items, [option]);\n } else if (withChildren) {\n option = flattenTree([option]);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else if (onlyChildren) {\n option = flattenTreeWithLeafNodes(option);\n const isEvery = (option as Options).every(opt => !!~items.indexOf(opt));\n value = (isEvery ? xor : union)(items, option as any);\n } else {\n value = items.filter(item => !~flattenTree([option]).indexOf(item));\n !~items.indexOf(option) && value.push(option);\n }\n } else {\n value = xor(items, [option]);\n }\n\n if (!cascade) {\n let toCheck = option;\n\n while (true) {\n const parent = getTreeParent(options, toCheck as any);\n if (parent?.value) {\n // 如果所有孩子节点都勾选了,应该自动勾选父级。\n\n if (parent.children.every((child: any) => ~value.indexOf(child))) {\n parent.children.forEach((child: any) => {\n const index = value.indexOf(child);\n if (~index && !withChildren && !onlyChildren) {\n value.splice(index, 1);\n }\n });\n\n if (!onlyChildren) {\n value.push(parent);\n }\n\n toCheck = parent;\n continue;\n }\n }\n break;\n }\n }\n\n onChange(\n joinValues\n ? value.map(item => item[valueField as string]).join(delimiter)\n : extractValue\n ? value.map(item => item[valueField as string])\n : value\n );\n }\n\n allChecked(options: Options): boolean {\n const {selectedOptions, withChildren, onlyChildren} = this.props;\n return options.every(option => {\n if ((withChildren || onlyChildren) && option.children) {\n return this.allChecked(option.children);\n }\n return selectedOptions.some(item => item === option);\n });\n }\n\n partialChecked(options: Options): boolean {\n return options.some(option => {\n const childrenPartialChecked =\n option.children && this.partialChecked(option.children);\n return (\n childrenPartialChecked ||\n this.props.selectedOptions.some(item => item === option)\n );\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n onFocus(e: any) {\n this.props.disabled ||\n this.state.isOpened ||\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n onBlur(e: any) {\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n getTarget() {\n if (!this.target) {\n this.target = findDOMNode(this) as HTMLElement;\n }\n return this.target as HTMLElement;\n }\n\n @autobind\n handleKeyPress(e: React.KeyboardEvent) {\n if (e.key === ' ') {\n this.handleOutClick(e as any);\n e.preventDefault();\n }\n }\n\n @autobind\n handleInputKeyDown(event: React.KeyboardEvent) {\n const inputValue = this.state.inputValue;\n const {multiple, selectedOptions} = this.props;\n\n if (\n event.key === 'Backspace' &&\n !inputValue &&\n selectedOptions.length &&\n multiple\n ) {\n this.removeItem(selectedOptions.length - 1);\n }\n }\n\n @autobind\n handleInputChange(inputValue: string) {\n const {options, labelField, valueField} = this.props;\n\n const regexp = string2regExp(inputValue);\n\n let filtedOptions =\n inputValue && this.state.isOpened\n ? filterTree(\n options,\n option =>\n regexp.test(option[labelField || 'label']) ||\n regexp.test(option[valueField || 'value']) ||\n !!(option.children && option.children.length),\n 1,\n true\n )\n : options.concat();\n\n this.setState({\n inputValue,\n stack: [filtedOptions]\n });\n }\n\n @autobind\n handleResultChange(value: Array<Option>) {\n const {\n joinValues,\n extractValue,\n delimiter,\n valueField,\n onChange,\n multiple\n } = this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (!multiple && !newValue.length) {\n onChange('');\n return;\n }\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n onChange(newValue);\n }\n\n renderOptions() {\n const {\n multiple,\n selectedOptions,\n classnames: cx,\n options: propOptions,\n disabled,\n checkAll,\n checkAllLabel,\n translate: __,\n labelField,\n menuClassName,\n cascade,\n onlyChildren\n } = this.props;\n const valueField = this.props.valueField || 'value';\n\n const stack = this.state.stack;\n\n let partialChecked = this.partialChecked(propOptions);\n let allChecked = this.allChecked(propOptions);\n\n return (\n <>\n {stack.map((options, index) => (\n <div key={index} className={cx('NestedSelect-menu', menuClassName)}>\n {multiple && checkAll && index === 0 ? (\n <div className={cx('NestedSelect-option', 'checkall')}>\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, options)}\n checked={partialChecked}\n partial={partialChecked && !allChecked}\n ></Checkbox>\n <span onClick={this.handleCheck.bind(this, options)}>\n {__(checkAllLabel)}\n </span>\n </div>\n ) : null}\n\n {options.map((option: Option, idx: number) => {\n const ancestors = getTreeAncestors(propOptions, option as any);\n const parentChecked = ancestors?.some(\n item => !!~selectedOptions.indexOf(item)\n );\n const uncheckable = cascade ? false : multiple && parentChecked;\n const parentDisabled = ancestors?.some(item => !!item.disabled);\n\n let nodeDisabled =\n uncheckable || option.disabled || parentDisabled || !!disabled;\n let selfChildrenChecked = !!(\n option.children && this.partialChecked(option.children)\n );\n let selfChecked =\n uncheckable || !!~selectedOptions.indexOf(option);\n\n if (\n !selfChecked &&\n onlyChildren &&\n option.children &&\n this.allChecked(option.children)\n ) {\n selfChecked = true;\n }\n\n return (\n <div\n key={idx}\n className={cx('NestedSelect-option', {\n 'is-active':\n !nodeDisabled &&\n (selfChecked || (!cascade && selfChildrenChecked))\n })}\n onMouseEnter={this.onMouseEnter.bind(this, option, index)}\n >\n {multiple ? (\n <Checkbox\n size=\"sm\"\n onChange={this.handleCheck.bind(this, option, index)}\n trueValue={option[valueField]}\n checked={selfChecked || (!cascade && selfChildrenChecked)}\n partial={!selfChecked}\n disabled={nodeDisabled}\n ></Checkbox>\n ) : null}\n\n <div\n className={cx('NestedSelect-optionLabel', {\n 'is-disabled': nodeDisabled\n })}\n onClick={() =>\n !nodeDisabled &&\n (multiple\n ? this.handleCheck(option, index)\n : this.handleOptionClick(option))\n }\n >\n {option[labelField || 'label']}\n </div>\n\n {option.children && option.children.length ? (\n <div className={cx('NestedSelect-optionArrowRight')}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n })}\n </div>\n ))}\n </>\n );\n }\n\n onMouseEnter(option: Option, index: number, e: MouseEvent) {\n let {stack} = this.state;\n index = index + 1;\n\n const children = option.children;\n if (children && children.length) {\n if (stack[index]) {\n stack.splice(index, 1, children);\n } else {\n stack.push(children);\n }\n } else {\n stack[index] && stack.splice(index, 1);\n }\n\n this.setState({stack: stack.slice(0, index + 1)});\n }\n\n renderOuter() {\n const {\n popOverContainer,\n translate: __,\n classnames: cx,\n options,\n render\n } = this.props;\n let noResultsText: any = this.props.noResultsText;\n\n if (noResultsText) {\n noResultsText = render('noResultText', __(noResultsText));\n }\n\n let body = (\n <RootClose disabled={!this.state.isOpened} onRootClose={this.close}>\n {(ref: any) => {\n return (\n <div className={cx('NestedSelect-menuOuter')} ref={ref}>\n {options.length ? (\n this.renderOptions()\n ) : (\n <div className={cx('NestedSelect-noResult')}>\n {noResultsText}\n </div>\n )}\n </div>\n );\n }}\n </RootClose>\n );\n\n return (\n <Overlay\n target={this.getTarget}\n container={popOverContainer || (() => findDOMNode(this))}\n placement={'auto'}\n show\n >\n <PopOver className={cx('NestedSelect-popover')}>{body}</PopOver>\n </Overlay>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n classnames: cx,\n multiple,\n placeholder,\n translate: __,\n inline,\n searchable,\n autoComplete,\n selectedOptions,\n clearable,\n loading,\n borderMode,\n useMobileUI,\n env\n } = this.props;\n\n const mobileUI = useMobileUI && isMobile();\n return (\n <div className={cx('NestedSelectControl', className)}>\n <ResultBox\n useMobileUI={useMobileUI}\n disabled={disabled}\n ref={this.domRef}\n placeholder={__(placeholder || '空')}\n className={cx(`NestedSelect`, {\n 'NestedSelect--inline': inline,\n 'NestedSelect--single': !multiple,\n 'NestedSelect--multi': multiple,\n 'NestedSelect--searchable': searchable,\n 'is-opened': this.state.isOpened,\n 'is-focused': this.state.isFocused,\n [`NestedSelect--border${ucFirst(borderMode)}`]: borderMode\n })}\n result={\n multiple\n ? selectedOptions\n : selectedOptions.length\n ? selectedOptions[0]\n : ''\n }\n onResultClick={this.handleOutClick}\n value={this.state.inputValue}\n onChange={this.handleInputChange}\n onResultChange={this.handleResultChange}\n itemRender={this.renderValue}\n onKeyPress={this.handleKeyPress}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onKeyDown={this.handleInputKeyDown}\n clearable={clearable}\n allowInput={searchable}\n inputPlaceholder={''}\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n {mobileUI ? (\n <PopUp\n className={cx(`NestedSelect-popup`)}\n container={\n env && env.getModalContainer ? env.getModalContainer : undefined\n }\n isShow={this.state.isOpened}\n onHide={this.close}\n showConfirm={false}\n showClose={false}\n >\n <Cascader\n onClose={this.close}\n {...this.props}\n options={this.props.options.slice()}\n value={selectedOptions}\n />\n </PopUp>\n ) : this.state.isOpened ? (\n this.renderOuter()\n ) : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'nested-select'\n})\nexport class NestedSelectControlRenderer extends NestedSelectControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -63,6 +63,7 @@ export interface SelectProps extends OptionsControlProps {
|
|
63
63
|
autoComplete?: Api;
|
64
64
|
searchable?: boolean;
|
65
65
|
defaultOpen?: boolean;
|
66
|
+
useMobileUI?: boolean;
|
66
67
|
}
|
67
68
|
export default class SelectControl extends React.Component<SelectProps, any> {
|
68
69
|
static defaultProps: Partial<SelectProps>;
|
@@ -86,6 +87,7 @@ export default class SelectControl extends React.Component<SelectProps, any> {
|
|
86
87
|
}
|
87
88
|
export interface TransferDropDownProps extends OptionsControlProps, Omit<TransferControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
|
88
89
|
borderMode?: 'full' | 'half' | 'none';
|
90
|
+
useMobileUI?: boolean;
|
89
91
|
}
|
90
92
|
export declare class SelectControlRenderer extends SelectControl {
|
91
93
|
}
|
@@ -146,11 +146,14 @@ var SelectControl = /** @class */ (function (_super) {
|
|
146
146
|
return (react_1.default.createElement(TransferDropdownRenderer, (0, tslib_1.__assign)({}, rest, { selectMode: selectMode === 'group' ? 'list' : selectMode })));
|
147
147
|
};
|
148
148
|
SelectControl.prototype.render = function () {
|
149
|
-
var _a = this.props, autoComplete = _a.autoComplete, searchable = _a.searchable, options = _a.options, className = _a.className, loading = _a.loading, value = _a.value, selectedOptions = _a.selectedOptions, multi = _a.multi, multiple = _a.multiple, placeholder = _a.placeholder, id = _a.id, classPrefix = _a.classPrefix, classnames = _a.classnames, creatable = _a.creatable, inline = _a.inline, noResultsText = _a.noResultsText, render = _a.render, menuTpl = _a.menuTpl, borderMode = _a.borderMode, selectMode = _a.selectMode, env = _a.env, rest = (0, tslib_1.__rest)(_a, ["autoComplete", "searchable", "options", "className", "loading", "value", "selectedOptions", "multi", "multiple", "placeholder", "id", "classPrefix", "classnames", "creatable", "inline", "noResultsText", "render", "menuTpl", "borderMode", "selectMode", "env"]);
|
149
|
+
var _a = this.props, autoComplete = _a.autoComplete, searchable = _a.searchable, options = _a.options, className = _a.className, loading = _a.loading, value = _a.value, selectedOptions = _a.selectedOptions, multi = _a.multi, multiple = _a.multiple, placeholder = _a.placeholder, id = _a.id, classPrefix = _a.classPrefix, classnames = _a.classnames, creatable = _a.creatable, inline = _a.inline, noResultsText = _a.noResultsText, render = _a.render, menuTpl = _a.menuTpl, borderMode = _a.borderMode, selectMode = _a.selectMode, env = _a.env, useMobileUI = _a.useMobileUI, rest = (0, tslib_1.__rest)(_a, ["autoComplete", "searchable", "options", "className", "loading", "value", "selectedOptions", "multi", "multiple", "placeholder", "id", "classPrefix", "classnames", "creatable", "inline", "noResultsText", "render", "menuTpl", "borderMode", "selectMode", "env", "useMobileUI"]);
|
150
150
|
if (noResultsText) {
|
151
151
|
noResultsText = render('noResultText', noResultsText);
|
152
152
|
}
|
153
|
-
|
153
|
+
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
154
|
+
return (react_1.default.createElement("div", { className: (0, classnames_1.default)(classPrefix + "SelectControl", className) }, ['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(selectMode) ? (this.renderOtherMode()) : (react_1.default.createElement(Select_1.default, (0, tslib_1.__assign)({}, rest, { useMobileUI: useMobileUI, popOverContainer: mobileUI && env && env.getModalContainer
|
155
|
+
? env.getModalContainer
|
156
|
+
: undefined, borderMode: borderMode, placeholder: placeholder, multiple: multiple || multi, ref: this.inputRef, value: selectedOptions, options: options, loadOptions: (0, api_1.isEffectiveApi)(autoComplete) ? this.lazyloadRemote : undefined, creatable: creatable, searchable: searchable || !!autoComplete, onChange: this.changeValue, loading: loading, noResultsText: noResultsText, renderMenu: menuTpl ? this.renderMenu : undefined })))));
|
154
157
|
};
|
155
158
|
var _a;
|
156
159
|
SelectControl.defaultProps = {
|
@@ -174,7 +177,7 @@ var TransferDropdownRenderer = /** @class */ (function (_super) {
|
|
174
177
|
}
|
175
178
|
TransferDropdownRenderer.prototype.render = function () {
|
176
179
|
var _a;
|
177
|
-
var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, sortable = _b.sortable, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, showArrow = _b.showArrow, deferLoad = _b.deferLoad, disabled = _b.disabled, selectTitle = _b.selectTitle, selectMode = _b.selectMode, multiple = _b.multiple, columns = _b.columns, leftMode = _b.leftMode, borderMode = _b.borderMode;
|
180
|
+
var _b = this.props, className = _b.className, cx = _b.classnames, selectedOptions = _b.selectedOptions, sortable = _b.sortable, loading = _b.loading, searchable = _b.searchable, searchResultMode = _b.searchResultMode, showArrow = _b.showArrow, deferLoad = _b.deferLoad, disabled = _b.disabled, selectTitle = _b.selectTitle, selectMode = _b.selectMode, multiple = _b.multiple, columns = _b.columns, leftMode = _b.leftMode, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI;
|
178
181
|
// 目前 LeftOptions 没有接口可以动态加载
|
179
182
|
// 为了方便可以快速实现动态化,让选项的第一个成员携带
|
180
183
|
// LeftOptions 信息
|
@@ -189,7 +192,7 @@ var TransferDropdownRenderer = /** @class */ (function (_super) {
|
|
189
192
|
options = options[0].children;
|
190
193
|
}
|
191
194
|
return (react_1.default.createElement(react_1.default.Fragment, null,
|
192
|
-
react_1.default.createElement(TransferDropDown_1.default, { selectMode: selectMode, className: className, value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, multiple: multiple, columns: columns, leftMode: leftMode, leftOptions: leftOptions, borderMode: borderMode }),
|
195
|
+
react_1.default.createElement(TransferDropDown_1.default, { selectMode: selectMode, className: className, value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, multiple: multiple, columns: columns, leftMode: leftMode, leftOptions: leftOptions, borderMode: borderMode, useMobileUI: useMobileUI }),
|
193
196
|
react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
|
194
197
|
};
|
195
198
|
return TransferDropdownRenderer;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Select.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uEAA4B;AAC5B,qCAKmB;AACnB,6EAAiE;AACjE,kEAA+B;AAC/B,0EAAsC;AAEtC,uCAA+C;AAC/C,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {isEmpty, createObject, autobind} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n}\n\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n changeValue(value: Option | Array<Option> | void) {\n const {\n joinValues,\n extractValue,\n delimiter,\n multiple,\n type,\n valueField,\n onChange,\n setOptions,\n options\n } = this.props;\n\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [''];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n onChange(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={env.useMobileUI}\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api} from '../../types';\nimport {isEffectiveApi} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n}\n\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n changeValue(value: Option | Array<Option> | void) {\n const {\n joinValues,\n extractValue,\n delimiter,\n multiple,\n type,\n valueField,\n onChange,\n setOptions,\n options\n } = this.props;\n\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [''];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n onChange(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions} = this.props;\n let combinedOptions = normalizeOptions(options).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : undefined\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,44 +1,17 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { OptionsControlProps
|
3
|
-
import { BaseTransferRenderer } from './Transfer';
|
4
|
-
import {
|
2
|
+
import { OptionsControlProps } from './Options';
|
3
|
+
import { BaseTransferRenderer, TransferControlSchema } from './Transfer';
|
4
|
+
import { ItemRenderStates } from '../../components/Selection';
|
5
5
|
/**
|
6
6
|
* TabsTransfer
|
7
7
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer
|
8
8
|
*/
|
9
|
-
export interface TabsTransferControlSchema extends
|
9
|
+
export interface TabsTransferControlSchema extends Omit<TransferControlSchema, 'type'> {
|
10
10
|
type: 'tabs-transfer';
|
11
|
-
/**
|
12
|
-
* 是否显示剪头
|
13
|
-
*/
|
14
|
-
showArrow?: boolean;
|
15
|
-
/**
|
16
|
-
* 可排序?
|
17
|
-
*/
|
18
|
-
sortable?: boolean;
|
19
|
-
/**
|
20
|
-
* 搜索结果展示模式
|
21
|
-
*/
|
22
|
-
searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
|
23
|
-
/**
|
24
|
-
* 可搜索?
|
25
|
-
*/
|
26
|
-
searchable?: boolean;
|
27
|
-
/**
|
28
|
-
* 搜索 API
|
29
|
-
*/
|
30
|
-
searchApi?: SchemaApi;
|
31
|
-
/**
|
32
|
-
* 左侧的标题文字
|
33
|
-
*/
|
34
|
-
selectTitle?: string;
|
35
|
-
/**
|
36
|
-
* 右侧结果的标题文字
|
37
|
-
*/
|
38
|
-
resultTitle?: string;
|
39
11
|
}
|
40
12
|
export interface TabsTransferProps extends OptionsControlProps, Omit<TabsTransferControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
|
41
13
|
}
|
42
14
|
export declare class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {
|
15
|
+
optionItemRender(option: any, states: ItemRenderStates): JSX.Element;
|
43
16
|
render(): JSX.Element;
|
44
17
|
}
|
@@ -7,17 +7,36 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
7
7
|
var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
|
8
8
|
var Transfer_1 = require("./Transfer");
|
9
9
|
var TabsTransfer_1 = (0, tslib_1.__importDefault)(require("../../components/TabsTransfer"));
|
10
|
+
var helper_1 = require("../../utils/helper");
|
11
|
+
var Selection_1 = require("../../components/Selection");
|
10
12
|
var TabsTransferRenderer = /** @class */ (function (_super) {
|
11
13
|
(0, tslib_1.__extends)(TabsTransferRenderer, _super);
|
12
14
|
function TabsTransferRenderer() {
|
13
15
|
return _super !== null && _super.apply(this, arguments) || this;
|
14
16
|
}
|
17
|
+
TabsTransferRenderer.prototype.optionItemRender = function (option, states) {
|
18
|
+
var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data;
|
19
|
+
var ctx = arguments[2] || {};
|
20
|
+
if (menuTpl) {
|
21
|
+
return render("item/" + states.index, menuTpl, {
|
22
|
+
data: (0, helper_1.createObject)((0, helper_1.createObject)(data, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, states), ctx)), option)
|
23
|
+
});
|
24
|
+
}
|
25
|
+
return Selection_1.BaseSelection.itemRender(option, states);
|
26
|
+
};
|
15
27
|
TabsTransferRenderer.prototype.render = function () {
|
16
28
|
var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle;
|
17
29
|
return (react_1.default.createElement("div", { className: cx('TabsTransferControl', className) },
|
18
|
-
react_1.default.createElement(TabsTransfer_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle }),
|
30
|
+
react_1.default.createElement(TabsTransfer_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, optionItemRender: this.optionItemRender, resultItemRender: this.resultItemRender }),
|
19
31
|
react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
|
20
32
|
};
|
33
|
+
var _a;
|
34
|
+
(0, tslib_1.__decorate)([
|
35
|
+
helper_1.autobind,
|
36
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
37
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_a = typeof Selection_1.ItemRenderStates !== "undefined" && Selection_1.ItemRenderStates) === "function" ? _a : Object]),
|
38
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
39
|
+
], TabsTransferRenderer.prototype, "optionItemRender", null);
|
21
40
|
TabsTransferRenderer = (0, tslib_1.__decorate)([
|
22
41
|
(0, Options_1.OptionsControl)({
|
23
42
|
type: 'tabs-transfer'
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/TabsTransfer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,
|
9
|
+
"mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAE1B,kFAA+C;AAC/C,uCAAuE;AACvE,4FAAyD;AAEzD,6CAA0D;AAC1D,wDAA2E;AAyB3E;IAA0C,qDAAuC;IAAjF;;IA6DA,CAAC;IA3DC,+CAAgB,GAAhB,UAAiB,MAAW,EAAE,MAAwB;QAC9C,IAAA,KAA0B,IAAI,CAAC,KAAK,EAAnC,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC3C,IAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,OAAO,MAAM,CAAC,UAAQ,MAAM,CAAC,KAAO,EAAE,OAAO,EAAE;gBAC7C,IAAI,EAAE,IAAA,qBAAY,EAChB,IAAA,qBAAY,EAAC,IAAI,kDACZ,MAAM,GACN,GAAG,EACN,EACF,MAAM,CACP;aACF,CAAC,CAAC;SACJ;QAED,OAAO,yBAAa,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,qCAAM,GAAN;QACQ,IAAA,KAcF,IAAI,CAAC,KAAK,EAbZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,sBAAY,IACX,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;;IA1DD;QADC,iBAAQ;;kFAC6B,4BAAgB,oBAAhB,4BAAgB;;gEAiBrD;IAnBU,oBAAoB;QAHhC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,eAAe;SACtB,CAAC;OACW,oBAAoB,CA6DhC;IAAD,2BAAC;CAAA,AA7DD,CAA0C,+BAAoB,GA6D7D;AA7DY,oDAAoB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * TabsTransfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer\n */\nexport interface TabsTransferControlSchema
|
11
|
+
"import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport {Api} from '../../types';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TabsTransfer from '../../components/TabsTransfer';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport {autobind, createObject} from '../../utils/helper';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\n\n/**\n * TabsTransfer\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer\n */\nexport interface TabsTransferControlSchema\n extends Omit<TransferControlSchema, 'type'> {\n type: 'tabs-transfer';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer'\n})\nexport class TabsTransferRenderer extends BaseTransferRenderer<TabsTransferProps> {\n @autobind\n optionItemRender(option: any, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n const ctx = arguments[2] || {};\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(\n createObject(data, {\n ...states,\n ...ctx\n }),\n option\n )\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransfer\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,48 +1,18 @@
|
|
1
1
|
/// <reference types="react" />
|
2
|
-
import { OptionsControlProps
|
2
|
+
import { OptionsControlProps } from './Options';
|
3
3
|
import { BaseTransferRenderer } from './Transfer';
|
4
|
-
import {
|
4
|
+
import { TabsTransferControlSchema } from './TabsTransfer';
|
5
|
+
import { ItemRenderStates } from '../../components/Selection';
|
5
6
|
/**
|
6
7
|
* TabsTransferPicker 穿梭器的弹框形态
|
7
8
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker
|
8
9
|
*/
|
9
|
-
export interface TabsTransferPickerControlSchema extends
|
10
|
+
export interface TabsTransferPickerControlSchema extends Omit<TabsTransferControlSchema, 'type'> {
|
10
11
|
type: 'tabs-transfer-picker';
|
11
|
-
/**
|
12
|
-
* 是否显示剪头
|
13
|
-
*/
|
14
|
-
showArrow?: boolean;
|
15
|
-
/**
|
16
|
-
* 可排序?
|
17
|
-
*/
|
18
|
-
sortable?: boolean;
|
19
|
-
/**
|
20
|
-
* 搜索结果展示模式
|
21
|
-
*/
|
22
|
-
searchResultMode?: 'table' | 'list' | 'tree' | 'chained';
|
23
|
-
/**
|
24
|
-
* 可搜索?
|
25
|
-
*/
|
26
|
-
searchable?: boolean;
|
27
|
-
/**
|
28
|
-
* 搜索 API
|
29
|
-
*/
|
30
|
-
searchApi?: SchemaApi;
|
31
|
-
/**
|
32
|
-
* 左侧的标题文字
|
33
|
-
*/
|
34
|
-
selectTitle?: string;
|
35
|
-
/**
|
36
|
-
* 右侧结果的标题文字
|
37
|
-
*/
|
38
|
-
resultTitle?: string;
|
39
|
-
/**
|
40
|
-
* 弹窗大小
|
41
|
-
*/
|
42
|
-
pickerSize?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';
|
43
12
|
}
|
44
13
|
export interface TabsTransferProps extends OptionsControlProps, Omit<TabsTransferPickerControlSchema, 'type' | 'options' | 'inputClassName' | 'className' | 'descriptionClassName'> {
|
45
14
|
}
|
46
15
|
export declare class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {
|
16
|
+
optionItemRender(option: any, states: ItemRenderStates): JSX.Element;
|
47
17
|
render(): JSX.Element;
|
48
18
|
}
|
@@ -7,17 +7,36 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
7
7
|
var Spinner_1 = (0, tslib_1.__importDefault)(require("../../components/Spinner"));
|
8
8
|
var Transfer_1 = require("./Transfer");
|
9
9
|
var TabsTransferPicker_1 = (0, tslib_1.__importDefault)(require("../../components/TabsTransferPicker"));
|
10
|
+
var helper_1 = require("../../utils/helper");
|
11
|
+
var Selection_1 = require("../../components/Selection");
|
10
12
|
var TabsTransferPickerRenderer = /** @class */ (function (_super) {
|
11
13
|
(0, tslib_1.__extends)(TabsTransferPickerRenderer, _super);
|
12
14
|
function TabsTransferPickerRenderer() {
|
13
15
|
return _super !== null && _super.apply(this, arguments) || this;
|
14
16
|
}
|
17
|
+
TabsTransferPickerRenderer.prototype.optionItemRender = function (option, states) {
|
18
|
+
var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data;
|
19
|
+
var ctx = arguments[2] || {};
|
20
|
+
if (menuTpl) {
|
21
|
+
return render("item/" + states.index, menuTpl, {
|
22
|
+
data: (0, helper_1.createObject)((0, helper_1.createObject)(data, (0, tslib_1.__assign)((0, tslib_1.__assign)({}, states), ctx)), option)
|
23
|
+
});
|
24
|
+
}
|
25
|
+
return Selection_1.BaseSelection.itemRender(option, states);
|
26
|
+
};
|
15
27
|
TabsTransferPickerRenderer.prototype.render = function () {
|
16
|
-
var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle, pickerSize = _a.pickerSize,
|
28
|
+
var _a = this.props, className = _a.className, cx = _a.classnames, options = _a.options, selectedOptions = _a.selectedOptions, sortable = _a.sortable, loading = _a.loading, searchable = _a.searchable, searchResultMode = _a.searchResultMode, showArrow = _a.showArrow, deferLoad = _a.deferLoad, disabled = _a.disabled, selectTitle = _a.selectTitle, resultTitle = _a.resultTitle, pickerSize = _a.pickerSize, leftMode = _a.leftMode, leftOptions = _a.leftOptions;
|
17
29
|
return (react_1.default.createElement("div", { className: cx('TabsTransferControl', className) },
|
18
|
-
react_1.default.createElement(TabsTransferPicker_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, size: pickerSize, leftMode: leftMode, leftOptions: leftOptions }),
|
30
|
+
react_1.default.createElement(TabsTransferPicker_1.default, { value: selectedOptions, disabled: disabled, options: options, onChange: this.handleChange, option2value: this.option2value, sortable: sortable, searchResultMode: searchResultMode, onSearch: searchable ? this.handleSearch : undefined, showArrow: showArrow, onDeferLoad: deferLoad, selectTitle: selectTitle, resultTitle: resultTitle, size: pickerSize, leftMode: leftMode, leftOptions: leftOptions, optionItemRender: this.optionItemRender, resultItemRender: this.resultItemRender }),
|
19
31
|
react_1.default.createElement(Spinner_1.default, { overlay: true, key: "info", show: loading })));
|
20
32
|
};
|
33
|
+
var _a;
|
34
|
+
(0, tslib_1.__decorate)([
|
35
|
+
helper_1.autobind,
|
36
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
37
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, typeof (_a = typeof Selection_1.ItemRenderStates !== "undefined" && Selection_1.ItemRenderStates) === "function" ? _a : Object]),
|
38
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
39
|
+
], TabsTransferPickerRenderer.prototype, "optionItemRender", null);
|
21
40
|
TabsTransferPickerRenderer = (0, tslib_1.__decorate)([
|
22
41
|
(0, Options_1.OptionsControl)({
|
23
42
|
type: 'tabs-transfer-picker'
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/TabsTransferPicker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;
|
9
|
+
"mappings": ";;;;AAAA,qCAImB;AACnB,6DAA0B;AAC1B,kFAA+C;AAC/C,uCAAgD;AAEhD,wGAAqE;AAErE,6CAA0D;AAC1D,wDAA2E;AAyB3E;IAAgD,2DAAuC;IAAvF;;IAmEA,CAAC;IAjEC,qDAAgB,GAAhB,UAAiB,MAAW,EAAE,MAAwB;QAC9C,IAAA,KAA0B,IAAI,CAAC,KAAK,EAAnC,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;QAC3C,IAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAE/B,IAAI,OAAO,EAAE;YACX,OAAO,MAAM,CAAC,UAAQ,MAAM,CAAC,KAAO,EAAE,OAAO,EAAE;gBAC7C,IAAI,EAAE,IAAA,qBAAY,EAChB,IAAA,qBAAY,EAAC,IAAI,kDACZ,MAAM,GACN,GAAG,EACN,EACF,MAAM,CACP;aACF,CAAC,CAAC;SACJ;QAED,OAAO,yBAAa,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAClD,CAAC;IAED,2CAAM,GAAN;QACQ,IAAA,KAiBF,IAAI,CAAC,KAAK,EAhBZ,SAAS,eAAA,EACG,EAAE,gBAAA,EACd,OAAO,aAAA,EACP,eAAe,qBAAA,EACf,QAAQ,cAAA,EACR,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,gBAAgB,sBAAA,EAChB,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,WAAW,iBAAA,EACX,WAAW,iBAAA,EACX,UAAU,gBAAA,EACV,QAAQ,cAAA,EACR,WAAW,iBACC,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,qBAAqB,EAAE,SAAS,CAAC;YAClD,8BAAC,4BAAkB,IACjB,KAAK,EAAE,eAAe,EACtB,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,IAAI,CAAC,YAAY,EAC3B,YAAY,EAAE,IAAI,CAAC,YAAY,EAC/B,QAAQ,EAAE,QAAQ,EAClB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,EACpD,SAAS,EAAE,SAAS,EACpB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,WAAW,EACxB,IAAI,EAAE,UAAU,EAChB,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,EACvC,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,GACvC;YAEF,8BAAC,iBAAO,IAAC,OAAO,QAAC,GAAG,EAAC,MAAM,EAAC,IAAI,EAAE,OAAO,GAAI,CACzC,CACP,CAAC;IACJ,CAAC;;IAhED;QADC,iBAAQ;;kFAC6B,4BAAgB,oBAAhB,4BAAgB;;sEAiBrD;IAnBU,0BAA0B;QAHtC,IAAA,wBAAc,EAAC;YACd,IAAI,EAAE,sBAAsB;SAC7B,CAAC;OACW,0BAA0B,CAmEtC;IAAD,iCAAC;CAAA,AAnED,CAAgD,+BAAoB,GAmEnE;AAnEY,gEAA0B",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport
|
11
|
+
"import {\n OptionsControlProps,\n OptionsControl,\n FormOptionsControl\n} from './Options';\nimport React from 'react';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer} from './Transfer';\nimport {SchemaApi, SchemaObject} from '../../Schema';\nimport TabsTransferPicker from '../../components/TabsTransferPicker';\nimport {TabsTransferControlSchema} from './TabsTransfer';\nimport {autobind, createObject} from '../../utils/helper';\nimport {BaseSelection, ItemRenderStates} from '../../components/Selection';\n\n/**\n * TabsTransferPicker 穿梭器的弹框形态\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tabs-transfer-picker\n */\nexport interface TabsTransferPickerControlSchema\n extends Omit<TabsTransferControlSchema, 'type'> {\n type: 'tabs-transfer-picker';\n}\n\nexport interface TabsTransferProps\n extends OptionsControlProps,\n Omit<\n TabsTransferPickerControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {}\n\n@OptionsControl({\n type: 'tabs-transfer-picker'\n})\nexport class TabsTransferPickerRenderer extends BaseTransferRenderer<TabsTransferProps> {\n @autobind\n optionItemRender(option: any, states: ItemRenderStates) {\n const {menuTpl, render, data} = this.props;\n const ctx = arguments[2] || {};\n\n if (menuTpl) {\n return render(`item/${states.index}`, menuTpl, {\n data: createObject(\n createObject(data, {\n ...states,\n ...ctx\n }),\n option\n )\n });\n }\n\n return BaseSelection.itemRender(option, states);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n options,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n selectTitle,\n resultTitle,\n pickerSize,\n leftMode,\n leftOptions\n } = this.props;\n\n return (\n <div className={cx('TabsTransferControl', className)}>\n <TabsTransferPicker\n value={selectedOptions}\n disabled={disabled}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n resultTitle={resultTitle}\n size={pickerSize}\n leftMode={leftMode}\n leftOptions={leftOptions}\n optionItemRender={this.optionItemRender}\n resultItemRender={this.resultItemRender}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </div>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|