amis 1.5.6 → 1.6.1-beta.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/README.md +1 -0
- package/lib/RootRenderer.d.ts +2 -0
- package/lib/RootRenderer.js +19 -1
- package/lib/RootRenderer.js.map +2 -2
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +52 -1
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/Scoped.d.ts +2 -0
- package/lib/Scoped.js +27 -1
- package/lib/Scoped.js.map +2 -2
- package/lib/actions/Action.d.ts +33 -0
- package/lib/actions/Action.js +100 -0
- package/lib/actions/Action.js.map +13 -0
- package/lib/actions/AjaxAction.d.ts +14 -0
- package/lib/actions/AjaxAction.js +68 -0
- package/lib/actions/AjaxAction.js.map +13 -0
- package/lib/actions/BreakAction.d.ts +12 -0
- package/lib/actions/BreakAction.js +28 -0
- package/lib/actions/BreakAction.js.map +13 -0
- package/lib/actions/BroadcastAction.d.ts +12 -0
- package/lib/actions/BroadcastAction.js +40 -0
- package/lib/actions/BroadcastAction.js.map +13 -0
- package/lib/actions/CmptAction.d.ts +12 -0
- package/lib/actions/CmptAction.js +40 -0
- package/lib/actions/CmptAction.js.map +13 -0
- package/lib/actions/ContinueAction.d.ts +12 -0
- package/lib/actions/ContinueAction.js +28 -0
- package/lib/actions/ContinueAction.js.map +13 -0
- package/lib/actions/CopyAction.d.ts +12 -0
- package/lib/actions/CopyAction.js +35 -0
- package/lib/actions/CopyAction.js.map +13 -0
- package/lib/actions/CustomAction.d.ts +12 -0
- package/lib/actions/CustomAction.js +43 -0
- package/lib/actions/CustomAction.js.map +13 -0
- package/lib/actions/DialogAction.d.ts +12 -0
- package/lib/actions/DialogAction.js +31 -0
- package/lib/actions/DialogAction.js.map +13 -0
- package/lib/actions/DrawerAction.d.ts +12 -0
- package/lib/actions/DrawerAction.js +31 -0
- package/lib/actions/DrawerAction.js.map +13 -0
- package/lib/actions/EmailAction.d.ts +12 -0
- package/lib/actions/EmailAction.js +37 -0
- package/lib/actions/EmailAction.js.map +13 -0
- package/lib/actions/LoopAction.d.ts +12 -0
- package/lib/actions/LoopAction.js +93 -0
- package/lib/actions/LoopAction.js.map +13 -0
- package/lib/actions/OpenPageAction.d.ts +12 -0
- package/lib/actions/OpenPageAction.js +33 -0
- package/lib/actions/OpenPageAction.js.map +13 -0
- package/lib/actions/ParallelAction.d.ts +5 -0
- package/lib/actions/ParallelAction.js +33 -0
- package/lib/actions/ParallelAction.js.map +13 -0
- package/lib/actions/SwitchAction.d.ts +8 -0
- package/lib/actions/SwitchAction.js +45 -0
- package/lib/actions/SwitchAction.js.map +13 -0
- package/lib/actions/index.d.ts +18 -0
- package/lib/actions/index.js +22 -0
- package/lib/actions/index.js.map +13 -0
- package/lib/components/AnchorNav.d.ts +20 -20
- 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/Button.d.ts +20 -20
- package/lib/components/CalendarMobile.d.ts +573 -0
- package/lib/components/CalendarMobile.js +486 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- 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.d.ts +20 -20
- 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 +21 -8
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +85 -84
- package/lib/components/DateRangePicker.js +19 -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/InputBox.d.ts +21 -21
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ListMenu.d.ts +84 -84
- package/lib/components/MonthRangePicker.d.ts +85 -84
- package/lib/components/MonthRangePicker.js +18 -7
- 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/Radios.d.ts +21 -21
- package/lib/components/Rating.d.ts +21 -21
- 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 +238 -238
- package/lib/components/Select.js +13 -9
- 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 +517 -0
- package/lib/components/TimelineItem.js +40 -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/Tree.d.ts +84 -84
- 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/formula/plugin.js +0 -1
- package/lib/components/formula/plugin.js.map +2 -2
- package/lib/components/icons.js +2 -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/env.d.ts +4 -0
- package/lib/env.js.map +2 -2
- package/lib/factory.d.ts +2 -1
- package/lib/factory.js +83 -0
- package/lib/factory.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +4 -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/Action.d.ts +1 -1
- package/lib/renderers/Action.js +26 -10
- package/lib/renderers/Action.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.d.ts +1 -1
- package/lib/renderers/Custom.js +1 -1
- 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.d.ts +6 -0
- package/lib/renderers/Form/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/Editor.d.ts +6 -0
- 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/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/Options.js +9 -7
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +2 -0
- package/lib/renderers/Form/Select.js +9 -6
- 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 +10 -2
- 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/Link.d.ts +1 -1
- package/lib/renderers/Link.js +27 -6
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +5 -1
- 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 +7 -7
- 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 +1149 -53
- package/lib/themes/ang.css +1149 -53
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +1187 -53
- package/lib/themes/antd.css +1187 -53
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +1190 -71
- package/lib/themes/cxd.css +1190 -71
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +1152 -53
- package/lib/themes/dark.css +1152 -53
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +1190 -71
- 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/api.js +14 -3
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/debug.d.ts +26 -0
- package/lib/utils/debug.js +351 -0
- package/lib/utils/debug.js.map +13 -0
- package/lib/utils/helper.d.ts +1 -6
- package/lib/utils/helper.js +6 -17
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/renderer-event.d.ts +38 -0
- package/lib/utils/renderer-event.js +28 -0
- package/lib/utils/renderer-event.js.map +13 -0
- package/package.json +12 -6
- package/schema.json +3483 -810
- package/scss/_properties.scss +20 -6
- package/scss/_variables.scss +1 -0
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +291 -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/_debug.scss +167 -0
- 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 +43 -16
- 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 +34 -1
- package/scss/components/form/_date.scss +46 -1
- package/scss/components/form/_form.scss +170 -0
- package/scss/components/form/_nested-select.scss +3 -0
- 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 +45 -0
- package/scss/themes/_common.scss +5 -0
- package/scss/themes/_cxd-variables.scss +51 -2
- package/scss/themes/_dark-variables.scss +4 -0
- package/scss/themes/cxd.scss +0 -19
- package/sdk/ang-ie11.css +1450 -142
- package/sdk/ang.css +1473 -159
- package/sdk/antd-ie11.css +1451 -142
- package/sdk/antd.css +1511 -159
- package/sdk/charts.js +15 -15
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +1449 -159
- package/sdk/cxd.css +1514 -179
- package/sdk/dark-ie11.css +1450 -142
- package/sdk/dark.css +1476 -159
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +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 +1449 -159
- package/sdk/sdk.css +1514 -179
- package/sdk/sdk.js +1311 -1253
- 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/RootRenderer.tsx +27 -1
- package/src/Schema.ts +3 -0
- package/src/SchemaRenderer.tsx +70 -4
- package/src/Scoped.tsx +46 -4
- package/src/actions/Action.ts +138 -0
- package/src/actions/AjaxAction.ts +58 -0
- package/src/actions/BreakAction.ts +27 -0
- package/src/actions/BroadcastAction.ts +41 -0
- package/src/actions/CmptAction.ts +36 -0
- package/src/actions/ContinueAction.ts +27 -0
- package/src/actions/CopyAction.ts +41 -0
- package/src/actions/CustomAction.ts +46 -0
- package/src/actions/DialogAction.ts +28 -0
- package/src/actions/DrawerAction.ts +28 -0
- package/src/actions/EmailAction.ts +38 -0
- package/src/actions/LoopAction.ts +77 -0
- package/src/actions/OpenPageAction.ts +39 -0
- package/src/actions/ParallelAction.ts +26 -0
- package/src/actions/SwitchAction.ts +35 -0
- package/src/actions/index.ts +20 -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 +658 -0
- package/src/components/Cascader.tsx +564 -0
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CityArea.tsx +315 -0
- package/src/components/ColorPicker.tsx +41 -40
- package/src/components/DatePicker.tsx +80 -34
- package/src/components/DateRangePicker.tsx +85 -30
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +78 -31
- 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/ResultBox.tsx +14 -2
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +24 -26
- 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 +36 -0
- package/src/components/TimelineItem.tsx +140 -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/formula/plugin.ts +0 -2
- package/src/components/icons.tsx +2 -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/env.tsx +22 -0
- package/src/factory.tsx +93 -1
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +5 -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/Action.tsx +11 -2
- 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 +7 -4
- 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/InputYearRange.tsx +0 -1
- package/src/renderers/Form/Item.tsx +29 -8
- package/src/renderers/Form/NestedSelect.tsx +32 -4
- package/src/renderers/Form/Options.tsx +15 -7
- package/src/renderers/Form/Select.tsx +21 -5
- 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 +9 -2
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Link.tsx +18 -3
- 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 +3 -3
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/api.ts +15 -2
- package/src/utils/debug.tsx +438 -0
- package/src/utils/helper.ts +6 -16
- package/src/utils/renderer-event.ts +75 -0
@@ -0,0 +1,123 @@
|
|
1
|
+
/**
|
2
|
+
* @file Cascader
|
3
|
+
* @author fex
|
4
|
+
*/
|
5
|
+
/// <reference types="hoist-non-react-statics" />
|
6
|
+
import React from 'react';
|
7
|
+
import { NestedSelectProps } from '../renderers/Form/NestedSelect';
|
8
|
+
import { Option, Options } from './Select';
|
9
|
+
export declare type CascaderOption = {
|
10
|
+
text?: string;
|
11
|
+
value?: string | number;
|
12
|
+
color?: string;
|
13
|
+
disabled?: boolean;
|
14
|
+
children?: Options;
|
15
|
+
className?: string;
|
16
|
+
[key: string]: any;
|
17
|
+
};
|
18
|
+
export interface CascaderProps extends NestedSelectProps {
|
19
|
+
value?: (number | string)[];
|
20
|
+
activeColor?: string;
|
21
|
+
optionRender?: ({ option, selected }: {
|
22
|
+
option: CascaderOption;
|
23
|
+
selected: boolean;
|
24
|
+
}) => React.ReactNode;
|
25
|
+
onClose?: () => void;
|
26
|
+
onConfirm?: (param: any) => void;
|
27
|
+
multiple?: boolean;
|
28
|
+
}
|
29
|
+
export declare type CascaderTab = {
|
30
|
+
options: Options;
|
31
|
+
};
|
32
|
+
export interface CascaderState {
|
33
|
+
selectedOptions: Options;
|
34
|
+
activeTab: number;
|
35
|
+
tabs: Array<{
|
36
|
+
options: Options;
|
37
|
+
}>;
|
38
|
+
}
|
39
|
+
export declare class Cascader extends React.Component<CascaderProps, CascaderState> {
|
40
|
+
static defaultProps: {
|
41
|
+
labelField: string;
|
42
|
+
valueField: string;
|
43
|
+
};
|
44
|
+
tabsRef: React.RefObject<HTMLDivElement>;
|
45
|
+
tabRef: React.RefObject<HTMLDivElement>;
|
46
|
+
constructor(props: CascaderProps);
|
47
|
+
componentDidMount(): void;
|
48
|
+
handleTabSelect(index: number): void;
|
49
|
+
getOptionParent(option: Option): any;
|
50
|
+
dealParentSelect(option: Option, selectedOptions: Options): Options;
|
51
|
+
flattenTreeWithLeafNodes(option: Option): any[];
|
52
|
+
adjustOptionSelect(option: Option): boolean;
|
53
|
+
getSelectedChildNum(option: Option): number;
|
54
|
+
dealOptionDisable(selectedOptions: Options): void;
|
55
|
+
dealChildrenSelect(option: Option, selectedOptions: Options): Options;
|
56
|
+
getParentTree: (option: Option, arr: Options) => Options;
|
57
|
+
onSelect(option: CascaderOption, tabIndex: number): void;
|
58
|
+
onNextClick(option: CascaderOption, tabIndex: number): void;
|
59
|
+
getSubmitOptions(selectedOptions: Options): Options;
|
60
|
+
confirm(): void;
|
61
|
+
renderOption(option: CascaderOption, tabIndex: number): JSX.Element;
|
62
|
+
renderOptions(options: Options, tabIndex: number): JSX.Element;
|
63
|
+
renderTabs(): JSX.Element;
|
64
|
+
render(): JSX.Element;
|
65
|
+
}
|
66
|
+
declare const _default: {
|
67
|
+
new (props: (Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps) | Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>): {
|
68
|
+
render(): JSX.Element;
|
69
|
+
context: any;
|
70
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
71
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
72
|
+
readonly props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
|
73
|
+
children?: React.ReactNode;
|
74
|
+
}>;
|
75
|
+
state: Readonly<{}>;
|
76
|
+
refs: {
|
77
|
+
[key: string]: React.ReactInstance;
|
78
|
+
};
|
79
|
+
componentDidMount?(): void;
|
80
|
+
shouldComponentUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
81
|
+
componentWillUnmount?(): void;
|
82
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
83
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
84
|
+
componentDidUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
85
|
+
componentWillMount?(): void;
|
86
|
+
UNSAFE_componentWillMount?(): void;
|
87
|
+
componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
88
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
89
|
+
componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
90
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
91
|
+
};
|
92
|
+
new (props: Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps, context: any): {
|
93
|
+
render(): JSX.Element;
|
94
|
+
context: any;
|
95
|
+
setState<K extends never>(state: {} | ((prevState: Readonly<{}>, props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>) => {} | Pick<{}, K> | null) | Pick<{}, K> | null, callback?: (() => void) | undefined): void;
|
96
|
+
forceUpdate(callback?: (() => void) | undefined): void;
|
97
|
+
readonly props: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps> & Readonly<{
|
98
|
+
children?: React.ReactNode;
|
99
|
+
}>;
|
100
|
+
state: Readonly<{}>;
|
101
|
+
refs: {
|
102
|
+
[key: string]: React.ReactInstance;
|
103
|
+
};
|
104
|
+
componentDidMount?(): void;
|
105
|
+
shouldComponentUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): boolean;
|
106
|
+
componentWillUnmount?(): void;
|
107
|
+
componentDidCatch?(error: Error, errorInfo: React.ErrorInfo): void;
|
108
|
+
getSnapshotBeforeUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>): any;
|
109
|
+
componentDidUpdate?(prevProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, prevState: Readonly<{}>, snapshot?: any): void;
|
110
|
+
componentWillMount?(): void;
|
111
|
+
UNSAFE_componentWillMount?(): void;
|
112
|
+
componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
113
|
+
UNSAFE_componentWillReceiveProps?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextContext: any): void;
|
114
|
+
componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
115
|
+
UNSAFE_componentWillUpdate?(nextProps: Readonly<Omit<CascaderProps, keyof import("../theme").ThemeProps> & import("../theme").ThemeOutterProps>, nextState: Readonly<{}>, nextContext: any): void;
|
116
|
+
};
|
117
|
+
displayName: string;
|
118
|
+
contextType: React.Context<string>;
|
119
|
+
ComposedComponent: React.ComponentType<typeof Cascader>;
|
120
|
+
} & import("hoist-non-react-statics").NonReactStatics<typeof Cascader, {}> & {
|
121
|
+
ComposedComponent: typeof Cascader;
|
122
|
+
};
|
123
|
+
export default _default;
|
@@ -0,0 +1,487 @@
|
|
1
|
+
"use strict";
|
2
|
+
/**
|
3
|
+
* @file Cascader
|
4
|
+
* @author fex
|
5
|
+
*/
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
7
|
+
exports.Cascader = void 0;
|
8
|
+
var tslib_1 = require("tslib");
|
9
|
+
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
10
|
+
var helper_1 = require("../utils/helper");
|
11
|
+
var theme_1 = require("../theme");
|
12
|
+
var Select_1 = require("./Select");
|
13
|
+
var intersectionBy_1 = (0, tslib_1.__importDefault)(require("lodash/intersectionBy"));
|
14
|
+
var compact_1 = (0, tslib_1.__importDefault)(require("lodash/compact"));
|
15
|
+
var find_1 = (0, tslib_1.__importDefault)(require("lodash/find"));
|
16
|
+
var uniqBy_1 = (0, tslib_1.__importDefault)(require("lodash/uniqBy"));
|
17
|
+
var Button_1 = (0, tslib_1.__importDefault)(require("./Button"));
|
18
|
+
var helper_2 = require("../utils/helper");
|
19
|
+
var Cascader = /** @class */ (function (_super) {
|
20
|
+
(0, tslib_1.__extends)(Cascader, _super);
|
21
|
+
function Cascader(props) {
|
22
|
+
var _this = _super.call(this, props) || this;
|
23
|
+
_this.tabsRef = react_1.default.createRef();
|
24
|
+
_this.tabRef = react_1.default.createRef();
|
25
|
+
_this.getParentTree = function (option, arr) {
|
26
|
+
var parentOption = _this.getOptionParent(option);
|
27
|
+
if (parentOption) {
|
28
|
+
arr.push(parentOption);
|
29
|
+
return _this.getParentTree(parentOption, arr);
|
30
|
+
}
|
31
|
+
return arr;
|
32
|
+
};
|
33
|
+
_this.state = {
|
34
|
+
selectedOptions: _this.props.selectedOptions || [],
|
35
|
+
activeTab: 0,
|
36
|
+
tabs: [
|
37
|
+
{
|
38
|
+
options: _this.props.options.slice() || []
|
39
|
+
}
|
40
|
+
]
|
41
|
+
};
|
42
|
+
return _this;
|
43
|
+
}
|
44
|
+
Cascader.prototype.componentDidMount = function () {
|
45
|
+
var _a = this.props, multiple = _a.multiple, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade;
|
46
|
+
var selectedOptions = this.props.selectedOptions.slice();
|
47
|
+
var parentsCount = 0;
|
48
|
+
var parentTree = [];
|
49
|
+
selectedOptions.forEach(function (item) {
|
50
|
+
var parents = (0, helper_1.getTreeAncestors)(options, item);
|
51
|
+
// 获取最长路径
|
52
|
+
if (parents && (parents === null || parents === void 0 ? void 0 : parents.length) > parentsCount) {
|
53
|
+
parentTree = parents;
|
54
|
+
parentsCount = parentTree.length;
|
55
|
+
}
|
56
|
+
});
|
57
|
+
var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
|
58
|
+
var tabs = parentTree.map(function (option) {
|
59
|
+
var _a;
|
60
|
+
if (multiple && !cascade) {
|
61
|
+
if (selectedValues.includes(option[valueField]) &&
|
62
|
+
((_a = option === null || option === void 0 ? void 0 : option.children) === null || _a === void 0 ? void 0 : _a.length)) {
|
63
|
+
option.children.forEach(function (option) { return (option.disabled = true); });
|
64
|
+
}
|
65
|
+
}
|
66
|
+
return multiple
|
67
|
+
? {
|
68
|
+
options: (0, tslib_1.__spreadArray)([
|
69
|
+
(0, tslib_1.__assign)((0, tslib_1.__assign)({}, option), { isCheckAll: true })
|
70
|
+
], (option.children ? option.children : []), true)
|
71
|
+
}
|
72
|
+
: {
|
73
|
+
options: option.children ? option.children : []
|
74
|
+
};
|
75
|
+
});
|
76
|
+
this.setState({
|
77
|
+
selectedOptions: selectedOptions,
|
78
|
+
tabs: (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], this.state.tabs, true), tabs, true)
|
79
|
+
});
|
80
|
+
};
|
81
|
+
Cascader.prototype.handleTabSelect = function (index) {
|
82
|
+
var tabs = this.state.tabs.slice(0, index + 1);
|
83
|
+
this.setState({
|
84
|
+
activeTab: index,
|
85
|
+
tabs: tabs
|
86
|
+
});
|
87
|
+
};
|
88
|
+
Cascader.prototype.getOptionParent = function (option) {
|
89
|
+
var _a = this.props, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b;
|
90
|
+
var ancestors = [];
|
91
|
+
(0, helper_2.findTree)(options, function (item, index, level, paths) {
|
92
|
+
if (item[valueField] === option[valueField]) {
|
93
|
+
ancestors = paths;
|
94
|
+
return true;
|
95
|
+
}
|
96
|
+
return false;
|
97
|
+
});
|
98
|
+
return ancestors.length ? ancestors[ancestors.length - 1] : null;
|
99
|
+
};
|
100
|
+
Cascader.prototype.dealParentSelect = function (option, selectedOptions) {
|
101
|
+
var _a;
|
102
|
+
var _b = this.props.valueField, valueField = _b === void 0 ? 'value' : _b;
|
103
|
+
var parentOption = this.getOptionParent(option);
|
104
|
+
if (parentOption) {
|
105
|
+
var parentChildren = parentOption === null || parentOption === void 0 ? void 0 : parentOption.children;
|
106
|
+
var equalOption = (0, intersectionBy_1.default)(selectedOptions, parentChildren, valueField);
|
107
|
+
// 包含则选中父节点
|
108
|
+
var isParentSelected = (0, find_1.default)(selectedOptions, (_a = {},
|
109
|
+
_a[valueField] = parentOption[valueField],
|
110
|
+
_a));
|
111
|
+
if (equalOption.length === (parentChildren === null || parentChildren === void 0 ? void 0 : parentChildren.length) && !isParentSelected) {
|
112
|
+
selectedOptions.push(parentOption);
|
113
|
+
}
|
114
|
+
if (equalOption.length !== (parentChildren === null || parentChildren === void 0 ? void 0 : parentChildren.length) && isParentSelected) {
|
115
|
+
var index = selectedOptions.findIndex(function (item) { return item[valueField] === parentOption[valueField]; });
|
116
|
+
selectedOptions.splice(index, 1);
|
117
|
+
}
|
118
|
+
return this.dealParentSelect(parentOption, selectedOptions);
|
119
|
+
}
|
120
|
+
else {
|
121
|
+
return selectedOptions;
|
122
|
+
}
|
123
|
+
};
|
124
|
+
Cascader.prototype.flattenTreeWithLeafNodes = function (option) {
|
125
|
+
return (0, compact_1.default)((0, helper_2.flattenTree)(Array.isArray(option) ? option : [option], function (node) { return node; }));
|
126
|
+
};
|
127
|
+
Cascader.prototype.adjustOptionSelect = function (option) {
|
128
|
+
var _a = this.props.valueField, valueField = _a === void 0 ? 'value' : _a;
|
129
|
+
var selectedOptions = this.state.selectedOptions;
|
130
|
+
function loop(arr) {
|
131
|
+
if (!arr.length) {
|
132
|
+
return false;
|
133
|
+
}
|
134
|
+
return arr.some(function (item) { return item[valueField] === option[valueField]; });
|
135
|
+
}
|
136
|
+
return loop(selectedOptions);
|
137
|
+
};
|
138
|
+
Cascader.prototype.getSelectedChildNum = function (option) {
|
139
|
+
var _this = this;
|
140
|
+
var count = 0;
|
141
|
+
var loop = function (arr) {
|
142
|
+
if (!arr || !arr.length) {
|
143
|
+
return;
|
144
|
+
}
|
145
|
+
for (var _i = 0, arr_1 = arr; _i < arr_1.length; _i++) {
|
146
|
+
var item = arr_1[_i];
|
147
|
+
if (item.children) {
|
148
|
+
loop(item.children || []);
|
149
|
+
}
|
150
|
+
else {
|
151
|
+
if (_this.adjustOptionSelect(item)) {
|
152
|
+
count++;
|
153
|
+
}
|
154
|
+
}
|
155
|
+
}
|
156
|
+
};
|
157
|
+
loop(option.children || []);
|
158
|
+
return count;
|
159
|
+
};
|
160
|
+
Cascader.prototype.dealOptionDisable = function (selectedOptions) {
|
161
|
+
var _a = this.props, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, options = _a.options, cascade = _a.cascade, multiple = _a.multiple, onlyChildren = _a.onlyChildren // 子节点可点击
|
162
|
+
;
|
163
|
+
if (!multiple || cascade || onlyChildren) {
|
164
|
+
return;
|
165
|
+
}
|
166
|
+
var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
|
167
|
+
var loop = function (option) {
|
168
|
+
if (!option.children) {
|
169
|
+
return;
|
170
|
+
}
|
171
|
+
option.children &&
|
172
|
+
option.children.forEach(function (childOption) {
|
173
|
+
if (!selectedValues.includes(option[valueField]) &&
|
174
|
+
!option.disabled) {
|
175
|
+
childOption.disabled = false;
|
176
|
+
}
|
177
|
+
if (selectedValues.includes(option[valueField]) || option.disabled) {
|
178
|
+
childOption.disabled = true;
|
179
|
+
}
|
180
|
+
loop(childOption);
|
181
|
+
});
|
182
|
+
};
|
183
|
+
options.forEach(function (option) { return loop(option); });
|
184
|
+
};
|
185
|
+
Cascader.prototype.dealChildrenSelect = function (option, selectedOptions) {
|
186
|
+
var _a = this.props.valueField, valueField = _a === void 0 ? 'value' : _a;
|
187
|
+
var index = selectedOptions.findIndex(function (item) { return item[valueField] === option[valueField]; });
|
188
|
+
if (index !== -1) {
|
189
|
+
selectedOptions.splice(index, 1);
|
190
|
+
}
|
191
|
+
else {
|
192
|
+
selectedOptions.push(option);
|
193
|
+
}
|
194
|
+
function loop(option) {
|
195
|
+
if (!option.children) {
|
196
|
+
return;
|
197
|
+
}
|
198
|
+
option.children.forEach(function (item) {
|
199
|
+
if (index !== -1) {
|
200
|
+
// 删除选中节点及其子节点
|
201
|
+
selectedOptions = selectedOptions.filter(function (sItem) { return sItem[valueField] !== item[valueField]; });
|
202
|
+
}
|
203
|
+
else {
|
204
|
+
// 添加节点及其子节点
|
205
|
+
selectedOptions.push(item);
|
206
|
+
}
|
207
|
+
loop(item);
|
208
|
+
});
|
209
|
+
}
|
210
|
+
loop(option);
|
211
|
+
return selectedOptions;
|
212
|
+
};
|
213
|
+
Cascader.prototype.onSelect = function (option, tabIndex) {
|
214
|
+
var _this = this;
|
215
|
+
var _a = this.props, multiple = _a.multiple, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade;
|
216
|
+
var tabs = this.state.tabs.slice();
|
217
|
+
var activeTab = this.state.activeTab;
|
218
|
+
var selectedOptions = this.state.selectedOptions;
|
219
|
+
var isDisable = option.disabled;
|
220
|
+
if (!isDisable) {
|
221
|
+
if (multiple) {
|
222
|
+
// 父子级分离
|
223
|
+
if (cascade) {
|
224
|
+
if (option.isCheckAll ||
|
225
|
+
!option.children ||
|
226
|
+
!option.children.length) {
|
227
|
+
var index = selectedOptions.findIndex(function (item) { return item[valueField] === option[valueField]; });
|
228
|
+
if (index !== -1) {
|
229
|
+
selectedOptions.splice(index, 1);
|
230
|
+
}
|
231
|
+
else {
|
232
|
+
selectedOptions.push(option);
|
233
|
+
}
|
234
|
+
}
|
235
|
+
}
|
236
|
+
else {
|
237
|
+
if (option.isCheckAll ||
|
238
|
+
!option.children ||
|
239
|
+
!option.children.length) {
|
240
|
+
selectedOptions = this.dealChildrenSelect(option, selectedOptions);
|
241
|
+
selectedOptions = this.dealParentSelect(option, selectedOptions);
|
242
|
+
}
|
243
|
+
}
|
244
|
+
}
|
245
|
+
else {
|
246
|
+
// 单选
|
247
|
+
selectedOptions = this.getParentTree(option, [option]);
|
248
|
+
}
|
249
|
+
}
|
250
|
+
this.dealOptionDisable(selectedOptions);
|
251
|
+
if (tabs.length > tabIndex + 1) {
|
252
|
+
tabs = tabs.slice(0, tabIndex + 1);
|
253
|
+
}
|
254
|
+
requestAnimationFrame(function () {
|
255
|
+
var _a;
|
256
|
+
var tabWidth = ((_a = _this.tabRef.current) === null || _a === void 0 ? void 0 : _a.offsetWidth) || 1;
|
257
|
+
var parentTree = _this.getParentTree(option, [option]);
|
258
|
+
var scrollLeft = (parentTree.length - 2) * tabWidth;
|
259
|
+
if (scrollLeft !== 0) {
|
260
|
+
_this.tabsRef.current.scrollTo(scrollLeft, 0);
|
261
|
+
}
|
262
|
+
});
|
263
|
+
if ((option === null || option === void 0 ? void 0 : option.children) && !option.isCheckAll) {
|
264
|
+
var nextTab = multiple
|
265
|
+
? {
|
266
|
+
options: (0, tslib_1.__spreadArray)([
|
267
|
+
(0, tslib_1.__assign)((0, tslib_1.__assign)({}, option), { isCheckAll: true })
|
268
|
+
], option.children, true)
|
269
|
+
}
|
270
|
+
: {
|
271
|
+
options: option.children
|
272
|
+
};
|
273
|
+
if (tabs[tabIndex + 1]) {
|
274
|
+
tabs[tabIndex + 1] = nextTab;
|
275
|
+
}
|
276
|
+
else {
|
277
|
+
tabs.push(nextTab);
|
278
|
+
}
|
279
|
+
activeTab += 1;
|
280
|
+
}
|
281
|
+
this.setState({
|
282
|
+
tabs: tabs,
|
283
|
+
activeTab: activeTab,
|
284
|
+
selectedOptions: selectedOptions
|
285
|
+
});
|
286
|
+
};
|
287
|
+
Cascader.prototype.onNextClick = function (option, tabIndex) {
|
288
|
+
var activeTab = this.state.activeTab;
|
289
|
+
var tabs = this.state.tabs.slice();
|
290
|
+
if (option.c)
|
291
|
+
if (option === null || option === void 0 ? void 0 : option.children) {
|
292
|
+
var nextTab = {
|
293
|
+
options: option.children
|
294
|
+
};
|
295
|
+
if (tabs[tabIndex + 1]) {
|
296
|
+
tabs[tabIndex + 1] = nextTab;
|
297
|
+
}
|
298
|
+
else {
|
299
|
+
tabs.push(nextTab);
|
300
|
+
}
|
301
|
+
activeTab += 1;
|
302
|
+
}
|
303
|
+
this.setState({
|
304
|
+
tabs: tabs,
|
305
|
+
activeTab: activeTab
|
306
|
+
});
|
307
|
+
};
|
308
|
+
Cascader.prototype.getSubmitOptions = function (selectedOptions) {
|
309
|
+
var _selectedOptions = [];
|
310
|
+
var _a = this.props, multiple = _a.multiple, options = _a.options, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cascade = _a.cascade, onlyChildren = _a.onlyChildren, withChildren = _a.withChildren;
|
311
|
+
if (cascade || onlyChildren || withChildren || !multiple) {
|
312
|
+
return selectedOptions;
|
313
|
+
}
|
314
|
+
var selectedValues = selectedOptions.map(function (option) { return option[valueField]; });
|
315
|
+
function loop(options) {
|
316
|
+
if (!options || !options.length) {
|
317
|
+
return;
|
318
|
+
}
|
319
|
+
options.forEach(function (option) {
|
320
|
+
if (selectedValues.includes(option[valueField])) {
|
321
|
+
_selectedOptions.push(option);
|
322
|
+
}
|
323
|
+
else {
|
324
|
+
loop(option.children ? option.children : []);
|
325
|
+
}
|
326
|
+
});
|
327
|
+
}
|
328
|
+
loop(options);
|
329
|
+
return _selectedOptions;
|
330
|
+
};
|
331
|
+
Cascader.prototype.confirm = function () {
|
332
|
+
var _a = this.props, onChange = _a.onChange, joinValues = _a.joinValues, delimiter = _a.delimiter, extractValue = _a.extractValue, valueField = _a.valueField, onClose = _a.onClose;
|
333
|
+
var selectedOptions = this.state.selectedOptions;
|
334
|
+
var _selectedOptions = this.getSubmitOptions(selectedOptions);
|
335
|
+
_selectedOptions = (0, uniqBy_1.default)(_selectedOptions, valueField);
|
336
|
+
onChange(joinValues
|
337
|
+
? _selectedOptions
|
338
|
+
.map(function (item) { return item[valueField]; })
|
339
|
+
.join(delimiter)
|
340
|
+
: extractValue
|
341
|
+
? _selectedOptions.map(function (item) { return item[valueField]; })
|
342
|
+
: _selectedOptions);
|
343
|
+
onClose && onClose();
|
344
|
+
};
|
345
|
+
Cascader.prototype.renderOption = function (option, tabIndex) {
|
346
|
+
var _this = this;
|
347
|
+
var _a = this.props, activeColor = _a.activeColor, optionRender = _a.optionRender, labelField = _a.labelField, _b = _a.valueField, valueField = _b === void 0 ? 'value' : _b, cx = _a.classnames, cascade = _a.cascade, multiple = _a.multiple;
|
348
|
+
var selectedOptions = this.state.selectedOptions;
|
349
|
+
var selectedValueArr = selectedOptions.map(function (item) { return item[valueField]; });
|
350
|
+
var selfChecked = selectedValueArr.includes(option[valueField]);
|
351
|
+
var color = option.color || (selfChecked ? activeColor : undefined);
|
352
|
+
var Text = optionRender ? (optionRender({ option: option, selected: selfChecked })) : (react_1.default.createElement("span", null, option[labelField]));
|
353
|
+
return (react_1.default.createElement("li", { className: cx('Cascader-option', {
|
354
|
+
selected: selfChecked,
|
355
|
+
disabled: option.disabled
|
356
|
+
}, option.className), style: { color: color }, onClick: function () { return _this.onSelect(option, tabIndex); }, key: tabIndex + '-' + option[valueField] },
|
357
|
+
react_1.default.createElement("span", { className: cx('Cascader-option--text') }, Text)));
|
358
|
+
};
|
359
|
+
Cascader.prototype.renderOptions = function (options, tabIndex) {
|
360
|
+
var _this = this;
|
361
|
+
var cx = this.props.classnames;
|
362
|
+
return (react_1.default.createElement("ul", { key: tabIndex, className: cx('Cascader-options') }, options.map(function (option) { return _this.renderOption(option, tabIndex); })));
|
363
|
+
};
|
364
|
+
Cascader.prototype.renderTabs = function () {
|
365
|
+
var _this = this;
|
366
|
+
var _a = this.props, cx = _a.classnames, options = _a.options;
|
367
|
+
var tabs = this.state.tabs;
|
368
|
+
var depth = (0, helper_2.getTreeDepth)(options);
|
369
|
+
return (react_1.default.createElement("div", { className: cx("Cascader-tabs", depth > 3 ? 'scrollable' : ''), ref: this.tabsRef },
|
370
|
+
tabs.map(function (tab, tabIndex) {
|
371
|
+
var options = tab.options;
|
372
|
+
return (react_1.default.createElement("div", { className: cx("Cascader-tab"), ref: _this.tabRef, key: tabIndex }, _this.renderOptions(options, tabIndex)));
|
373
|
+
}),
|
374
|
+
depth <= 3 && options.length
|
375
|
+
? Array((0, helper_2.getTreeDepth)(options) - tabs.length)
|
376
|
+
.fill(1)
|
377
|
+
.map(function (item, index) { return (react_1.default.createElement("div", { className: cx("Cascader-tab"), key: index })); })
|
378
|
+
: null));
|
379
|
+
};
|
380
|
+
Cascader.prototype.render = function () {
|
381
|
+
var _a = this.props, ns = _a.classPrefix, cx = _a.classnames, className = _a.className, onClose = _a.onClose, __ = _a.translate;
|
382
|
+
return (react_1.default.createElement("div", { className: cx("Cascader", className) },
|
383
|
+
react_1.default.createElement("div", { className: cx("Cascader-btnGroup") },
|
384
|
+
react_1.default.createElement(Button_1.default, { className: cx("Cascader-btnCancel"), level: "text", onClick: onClose }, __('cancel')),
|
385
|
+
react_1.default.createElement(Button_1.default, { className: cx("Cascader-btnConfirm"), level: "text", onClick: this.confirm }, __('confirm'))),
|
386
|
+
this.renderTabs()));
|
387
|
+
};
|
388
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
|
389
|
+
Cascader.defaultProps = {
|
390
|
+
labelField: 'label',
|
391
|
+
valueField: 'value'
|
392
|
+
};
|
393
|
+
(0, tslib_1.__decorate)([
|
394
|
+
helper_1.autobind,
|
395
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
396
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Number]),
|
397
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
398
|
+
], Cascader.prototype, "handleTabSelect", null);
|
399
|
+
(0, tslib_1.__decorate)([
|
400
|
+
helper_1.autobind,
|
401
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
402
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _a : Object]),
|
403
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
404
|
+
], Cascader.prototype, "getOptionParent", null);
|
405
|
+
(0, tslib_1.__decorate)([
|
406
|
+
helper_1.autobind,
|
407
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
408
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _b : Object, typeof (_c = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _c : Object]),
|
409
|
+
(0, tslib_1.__metadata)("design:returntype", typeof (_d = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _d : Object)
|
410
|
+
], Cascader.prototype, "dealParentSelect", null);
|
411
|
+
(0, tslib_1.__decorate)([
|
412
|
+
helper_1.autobind,
|
413
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
414
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_e = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _e : Object]),
|
415
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
416
|
+
], Cascader.prototype, "flattenTreeWithLeafNodes", null);
|
417
|
+
(0, tslib_1.__decorate)([
|
418
|
+
helper_1.autobind,
|
419
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
420
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_f = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _f : Object]),
|
421
|
+
(0, tslib_1.__metadata)("design:returntype", Boolean)
|
422
|
+
], Cascader.prototype, "adjustOptionSelect", null);
|
423
|
+
(0, tslib_1.__decorate)([
|
424
|
+
helper_1.autobind,
|
425
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
426
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_g = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _g : Object]),
|
427
|
+
(0, tslib_1.__metadata)("design:returntype", Number)
|
428
|
+
], Cascader.prototype, "getSelectedChildNum", null);
|
429
|
+
(0, tslib_1.__decorate)([
|
430
|
+
helper_1.autobind,
|
431
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
432
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_h = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _h : Object]),
|
433
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
434
|
+
], Cascader.prototype, "dealOptionDisable", null);
|
435
|
+
(0, tslib_1.__decorate)([
|
436
|
+
helper_1.autobind,
|
437
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
438
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_j = typeof Select_1.Option !== "undefined" && Select_1.Option) === "function" ? _j : Object, typeof (_k = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _k : Object]),
|
439
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
440
|
+
], Cascader.prototype, "dealChildrenSelect", null);
|
441
|
+
(0, tslib_1.__decorate)([
|
442
|
+
helper_1.autobind,
|
443
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
444
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
|
445
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
446
|
+
], Cascader.prototype, "onSelect", null);
|
447
|
+
(0, tslib_1.__decorate)([
|
448
|
+
helper_1.autobind,
|
449
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
450
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
|
451
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
452
|
+
], Cascader.prototype, "onNextClick", null);
|
453
|
+
(0, tslib_1.__decorate)([
|
454
|
+
helper_1.autobind,
|
455
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
456
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_l = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _l : Object]),
|
457
|
+
(0, tslib_1.__metadata)("design:returntype", typeof (_m = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _m : Object)
|
458
|
+
], Cascader.prototype, "getSubmitOptions", null);
|
459
|
+
(0, tslib_1.__decorate)([
|
460
|
+
helper_1.autobind,
|
461
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
462
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
463
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
464
|
+
], Cascader.prototype, "confirm", null);
|
465
|
+
(0, tslib_1.__decorate)([
|
466
|
+
helper_1.autobind,
|
467
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
468
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object, Number]),
|
469
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
470
|
+
], Cascader.prototype, "renderOption", null);
|
471
|
+
(0, tslib_1.__decorate)([
|
472
|
+
helper_1.autobind,
|
473
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
474
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_o = typeof Select_1.Options !== "undefined" && Select_1.Options) === "function" ? _o : Object, Number]),
|
475
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
476
|
+
], Cascader.prototype, "renderOptions", null);
|
477
|
+
(0, tslib_1.__decorate)([
|
478
|
+
helper_1.autobind,
|
479
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
480
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
481
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
482
|
+
], Cascader.prototype, "renderTabs", null);
|
483
|
+
return Cascader;
|
484
|
+
}(react_1.default.Component));
|
485
|
+
exports.Cascader = Cascader;
|
486
|
+
exports.default = (0, theme_1.themeable)(Cascader);
|
487
|
+
//# sourceMappingURL=./components/Cascader.js.map
|