amis 1.5.7 → 1.6.1
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/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/InputRichText.d.ts +4 -0
- package/lib/renderers/Form/InputRichText.js +2 -1
- package/lib/renderers/Form/InputRichText.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 +8 -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/Link.d.ts +1 -1
- package/lib/renderers/Link.js +27 -6
- package/lib/renderers/Link.js.map +2 -2
- package/lib/renderers/Log.js +15 -10
- package/lib/renderers/Log.js.map +2 -2
- package/lib/renderers/Nav.d.ts +21 -21
- 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/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 +1 -1
- package/lib/store/formItem.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 +1189 -70
- package/lib/themes/cxd.css +1189 -70
- 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 +1189 -70
- 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 +3516 -839
- 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 +50 -1
- 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 +1448 -158
- package/sdk/cxd.css +1513 -178
- 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 +1448 -158
- package/sdk/sdk.css +1513 -178
- package/sdk/sdk.js +1309 -1251
- 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/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/InputRichText.tsx +11 -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 +7 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Link.tsx +18 -3
- package/src/renderers/Log.tsx +5 -1
- package/src/renderers/Remark.tsx +68 -18
- package/src/renderers/Steps.tsx +11 -13
- 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 +1 -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
package/.husky/pre-commit
CHANGED
package/README.md
CHANGED
package/lib/RootRenderer.d.ts
CHANGED
@@ -10,9 +10,11 @@ export declare class RootRenderer extends React.Component<RootRendererProps> {
|
|
10
10
|
store: IRootStore;
|
11
11
|
static contextType: React.Context<IScopedContext>;
|
12
12
|
constructor(props: RootRendererProps);
|
13
|
+
componentDidMount(): void;
|
13
14
|
componentDidUpdate(prevProps: RootRendererProps): void;
|
14
15
|
componentDidCatch(error: any, errorInfo: any): void;
|
15
16
|
componentWillUnmount(): void;
|
17
|
+
handlePageVisibilityChange(): void;
|
16
18
|
handleAction(e: React.UIEvent<any> | void, action: Action, ctx: object, throwErrors?: boolean, delegate?: IScopedContext): void;
|
17
19
|
handleDialogConfirm(values: object[], action: Action, ...args: Array<any>): void;
|
18
20
|
handleDialogClose(confirmed?: boolean): void;
|
package/lib/RootRenderer.js
CHANGED
@@ -31,10 +31,14 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
31
31
|
'handleDialogConfirm',
|
32
32
|
'handleDialogClose',
|
33
33
|
'handleDrawerConfirm',
|
34
|
-
'handleDrawerClose'
|
34
|
+
'handleDrawerClose',
|
35
|
+
'handlePageVisibilityChange'
|
35
36
|
]);
|
36
37
|
return _this;
|
37
38
|
}
|
39
|
+
RootRenderer.prototype.componentDidMount = function () {
|
40
|
+
document.addEventListener('visibilitychange', this.handlePageVisibilityChange);
|
41
|
+
};
|
38
42
|
RootRenderer.prototype.componentDidUpdate = function (prevProps) {
|
39
43
|
var props = this.props;
|
40
44
|
if (props.data !== prevProps.data) {
|
@@ -49,6 +53,20 @@ var RootRenderer = /** @class */ (function (_super) {
|
|
49
53
|
};
|
50
54
|
RootRenderer.prototype.componentWillUnmount = function () {
|
51
55
|
this.props.rootStore.removeStore(this.store);
|
56
|
+
document.removeEventListener('visibilitychange', this.handlePageVisibilityChange);
|
57
|
+
};
|
58
|
+
RootRenderer.prototype.handlePageVisibilityChange = function () {
|
59
|
+
var env = this.props.env;
|
60
|
+
if (document.visibilityState === 'hidden') {
|
61
|
+
env === null || env === void 0 ? void 0 : env.tracker({
|
62
|
+
eventType: 'pageHidden'
|
63
|
+
});
|
64
|
+
}
|
65
|
+
else if (document.visibilityState === 'visible') {
|
66
|
+
env === null || env === void 0 ? void 0 : env.tracker({
|
67
|
+
eventType: 'pageVisible'
|
68
|
+
});
|
69
|
+
}
|
52
70
|
};
|
53
71
|
RootRenderer.prototype.handleAction = function (e, action, ctx, throwErrors, delegate) {
|
54
72
|
var _this = this;
|
package/lib/RootRenderer.js.map
CHANGED
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/RootRenderer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,yCAAoC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {observer} from 'mobx-react';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose'\n ]);\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const store = this.store;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
|
11
|
+
"import {observer} from 'mobx-react';\nimport {getEnv} from 'mobx-state-tree';\nimport React from 'react';\nimport Alert from './components/Alert2';\nimport Spinner from './components/Spinner';\nimport {renderChild, RootProps} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {IRootStore, RootStore} from './store/root';\nimport {Action} from './types';\nimport {bulkBindFunctions, guid, isVisible} from './utils/helper';\nimport {filter} from './utils/tpl';\nimport qs from 'qs';\nimport pick from 'lodash/pick';\nimport mapValues from 'lodash/mapValues';\n\nexport interface RootRendererProps extends RootProps {\n location?: any;\n}\n\n@observer\nexport class RootRenderer extends React.Component<RootRendererProps> {\n store: IRootStore;\n static contextType = ScopedContext;\n\n constructor(props: RootRendererProps) {\n super(props);\n\n this.store = props.rootStore.addStore({\n id: guid(),\n path: this.props.$path,\n storeType: RootStore.name,\n parentId: ''\n }) as IRootStore;\n\n this.store.initData(props.data);\n this.store.updateLocation(props.location);\n\n bulkBindFunctions<RootRenderer /*为毛 this 的类型自动识别不出来?*/>(this, [\n 'handleAction',\n 'handleDialogConfirm',\n 'handleDialogClose',\n 'handleDrawerConfirm',\n 'handleDrawerClose',\n 'handlePageVisibilityChange'\n ]);\n }\n\n componentDidMount() {\n document.addEventListener(\n 'visibilitychange',\n this.handlePageVisibilityChange\n );\n }\n\n componentDidUpdate(prevProps: RootRendererProps) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n this.store.initData(props.data);\n }\n\n if (props.location !== prevProps.location) {\n this.store.updateLocation(props.location);\n }\n }\n\n componentDidCatch(error: any, errorInfo: any) {\n this.store.setRuntimeError(error, errorInfo);\n }\n\n componentWillUnmount() {\n this.props.rootStore.removeStore(this.store);\n document.removeEventListener(\n 'visibilitychange',\n this.handlePageVisibilityChange\n );\n }\n\n handlePageVisibilityChange() {\n const env = this.props.env;\n if (document.visibilityState === 'hidden') {\n env?.tracker({\n eventType: 'pageHidden'\n });\n } else if (document.visibilityState === 'visible') {\n env?.tracker({\n eventType: 'pageVisible'\n });\n }\n }\n\n handleAction(\n e: React.UIEvent<any> | void,\n action: Action,\n ctx: object,\n throwErrors: boolean = false,\n delegate?: IScopedContext\n ) {\n const {env, messages, onAction} = this.props;\n const store = this.store;\n\n if (\n onAction?.(e, action, ctx, throwErrors, delegate || this.context) ===\n false\n ) {\n return;\n }\n\n const scoped = delegate || this.context;\n if (action.actionType === 'reload') {\n action.target && scoped.reload(action.target, ctx);\n } else if (action.target) {\n action.target.split(',').forEach(name => {\n let target = scoped.getComponentByName(name);\n target &&\n target.doAction &&\n target.doAction(\n {\n ...action,\n target: undefined\n },\n ctx\n );\n });\n } else if (\n action.actionType === 'url' ||\n action.actionType === 'link' ||\n action.actionType === 'jump'\n ) {\n if (!env || !env.jumpTo) {\n throw new Error('env.jumpTo is required!');\n }\n\n env.jumpTo(\n filter(\n (action.to || action.url || action.link) as string,\n ctx,\n '| raw'\n ),\n action,\n ctx\n );\n } else if (action.actionType === 'email') {\n const mailTo = filter(action.to, ctx);\n const mailInfo = mapValues(\n pick(action, 'to', 'cc', 'bcc', 'subject', 'body'),\n val => filter(val, ctx)\n );\n const mailStr = qs.stringify(mailInfo);\n const mailto = `mailto:${mailTo}?${mailStr}`;\n\n window.open(mailto);\n } else if (action.actionType === 'dialog') {\n store.setCurrentAction(action);\n store.openDialog(ctx);\n } else if (action.actionType === 'drawer') {\n store.setCurrentAction(action);\n store.openDrawer(ctx);\n } else if (action.actionType === 'ajax') {\n store.setCurrentAction(action);\n store\n .saveRemote(action.api as string, ctx, {\n successMessage:\n (action.messages && action.messages.success) ||\n (messages && messages.saveSuccess),\n errorMessage:\n (action.messages && action.messages.failed) ||\n (messages && messages.saveSuccess)\n })\n .then(async () => {\n if (action.feedback && isVisible(action.feedback, store.data)) {\n await this.openFeedback(action.feedback, store.data);\n }\n\n const redirect =\n action.redirect && filter(action.redirect, store.data);\n redirect && env.jumpTo(redirect, action);\n action.reload &&\n this.reloadTarget(\n delegate || this.context,\n action.reload,\n store.data\n );\n })\n .catch(() => {});\n } else if (\n action.actionType === 'copy' &&\n (action.content || action.copy)\n ) {\n env.copy &&\n env.copy(filter(action.content || action.copy, ctx, '| raw'), {\n format: action.copyFormat\n });\n }\n }\n\n handleDialogConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDialog(true);\n }\n\n handleDialogClose(confirmed = false) {\n const store = this.store;\n store.closeDialog(confirmed);\n }\n\n handleDrawerConfirm(values: object[], action: Action, ...args: Array<any>) {\n const store = this.store;\n\n if (action.mergeData && values.length === 1 && values[0]) {\n store.updateData(values[0]);\n }\n\n const dialog = store.action.dialog as any;\n if (\n dialog &&\n dialog.onConfirm &&\n dialog.onConfirm(values, action, ...args) === false\n ) {\n return;\n }\n\n store.closeDrawer();\n }\n\n handleDrawerClose() {\n const store = this.store;\n store.closeDrawer();\n }\n\n openFeedback(dialog: any, ctx: any) {\n return new Promise(resolve => {\n const store = this.store;\n store.setCurrentAction({\n type: 'button',\n actionType: 'dialog',\n dialog: dialog\n });\n store.openDialog(ctx, undefined, confirmed => {\n resolve(confirmed);\n });\n });\n }\n\n reloadTarget(scoped: IScopedContext, target: string, data?: any) {\n scoped.reload(target, data);\n }\n\n render() {\n const {pathPrefix, schema, ...rest} = this.props;\n const store = this.store;\n\n if (store.runtimeError) {\n return (\n <Alert level=\"danger\">\n <h3>{this.store.runtimeError?.toString()}</h3>\n <pre>\n <code>{this.store.runtimeErrorStack.componentStack}</code>\n </pre>\n </Alert>\n );\n }\n\n return (\n <>\n {\n renderChild(pathPrefix!, schema, {\n ...rest,\n data: this.store.downStream,\n onAction: this.handleAction\n }) as JSX.Element\n }\n\n <Spinner size=\"lg\" overlay key=\"info\" show={store.loading} />\n\n {store.error ? (\n <Alert level=\"danger\" showCloseButton onClose={store.clearMessage}>\n {store.msg}\n </Alert>\n ) : null}\n\n {renderChild(\n 'dialog',\n {\n ...((store.action as Action) &&\n ((store.action as Action).dialog as object)),\n type: 'dialog'\n },\n {\n ...rest,\n key: 'dialog',\n data: store.dialogData,\n onConfirm: this.handleDialogConfirm,\n onClose: this.handleDialogClose,\n show: store.dialogOpen,\n onAction: this.handleAction\n }\n )}\n\n {renderChild(\n 'drawer',\n {\n ...((store.action as Action) &&\n ((store.action as Action).drawer as object)),\n type: 'drawer'\n },\n {\n ...rest,\n key: 'drawer',\n data: store.drawerData,\n onConfirm: this.handleDrawerConfirm,\n onClose: this.handleDrawerClose,\n show: store.drawerOpen,\n onAction: this.handleAction\n }\n )}\n </>\n );\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/Schema.d.ts
CHANGED
@@ -56,6 +56,7 @@ import { PaginationSchema } from './renderers/Pagination';
|
|
56
56
|
import { AnchorNavSchema } from './renderers/AnchorNav';
|
57
57
|
import { AvatarSchema } from './renderers/Avatar';
|
58
58
|
import { StepsSchema } from './renderers/Steps';
|
59
|
+
import { TimelineSchema } from './renderers/Timeline';
|
59
60
|
import { ArrayControlSchema } from './renderers/Form/InputArray';
|
60
61
|
import { ButtonGroupControlSchema } from './renderers/Form/ButtonGroupSelect';
|
61
62
|
import { ChainedSelectControlSchema } from './renderers/Form/ChainedSelect';
|
@@ -106,8 +107,8 @@ import { UUIDControlSchema } from './renderers/Form/UUID';
|
|
106
107
|
import { FormControlSchema } from './renderers/Form/Control';
|
107
108
|
import { TransferPickerControlSchema } from './renderers/Form/TransferPicker';
|
108
109
|
import { TabsTransferPickerControlSchema } from './renderers/Form/TabsTransferPicker';
|
109
|
-
export declare type SchemaType = 'form' | 'button' | 'submit' | 'reset' | 'alert' | 'app' | 'audio' | 'avatar' | 'button-group' | 'button-toolbar' | 'breadcrumb' | 'card' | 'cards' | 'carousel' | 'chart' | 'collapse' | 'collapse-group' | 'color' | 'container' | 'crud' | 'custom' | 'date' | 'static-date' | 'datetime' | 'static-datetime' | 'time' | 'static-time' | 'month' | 'static-month' | 'dialog' | 'divider' | 'dropdown-button' | 'drawer' | 'each' | 'flex' | 'flex-item' | 'grid' | 'grid-2d' | 'hbox' | 'icon' | 'iframe' | 'image' | 'static-image' | 'images' | 'static-images' | 'json' | 'static-json' | 'link' | 'list' | 'log' | 'static-list' | 'map' | 'mapping' | 'markdown' | 'nav' | 'page' | 'pagination' | 'pagination-wrapper' | 'property' | 'operation' | 'panel' | 'plain' | 'text' | 'progress' | 'qrcode' | 'qr-code' | 'remark' | 'search-box' | 'service' | 'sparkline' | 'status' | 'switch' | 'table' | 'static-table' | 'tabs' | 'html' | 'tpl' | 'tasks' | 'vbox' | 'video' | 'wizard' | 'wrapper' | 'web-component' | 'anchor-nav' | 'steps' | 'control' | 'input-array' | 'button' | 'submit' | 'reset' | 'button-group-select' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'input-city' | 'input-color' | 'combo' | 'condition-builder' | 'container' | 'input-date' | 'input-datetime' | 'input-time' | 'input-quarter' | 'input-year' | 'input-month' | 'input-date-range' | 'input-time-range' | 'input-datetime-range' | 'input-excel' | 'input-formula' | 'diff-editor' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'input-file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'input-image' | 'input-group' | 'list-select' | 'location-picker' | 'matrix-checkboxes' | 'input-month-range' | 'input-quarter-range' | 'nested-select' | 'input-number' | 'panel' | 'picker' | 'radios' | 'input-range' | 'input-rating' | 'input-repeat' | 'input-rich-text' | 'select' | 'service' | 'static' | 'input-sub-form' | 'switch' | 'input-table' | 'tabs' | 'tabs-transfer' | 'input-tag' | 'input-text' | 'input-password' | 'input-email' | 'input-url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'transfer-picker' | 'tabs-transfer-picker' | 'input-tree' | 'tree-select' | 'table-view' | 'portlet' | 'grid-nav' | 'native-date' | 'native-time' | 'native-number' | 'code';
|
110
|
-
export declare type SchemaObject = PageSchema | TplSchema | RemarkSchema | ActionSchema | AlertSchema | AudioSchema | AvatarSchema | ButtonGroupSchema | ButtonToolbarSchema | CardSchema | CardsSchema | CarouselSchema | ChartSchema | CollapseSchema | CollapseGroupSchema | ColorSchema | ContainerSchema | CRUDSchema | DateSchema | DialogSchema | DividerSchema | DrawerSchema | DropdownButtonSchema | EachSchema | GridSchema | Grid2DSchema | HBoxSchema | IconSchema | IFrameSchema | ImageSchema | ImagesSchema | JsonSchema | LinkSchema | ListSchema | MappingSchema | NavSchema | OperationSchema | PaginationSchema | PaginationWrapperSchema | PanelSchema | PlainSchema | ProgressSchema | QRCodeSchema | SearchBoxSchema | ServiceSchema | SparkLineSchema | StatusSchema | TableSchema | TabsSchema | TasksSchema | VBoxSchema | VideoSchema | WizardSchema | WrapperSchema | FormSchema | AnchorNavSchema | StepsSchema | PortletSchema | FormControlSchema | ArrayControlSchema | ButtonGroupControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | InputCityControlSchema | InputColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | YearControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GroupControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | QuarterRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | SubFormControlSchema | SwitchControlSchema | StaticExactControlSchema | TableControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TransferPickerControlSchema | TabsTransferPickerControlSchema | TreeControlSchema | TreeSelectControlSchema;
|
110
|
+
export declare type SchemaType = 'form' | 'button' | 'submit' | 'reset' | 'alert' | 'app' | 'audio' | 'avatar' | 'button-group' | 'button-toolbar' | 'breadcrumb' | 'card' | 'cards' | 'carousel' | 'chart' | 'collapse' | 'collapse-group' | 'color' | 'container' | 'crud' | 'custom' | 'date' | 'static-date' | 'datetime' | 'static-datetime' | 'time' | 'static-time' | 'month' | 'static-month' | 'dialog' | 'divider' | 'dropdown-button' | 'drawer' | 'each' | 'flex' | 'flex-item' | 'grid' | 'grid-2d' | 'hbox' | 'icon' | 'iframe' | 'image' | 'static-image' | 'images' | 'static-images' | 'json' | 'static-json' | 'link' | 'list' | 'log' | 'static-list' | 'map' | 'mapping' | 'markdown' | 'nav' | 'page' | 'pagination' | 'pagination-wrapper' | 'property' | 'operation' | 'panel' | 'plain' | 'text' | 'progress' | 'qrcode' | 'qr-code' | 'remark' | 'search-box' | 'service' | 'sparkline' | 'status' | 'switch' | 'table' | 'static-table' | 'tabs' | 'html' | 'tpl' | 'tasks' | 'vbox' | 'video' | 'wizard' | 'wrapper' | 'web-component' | 'anchor-nav' | 'steps' | 'timeline' | 'control' | 'input-array' | 'button' | 'submit' | 'reset' | 'button-group-select' | 'button-toolbar' | 'chained-select' | 'chart-radios' | 'checkbox' | 'checkboxes' | 'input-city' | 'input-color' | 'combo' | 'condition-builder' | 'container' | 'input-date' | 'input-datetime' | 'input-time' | 'input-quarter' | 'input-year' | 'input-month' | 'input-date-range' | 'input-time-range' | 'input-datetime-range' | 'input-excel' | 'input-formula' | 'diff-editor' | 'editor' | 'bat-editor' | 'c-editor' | 'coffeescript-editor' | 'cpp-editor' | 'csharp-editor' | 'css-editor' | 'dockerfile-editor' | 'fsharp-editor' | 'go-editor' | 'handlebars-editor' | 'html-editor' | 'ini-editor' | 'java-editor' | 'javascript-editor' | 'json-editor' | 'less-editor' | 'lua-editor' | 'markdown-editor' | 'msdax-editor' | 'objective-c-editor' | 'php-editor' | 'plaintext-editor' | 'postiats-editor' | 'powershell-editor' | 'pug-editor' | 'python-editor' | 'r-editor' | 'razor-editor' | 'ruby-editor' | 'sb-editor' | 'scss-editor' | 'sol-editor' | 'sql-editor' | 'swift-editor' | 'typescript-editor' | 'vb-editor' | 'xml-editor' | 'yaml-editor' | 'fieldset' | 'fieldSet' | 'input-file' | 'formula' | 'grid' | 'group' | 'hbox' | 'hidden' | 'icon-picker' | 'input-image' | 'input-group' | 'list-select' | 'location-picker' | 'matrix-checkboxes' | 'input-month-range' | 'input-quarter-range' | 'nested-select' | 'input-number' | 'panel' | 'picker' | 'radios' | 'input-range' | 'input-rating' | 'input-repeat' | 'input-rich-text' | 'select' | 'service' | 'static' | 'input-sub-form' | 'switch' | 'input-table' | 'tabs' | 'tabs-transfer' | 'input-tag' | 'input-text' | 'input-password' | 'input-email' | 'input-url' | 'uuid' | 'multi-select' | 'textarea' | 'transfer' | 'transfer-picker' | 'tabs-transfer-picker' | 'input-tree' | 'tree-select' | 'table-view' | 'portlet' | 'grid-nav' | 'native-date' | 'native-time' | 'native-number' | 'code';
|
111
|
+
export declare type SchemaObject = PageSchema | TplSchema | RemarkSchema | ActionSchema | AlertSchema | AudioSchema | AvatarSchema | ButtonGroupSchema | ButtonToolbarSchema | CardSchema | CardsSchema | CarouselSchema | ChartSchema | CollapseSchema | CollapseGroupSchema | ColorSchema | ContainerSchema | CRUDSchema | DateSchema | DialogSchema | DividerSchema | DrawerSchema | DropdownButtonSchema | EachSchema | GridSchema | Grid2DSchema | HBoxSchema | IconSchema | IFrameSchema | ImageSchema | ImagesSchema | JsonSchema | LinkSchema | ListSchema | MappingSchema | NavSchema | OperationSchema | PaginationSchema | PaginationWrapperSchema | PanelSchema | PlainSchema | ProgressSchema | QRCodeSchema | SearchBoxSchema | ServiceSchema | SparkLineSchema | StatusSchema | TableSchema | TabsSchema | TasksSchema | VBoxSchema | VideoSchema | WizardSchema | WrapperSchema | FormSchema | AnchorNavSchema | StepsSchema | PortletSchema | TimelineSchema | FormControlSchema | ArrayControlSchema | ButtonGroupControlSchema | ChainedSelectControlSchema | CheckboxControlSchema | CheckboxesControlSchema | InputCityControlSchema | InputColorControlSchema | ComboControlSchema | ConditionBuilderControlSchema | DateControlSchema | DateTimeControlSchema | TimeControlSchema | MonthControlSchema | MonthControlSchema | QuarterControlSchema | YearControlSchema | DateRangeControlSchema | DiffControlSchema | EditorControlSchema | FieldSetControlSchema | FileControlSchema | FormulaControlSchema | GroupControlSchema | HiddenControlSchema | IconPickerControlSchema | ImageControlSchema | InputGroupControlSchema | ListControlSchema | LocationControlSchema | UUIDControlSchema | MatrixControlSchema | MonthRangeControlSchema | QuarterRangeControlSchema | NestedSelectControlSchema | NumberControlSchema | PickerControlSchema | RadiosControlSchema | RangeControlSchema | RatingControlSchema | RichTextControlSchema | RepeatControlSchema | SelectControlSchema | SubFormControlSchema | SwitchControlSchema | StaticExactControlSchema | TableControlSchema | TabsTransferControlSchema | TagControlSchema | TextControlSchema | TextareaControlSchema | TransferControlSchema | TransferPickerControlSchema | TabsTransferPickerControlSchema | TreeControlSchema | TreeSelectControlSchema;
|
111
112
|
export declare type SchemaCollection = SchemaObject | SchemaTpl | Array<SchemaObject | SchemaTpl>;
|
112
113
|
/**
|
113
114
|
* 表达式,语法 `data.xxx > 5`。
|
package/lib/Schema.js.map
CHANGED
@@ -8,6 +8,6 @@
|
|
8
8
|
"names": [],
|
9
9
|
"mappings": "",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {CollapseGroupSchema} from './renderers/CollapseGroup';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {PortletSchema} from './renderers/Portlet';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\nimport {TransferPickerControlSchema} from './renderers/Form/TransferPicker';\nimport {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'collapse'\n | 'collapse-group'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'input-formula'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'transfer-picker'\n | 'tabs-transfer-picker'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n | 'portlet'\n | 'grid-nav'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | CollapseGroupSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | TableSchema\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n | PortletSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TransferPickerControlSchema\n | TabsTransferPickerControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:\n *\n * {\n * 'a.b': '123'\n * }\n *\n * 经过数据映射后变成\n * {\n * a: {\n * b: '123\n * }\n * }\n *\n * 如果想要关闭此功能,请设置 convertKeyToPath 为 false\n */\n convertKeyToPath?: boolean;\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n"
|
11
|
+
"import {PageSchema} from './renderers/Page';\nimport {TplSchema} from './renderers/Tpl';\nimport {RemarkSchema} from './renderers/Remark';\nimport {ActionSchema} from './renderers/Action';\nimport {AlertSchema} from './renderers/Alert';\nimport {AudioSchema} from './renderers/Audio';\nimport {ButtonGroupSchema} from './renderers/ButtonGroup';\nimport {ButtonToolbarSchema} from './renderers/Form/ButtonToolbar';\nimport {CardSchema} from './renderers/Card';\nimport {CardsSchema} from './renderers/Cards';\nimport {FormSchema} from './renderers/Form';\nimport {CarouselSchema} from './renderers/Carousel';\nimport {ChartSchema} from './renderers/Chart';\nimport {CollapseSchema} from './renderers/Collapse';\nimport {CollapseGroupSchema} from './renderers/CollapseGroup';\nimport {ColorSchema} from './renderers/Color';\nimport {ContainerSchema} from './renderers/Container';\nimport {CRUDSchema} from './renderers/CRUD';\nimport {DateSchema} from './renderers/Date';\nimport {DividerSchema} from './renderers/Divider';\nimport {DropdownButtonSchema} from './renderers/DropDownButton';\nimport {EachSchema} from './renderers/Each';\nimport {GridSchema} from './renderers/Grid';\nimport {Grid2DSchema} from './renderers/Grid2D';\nimport {HBoxSchema} from './renderers/HBox';\nimport {IconSchema} from './renderers/Icon';\nimport {IFrameSchema} from './renderers/IFrame';\nimport {ImageSchema} from './renderers/Image';\nimport {ImagesSchema} from './renderers/Images';\nimport {JsonSchema} from './renderers/Json';\nimport {LinkSchema} from './renderers/Link';\nimport {ListSchema} from './renderers/List';\nimport {MappingSchema} from './renderers/Mapping';\nimport {NavSchema} from './renderers/Nav';\nimport {OperationSchema} from './renderers/Operation';\nimport {PanelSchema} from './renderers/Panel';\nimport {PlainSchema} from './renderers/Plain';\nimport {ProgressSchema} from './renderers/Progress';\nimport {QRCodeSchema} from './renderers/QRCode';\nimport {ServiceSchema} from './renderers/Service';\nimport {StatusSchema} from './renderers/Status';\nimport {TabsSchema} from './renderers/Tabs';\nimport {PortletSchema} from './renderers/Portlet';\nimport {TasksSchema} from './renderers/Tasks';\nimport {VBoxSchema} from './renderers/VBox';\nimport {VideoSchema} from './renderers/Video';\nimport {WizardSchema} from './renderers/Wizard';\nimport {WrapperSchema} from './renderers/Wrapper';\nimport {TableSchema} from './renderers/Table';\nimport {DialogSchema, DialogSchemaBase} from './renderers/Dialog';\nimport {DrawerSchema} from './renderers/Drawer';\nimport {SearchBoxSchema} from './renderers/SearchBox';\nimport {SparkLineSchema} from './renderers/SparkLine';\nimport {PaginationWrapperSchema} from './renderers/PaginationWrapper';\nimport {PaginationSchema} from './renderers/Pagination';\nimport {AnchorNavSchema} from './renderers/AnchorNav';\nimport {AvatarSchema} from './renderers/Avatar';\nimport {StepsSchema} from './renderers/Steps';\nimport {TimelineSchema} from './renderers/Timeline';\nimport {ArrayControlSchema} from './renderers/Form/InputArray';\nimport {ButtonGroupControlSchema} from './renderers/Form/ButtonGroupSelect';\nimport {ChainedSelectControlSchema} from './renderers/Form/ChainedSelect';\nimport {CheckboxControlSchema} from './renderers/Form/Checkbox';\nimport {CheckboxesControlSchema} from './renderers/Form/Checkboxes';\nimport {ComboControlSchema} from './renderers/Form/Combo';\nimport {ConditionBuilderControlSchema} from './renderers/Form/ConditionBuilder';\nimport {DiffControlSchema} from './renderers/Form/DiffEditor';\nimport {EditorControlSchema} from './renderers/Form/Editor';\nimport {FieldSetControlSchema} from './renderers/Form/FieldSet';\nimport {FormulaControlSchema} from './renderers/Form/Formula';\nimport {GroupControlSchema} from './renderers/Form/Group';\nimport {HiddenControlSchema} from './renderers/Form/Hidden';\nimport {IconPickerControlSchema} from './renderers/Form/IconPicker';\nimport {InputCityControlSchema} from './renderers/Form/InputCity';\nimport {InputColorControlSchema} from './renderers/Form/InputColor';\nimport {\n DateControlSchema,\n DateTimeControlSchema,\n TimeControlSchema,\n MonthControlSchema,\n QuarterControlSchema,\n YearControlSchema\n} from './renderers/Form/InputDate';\nimport {DateRangeControlSchema} from './renderers/Form/InputDateRange';\nimport {FileControlSchema} from './renderers/Form/InputFile';\nimport {InputGroupControlSchema} from './renderers/Form/InputGroup';\nimport {ImageControlSchema} from './renderers/Form/InputImage';\nimport {MonthRangeControlSchema} from './renderers/Form/InputMonthRange';\nimport {QuarterRangeControlSchema} from './renderers/Form/InputQuarterRange';\nimport {NumberControlSchema} from './renderers/Form/InputNumber';\nimport {RangeControlSchema} from './renderers/Form/InputRange';\nimport {RatingControlSchema} from './renderers/Form/InputRating';\nimport {RepeatControlSchema} from './renderers/Form/InputRepeat';\nimport {RichTextControlSchema} from './renderers/Form/InputRichText';\nimport {SubFormControlSchema} from './renderers/Form/InputSubForm';\nimport {TableControlSchema} from './renderers/Form/InputTable';\nimport {TagControlSchema} from './renderers/Form/InputTag';\nimport {TextControlSchema} from './renderers/Form/InputText';\nimport {TreeControlSchema} from './renderers/Form/InputTree';\nimport {ListControlSchema} from './renderers/Form/ListSelect';\nimport {LocationControlSchema} from './renderers/Form/LocationPicker';\nimport {MatrixControlSchema} from './renderers/Form/MatrixCheckboxes';\nimport {NestedSelectControlSchema} from './renderers/Form/NestedSelect';\nimport {PickerControlSchema} from './renderers/Form/Picker';\nimport {RadiosControlSchema} from './renderers/Form/Radios';\nimport {SelectControlSchema} from './renderers/Form/Select';\nimport {StaticExactControlSchema} from './renderers/Form/Static';\nimport {SwitchControlSchema} from './renderers/Form/Switch';\nimport {TabsTransferControlSchema} from './renderers/Form/TabsTransfer';\nimport {TextareaControlSchema} from './renderers/Form/Textarea';\nimport {TransferControlSchema} from './renderers/Form/Transfer';\nimport {TreeSelectControlSchema} from './renderers/Form/TreeSelect';\nimport {UUIDControlSchema} from './renderers/Form/UUID';\nimport {FormControlSchema} from './renderers/Form/Control';\nimport {TransferPickerControlSchema} from './renderers/Form/TransferPicker';\nimport {TabsTransferPickerControlSchema} from './renderers/Form/TabsTransferPicker';\n\n// 每加个类型,这补充一下。\nexport type SchemaType =\n | 'form'\n | 'button'\n | 'submit'\n | 'reset'\n | 'alert'\n | 'app'\n | 'audio'\n | 'avatar'\n | 'button-group'\n | 'button-toolbar'\n | 'breadcrumb'\n | 'card'\n | 'cards'\n | 'carousel'\n | 'chart'\n | 'collapse'\n | 'collapse-group'\n | 'color'\n | 'container'\n | 'crud'\n | 'custom'\n | 'date'\n | 'static-date' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'datetime'\n | 'static-datetime' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'time'\n | 'static-time' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'month'\n | 'static-month' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'dialog'\n | 'divider'\n | 'dropdown-button'\n | 'drawer'\n | 'each'\n | 'flex'\n | 'flex-item'\n | 'grid'\n | 'grid-2d'\n | 'hbox'\n | 'icon'\n | 'iframe'\n | 'image'\n | 'static-image' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'images'\n | 'static-images' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'json'\n | 'static-json' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'link'\n | 'list'\n | 'log'\n | 'static-list' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'map'\n | 'mapping'\n | 'markdown'\n | 'nav'\n | 'page'\n | 'pagination'\n | 'pagination-wrapper'\n | 'property'\n | 'operation'\n | 'panel'\n | 'plain'\n | 'text'\n | 'progress'\n | 'qrcode'\n | 'qr-code'\n | 'remark'\n | 'search-box'\n | 'service'\n | 'sparkline'\n | 'status'\n | 'switch'\n | 'table'\n | 'static-table' // 这个几个跟表单项同名,再form下面用必须带前缀 static-\n | 'tabs'\n | 'html'\n | 'tpl'\n | 'tasks'\n | 'vbox'\n | 'video'\n | 'wizard'\n | 'wrapper'\n | 'web-component'\n | 'anchor-nav'\n | 'steps'\n | 'timeline'\n | 'control'\n | 'input-array'\n | 'button'\n | 'submit'\n | 'reset'\n | 'button-group-select'\n | 'button-toolbar'\n | 'chained-select'\n | 'chart-radios'\n | 'checkbox'\n | 'checkboxes'\n | 'input-city'\n | 'input-color'\n | 'combo'\n | 'condition-builder'\n | 'container'\n | 'input-date'\n | 'input-datetime'\n | 'input-time'\n | 'input-quarter'\n | 'input-year'\n | 'input-month'\n | 'input-date-range'\n | 'input-time-range'\n | 'input-datetime-range'\n | 'input-excel'\n | 'input-formula'\n | 'diff-editor'\n\n // editor 系列\n | 'editor'\n | 'bat-editor'\n | 'c-editor'\n | 'coffeescript-editor'\n | 'cpp-editor'\n | 'csharp-editor'\n | 'css-editor'\n | 'dockerfile-editor'\n | 'fsharp-editor'\n | 'go-editor'\n | 'handlebars-editor'\n | 'html-editor'\n | 'ini-editor'\n | 'java-editor'\n | 'javascript-editor'\n | 'json-editor'\n | 'less-editor'\n | 'lua-editor'\n | 'markdown-editor'\n | 'msdax-editor'\n | 'objective-c-editor'\n | 'php-editor'\n | 'plaintext-editor'\n | 'postiats-editor'\n | 'powershell-editor'\n | 'pug-editor'\n | 'python-editor'\n | 'r-editor'\n | 'razor-editor'\n | 'ruby-editor'\n | 'sb-editor'\n | 'scss-editor'\n | 'sol-editor'\n | 'sql-editor'\n | 'swift-editor'\n | 'typescript-editor'\n | 'vb-editor'\n | 'xml-editor'\n | 'yaml-editor'\n\n //\n | 'fieldset'\n | 'fieldSet'\n | 'input-file'\n | 'formula'\n | 'grid'\n | 'group'\n | 'hbox'\n | 'hidden'\n | 'icon-picker'\n | 'input-image'\n | 'input-group'\n | 'list-select'\n | 'location-picker'\n | 'matrix-checkboxes'\n | 'input-month-range'\n | 'input-quarter-range'\n | 'nested-select'\n | 'input-number'\n | 'panel'\n | 'picker'\n | 'radios'\n | 'input-range'\n | 'input-rating'\n | 'input-repeat'\n | 'input-rich-text'\n | 'select'\n | 'service'\n | 'static'\n | 'input-sub-form'\n | 'switch'\n | 'input-table'\n | 'tabs'\n | 'tabs-transfer'\n | 'input-tag'\n | 'input-text'\n | 'input-password'\n | 'input-email'\n | 'input-url'\n | 'uuid'\n | 'multi-select'\n | 'textarea'\n | 'transfer'\n | 'transfer-picker'\n | 'tabs-transfer-picker'\n | 'input-tree'\n | 'tree-select'\n | 'table-view'\n | 'portlet'\n | 'grid-nav'\n\n // 原生 input 类型\n | 'native-date'\n | 'native-time'\n | 'native-number'\n | 'code';\n\nexport type SchemaObject =\n | PageSchema\n | TplSchema\n | RemarkSchema\n | ActionSchema\n | AlertSchema\n | AudioSchema\n | AvatarSchema\n | ButtonGroupSchema\n | ButtonToolbarSchema\n | CardSchema\n | CardsSchema\n | CarouselSchema\n | ChartSchema\n | CollapseSchema\n | CollapseGroupSchema\n | ColorSchema\n | ContainerSchema\n | CRUDSchema\n | DateSchema\n | DialogSchema\n | DividerSchema\n | DrawerSchema\n | DropdownButtonSchema\n | EachSchema\n | GridSchema\n | Grid2DSchema\n | HBoxSchema\n | IconSchema\n | IFrameSchema\n | ImageSchema\n | ImagesSchema\n | JsonSchema\n | LinkSchema\n | ListSchema\n | MappingSchema\n | NavSchema\n | OperationSchema\n | PaginationSchema\n | PaginationWrapperSchema\n | PanelSchema\n | PlainSchema\n | ProgressSchema\n | QRCodeSchema\n | SearchBoxSchema\n | ServiceSchema\n | SparkLineSchema\n | StatusSchema\n | TableSchema\n | TabsSchema\n | TasksSchema\n | VBoxSchema\n | VideoSchema\n | WizardSchema\n | WrapperSchema\n | FormSchema\n | AnchorNavSchema\n | StepsSchema\n | PortletSchema\n | TimelineSchema\n\n // 表单项\n | FormControlSchema\n | ArrayControlSchema\n | ButtonGroupControlSchema\n | ChainedSelectControlSchema\n | CheckboxControlSchema\n | CheckboxesControlSchema\n | InputCityControlSchema\n | InputColorControlSchema\n | ComboControlSchema\n | ConditionBuilderControlSchema\n | DateControlSchema\n | DateTimeControlSchema\n | TimeControlSchema\n | MonthControlSchema\n | MonthControlSchema\n | QuarterControlSchema\n | YearControlSchema\n | DateRangeControlSchema\n | DiffControlSchema\n | EditorControlSchema\n | FieldSetControlSchema\n | FileControlSchema\n | FormulaControlSchema\n | GroupControlSchema\n | HiddenControlSchema\n | IconPickerControlSchema\n | ImageControlSchema\n | InputGroupControlSchema\n | ListControlSchema\n | LocationControlSchema\n | UUIDControlSchema\n | MatrixControlSchema\n | MonthRangeControlSchema\n | QuarterRangeControlSchema\n | NestedSelectControlSchema\n | NumberControlSchema\n | PickerControlSchema\n | RadiosControlSchema\n | RangeControlSchema\n | RatingControlSchema\n | RichTextControlSchema\n | RepeatControlSchema\n | SelectControlSchema\n | SubFormControlSchema\n | SwitchControlSchema\n | StaticExactControlSchema\n | TableControlSchema\n | TabsTransferControlSchema\n | TagControlSchema\n | TextControlSchema\n | TextareaControlSchema\n | TransferControlSchema\n | TransferPickerControlSchema\n | TabsTransferPickerControlSchema\n | TreeControlSchema\n | TreeSelectControlSchema;\n\nexport type SchemaCollection =\n | SchemaObject\n | SchemaTpl\n | Array<SchemaObject | SchemaTpl>;\n\n/**\n * 表达式,语法 `data.xxx > 5`。\n */\nexport type SchemaExpression = string;\n\n/**\n * css类名,配置字符串,或者对象。\n *\n * className: \"red\"\n *\n * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n *\n * className: {\n * \"red\": \"data.progress > 80\",\n * \"blue\": \"data.progress > 60\"\n * }\n */\nexport type SchemaClassName =\n | string\n | {\n [propName: string]: boolean | undefined | null | SchemaExpression;\n };\n\n// /**\n// * css类名,配置字符串,或者对象。\n// *\n// * className: \"red\"\n// *\n// * 用对象配置时意味着你能跟表达式一起搭配使用,如:\n// *\n// * className: {\n// * \"red\": \"data.progress > 80\",\n// * \"blue\": \"data.progress > 60\"\n// * }\n// */\n// export type SchemaClassName = string;\n\nexport interface SchemaApiObject {\n /**\n * API 发送类型\n */\n method?: 'get' | 'post' | 'put' | 'delete' | 'patch' | 'jsonp';\n\n /**\n * API 发送目标地址\n */\n url: SchemaUrlPath;\n\n /**\n * 用来控制携带数据. 当key 为 `&` 值为 `$$` 时, 将所有原始数据打平设置到 data 中. 当值为 $$ 将所有原始数据赋值到对应的 key 中. 当值为 $ 打头时, 将变量值设置到 key 中.\n */\n data?: {\n [propName: string]: any;\n };\n\n /**\n * 默认数据映射中的key如果带点,或者带大括号,会转成对象比如:\n *\n * {\n * 'a.b': '123'\n * }\n *\n * 经过数据映射后变成\n * {\n * a: {\n * b: '123\n * }\n * }\n *\n * 如果想要关闭此功能,请设置 convertKeyToPath 为 false\n */\n convertKeyToPath?: boolean;\n\n /**\n * 用来做接口返回的数据映射。\n */\n responseData?: {\n [propName: string]: any;\n };\n\n /**\n * 如果 method 为 get 的接口,设置了 data 信息。\n * 默认 data 会自动附带在 query 里面发送给后端。\n *\n * 如果想通过 body 发送给后端,那么请把这个配置成 false。\n *\n * 但是,浏览器还不支持啊,设置了只是摆设。除非服务端支持 method-override\n */\n attachDataToQuery?: boolean;\n\n /**\n * 发送体的格式\n */\n dataType?: 'json' | 'form-data' | 'form';\n\n /**\n * 如果是文件下载接口,请配置这个。\n */\n responseType?: 'blob';\n\n /**\n * 携带 headers,用法和 data 一样,可以用变量。\n */\n headers?: {\n [propName: string]: string | number;\n };\n\n /**\n * 设置发送条件\n */\n sendOn?: SchemaExpression;\n\n /**\n * 默认都是追加模式,如果想完全替换把这个配置成 true\n */\n replaceData?: boolean;\n\n /**\n * 是否自动刷新,当 url 中的取值结果变化时,自动刷新数据。\n *\n * @default true\n */\n autoRefresh?: boolean;\n\n /**\n * 当开启自动刷新的时候,默认是 api 的 url 来自动跟踪变量变化的。\n * 如果你希望监控 url 外的变量,请配置 traceExpression。\n */\n trackExpression?: string;\n\n /**\n * 如果设置了值,同一个接口,相同参数,指定的时间(单位:ms)内请求将直接走缓存。\n */\n cache?: number;\n\n /**\n * qs 配置项\n */\n qsOptions?: {\n arrayFormat?: 'indices' | 'brackets' | 'repeat' | 'comma';\n indices?: boolean;\n allowDots?: boolean;\n };\n}\n\nexport type SchemaApi = string | SchemaApiObject;\n\n/**\n * 组件名字,这个名字可以用来定位,用于组件通信\n */\nexport type SchemaName = string;\n\n/**\n * 配置刷新动作,这个动作通常在完成渲染器本省的固定动作后出发。\n *\n * 一般用来配置目标组件的 name 属性。多个目标可以用逗号隔开。\n *\n * 当目标是 windows 时表示刷新整个页面。\n *\n * 刷新目标的同时还支持传递参数如: `foo?a=${a}&b=${b},boo?c=${c}`\n */\nexport type SchemaReload = string;\n\n/**\n * 页面跳转地址,支持相对地址。\n */\nexport type SchemaRedirect = string;\n\n/**\n * 支持两种语法,但是不能混着用。分别是:\n *\n * 1. `${xxx}` 或者 `${xxx|upperCase}`\n * 2. `<%= data.xxx %>`\n *\n *\n * 更多文档:https://baidu.gitee.io/amis/docs/concepts/template\n */\nexport type SchemaTpl = string;\n\n/**\n * 初始数据,设置得值可用于组件内部模板使用。\n */\nexport type SchemaDefaultData = {\n [propName: string]: any;\n};\n\n/**\n * 用来关联 json schema 的,不用管。\n */\nexport type SchemaSchema = string;\n\n/**\n * iconfont 里面的类名。\n */\nexport type SchemaIcon = string;\n\nexport type SchemaTokenizeableString = string;\n\nexport type SchemaUrlPath = SchemaTokenizeableString;\n\nexport type SchemaTooltip =\n | string\n | {\n /**\n * 标题\n */\n title?: string;\n\n /**\n * 内容\n */\n content: string;\n };\n\n/**\n * 消息文案配置,记住这个优先级是最低的,如果你的接口返回了 msg,接口返回的优先。\n */\nexport type SchemaMessage = {\n /**\n * 获取失败时的提示\n */\n fetchFailed?: string;\n\n /**\n * 获取成功的提示,默认为空。\n */\n fetchSuccess?: string;\n\n /**\n * 保存失败时的提示。\n */\n saveFailed?: string;\n\n /**\n * 保存成功时的提示。\n */\n saveSuccess?: string;\n};\n\nexport type SchemaFunction = string | Function;\n\nexport interface BaseSchema {\n type: SchemaType;\n\n /**\n * 容器 css 类名\n */\n className?: SchemaClassName;\n\n /**\n * 配合 definitions 一起使用,可以实现无限循环的渲染器。\n */\n $ref?: string;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 是否禁用表达式\n */\n disabledOn?: SchemaExpression;\n\n /**\n * 是否隐藏\n * @deprecated 推荐用 visible\n */\n hidden?: boolean;\n\n /**\n * 是否隐藏表达式\n * @deprecated 推荐用 visibleOn\n */\n hiddenOn?: SchemaExpression;\n\n /**\n * 是否显示\n */\n\n visible?: boolean;\n\n /**\n * 是否显示表达式\n */\n visibleOn?: SchemaExpression;\n}\n\nexport interface Option {\n /**\n * 用来显示的文字\n */\n label?: string;\n\n /**\n * 可以用来给 Option 标记个范围,让数据展示更清晰。\n *\n * 这个只有在数值展示的时候显示。\n */\n scopeLabel?: string;\n\n /**\n * 请保证数值唯一,多个选项值一致会认为是同一个选项。\n */\n value?: any;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n\n /**\n * 支持嵌套\n */\n children?: Options;\n\n /**\n * 是否可见\n */\n visible?: boolean;\n\n /**\n * 最好不要用!因为有 visible 就够了。\n *\n * @deprecated 用 visible\n */\n hidden?: boolean;\n\n /**\n * 描述,部分控件支持\n */\n description?: string;\n\n /**\n * 标记后数据延时加载\n */\n defer?: boolean;\n\n /**\n * 如果设置了,优先级更高,不设置走 source 接口加载。\n */\n deferApi?: SchemaApi;\n\n /**\n * 标记正在加载。只有 defer 为 true 时有意义。内部字段不可以外部设置\n */\n loading?: boolean;\n\n /**\n * 只有设置了 defer 才有意义,内部字段不可以外部设置\n */\n loaded?: boolean;\n\n [propName: string]: any;\n}\nexport interface Options extends Array<Option> {}\n\nexport interface FeedbackDialog extends DialogSchemaBase {\n /**\n * 可以用来配置 feedback 的出现条件\n */\n visibleOn?: string;\n\n /**\n * feedback 弹框取消是否中断后续操作\n */\n skipRestOnCancel?: boolean;\n\n /**\n * feedback 弹框确认是否中断后续操作\n */\n skipRestOnConfirm?: boolean;\n}\n\nexport type RootSchema = PageSchema;\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/SchemaRenderer.js
CHANGED
@@ -9,6 +9,8 @@ var LazyComponent_1 = (0, tslib_1.__importDefault)(require("./components/LazyCom
|
|
9
9
|
var factory_1 = require("./factory");
|
10
10
|
var Item_1 = require("./renderers/Form/Item");
|
11
11
|
var Root_1 = require("./Root");
|
12
|
+
var Scoped_1 = require("./Scoped");
|
13
|
+
var debug_1 = require("./utils/debug");
|
12
14
|
var filter_schema_1 = (0, tslib_1.__importDefault)(require("./utils/filter-schema"));
|
13
15
|
var helper_1 = require("./utils/helper");
|
14
16
|
var SimpleMap_1 = require("./utils/SimpleMap");
|
@@ -37,6 +39,54 @@ var defaultOmitList = [
|
|
37
39
|
'body'
|
38
40
|
];
|
39
41
|
var componentCache = new SimpleMap_1.SimpleMap();
|
42
|
+
var BroadcastCmpt = /** @class */ (function (_super) {
|
43
|
+
(0, tslib_1.__extends)(BroadcastCmpt, _super);
|
44
|
+
function BroadcastCmpt(props, context) {
|
45
|
+
var _this = _super.call(this, props) || this;
|
46
|
+
_this.unbindEvent = undefined;
|
47
|
+
_this.triggerEvent = _this.triggerEvent.bind(_this);
|
48
|
+
return _this;
|
49
|
+
}
|
50
|
+
BroadcastCmpt.prototype.componentDidMount = function () {
|
51
|
+
var env = this.props.env;
|
52
|
+
this.unbindEvent = env.bindEvent(this.ref);
|
53
|
+
};
|
54
|
+
BroadcastCmpt.prototype.componentWillUnmount = function () {
|
55
|
+
var _a;
|
56
|
+
(_a = this.unbindEvent) === null || _a === void 0 ? void 0 : _a.call(this);
|
57
|
+
};
|
58
|
+
BroadcastCmpt.prototype.getWrappedInstance = function () {
|
59
|
+
return this.ref;
|
60
|
+
};
|
61
|
+
BroadcastCmpt.prototype.triggerEvent = function (e, data) {
|
62
|
+
return (0, tslib_1.__awaiter)(this, void 0, Promise, function () {
|
63
|
+
return (0, tslib_1.__generator)(this, function (_a) {
|
64
|
+
switch (_a.label) {
|
65
|
+
case 0: return [4 /*yield*/, this.props.env.dispatchEvent(e, this.ref, data)];
|
66
|
+
case 1: return [2 /*return*/, _a.sent()];
|
67
|
+
}
|
68
|
+
});
|
69
|
+
});
|
70
|
+
};
|
71
|
+
BroadcastCmpt.prototype.childRef = function (ref) {
|
72
|
+
while (ref && ref.getWrappedInstance) {
|
73
|
+
ref = ref.getWrappedInstance();
|
74
|
+
}
|
75
|
+
this.ref = ref;
|
76
|
+
};
|
77
|
+
BroadcastCmpt.prototype.render = function () {
|
78
|
+
var _a = this.props, Component = _a.component, rest = (0, tslib_1.__rest)(_a, ["component"]);
|
79
|
+
return (react_1.default.createElement(Component, (0, tslib_1.__assign)({ ref: this.childRef }, rest, { scoped: this.context, dispatchEvent: this.triggerEvent })));
|
80
|
+
};
|
81
|
+
BroadcastCmpt.contextType = Scoped_1.ScopedContext;
|
82
|
+
(0, tslib_1.__decorate)([
|
83
|
+
helper_1.autobind,
|
84
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
85
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
86
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
87
|
+
], BroadcastCmpt.prototype, "childRef", null);
|
88
|
+
return BroadcastCmpt;
|
89
|
+
}(react_1.default.Component));
|
40
90
|
var SchemaRenderer = /** @class */ (function (_super) {
|
41
91
|
(0, tslib_1.__extends)(SchemaRenderer, _super);
|
42
92
|
function SchemaRenderer(props) {
|
@@ -210,7 +260,8 @@ var SchemaRenderer = /** @class */ (function (_super) {
|
|
210
260
|
(schema.visible !== false && !schema.hidden))) {
|
211
261
|
return null;
|
212
262
|
}
|
213
|
-
|
263
|
+
var component = (react_1.default.createElement(BroadcastCmpt, (0, tslib_1.__assign)({}, theme.getRendererConfig(renderer.name), restSchema, (0, helper_1.chainEvents)(rest, restSchema), exprProps, { defaultData: (_a = restSchema.defaultData) !== null && _a !== void 0 ? _a : defaultData, defaultValue: (_b = restSchema.defaultValue) !== null && _b !== void 0 ? _b : defaultValue, defaultActiveKey: defaultActiveKey, propKey: propKey, "$path": $path, "$schema": (0, tslib_1.__assign)((0, tslib_1.__assign)({}, schema), exprProps), ref: this.refFn, render: this.renderChild, component: Component })));
|
264
|
+
return debug_1.enableAMISDebug ? (react_1.default.createElement(debug_1.DebugWrapper, { renderer: renderer }, component)) : (component);
|
214
265
|
};
|
215
266
|
SchemaRenderer.displayName = 'Renderer';
|
216
267
|
return SchemaRenderer;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/SchemaRenderer.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,8EAA2C;AAC3C,kEAA+B;AAC/B,6DAA0B;AAC1B,0FAAuD;AACvD,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {Schema, SchemaNode} from './types';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents} from './utils/helper';\nimport {SimpleMap} from './utils/SimpleMap';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n if (\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false)\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n key: propKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n propKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n key: propKey,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n return (\n <Component\n {...theme.getRendererConfig(renderer.name)}\n {...restSchema}\n {...chainEvents(rest, restSchema)}\n {...exprProps}\n defaultData={restSchema.defaultData ?? defaultData}\n defaultValue={restSchema.defaultValue ?? defaultValue}\n defaultActiveKey={defaultActiveKey}\n propKey={propKey}\n $path={$path}\n $schema={{...schema, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n />\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
|
11
|
+
"import difference from 'lodash/difference';\nimport omit from 'lodash/omit';\nimport React from 'react';\nimport LazyComponent from './components/LazyComponent';\nimport {\n filterSchema,\n loadRenderer,\n RendererComponent,\n RendererConfig,\n RendererEnv,\n RendererProps,\n resolveRenderer\n} from './factory';\nimport {asFormItem} from './renderers/Form/Item';\nimport {renderChild, renderChildren} from './Root';\nimport {IScopedContext, ScopedContext} from './Scoped';\nimport {Schema, SchemaNode} from './types';\nimport {DebugWrapper, enableAMISDebug} from './utils/debug';\nimport getExprProperties from './utils/filter-schema';\nimport {anyChanged, chainEvents, autobind} from './utils/helper';\nimport {RendererEvent} from './utils/renderer-event';\nimport {SimpleMap} from './utils/SimpleMap';\n\ninterface SchemaRendererProps extends Partial<RendererProps> {\n schema: Schema;\n $path: string;\n env: RendererEnv;\n}\n\ninterface BroadcastCmptProps extends RendererProps {\n component: RendererComponent;\n}\n\nconst defaultOmitList = [\n 'type',\n 'name',\n '$ref',\n 'className',\n 'data',\n 'children',\n 'ref',\n 'visible',\n 'visibleOn',\n 'hidden',\n 'hiddenOn',\n 'disabled',\n 'disabledOn',\n 'component',\n 'detectField',\n 'defaultValue',\n 'defaultData',\n 'required',\n 'requiredOn',\n 'syncSuperStore',\n 'mode',\n 'body'\n];\n\nconst componentCache: SimpleMap = new SimpleMap();\n\nclass BroadcastCmpt extends React.Component<BroadcastCmptProps> {\n ref: any;\n unbindEvent: (() => void) | undefined = undefined;\n static contextType = ScopedContext;\n\n constructor(props: BroadcastCmptProps, context: IScopedContext) {\n super(props);\n this.triggerEvent = this.triggerEvent.bind(this);\n }\n\n componentDidMount() {\n const {env} = this.props;\n this.unbindEvent = env.bindEvent(this.ref);\n }\n\n componentWillUnmount() {\n this.unbindEvent?.();\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n async triggerEvent(\n e: React.MouseEvent<any>,\n data: any\n ): Promise<RendererEvent<any> | undefined> {\n return await this.props.env.dispatchEvent(e, this.ref, data);\n }\n\n @autobind\n childRef(ref: any) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n\n this.ref = ref;\n }\n\n render() {\n const {component: Component, ...rest} = this.props;\n return (\n <Component\n ref={this.childRef}\n {...rest}\n scoped={this.context}\n dispatchEvent={this.triggerEvent}\n />\n );\n }\n}\n\nexport class SchemaRenderer extends React.Component<SchemaRendererProps, any> {\n static displayName: string = 'Renderer';\n\n rendererKey = '';\n renderer: RendererConfig | null;\n ref: any;\n\n schema: any;\n path: string;\n\n constructor(props: SchemaRendererProps) {\n super(props);\n this.refFn = this.refFn.bind(this);\n this.renderChild = this.renderChild.bind(this);\n this.reRender = this.reRender.bind(this);\n this.resolveRenderer(this.props);\n }\n\n // 限制:只有 schema 除外的 props 变化,或者 schema 里面的某个成员值发生变化才更新。\n shouldComponentUpdate(nextProps: SchemaRendererProps) {\n const props = this.props;\n const list: Array<string> = difference(Object.keys(nextProps), [\n 'schema',\n 'scope'\n ]);\n\n if (\n difference(Object.keys(props), ['schema', 'scope']).length !==\n list.length ||\n anyChanged(list, this.props, nextProps)\n ) {\n return true;\n } else {\n const list: Array<string> = Object.keys(nextProps.schema);\n\n if (\n Object.keys(props.schema).length !== list.length ||\n anyChanged(list, props.schema, nextProps.schema)\n ) {\n return true;\n }\n }\n\n return false;\n }\n\n resolveRenderer(props: SchemaRendererProps, force = false): any {\n let schema = props.schema;\n let path = props.$path;\n\n if (schema && schema.$ref) {\n schema = {\n ...props.resolveDefinitions(schema.$ref),\n ...schema\n };\n\n path = path.replace(/(?!.*\\/).*/, schema.type);\n }\n\n if (\n schema?.type &&\n (force ||\n !this.renderer ||\n this.rendererKey !== `${schema.type}-${schema.$$id}`)\n ) {\n const rendererResolver = props.env.rendererResolver || resolveRenderer;\n this.renderer = rendererResolver(path, schema, props);\n this.rendererKey = `${schema.type}-${schema.$$id}`;\n } else {\n // 自定义组件如果在节点设置了 label name 什么的,就用 formItem 包一层\n // 至少自动支持了 valdiations, label, description 等逻辑。\n if (schema.children && !schema.component && schema.asFormItem) {\n schema.component = PlaceholderComponent;\n schema.renderChildren = schema.children;\n delete schema.children;\n }\n\n if (\n schema.component &&\n !schema.component.wrapedAsFormItem &&\n schema.asFormItem\n ) {\n const cache = componentCache.get(schema.component);\n\n if (cache) {\n schema.component = cache;\n } else {\n const cache = asFormItem({\n strictMode: false,\n ...schema.asFormItem\n })(schema.component);\n componentCache.set(schema.component, cache);\n cache.wrapedAsFormItem = true;\n schema.component = cache;\n }\n }\n }\n\n return {path, schema};\n }\n\n getWrappedInstance() {\n return this.ref;\n }\n\n refFn(ref: any) {\n this.ref = ref;\n }\n\n renderChild(\n region: string,\n node?: SchemaNode,\n subProps: {\n data?: object;\n [propName: string]: any;\n } = {}\n ) {\n let {schema: _, $path: __, env, ...rest} = this.props;\n let {path: $path} = this.resolveRenderer(this.props);\n\n const omitList = defaultOmitList.concat();\n if (this.renderer) {\n const Component = this.renderer.component;\n Component.propsList &&\n omitList.push.apply(omitList, Component.propsList as Array<string>);\n }\n\n return renderChild(`${$path}${region ? `/${region}` : ''}`, node || '', {\n ...omit(rest, omitList),\n ...subProps,\n data: subProps.data || rest.data,\n env: env\n });\n }\n\n reRender() {\n this.resolveRenderer(this.props, true);\n this.forceUpdate();\n }\n\n render(): JSX.Element | null {\n let {$path: _, schema: __, ...rest} = this.props;\n\n if (__ == null) {\n return null;\n }\n\n let {path: $path, schema} = this.resolveRenderer(this.props);\n const theme = this.props.env.theme;\n\n if (Array.isArray(schema)) {\n return renderChildren($path, schema as any, rest) as JSX.Element;\n }\n\n const detectData =\n schema &&\n (schema.detectField === '&' ? rest : rest[schema.detectField || 'data']);\n const exprProps: any = detectData\n ? getExprProperties(schema, detectData, undefined, rest)\n : {};\n\n if (\n exprProps &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n schema.hidden ||\n schema.visible === false ||\n rest.hidden ||\n rest.visible === false)\n ) {\n (rest as any).invisible = true;\n }\n\n if (schema.children) {\n return rest.invisible\n ? null\n : React.isValidElement(schema.children)\n ? schema.children\n : (schema.children as Function)({\n ...rest,\n ...exprProps,\n $path: $path,\n $schema: schema,\n render: this.renderChild,\n forwardedRef: this.refFn\n });\n } else if (typeof schema.component === 'function') {\n const isSFC = !(schema.component.prototype instanceof React.Component);\n const {\n data: defaultData,\n value: defaultValue,\n activeKey: defaultActiveKey,\n key: propKey,\n ...restSchema\n } = schema;\n return rest.invisible\n ? null\n : React.createElement(schema.component as any, {\n ...rest,\n ...restSchema,\n ...exprProps,\n defaultData,\n defaultValue,\n defaultActiveKey,\n propKey,\n $path: $path,\n $schema: schema,\n ref: isSFC ? undefined : this.refFn,\n forwardedRef: isSFC ? this.refFn : undefined,\n render: this.renderChild\n });\n } else if (Object.keys(schema).length === 0) {\n return null;\n } else if (!this.renderer) {\n return rest.invisible ? null : (\n <LazyComponent\n {...rest}\n {...exprProps}\n getComponent={async () => {\n const result = await rest.env.loadRenderer(\n schema,\n $path,\n this.reRender\n );\n if (result && typeof result === 'function') {\n return result;\n } else if (result && React.isValidElement(result)) {\n return () => result;\n }\n\n this.reRender();\n return () => loadRenderer(schema, $path);\n }}\n $path={$path}\n $schema={schema}\n retry={this.reRender}\n />\n );\n }\n\n const renderer = this.renderer as RendererConfig;\n schema = filterSchema(schema, renderer, rest);\n const {\n data: defaultData,\n value: defaultValue,\n key: propKey,\n activeKey: defaultActiveKey,\n ...restSchema\n } = schema;\n const Component = renderer.component;\n // 原来表单项的 visible: false 和 hidden: true 表单项的值和验证是有效的\n // 而 visibleOn 和 hiddenOn 是无效的,\n // 这个本来就是个bug,但是已经被广泛使用了\n // 我只能继续实现这个bug了\n if (\n rest.invisible &&\n (exprProps.hidden ||\n exprProps.visible === false ||\n !renderer.isFormItem ||\n (schema.visible !== false && !schema.hidden))\n ) {\n return null;\n }\n\n const component = (\n <BroadcastCmpt\n {...theme.getRendererConfig(renderer.name)}\n {...restSchema}\n {...chainEvents(rest, restSchema)}\n {...exprProps}\n defaultData={restSchema.defaultData ?? defaultData}\n defaultValue={restSchema.defaultValue ?? defaultValue}\n defaultActiveKey={defaultActiveKey}\n propKey={propKey}\n $path={$path}\n $schema={{...schema, ...exprProps}}\n ref={this.refFn}\n render={this.renderChild}\n component={Component}\n />\n );\n\n return enableAMISDebug ? (\n <DebugWrapper renderer={renderer}>{component}</DebugWrapper>\n ) : (\n component\n );\n }\n}\n\nclass PlaceholderComponent extends React.Component {\n render() {\n const {renderChildren, ...rest} = this.props as any;\n\n if (typeof renderChildren === 'function') {\n return renderChildren(rest);\n }\n\n return null;\n }\n}\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/Scoped.d.ts
CHANGED
@@ -14,9 +14,11 @@ export interface ScopedComponentType extends React.Component<RendererProps> {
|
|
14
14
|
}
|
15
15
|
export interface IScopedContext {
|
16
16
|
parent?: AliasIScopedContext;
|
17
|
+
children?: AliasIScopedContext[];
|
17
18
|
registerComponent: (component: ScopedComponentType) => void;
|
18
19
|
unRegisterComponent: (component: ScopedComponentType) => void;
|
19
20
|
getComponentByName: (name: string) => ScopedComponentType;
|
21
|
+
getComponentById: (id: string) => ScopedComponentType | undefined;
|
20
22
|
getComponents: () => Array<ScopedComponentType>;
|
21
23
|
reload: (target: string, ctx: RendererData) => void;
|
22
24
|
send: (target: string, ctx: RendererData) => void;
|
package/lib/Scoped.js
CHANGED
@@ -14,7 +14,7 @@ var helper_1 = require("./utils/helper");
|
|
14
14
|
exports.ScopedContext = react_1.default.createContext(createScopedTools(''));
|
15
15
|
function createScopedTools(path, parent, env) {
|
16
16
|
var components = [];
|
17
|
-
|
17
|
+
var self = {
|
18
18
|
parent: parent,
|
19
19
|
registerComponent: function (component) {
|
20
20
|
// 不要把自己注册在自己的 Scoped 上,自己的 Scoped 是给子节点们注册的。
|
@@ -52,6 +52,25 @@ function createScopedTools(path, parent, env) {
|
|
52
52
|
});
|
53
53
|
return resolved || (parent && parent.getComponentByName(name));
|
54
54
|
},
|
55
|
+
getComponentById: function (id) {
|
56
|
+
var root = this;
|
57
|
+
// 找到顶端scoped
|
58
|
+
while (root.parent) {
|
59
|
+
root = root.parent;
|
60
|
+
}
|
61
|
+
// 向下查找
|
62
|
+
var component = undefined;
|
63
|
+
(0, helper_1.findTree)([root], function (item) {
|
64
|
+
return item.getComponents().find(function (cmpt) {
|
65
|
+
if (cmpt.props.id === id) {
|
66
|
+
component = cmpt;
|
67
|
+
return true;
|
68
|
+
}
|
69
|
+
return false;
|
70
|
+
});
|
71
|
+
});
|
72
|
+
return component;
|
73
|
+
},
|
55
74
|
getComponents: function () {
|
56
75
|
return components.concat();
|
57
76
|
},
|
@@ -137,6 +156,13 @@ function createScopedTools(path, parent, env) {
|
|
137
156
|
}
|
138
157
|
}
|
139
158
|
};
|
159
|
+
if (!parent) {
|
160
|
+
return self;
|
161
|
+
}
|
162
|
+
!parent.children && (parent.children = []);
|
163
|
+
// 把孩子带上
|
164
|
+
parent.children.push(self);
|
165
|
+
return self;
|
140
166
|
}
|
141
167
|
function closeDialog(component) {
|
142
168
|
component.context
|