amis 1.5.6-beta.4 → 1.5.8-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.husky/pre-commit +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js.map +1 -1
- package/lib/components/AsideNav.d.ts +1 -1
- package/lib/components/AsideNav.js.map +1 -1
- package/lib/components/AssociatedSelection.d.ts +84 -84
- package/lib/components/AssociatedSelection.js +2 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/Avatar.d.ts +135 -0
- package/lib/components/Avatar.js +120 -0
- package/lib/components/Avatar.js.map +13 -0
- package/lib/components/BaiduMapPicker.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +547 -0
- package/lib/components/CalendarMobile.js +432 -0
- package/lib/components/CalendarMobile.js.map +13 -0
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +2 -2
- 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/CodeMirror.d.ts +26 -0
- package/lib/components/CodeMirror.js +104 -0
- package/lib/components/CodeMirror.js.map +13 -0
- package/lib/components/Collapse.d.ts +22 -21
- package/lib/components/Collapse.js +1 -1
- package/lib/components/Collapse.js.map +2 -2
- package/lib/components/ColorPicker.d.ts +85 -84
- package/lib/components/ColorPicker.js +15 -3
- package/lib/components/ColorPicker.js.map +2 -2
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +15 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +86 -84
- package/lib/components/DateRangePicker.js +22 -5
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/GroupedSelection.d.ts +84 -84
- package/lib/components/GroupedSelection.js +14 -2
- package/lib/components/GroupedSelection.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +86 -84
- package/lib/components/MonthRangePicker.js +20 -5
- 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.js +9 -4
- package/lib/components/Picker.js.map +2 -2
- package/lib/components/PickerColumn.js +0 -1
- package/lib/components/PickerColumn.js.map +2 -2
- package/lib/components/PickerContainer.d.ts +5 -1
- package/lib/components/PickerContainer.js +14 -7
- package/lib/components/PickerContainer.js.map +2 -2
- package/lib/components/PopUp.d.ts +94 -0
- package/lib/components/PopUp.js +58 -0
- package/lib/components/PopUp.js.map +13 -0
- package/lib/components/Rating.d.ts +203 -73
- package/lib/components/Rating.js +147 -31
- package/lib/components/Rating.js.map +2 -2
- package/lib/components/ResultBox.js +2 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.d.ts +9 -2
- package/lib/components/ResultList.js +22 -2
- package/lib/components/ResultList.js.map +2 -2
- package/lib/components/Select.d.ts +237 -237
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +1 -1
- 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.d.ts +1 -0
- package/lib/components/Steps.js +5 -3
- 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 +21 -19
- package/lib/components/TabsTransferPicker.js.map +2 -2
- package/lib/components/Timeline.d.ts +69 -0
- package/lib/components/Timeline.js +16 -0
- package/lib/components/Timeline.js.map +13 -0
- package/lib/components/TimelineItem.d.ts +516 -0
- package/lib/components/TimelineItem.js +41 -0
- package/lib/components/TimelineItem.js.map +13 -0
- package/lib/components/Transfer.d.ts +100 -98
- package/lib/components/Transfer.js +2 -3
- package/lib/components/Transfer.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/TransferDropDown.js +1 -5
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/components/TransferPicker.d.ts +1 -1
- package/lib/components/TransferPicker.js +21 -19
- package/lib/components/TransferPicker.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +85 -85
- package/lib/components/TreeSelection.js +7 -1
- package/lib/components/TreeSelection.js.map +2 -2
- package/lib/components/calendar/Calendar.d.ts +5 -0
- package/lib/components/calendar/Calendar.js +15 -2
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.d.ts +1 -0
- package/lib/components/calendar/DaysView.js +25 -13
- package/lib/components/calendar/DaysView.js.map +2 -2
- package/lib/components/calendar/MonthsView.d.ts +28 -0
- package/lib/components/calendar/MonthsView.js +79 -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 +5 -0
- package/lib/components/calendar/TimeView.js +8 -5
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +6 -4
- 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 +563 -0
- package/lib/components/formula/Editor.js +187 -0
- package/lib/components/formula/Editor.js.map +13 -0
- package/lib/components/formula/FuncList.d.ts +67 -0
- package/lib/components/formula/FuncList.js +36 -0
- package/lib/components/formula/FuncList.js.map +13 -0
- package/lib/components/formula/Picker.d.ts +493 -0
- package/lib/components/formula/Picker.js +48 -0
- package/lib/components/formula/Picker.js.map +13 -0
- package/lib/components/formula/VariableList.d.ts +9 -0
- package/lib/components/formula/VariableList.js +15 -0
- package/lib/components/formula/VariableList.js.map +13 -0
- package/lib/components/formula/plugin.d.ts +18 -0
- package/lib/components/formula/plugin.js +136 -0
- package/lib/components/formula/plugin.js.map +13 -0
- package/lib/components/icons.js +4 -0
- package/lib/components/icons.js.map +2 -2
- package/lib/components/index.d.ts +2 -1
- package/lib/components/index.js +4 -2
- package/lib/components/index.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -2
- package/lib/components/virtual-list/index.js.map +2 -2
- package/lib/factory.js +5 -0
- package/lib/factory.js.map +2 -2
- package/lib/helper.css +57 -57
- package/lib/helper.css.map +1 -1
- package/lib/icons/star.js +12 -0
- package/lib/icons/tree-down.js +7 -0
- package/lib/index.d.ts +2 -0
- package/lib/index.js +3 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +13 -2
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -2
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +12 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Avatar.d.ts +35 -26
- package/lib/renderers/Avatar.js +14 -19
- package/lib/renderers/Avatar.js.map +2 -2
- package/lib/renderers/CRUD.js +1 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +6 -5
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Custom.js.map +2 -2
- package/lib/renderers/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/DiffEditor.js +2 -1
- package/lib/renderers/Form/DiffEditor.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +84 -84
- package/lib/renderers/Form/InputColor.d.ts +84 -84
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +6 -4
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFormula.d.ts +38 -0
- package/lib/renderers/Form/InputFormula.js +25 -0
- package/lib/renderers/Form/InputFormula.js.map +13 -0
- package/lib/renderers/Form/InputImage.d.ts +1 -0
- package/lib/renderers/Form/InputImage.js +8 -4
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +2 -2
- package/lib/renderers/Form/InputRating.d.ts +37 -0
- package/lib/renderers/Form/InputRating.js +6 -2
- package/lib/renderers/Form/InputRating.js.map +2 -2
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +2 -2
- package/lib/renderers/Form/Item.js +11 -4
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Select.js +1 -1
- 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.d.ts +1 -0
- package/lib/renderers/Form/TreeSelect.js +11 -8
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +2 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/IFrame.js +0 -2
- package/lib/renderers/IFrame.js.map +2 -2
- package/lib/renderers/Json.js +7 -0
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/Nav.js +4 -1
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Remark.d.ts +4 -0
- package/lib/renderers/Remark.js +38 -7
- package/lib/renderers/Remark.js.map +2 -2
- package/lib/renderers/Steps.js +5 -5
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableRow.js +4 -1
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +4 -1
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.js +1 -1
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Timeline.d.ts +65 -0
- package/lib/renderers/Timeline.js +54 -0
- package/lib/renderers/Timeline.js.map +13 -0
- package/lib/renderers/Video.js.map +2 -2
- package/lib/store/combo.js.map +2 -2
- package/lib/store/formItem.js +6 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.js +1 -1
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +952 -23
- package/lib/themes/ang.css +952 -23
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +987 -23
- package/lib/themes/antd.css +987 -23
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +991 -24
- package/lib/themes/cxd.css +991 -24
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +953 -23
- package/lib/themes/dark.css +953 -23
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +991 -24
- 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 +2 -2
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/helper.d.ts +1 -1
- package/lib/utils/helper.js +1 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +12 -3
- package/schema.json +1224 -671
- package/scss/_properties.scss +11 -1
- package/scss/_variables.scss +1 -1
- package/scss/components/_avatar.scss +27 -9
- package/scss/components/_calendar.scss +280 -0
- package/scss/components/_card.scss +1 -1
- package/scss/components/_collapse-group.scss +1 -3
- package/scss/components/_formula.scss +146 -0
- package/scss/components/_modal.scss +18 -0
- package/scss/components/_panel.scss +45 -0
- package/scss/components/_popup.scss +127 -0
- package/scss/components/_steps.scss +60 -0
- package/scss/components/_timeline.scss +198 -0
- package/scss/components/form/_color.scss +4 -0
- package/scss/components/form/_date-range.scss +4 -0
- package/scss/components/form/_date.scss +3 -0
- package/scss/components/form/_form.scss +168 -0
- package/scss/components/form/_rating.scss +60 -21
- package/scss/components/form/_result-list.scss +2 -0
- package/scss/components/form/_selection.scss +5 -4
- package/scss/components/form/_tree-select.scss +4 -0
- package/scss/helper/background/_background-color.scss +1 -1
- package/scss/helper/border/_border-color.scss +1 -1
- package/scss/helper/typography/_text-color.scss +1 -1
- package/scss/themes/_antd-variables.scss +42 -0
- package/scss/themes/_common.scss +3 -0
- package/scss/themes/_cxd-variables.scss +50 -1
- package/scss/themes/_dark-variables.scss +1 -0
- package/sdk/ang-ie11.css +1692 -19
- package/sdk/ang.css +1705 -24
- package/sdk/antd-ie11.css +1692 -19
- package/sdk/antd.css +1740 -24
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +14 -0
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +1693 -20
- package/sdk/cxd.css +1744 -25
- package/sdk/dark-ie11.css +1693 -20
- package/sdk/dark.css +1706 -24
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css +57 -57
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +13 -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 +1693 -20
- package/sdk/sdk.css +1744 -25
- package/sdk/sdk.js +1235 -1275
- package/sdk/thirds/hls.js/hls.js +18 -18
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +4 -0
- package/src/components/AsideNav.tsx +1 -1
- package/src/components/AssociatedSelection.tsx +5 -1
- package/src/components/Avatar.tsx +253 -0
- package/src/components/BaiduMapPicker.tsx +19 -14
- package/src/components/CalendarMobile.tsx +563 -0
- package/src/components/Card.tsx +2 -2
- package/src/components/ChainedSelection.tsx +16 -3
- package/src/components/CodeMirror.tsx +99 -0
- package/src/components/Collapse.tsx +3 -2
- package/src/components/ColorPicker.tsx +43 -3
- package/src/components/DatePicker.tsx +44 -8
- package/src/components/DateRangePicker.tsx +64 -5
- package/src/components/GroupedSelection.tsx +14 -2
- package/src/components/MonthRangePicker.tsx +59 -5
- package/src/components/Overlay.tsx +1 -1
- package/src/components/Picker.tsx +41 -36
- package/src/components/PickerColumn.tsx +22 -25
- package/src/components/PickerContainer.tsx +23 -7
- package/src/components/PopUp.tsx +118 -0
- package/src/components/Rating.tsx +235 -47
- package/src/components/ResultBox.tsx +4 -1
- package/src/components/ResultList.tsx +36 -6
- package/src/components/Select.tsx +1 -1
- package/src/components/Selection.tsx +21 -3
- package/src/components/Steps.tsx +27 -9
- package/src/components/TableSelection.tsx +1 -44
- package/src/components/Tabs.tsx +65 -54
- package/src/components/TabsTransfer.tsx +78 -9
- package/src/components/TabsTransferPicker.tsx +25 -13
- package/src/components/Timeline.tsx +31 -0
- package/src/components/TimelineItem.tsx +107 -0
- package/src/components/Transfer.tsx +11 -8
- package/src/components/TransferDropDown.tsx +1 -7
- package/src/components/TransferPicker.tsx +25 -14
- package/src/components/TreeSelection.tsx +7 -1
- package/src/components/calendar/Calendar.tsx +26 -6
- package/src/components/calendar/DaysView.tsx +79 -31
- package/src/components/calendar/MonthsView.tsx +116 -2
- package/src/components/calendar/QuartersView.tsx +3 -2
- package/src/components/calendar/TimeView.tsx +26 -16
- package/src/components/calendar/YearsView.tsx +14 -16
- package/src/components/condition-builder/Field.tsx +1 -3
- package/src/components/condition-builder/Func.tsx +1 -1
- package/src/components/formula/Editor.tsx +266 -0
- package/src/components/formula/FuncList.tsx +84 -0
- package/src/components/formula/Picker.tsx +87 -0
- package/src/components/formula/VariableList.tsx +49 -0
- package/src/components/formula/plugin.ts +177 -0
- package/src/components/icons.tsx +4 -0
- package/src/components/index.tsx +2 -0
- package/src/components/virtual-list/SizeAndPositionManager.ts +6 -3
- package/src/components/virtual-list/index.tsx +4 -6
- package/src/factory.tsx +6 -0
- package/src/icons/star.svg +12 -0
- package/src/icons/tree-down.svg +5 -0
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +13 -2
- package/src/locale/en-US.ts +13 -2
- package/src/locale/zh-CN.ts +12 -1
- package/src/renderers/Avatar.tsx +83 -74
- package/src/renderers/CRUD.tsx +1 -3
- package/src/renderers/Card.tsx +10 -6
- package/src/renderers/Custom.tsx +6 -3
- package/src/renderers/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/DiffEditor.tsx +2 -3
- package/src/renderers/Form/InputColor.tsx +1 -2
- package/src/renderers/Form/InputDate.tsx +39 -18
- package/src/renderers/Form/InputDateRange.tsx +1 -0
- package/src/renderers/Form/InputFormula.tsx +80 -0
- package/src/renderers/Form/InputImage.tsx +9 -4
- package/src/renderers/Form/InputMonthRange.tsx +1 -0
- package/src/renderers/Form/InputQuarterRange.tsx +1 -0
- package/src/renderers/Form/InputRating.tsx +66 -3
- package/src/renderers/Form/InputYearRange.tsx +1 -0
- package/src/renderers/Form/Item.tsx +15 -4
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Select.tsx +0 -1
- 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 +80 -63
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/IFrame.tsx +0 -2
- package/src/renderers/Json.tsx +5 -0
- package/src/renderers/Nav.tsx +4 -1
- package/src/renderers/Remark.tsx +67 -18
- package/src/renderers/Steps.tsx +13 -13
- package/src/renderers/Table/TableRow.tsx +3 -1
- package/src/renderers/Table/index.tsx +7 -1
- package/src/renderers/Tabs.tsx +6 -2
- package/src/renderers/Timeline.tsx +141 -0
- package/src/renderers/Video.tsx +4 -20
- package/src/store/combo.ts +1 -3
- package/src/store/formItem.ts +2 -2
- package/src/store/table.ts +2 -1
- package/src/utils/RootClose.ts +5 -1
- package/src/utils/api.ts +5 -2
- package/src/utils/helper.ts +1 -1
@@ -0,0 +1,177 @@
|
|
1
|
+
/**
|
2
|
+
* @file 扩展 codemirror
|
3
|
+
*/
|
4
|
+
|
5
|
+
import type CodeMirror from 'codemirror';
|
6
|
+
import {eachTree} from '../../utils/helper';
|
7
|
+
import type {FormulaEditorProps, VariableItem} from './Editor';
|
8
|
+
|
9
|
+
export function editorFactory(
|
10
|
+
dom: HTMLElement,
|
11
|
+
cm: typeof CodeMirror,
|
12
|
+
props: any
|
13
|
+
) {
|
14
|
+
registerLaunguageMode(cm);
|
15
|
+
|
16
|
+
console.log('here', props.evalMode);
|
17
|
+
|
18
|
+
return cm(dom, {
|
19
|
+
value: props.value || '',
|
20
|
+
autofocus: true,
|
21
|
+
mode: props.evalMode ? 'text/formula' : 'text/formula-template'
|
22
|
+
});
|
23
|
+
}
|
24
|
+
|
25
|
+
export class FormulaPlugin {
|
26
|
+
constructor(
|
27
|
+
readonly editor: CodeMirror.Editor,
|
28
|
+
readonly cm: typeof CodeMirror,
|
29
|
+
readonly getProps: () => FormulaEditorProps
|
30
|
+
) {
|
31
|
+
// editor.on('change', this.autoMarkText);
|
32
|
+
this.autoMarkText();
|
33
|
+
}
|
34
|
+
|
35
|
+
autoMarkText() {
|
36
|
+
const {functions, variables, value} = this.getProps();
|
37
|
+
if (value) {
|
38
|
+
// todo functions 也需要自动替换
|
39
|
+
this.autoMark(variables);
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
insertContent(value: any, type: 'variable' | 'func') {
|
44
|
+
const from = this.editor.getCursor();
|
45
|
+
if (type === 'variable') {
|
46
|
+
this.editor.replaceSelection(value.key);
|
47
|
+
var to = this.editor.getCursor();
|
48
|
+
|
49
|
+
this.markText(from, to, value.name, 'cm-field');
|
50
|
+
} else if (type === 'func') {
|
51
|
+
// todo 支持 snippet,目前是不支持的
|
52
|
+
|
53
|
+
this.editor.replaceSelection(`${value}()`);
|
54
|
+
var to = this.editor.getCursor();
|
55
|
+
this.markText(
|
56
|
+
from,
|
57
|
+
{
|
58
|
+
line: to.line,
|
59
|
+
ch: to.ch - 2
|
60
|
+
},
|
61
|
+
value,
|
62
|
+
'cm-func'
|
63
|
+
);
|
64
|
+
|
65
|
+
this.editor.setCursor({
|
66
|
+
line: to.line,
|
67
|
+
ch: to.ch - 1
|
68
|
+
});
|
69
|
+
} else if (typeof value === 'string') {
|
70
|
+
this.editor.replaceSelection(value);
|
71
|
+
}
|
72
|
+
|
73
|
+
this.editor.focus();
|
74
|
+
}
|
75
|
+
|
76
|
+
markText(
|
77
|
+
from: CodeMirror.Position,
|
78
|
+
to: CodeMirror.Position,
|
79
|
+
label: string,
|
80
|
+
className = 'cm-func'
|
81
|
+
) {
|
82
|
+
const text = document.createElement('span');
|
83
|
+
text.className = className;
|
84
|
+
text.innerText = label;
|
85
|
+
this.editor.markText(from, to, {
|
86
|
+
atomic: true,
|
87
|
+
replacedWith: text
|
88
|
+
});
|
89
|
+
}
|
90
|
+
|
91
|
+
autoMark(variables: Array<VariableItem>) {
|
92
|
+
if (!Array.isArray(variables) || !variables.length) {
|
93
|
+
return;
|
94
|
+
}
|
95
|
+
|
96
|
+
const varMap: {
|
97
|
+
[propname: string]: string;
|
98
|
+
} = {};
|
99
|
+
|
100
|
+
eachTree(
|
101
|
+
variables,
|
102
|
+
item => item.value && (varMap[item.value] = item.label)
|
103
|
+
);
|
104
|
+
const vars = Object.keys(varMap).sort((a, b) => b.length - a.length);
|
105
|
+
|
106
|
+
const editor = this.editor;
|
107
|
+
const lines = editor.lineCount();
|
108
|
+
for (let line = 0; line < lines; line++) {
|
109
|
+
const content = editor.getLine(line);
|
110
|
+
|
111
|
+
// 标记方法调用
|
112
|
+
content.replace(/([A-Z]+)\s*\(/g, (_, func, pos) => {
|
113
|
+
this.markText(
|
114
|
+
{
|
115
|
+
line: line,
|
116
|
+
ch: pos
|
117
|
+
},
|
118
|
+
{
|
119
|
+
line: line,
|
120
|
+
ch: pos + func.length
|
121
|
+
},
|
122
|
+
func,
|
123
|
+
'cm-func'
|
124
|
+
);
|
125
|
+
return _;
|
126
|
+
});
|
127
|
+
|
128
|
+
// 标记变量
|
129
|
+
vars.forEach(v => {
|
130
|
+
let from = 0;
|
131
|
+
let idx = -1;
|
132
|
+
while (~(idx = content.indexOf(v, from))) {
|
133
|
+
this.markText(
|
134
|
+
{
|
135
|
+
line: line,
|
136
|
+
ch: idx
|
137
|
+
},
|
138
|
+
{
|
139
|
+
line: line,
|
140
|
+
ch: idx + v.length
|
141
|
+
},
|
142
|
+
varMap[v],
|
143
|
+
'cm-field'
|
144
|
+
);
|
145
|
+
from = idx + v.length;
|
146
|
+
}
|
147
|
+
});
|
148
|
+
}
|
149
|
+
}
|
150
|
+
|
151
|
+
dispose() {}
|
152
|
+
|
153
|
+
validate() {}
|
154
|
+
}
|
155
|
+
|
156
|
+
let modeRegisted = false;
|
157
|
+
function registerLaunguageMode(cm: typeof CodeMirror) {
|
158
|
+
if (modeRegisted) {
|
159
|
+
return;
|
160
|
+
}
|
161
|
+
modeRegisted = true;
|
162
|
+
|
163
|
+
// 对应 evalMode
|
164
|
+
cm.defineMode('formula', (config: any, parserConfig: any) => {
|
165
|
+
var formula = cm.getMode(config, 'javascript');
|
166
|
+
if (!parserConfig || !parserConfig.base) return formula;
|
167
|
+
|
168
|
+
return cm.multiplexingMode(cm.getMode(config, parserConfig.base), {
|
169
|
+
open: '${',
|
170
|
+
close: '}',
|
171
|
+
mode: formula
|
172
|
+
});
|
173
|
+
});
|
174
|
+
|
175
|
+
cm.defineMIME('text/formula', {name: 'formula'});
|
176
|
+
cm.defineMIME('text/formula-template', {name: 'formula', base: 'htmlmixed'});
|
177
|
+
}
|
package/src/components/icons.tsx
CHANGED
@@ -43,6 +43,7 @@ import ExchangeIcon from '../icons/exchange.svg';
|
|
43
43
|
import ColmunsIcon from '../icons/columns.svg';
|
44
44
|
import CalendarIcon from '../icons/calendar.svg';
|
45
45
|
import ClockIcon from '../icons/clock.svg';
|
46
|
+
import TreeDownIcon from '../icons/tree-down.svg';
|
46
47
|
|
47
48
|
import CopyIcon from '../icons/copy.svg';
|
48
49
|
import FilterIcon from '../icons/filter.svg';
|
@@ -70,6 +71,7 @@ import ExpandAltIcon from '../icons/expand-alt.svg';
|
|
70
71
|
import CompressAltIcon from '../icons/compress-alt.svg';
|
71
72
|
import TransparentIcon from '../icons/transparent.svg';
|
72
73
|
import LoadingOutline from '../icons/loading-outline.svg';
|
74
|
+
import Star from '../icons/star.svg';
|
73
75
|
import AlertSuccess from '../icons/alert-success.svg';
|
74
76
|
import AlertInfo from '../icons/alert-info.svg';
|
75
77
|
import AlertWarning from '../icons/alert-warning.svg';
|
@@ -170,10 +172,12 @@ registerIcon('expand-alt', ExpandAltIcon);
|
|
170
172
|
registerIcon('compress-alt', CompressAltIcon);
|
171
173
|
registerIcon('transparent', TransparentIcon);
|
172
174
|
registerIcon('loading-outline', LoadingOutline);
|
175
|
+
registerIcon('star', Star);
|
173
176
|
registerIcon('alert-success', AlertSuccess);
|
174
177
|
registerIcon('alert-info', AlertInfo);
|
175
178
|
registerIcon('alert-warning', AlertWarning);
|
176
179
|
registerIcon('alert-danger', AlertDanger);
|
180
|
+
registerIcon('tree-down', TreeDownIcon);
|
177
181
|
|
178
182
|
export function Icon({
|
179
183
|
icon,
|
package/src/components/index.tsx
CHANGED
@@ -8,6 +8,7 @@ import NotFound from './404';
|
|
8
8
|
import {default as Alert, alert, confirm, prompt} from './Alert';
|
9
9
|
import {default as ContextMenu, openContextMenus} from './ContextMenu';
|
10
10
|
import AsideNav from './AsideNav';
|
11
|
+
import Avatar from './Avatar';
|
11
12
|
import Button from './Button';
|
12
13
|
import Checkbox from './Checkbox';
|
13
14
|
import Checkboxes from './Selection';
|
@@ -60,6 +61,7 @@ export {
|
|
60
61
|
NotFound,
|
61
62
|
Alert as AlertComponent,
|
62
63
|
alert,
|
64
|
+
Avatar,
|
63
65
|
confirm,
|
64
66
|
prompt,
|
65
67
|
ContextMenu,
|
@@ -72,7 +72,8 @@ export default class SizeAndPositionManager {
|
|
72
72
|
}
|
73
73
|
|
74
74
|
if (index > this.lastMeasuredIndex) {
|
75
|
-
const lastMeasuredSizeAndPosition =
|
75
|
+
const lastMeasuredSizeAndPosition =
|
76
|
+
this.getSizeAndPositionOfLastMeasuredItem();
|
76
77
|
let offset =
|
77
78
|
lastMeasuredSizeAndPosition.offset + lastMeasuredSizeAndPosition.size;
|
78
79
|
|
@@ -109,7 +110,8 @@ export default class SizeAndPositionManager {
|
|
109
110
|
* As items as measured the estimate will be updated.
|
110
111
|
*/
|
111
112
|
getTotalSize(): number {
|
112
|
-
const lastMeasuredSizeAndPosition =
|
113
|
+
const lastMeasuredSizeAndPosition =
|
114
|
+
this.getSizeAndPositionOfLastMeasuredItem();
|
113
115
|
|
114
116
|
return (
|
115
117
|
lastMeasuredSizeAndPosition.offset +
|
@@ -232,7 +234,8 @@ export default class SizeAndPositionManager {
|
|
232
234
|
// So make sure the offset is at least 0 or no match will be found.
|
233
235
|
offset = Math.max(0, offset);
|
234
236
|
|
235
|
-
const lastMeasuredSizeAndPosition =
|
237
|
+
const lastMeasuredSizeAndPosition =
|
238
|
+
this.getSizeAndPositionOfLastMeasuredItem();
|
236
239
|
const lastMeasuredIndex = Math.max(0, this.lastMeasuredIndex);
|
237
240
|
|
238
241
|
if (lastMeasuredSizeAndPosition.offset >= offset) {
|
@@ -181,8 +181,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
|
|
181
181
|
const itemsDom = this.rootNode.children[0].children;
|
182
182
|
const scrollbarWidth =
|
183
183
|
window.innerWidth - document.documentElement.clientWidth || 15;
|
184
|
-
const containerWidth =
|
185
|
-
.width;
|
184
|
+
const containerWidth =
|
185
|
+
this.rootNode.parentElement!.getBoundingClientRect().width;
|
186
186
|
let maxItemWidth = 0;
|
187
187
|
for (let i = 0; i < itemsDom.length; i++) {
|
188
188
|
let itemWidth = itemsDom[i].getBoundingClientRect().width;
|
@@ -427,10 +427,8 @@ export default class VirtualList extends React.PureComponent<Props, State> {
|
|
427
427
|
}
|
428
428
|
|
429
429
|
const {scrollDirection = DIRECTION.VERTICAL} = this.props;
|
430
|
-
const {
|
431
|
-
|
432
|
-
offset
|
433
|
-
} = this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
|
430
|
+
const {size, offset} =
|
431
|
+
this.sizeAndPositionManager.getSizeAndPositionForIndex(index);
|
434
432
|
|
435
433
|
return (this.styleCache[index] = sticky
|
436
434
|
? {
|
package/src/factory.tsx
CHANGED
@@ -257,6 +257,7 @@ const defaultOptions: RenderOptions = {
|
|
257
257
|
affixOffsetTop: 0,
|
258
258
|
affixOffsetBottom: 0,
|
259
259
|
richTextToken: '',
|
260
|
+
useMobileUI: true, // 是否启用移动端原生 UI
|
260
261
|
loadRenderer,
|
261
262
|
fetcher() {
|
262
263
|
return Promise.reject('fetcher is required');
|
@@ -410,6 +411,11 @@ export function render(
|
|
410
411
|
env.locale = locale;
|
411
412
|
}
|
412
413
|
|
414
|
+
// 默认将开启移动端原生 UI
|
415
|
+
if (typeof options.useMobileUI) {
|
416
|
+
props.useMobileUI = true;
|
417
|
+
}
|
418
|
+
|
413
419
|
// 进行文本替换
|
414
420
|
if (env.replaceText && isObject(env.replaceText)) {
|
415
421
|
const replaceKeys = Object.keys(env.replaceText);
|
@@ -0,0 +1,12 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<svg width="12px" height="11px" viewBox="0 0 12 11" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
3
|
+
<title>星星</title>
|
4
|
+
<g id="页面-1" stroke-width="1" fill-rule="evenodd">
|
5
|
+
<g id="画板备份-8" transform="translate(-453.000000, -354.000000)">
|
6
|
+
<g id="编组" transform="translate(451.000000, 352.000000)">
|
7
|
+
<rect id="矩形" opacity="0" x="0.5" y="0.5" width="15" height="15"></rect>
|
8
|
+
<path d="M5.991,5.57 L3.50612104,5.93019955 C2.95954884,6.00942879 2.58069251,6.51674109 2.65992175,7.0633133 C2.69148792,7.28107625 2.79399678,7.48234825 2.95156285,7.63593881 L4.75,9.389 L4.75,9.389 L4.32487658,11.8655653 C4.23143888,12.4098886 4.59695386,12.9268961 5.14127715,13.0203338 C5.35808617,13.0575509 5.58111746,13.0222392 5.77582605,12.9198682 L7.999,11.751 L7.999,11.751 L10.223309,12.9201739 C10.712173,13.1771377 11.3167859,12.9891455 11.5737498,12.5002815 C11.6760846,12.3055935 11.7113789,12.0825978 11.6741677,11.8658233 L11.249,9.389 L11.249,9.389 L13.0473242,7.63660227 C13.4428666,7.25116142 13.4510555,6.6180494 13.0656146,6.22250699 C12.9120633,6.06493147 12.7108304,5.96239489 12.4930948,5.93078419 L10.008,5.57 L10.008,5.57 L8.89657099,3.31725295 C8.65221378,2.82196717 8.05261467,2.61854938 7.5573289,2.86290659 C7.36008347,2.96022079 7.20042315,3.11984957 7.10306997,3.31707577 L5.991,5.57 L5.991,5.57 Z" id="图标-填色"></path>
|
9
|
+
</g>
|
10
|
+
</g>
|
11
|
+
</g>
|
12
|
+
</svg>
|
package/src/index.tsx
CHANGED
@@ -89,6 +89,7 @@ import './renderers/Form/Select';
|
|
89
89
|
import './renderers/Form/Static';
|
90
90
|
import './renderers/Form/InputDate';
|
91
91
|
import './renderers/Form/InputDateRange';
|
92
|
+
import './renderers/Form/InputFormula';
|
92
93
|
import './renderers/Form/InputRepeat';
|
93
94
|
import './renderers/Form/InputTree';
|
94
95
|
import './renderers/Form/TreeSelect';
|
@@ -164,6 +165,7 @@ import './renderers/Icon';
|
|
164
165
|
import './renderers/Carousel';
|
165
166
|
import './renderers/AnchorNav';
|
166
167
|
import './renderers/Steps';
|
168
|
+
import './renderers/Timeline';
|
167
169
|
import './renderers/Markdown';
|
168
170
|
import './renderers/TableView';
|
169
171
|
import './renderers/Code';
|
package/src/locale/de-DE.ts
CHANGED
@@ -6,6 +6,15 @@ register('de-DE', {
|
|
6
6
|
'asc': 'Aufsteigend',
|
7
7
|
'App.home': 'Startseite',
|
8
8
|
'App.navigation': 'Navigation',
|
9
|
+
'Calendar.datepicker': 'Auswahl des Datums',
|
10
|
+
'Calendar.yearmonth': 'YYYY MM',
|
11
|
+
'Calendar.year': 'YYYY',
|
12
|
+
'Calendar.begin': 'beginnt',
|
13
|
+
'Calendar.end': 'ende',
|
14
|
+
'Calendar.beginAndEnd': 'b/e',
|
15
|
+
'Calendar.toast': 'Außerhalb des Datumsbereichs',
|
16
|
+
'Calendar.startPick': 'Wählen Sie Startzeit',
|
17
|
+
'Calendar.endPick': 'Wählen Sie Endzeit',
|
9
18
|
'cancel': 'Abbrechen',
|
10
19
|
'Card.dragTip': 'Obere Schaltfläche zum Sortieren ziehen',
|
11
20
|
'Card.toggleDrag': 'Zum Sortieren umschalten',
|
@@ -215,7 +224,7 @@ register('de-DE', {
|
|
215
224
|
'validate.minimum': 'Der Eingabewert ist kleiner als der Mindestwert von $1.',
|
216
225
|
'validate.minLength': 'Geben Sie weitere Zeichen ein, mindestens $1.',
|
217
226
|
'validate.notEmptyString': 'Geben Sie nicht nur Leerzeichen ein.',
|
218
|
-
'validateFailed': 'Fehler bei der Überprüfung
|
227
|
+
'validateFailed': 'Fehler bei der Überprüfung',
|
219
228
|
'Wizard.configError': 'Konfigurationsfehler',
|
220
229
|
'Wizard.finish': 'Ende',
|
221
230
|
'Wizard.next': 'Weiter',
|
@@ -254,5 +263,7 @@ register('de-DE', {
|
|
254
263
|
'Condition.cond_placeholder': 'Bedingung auswählen',
|
255
264
|
'Condition.field_placeholder': 'Feld auswählen',
|
256
265
|
'Condition.blank': 'leer',
|
257
|
-
'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
|
266
|
+
'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
|
267
|
+
'Timeline.collapseText': 'Entfalten',
|
268
|
+
'Timeline.expandText': 'Falten'
|
258
269
|
});
|
package/src/locale/en-US.ts
CHANGED
@@ -6,6 +6,15 @@ register('en-US', {
|
|
6
6
|
'App.home': 'Home',
|
7
7
|
'App.navigation': 'Navigation',
|
8
8
|
'asc': 'Asc',
|
9
|
+
'Calendar.datepicker': 'Date Picker',
|
10
|
+
'Calendar.yearmonth': 'YYYY MM',
|
11
|
+
'Calendar.year': 'YYYY',
|
12
|
+
'Calendar.begin': 'begin',
|
13
|
+
'Calendar.end': 'end',
|
14
|
+
'Calendar.beginAndEnd': 'b/e',
|
15
|
+
'Calendar.toast': 'Out of date range',
|
16
|
+
'Calendar.startPick': 'Select start time',
|
17
|
+
'Calendar.endPick': 'Select end time',
|
9
18
|
'cancel': 'Cancel',
|
10
19
|
'Card.dragTip': 'Drag top button to sort',
|
11
20
|
'Card.toggleDrag': 'Toggle drag to sort',
|
@@ -217,7 +226,7 @@ register('en-US', {
|
|
217
226
|
'validate.minimum': 'The input value is lower than the minimum value of $1',
|
218
227
|
'validate.minLength': 'Please enter more, at least $1 characters.',
|
219
228
|
'validate.notEmptyString': 'Please do not enter all blank characters',
|
220
|
-
'validateFailed': 'Validate failed
|
229
|
+
'validateFailed': 'Validate failed',
|
221
230
|
'Wizard.configError': 'Config error',
|
222
231
|
'Wizard.finish': 'Finish',
|
223
232
|
'Wizard.next': 'Next',
|
@@ -256,5 +265,7 @@ register('en-US', {
|
|
256
265
|
'Condition.cond_placeholder': 'select condition',
|
257
266
|
'Condition.field_placeholder': 'select field',
|
258
267
|
'Condition.blank': 'blank',
|
259
|
-
'InputTable.uniqueError': 'Column `{{label}}` unique validate failed'
|
268
|
+
'InputTable.uniqueError': 'Column `{{label}}` unique validate failed',
|
269
|
+
'Timeline.collapseText': 'Unfold',
|
270
|
+
'Timeline.expandText': 'Fold'
|
260
271
|
});
|
package/src/locale/zh-CN.ts
CHANGED
@@ -6,6 +6,15 @@ register('zh-CN', {
|
|
6
6
|
'App.home': '首页',
|
7
7
|
'App.navigation': '导航',
|
8
8
|
'asc': '正序',
|
9
|
+
'Calendar.datepicker': '日期选择',
|
10
|
+
'Calendar.yearmonth': 'YYYY年MM月',
|
11
|
+
'Calendar.year': 'YYYY年',
|
12
|
+
'Calendar.begin': '开始',
|
13
|
+
'Calendar.end': '结束',
|
14
|
+
'Calendar.beginAndEnd': '始/终',
|
15
|
+
'Calendar.toast': '超出日期范围',
|
16
|
+
'Calendar.startPick': '选择开始时间',
|
17
|
+
'Calendar.endPick': '选择结束时间',
|
9
18
|
'cancel': '取消',
|
10
19
|
'Card.dragTip': '请拖动顶部的按钮进行排序',
|
11
20
|
'Card.toggleDrag': '对卡片进行排序操作',
|
@@ -260,5 +269,7 @@ register('zh-CN', {
|
|
260
269
|
'Condition.cond_placeholder': '请选择操作',
|
261
270
|
'Condition.field_placeholder': '请选择字段',
|
262
271
|
'Condition.blank': '空',
|
263
|
-
'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证'
|
272
|
+
'InputTable.uniqueError': '列`{{label}}`没有通过唯一验证',
|
273
|
+
'Timeline.collapseText': '展开',
|
274
|
+
'Timeline.expandText': '折叠'
|
264
275
|
});
|
package/src/renderers/Avatar.tsx
CHANGED
@@ -3,38 +3,36 @@
|
|
3
3
|
*/
|
4
4
|
import React from 'react';
|
5
5
|
import {Renderer, RendererProps} from '../factory';
|
6
|
-
import
|
7
|
-
BaseSchema,
|
8
|
-
SchemaClassName,
|
9
|
-
SchemaIcon,
|
10
|
-
SchemaUrlPath
|
11
|
-
} from '../Schema';
|
6
|
+
import Avatar from '../components/Avatar';
|
12
7
|
import {BadgeSchema, withBadge} from '../components/Badge';
|
13
|
-
import {
|
14
|
-
|
15
|
-
resolveVariable,
|
16
|
-
resolveVariableAndFilter
|
17
|
-
} from '../utils/tpl-builtin';
|
8
|
+
import {BaseSchema, SchemaClassName} from '../Schema';
|
9
|
+
import {isPureVariable, resolveVariableAndFilter} from '../utils/tpl-builtin';
|
18
10
|
|
19
|
-
/**
|
20
|
-
* Avatar 用户头像显示
|
21
|
-
* 文档:https://baidu.gitee.io/amis/docs/components/avatar
|
22
|
-
*/
|
23
11
|
export interface AvatarSchema extends BaseSchema {
|
12
|
+
// 指定类型
|
13
|
+
type: 'avatar';
|
14
|
+
|
24
15
|
/**
|
25
|
-
*
|
16
|
+
* 类名
|
26
17
|
*/
|
27
|
-
|
18
|
+
className?: SchemaClassName;
|
28
19
|
|
29
20
|
/**
|
30
|
-
*
|
21
|
+
* 自定义样式
|
31
22
|
*/
|
32
|
-
|
23
|
+
style?: {
|
24
|
+
[propName: string]: any;
|
25
|
+
};
|
33
26
|
|
34
27
|
/**
|
35
|
-
*
|
28
|
+
* 角标
|
29
|
+
*/
|
30
|
+
badge?: BadgeSchema;
|
31
|
+
|
32
|
+
/**
|
33
|
+
* 图片地址
|
36
34
|
*/
|
37
|
-
|
35
|
+
src?: string;
|
38
36
|
|
39
37
|
/**
|
40
38
|
* 图标
|
@@ -42,19 +40,29 @@ export interface AvatarSchema extends BaseSchema {
|
|
42
40
|
icon?: string;
|
43
41
|
|
44
42
|
/**
|
45
|
-
*
|
43
|
+
* 图片相对于容器的缩放方式
|
46
44
|
*/
|
47
|
-
|
45
|
+
fit?: 'fill' | 'contain' | 'cover' | 'none' | 'scale-down';
|
48
46
|
|
49
47
|
/**
|
50
|
-
*
|
48
|
+
* 形状
|
51
49
|
*/
|
52
|
-
|
50
|
+
shape?: 'circle' | 'square' | 'rounded';
|
53
51
|
|
54
52
|
/**
|
55
|
-
*
|
53
|
+
* 大小
|
56
54
|
*/
|
57
|
-
|
55
|
+
size?: number | 'small' | 'default' | 'large';
|
56
|
+
|
57
|
+
/**
|
58
|
+
* 文本
|
59
|
+
*/
|
60
|
+
text?: string;
|
61
|
+
|
62
|
+
/**
|
63
|
+
* 字符类型距离左右两侧边界单位像素
|
64
|
+
*/
|
65
|
+
gap?: number;
|
58
66
|
|
59
67
|
/**
|
60
68
|
* 图片无法显示时的替换文字地址
|
@@ -62,82 +70,83 @@ export interface AvatarSchema extends BaseSchema {
|
|
62
70
|
alt?: string;
|
63
71
|
|
64
72
|
/**
|
65
|
-
*
|
73
|
+
* 图片是否允许拖动
|
66
74
|
*/
|
67
|
-
|
75
|
+
draggable?: boolean;
|
68
76
|
|
69
77
|
/**
|
70
|
-
*
|
78
|
+
* 图片CORS属性
|
71
79
|
*/
|
72
|
-
|
73
|
-
[propName: string]: any;
|
74
|
-
};
|
80
|
+
crossOrigin: 'anonymous' | 'use-credentials' | '';
|
75
81
|
|
76
82
|
/**
|
77
|
-
*
|
83
|
+
* 图片加载失败的是否默认处理,字符串函数
|
78
84
|
*/
|
79
|
-
|
85
|
+
onError?: string
|
80
86
|
}
|
81
87
|
|
82
|
-
export interface AvatarProps
|
83
|
-
|
84
|
-
|
88
|
+
export interface AvatarProps extends RendererProps, Omit<AvatarSchema, 'type' | 'className'> {}
|
89
|
+
|
90
|
+
export class AvatarField extends React.Component<AvatarProps> {
|
85
91
|
|
86
|
-
export class AvatarField extends React.Component<AvatarProps, object> {
|
87
92
|
render() {
|
88
93
|
let {
|
94
|
+
style = {},
|
89
95
|
className,
|
96
|
+
classnames: cx,
|
97
|
+
src,
|
90
98
|
icon = 'fa fa-user',
|
99
|
+
fit,
|
100
|
+
shape,
|
101
|
+
size,
|
91
102
|
text,
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
classnames: cx,
|
99
|
-
props
|
103
|
+
gap,
|
104
|
+
alt,
|
105
|
+
draggable,
|
106
|
+
crossOrigin,
|
107
|
+
onError,
|
108
|
+
data
|
100
109
|
} = this.props;
|
101
110
|
|
102
|
-
let
|
103
|
-
height: size,
|
104
|
-
width: size,
|
105
|
-
lineHeight: size + 'px'
|
106
|
-
};
|
111
|
+
let errHandler = () => false;
|
107
112
|
|
108
|
-
if (
|
109
|
-
|
113
|
+
if (typeof onError === 'string') {
|
114
|
+
try {
|
115
|
+
errHandler = new Function('event', onError) as () => boolean;
|
116
|
+
} catch (e) {
|
117
|
+
console.warn(onError, e);
|
118
|
+
}
|
110
119
|
}
|
111
120
|
|
112
121
|
if (isPureVariable(src)) {
|
113
122
|
src = resolveVariableAndFilter(src, data, '| raw');
|
114
123
|
}
|
115
124
|
|
116
|
-
if (isPureVariable(
|
117
|
-
|
118
|
-
}
|
119
|
-
|
120
|
-
let avatar = <i className={icon} />;
|
121
|
-
|
122
|
-
if (text) {
|
123
|
-
if (text.length > 2) {
|
124
|
-
text = text.substring(0, 2).toUpperCase();
|
125
|
-
}
|
126
|
-
avatar = <span>{text}</span>;
|
125
|
+
if (isPureVariable(text)) {
|
126
|
+
text = resolveVariableAndFilter(text, data);
|
127
127
|
}
|
128
128
|
|
129
|
-
if (
|
130
|
-
|
129
|
+
if (isPureVariable(icon)) {
|
130
|
+
icon = resolveVariableAndFilter(icon, data);
|
131
131
|
}
|
132
132
|
|
133
133
|
return (
|
134
|
-
<
|
135
|
-
|
136
|
-
|
137
|
-
{
|
138
|
-
|
139
|
-
{
|
140
|
-
|
134
|
+
<Avatar
|
135
|
+
style={style}
|
136
|
+
className={className}
|
137
|
+
classnames={cx}
|
138
|
+
src={src}
|
139
|
+
icon={icon}
|
140
|
+
fit={fit}
|
141
|
+
shape={shape}
|
142
|
+
size={size}
|
143
|
+
text={text}
|
144
|
+
gap={gap}
|
145
|
+
alt={alt}
|
146
|
+
draggable={draggable}
|
147
|
+
crossOrigin={crossOrigin}
|
148
|
+
onError={errHandler}
|
149
|
+
/>
|
141
150
|
);
|
142
151
|
}
|
143
152
|
}
|
package/src/renderers/CRUD.tsx
CHANGED
@@ -1532,9 +1532,7 @@ export default class CRUD extends React.Component<CRUDProps, any> {
|
|
1532
1532
|
renderBulkActions(childProps: any) {
|
1533
1533
|
let {bulkActions, itemActions, store, render, classnames: cx} = this.props;
|
1534
1534
|
|
1535
|
-
|
1536
|
-
|
1537
|
-
if (!items.length || !bulkActions || !bulkActions.length) {
|
1535
|
+
if (!bulkActions || !bulkActions.length) {
|
1538
1536
|
return null;
|
1539
1537
|
}
|
1540
1538
|
|