amis 1.7.0 → 1.8.0-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/lib/Root.js +2 -2
- package/lib/Root.js.map +1 -1
- package/lib/RootRenderer.js +1 -1
- package/lib/RootRenderer.js.map +1 -1
- package/lib/Schema.d.ts +3 -2
- package/lib/Schema.js +0 -1
- package/lib/Schema.js.map +2 -2
- package/lib/SchemaRenderer.js +21 -5
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/Scoped.js +1 -1
- package/lib/Scoped.js.map +1 -1
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithRootStore.js +1 -1
- package/lib/WithRootStore.js.map +1 -1
- package/lib/WithStore.js +3 -2
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/AjaxAction.js.map +1 -1
- package/lib/actions/CmptAction.js +14 -3
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/Decorators.js +1 -1
- package/lib/actions/Decorators.js.map +1 -1
- package/lib/actions/EmailAction.js +1 -1
- package/lib/actions/EmailAction.js.map +1 -1
- package/lib/actions/LoopAction.js +2 -2
- package/lib/actions/LoopAction.js.map +1 -1
- package/lib/compat.js +1 -1
- package/lib/compat.js.map +1 -1
- package/lib/components/Alert2.js +5 -3
- package/lib/components/Alert2.js.map +2 -2
- package/lib/components/AnchorNav.js +1 -1
- package/lib/components/AnchorNav.js.map +1 -1
- package/lib/components/ArrayInput.js +2 -2
- package/lib/components/ArrayInput.js.map +1 -1
- package/lib/components/AsideNav.js +4 -4
- package/lib/components/AsideNav.js.map +1 -1
- package/lib/components/Avatar.d.ts +20 -20
- package/lib/components/Avatar.js +3 -3
- package/lib/components/Avatar.js.map +1 -1
- package/lib/components/Badge.js +10 -10
- package/lib/components/Badge.js.map +1 -1
- package/lib/components/BaiduMapPicker.js +1 -1
- package/lib/components/BaiduMapPicker.js.map +1 -1
- package/lib/components/Breadcrumb.js +1 -1
- package/lib/components/Breadcrumb.js.map +1 -1
- package/lib/components/Button.js +3 -3
- package/lib/components/Button.js.map +1 -1
- package/lib/components/CalendarMobile.js +2 -2
- package/lib/components/CalendarMobile.js.map +1 -1
- package/lib/components/Card.d.ts +20 -20
- package/lib/components/Card.js +1 -1
- package/lib/components/Card.js.map +1 -1
- package/lib/components/ChainedSelection.js +1 -1
- package/lib/components/ChainedSelection.js.map +1 -1
- package/lib/components/Checkbox.js +2 -2
- package/lib/components/Checkbox.js.map +1 -1
- package/lib/components/CityArea.js +3 -0
- package/lib/components/CityArea.js.map +2 -2
- package/lib/components/Collapse.js +3 -3
- package/lib/components/Collapse.js.map +1 -1
- package/lib/components/ColorPicker.js +5 -5
- package/lib/components/ColorPicker.js.map +1 -1
- package/lib/components/ContextMenu.js +3 -3
- package/lib/components/ContextMenu.js.map +1 -1
- package/lib/components/DatePicker.d.ts +3 -0
- package/lib/components/DatePicker.js +44 -10
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.js +15 -15
- package/lib/components/DateRangePicker.js.map +1 -1
- package/lib/components/Drawer.js +10 -10
- package/lib/components/Drawer.js.map +1 -1
- package/lib/components/Editor.js +3 -3
- package/lib/components/Editor.js.map +1 -1
- package/lib/components/GridNav.js +11 -11
- package/lib/components/GridNav.js.map +1 -1
- package/lib/components/InputBox.js +1 -1
- package/lib/components/InputBox.js.map +1 -1
- package/lib/components/Layout.js +1 -1
- package/lib/components/Layout.js.map +1 -1
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/ListGroup.js +1 -1
- package/lib/components/ListGroup.js.map +1 -1
- package/lib/components/Modal.js +4 -4
- package/lib/components/Modal.js.map +1 -1
- package/lib/components/MonthRangePicker.js +13 -13
- package/lib/components/MonthRangePicker.js.map +1 -1
- package/lib/components/NumberInput.js +2 -2
- package/lib/components/NumberInput.js.map +1 -1
- package/lib/components/Picker.js +4 -4
- package/lib/components/Picker.js.map +1 -1
- package/lib/components/PickerColumn.js +4 -4
- package/lib/components/PickerColumn.js.map +1 -1
- package/lib/components/PopOver.js +2 -2
- package/lib/components/PopOver.js.map +1 -1
- package/lib/components/PopUp.js +10 -10
- package/lib/components/PopUp.js.map +1 -1
- package/lib/components/Progress.js +15 -12
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/Radios.js +3 -3
- package/lib/components/Radios.js.map +1 -1
- package/lib/components/Range.js +1 -1
- package/lib/components/Range.js.map +1 -1
- package/lib/components/Rating.js +1 -1
- package/lib/components/Rating.js.map +1 -1
- package/lib/components/ResultBox.js +2 -2
- package/lib/components/ResultBox.js.map +1 -1
- package/lib/components/ResultList.js +5 -5
- package/lib/components/ResultList.js.map +1 -1
- package/lib/components/Select.js +7 -7
- package/lib/components/Select.js.map +1 -1
- package/lib/components/SparkLine.js +3 -3
- package/lib/components/SparkLine.js.map +1 -1
- package/lib/components/Spinner.js +2 -2
- package/lib/components/Spinner.js.map +1 -1
- package/lib/components/Steps.js +2 -2
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/Switch.js +2 -2
- package/lib/components/Switch.js.map +1 -1
- package/lib/components/Tabs.d.ts +27 -23
- package/lib/components/Tabs.js +41 -26
- package/lib/components/Tabs.js.map +2 -2
- package/lib/components/Timeline.js +1 -1
- package/lib/components/Timeline.js.map +1 -1
- package/lib/components/TimelineItem.js +3 -3
- package/lib/components/TimelineItem.js.map +1 -1
- package/lib/components/Toast.js +3 -3
- package/lib/components/Toast.js.map +1 -1
- package/lib/components/Tooltip.js +1 -1
- package/lib/components/Tooltip.js.map +1 -1
- package/lib/components/TooltipWrapper.d.ts +21 -20
- package/lib/components/TooltipWrapper.js +2 -2
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Tree.js +5 -5
- package/lib/components/Tree.js.map +1 -1
- package/lib/components/TreeSelection.js +2 -2
- package/lib/components/TreeSelection.js.map +1 -1
- package/lib/components/WithRemoteConfig.js +1 -1
- package/lib/components/WithRemoteConfig.js.map +1 -1
- package/lib/components/WithStore.js +1 -1
- package/lib/components/WithStore.js.map +1 -1
- package/lib/components/calendar/Calendar.js +16 -12
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/DaysView.js +1 -1
- package/lib/components/calendar/DaysView.js.map +1 -1
- package/lib/components/calendar/QuartersView.js +1 -1
- package/lib/components/calendar/QuartersView.js.map +1 -1
- package/lib/components/calendar/TimeView.js +1 -1
- package/lib/components/calendar/TimeView.js.map +1 -1
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +1 -1
- package/lib/components/condition-builder/GroupOrItem.js +1 -1
- package/lib/components/condition-builder/GroupOrItem.js.map +1 -1
- package/lib/components/formula/Editor.d.ts +3 -1
- package/lib/components/formula/Editor.js +21 -3
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.d.ts +5 -0
- package/lib/components/formula/Picker.js +19 -4
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.js +5 -5
- package/lib/components/formula/VariableList.js.map +1 -1
- package/lib/components/formula/plugin.js +1 -1
- package/lib/components/formula/plugin.js.map +1 -1
- package/lib/components/icons.js +3 -1
- package/lib/components/icons.js.map +2 -2
- package/lib/components/virtual-list/SizeAndPositionManager.js +4 -4
- package/lib/components/virtual-list/SizeAndPositionManager.js.map +1 -1
- package/lib/env.js +1 -1
- package/lib/env.js.map +1 -1
- package/lib/factory.js +5 -5
- package/lib/factory.js.map +2 -2
- package/lib/icons/trash.js +10 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale.js +1 -1
- package/lib/locale.js.map +1 -1
- package/lib/renderers/Action.d.ts +3 -1
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/AnchorNav.js +1 -1
- package/lib/renderers/AnchorNav.js.map +1 -1
- package/lib/renderers/App.js +2 -2
- package/lib/renderers/App.js.map +1 -1
- package/lib/renderers/Audio.js +2 -2
- package/lib/renderers/Audio.js.map +1 -1
- package/lib/renderers/ButtonGroup.d.ts +2 -2
- package/lib/renderers/ButtonGroup.js.map +1 -1
- package/lib/renderers/CRUD.js +8 -8
- package/lib/renderers/CRUD.js.map +1 -1
- package/lib/renderers/Card.js +6 -6
- package/lib/renderers/Card.js.map +1 -1
- package/lib/renderers/Cards.js +10 -10
- package/lib/renderers/Cards.js.map +1 -1
- package/lib/renderers/Carousel.js +2 -2
- package/lib/renderers/Carousel.js.map +1 -1
- package/lib/renderers/Chart.js +2 -2
- package/lib/renderers/Chart.js.map +1 -1
- package/lib/renderers/Dialog.d.ts +4 -0
- package/lib/renderers/Dialog.js +9 -8
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Divider.js +1 -1
- package/lib/renderers/Divider.js.map +1 -1
- package/lib/renderers/Drawer.js +6 -6
- package/lib/renderers/Drawer.js.map +1 -1
- package/lib/renderers/DropDownButton.d.ts +2 -0
- package/lib/renderers/DropDownButton.js +18 -9
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Each.js +1 -1
- package/lib/renderers/Each.js.map +1 -1
- package/lib/renderers/Flex.js +2 -2
- package/lib/renderers/Flex.js.map +1 -1
- package/lib/renderers/Form/ButtonGroupSelect.js +4 -4
- package/lib/renderers/Form/ButtonGroupSelect.js.map +1 -1
- package/lib/renderers/Form/ButtonToolbar.js +1 -1
- package/lib/renderers/Form/ButtonToolbar.js.map +1 -1
- package/lib/renderers/Form/ChainedSelect.js +2 -2
- package/lib/renderers/Form/ChainedSelect.js.map +1 -1
- package/lib/renderers/Form/ChartRadios.js +1 -1
- package/lib/renderers/Form/ChartRadios.js.map +1 -1
- package/lib/renderers/Form/Checkbox.js +1 -1
- package/lib/renderers/Form/Checkbox.js.map +1 -1
- package/lib/renderers/Form/Checkboxes.js +1 -1
- package/lib/renderers/Form/Checkboxes.js.map +1 -1
- package/lib/renderers/Form/Combo.d.ts +4 -3
- package/lib/renderers/Form/Combo.js +90 -40
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.js +2 -2
- package/lib/renderers/Form/DiffEditor.js.map +1 -1
- package/lib/renderers/Form/Editor.js +4 -4
- package/lib/renderers/Form/Editor.js.map +1 -1
- package/lib/renderers/Form/FieldSet.js +1 -1
- package/lib/renderers/Form/FieldSet.js.map +1 -1
- package/lib/renderers/Form/Group.js +4 -4
- package/lib/renderers/Form/Group.js.map +1 -1
- package/lib/renderers/Form/IconPicker.js +2 -2
- package/lib/renderers/Form/IconPicker.js.map +1 -1
- package/lib/renderers/Form/InputCity.js +4 -1
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputColor.js +1 -1
- package/lib/renderers/Form/InputColor.js.map +1 -1
- package/lib/renderers/Form/InputDateRange.js +1 -1
- package/lib/renderers/Form/InputDateRange.js.map +1 -1
- package/lib/renderers/Form/InputFile.js +5 -5
- package/lib/renderers/Form/InputFile.js.map +1 -1
- package/lib/renderers/Form/InputFormula.d.ts +4 -0
- package/lib/renderers/Form/InputFormula.js +2 -2
- package/lib/renderers/Form/InputFormula.js.map +2 -2
- package/lib/renderers/Form/InputGroup.js +1 -1
- package/lib/renderers/Form/InputGroup.js.map +1 -1
- package/lib/renderers/Form/InputImage.js +2 -2
- package/lib/renderers/Form/InputImage.js.map +1 -1
- package/lib/renderers/Form/InputMonthRange.js +1 -1
- package/lib/renderers/Form/InputMonthRange.js.map +1 -1
- package/lib/renderers/Form/InputNumber.js +2 -2
- package/lib/renderers/Form/InputNumber.js.map +1 -1
- package/lib/renderers/Form/InputQuarterRange.js +1 -1
- package/lib/renderers/Form/InputQuarterRange.js.map +1 -1
- package/lib/renderers/Form/InputRange.d.ts +2 -2
- package/lib/renderers/Form/InputRange.js +2 -2
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputRepeat.js +2 -2
- package/lib/renderers/Form/InputRepeat.js.map +1 -1
- package/lib/renderers/Form/InputRichText.js +2 -2
- package/lib/renderers/Form/InputRichText.js.map +1 -1
- package/lib/renderers/Form/InputSubForm.js +5 -5
- package/lib/renderers/Form/InputSubForm.js.map +1 -1
- package/lib/renderers/Form/InputTable.js +6 -4
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/InputTag.js +1 -1
- package/lib/renderers/Form/InputTag.js.map +1 -1
- package/lib/renderers/Form/InputText.js +9 -9
- package/lib/renderers/Form/InputText.js.map +1 -1
- package/lib/renderers/Form/InputTree.js +1 -1
- package/lib/renderers/Form/InputTree.js.map +1 -1
- package/lib/renderers/Form/InputYearRange.js +1 -1
- package/lib/renderers/Form/InputYearRange.js.map +1 -1
- package/lib/renderers/Form/Item.d.ts +11 -6
- package/lib/renderers/Form/Item.js +7 -7
- package/lib/renderers/Form/Item.js.map +1 -1
- package/lib/renderers/Form/ListSelect.js +2 -2
- package/lib/renderers/Form/ListSelect.js.map +1 -1
- package/lib/renderers/Form/NestedSelect.js +1 -1
- package/lib/renderers/Form/NestedSelect.js.map +1 -1
- package/lib/renderers/Form/Options.js +2 -2
- package/lib/renderers/Form/Options.js.map +1 -1
- package/lib/renderers/Form/Picker.js +3 -3
- package/lib/renderers/Form/Picker.js.map +1 -1
- package/lib/renderers/Form/Radios.js +1 -1
- package/lib/renderers/Form/Radios.js.map +1 -1
- package/lib/renderers/Form/Select.js +2 -2
- package/lib/renderers/Form/Select.js.map +1 -1
- package/lib/renderers/Form/Static.js +1 -1
- package/lib/renderers/Form/Static.js.map +1 -1
- package/lib/renderers/Form/TabsTransfer.js +1 -1
- package/lib/renderers/Form/TabsTransfer.js.map +1 -1
- package/lib/renderers/Form/TabsTransferPicker.js +1 -1
- package/lib/renderers/Form/TabsTransferPicker.js.map +1 -1
- package/lib/renderers/Form/Textarea.js +2 -2
- package/lib/renderers/Form/Textarea.js.map +1 -1
- package/lib/renderers/Form/Transfer.js +3 -3
- package/lib/renderers/Form/Transfer.js.map +1 -1
- package/lib/renderers/Form/TreeSelect.js +4 -4
- package/lib/renderers/Form/TreeSelect.js.map +1 -1
- package/lib/renderers/Form/index.js +7 -7
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +9 -0
- package/lib/renderers/Form/wrapControl.js +1 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Grid.js +7 -7
- package/lib/renderers/Grid.js.map +1 -1
- package/lib/renderers/Grid2D.js +1 -1
- package/lib/renderers/Grid2D.js.map +1 -1
- package/lib/renderers/HBox.js +5 -5
- package/lib/renderers/HBox.js.map +1 -1
- package/lib/renderers/IFrame.js +1 -1
- package/lib/renderers/IFrame.js.map +1 -1
- package/lib/renderers/Icon.js +2 -2
- package/lib/renderers/Icon.js.map +1 -1
- package/lib/renderers/Image.js +3 -3
- package/lib/renderers/Image.js.map +1 -1
- package/lib/renderers/List.js +14 -14
- package/lib/renderers/List.js.map +1 -1
- package/lib/renderers/Mapping.js +1 -1
- package/lib/renderers/Mapping.js.map +1 -1
- package/lib/renderers/Operation.js +1 -1
- package/lib/renderers/Operation.js.map +1 -1
- package/lib/renderers/Page.js +8 -9
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Panel.js +2 -2
- package/lib/renderers/Panel.js.map +1 -1
- package/lib/renderers/PopOver.js +2 -2
- package/lib/renderers/PopOver.js.map +1 -1
- package/lib/renderers/Portlet.js +10 -10
- package/lib/renderers/Portlet.js.map +1 -1
- package/lib/renderers/Progress.d.ts +1 -1
- package/lib/renderers/Progress.js +1 -1
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Property.js +3 -3
- package/lib/renderers/Property.js.map +1 -1
- package/lib/renderers/QRCode.js +1 -1
- package/lib/renderers/QRCode.js.map +1 -1
- package/lib/renderers/QuickEdit.js +11 -11
- package/lib/renderers/QuickEdit.js.map +1 -1
- package/lib/renderers/Service.js +2 -2
- package/lib/renderers/Service.js.map +1 -1
- package/lib/renderers/Status.js +1 -1
- package/lib/renderers/Status.js.map +1 -1
- package/lib/renderers/Table/ColumnToggler.js +5 -5
- package/lib/renderers/Table/ColumnToggler.js.map +1 -1
- package/lib/renderers/Table/HeadCellFilterDropdown.js +2 -2
- package/lib/renderers/Table/HeadCellFilterDropdown.js.map +1 -1
- package/lib/renderers/Table/HeadCellSearchDropdown.js +2 -2
- package/lib/renderers/Table/HeadCellSearchDropdown.js.map +1 -1
- package/lib/renderers/Table/ItemActionsWrapper.js +2 -2
- package/lib/renderers/Table/ItemActionsWrapper.js.map +1 -1
- package/lib/renderers/Table/TableBody.js +3 -3
- package/lib/renderers/Table/TableBody.js.map +1 -1
- package/lib/renderers/Table/TableContent.js +1 -1
- package/lib/renderers/Table/TableContent.js.map +1 -1
- package/lib/renderers/Table/TableRow.js +5 -5
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.js +28 -28
- package/lib/renderers/Table/index.js.map +1 -1
- package/lib/renderers/TableView.js +4 -4
- package/lib/renderers/TableView.js.map +1 -1
- package/lib/renderers/Tabs.d.ts +14 -2
- package/lib/renderers/Tabs.js +28 -12
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Tasks.js +1 -1
- package/lib/renderers/Tasks.js.map +1 -1
- package/lib/renderers/TooltipWrapper.d.ts +104 -0
- package/lib/renderers/TooltipWrapper.js +59 -0
- package/lib/renderers/TooltipWrapper.js.map +13 -0
- package/lib/renderers/Tpl.js +1 -1
- package/lib/renderers/Tpl.js.map +1 -1
- package/lib/renderers/VBox.js +2 -2
- package/lib/renderers/VBox.js.map +1 -1
- package/lib/renderers/Video.js +4 -4
- package/lib/renderers/Video.js.map +1 -1
- package/lib/renderers/Wizard.d.ts +6 -3
- package/lib/renderers/Wizard.js +264 -159
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/renderers/Wrapper.js +1 -1
- package/lib/renderers/Wrapper.js.map +1 -1
- package/lib/store/app.js +3 -3
- package/lib/store/app.js.map +1 -1
- package/lib/store/crud.js +1 -1
- package/lib/store/crud.js.map +1 -1
- package/lib/store/form.js +2 -2
- package/lib/store/form.js.map +1 -1
- package/lib/store/formItem.js +3 -3
- package/lib/store/formItem.js.map +1 -1
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/node.js +2 -2
- package/lib/store/node.js.map +1 -1
- package/lib/store/table.js +8 -8
- package/lib/store/table.js.map +2 -2
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/lib/themes/ang-ie11.css +226 -41
- package/lib/themes/ang.css +234 -36
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +226 -41
- package/lib/themes/antd.css +234 -36
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +215 -30
- package/lib/themes/cxd.css +236 -37
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +226 -41
- package/lib/themes/dark.css +234 -36
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +215 -30
- package/lib/themes/default.css +236 -37
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/api.js +5 -5
- package/lib/utils/api.js.map +1 -1
- package/lib/utils/autobind.js +2 -2
- package/lib/utils/autobind.js.map +1 -1
- package/lib/utils/debug.js +13 -13
- package/lib/utils/debug.js.map +1 -1
- package/lib/utils/dom.js +1 -1
- package/lib/utils/dom.js.map +1 -1
- package/lib/utils/filter-schema.js +1 -1
- package/lib/utils/filter-schema.js.map +1 -1
- package/lib/utils/helper.js +6 -6
- package/lib/utils/helper.js.map +1 -1
- package/lib/utils/resize-sensor.js +1 -1
- package/lib/utils/resize-sensor.js.map +1 -1
- package/lib/utils/style.js +1 -1
- package/lib/utils/style.js.map +1 -1
- package/lib/utils/tpl-builtin.js +1 -1
- package/lib/utils/tpl-builtin.js.map +1 -1
- package/lib/utils/tpl-lodash.js +1 -1
- package/lib/utils/tpl-lodash.js.map +1 -1
- package/lib/utils/tpl.js +2 -2
- package/lib/utils/tpl.js.map +1 -1
- package/lib/utils/validations.js +2 -2
- package/lib/utils/validations.js.map +1 -1
- package/package.json +1 -1
- package/schema.json +516 -420
- package/scss/_properties.scss +23 -12
- package/scss/components/_alert.scss +1 -1
- package/scss/components/_button-group.scss +15 -0
- package/scss/components/_formula.scss +18 -0
- package/scss/components/_progress.scss +3 -8
- package/scss/components/_tabs.scss +145 -13
- package/scss/components/_tooltip.scss +72 -0
- package/scss/components/form/_date.scss +13 -0
- package/scss/components/form/_number.scss +2 -0
- package/scss/themes/_cxd-variables.scss +2 -1
- package/sdk/ang-ie11.css +269 -43
- package/sdk/ang.css +277 -38
- package/sdk/antd-ie11.css +269 -43
- package/sdk/antd.css +277 -38
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +17 -17
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +3 -3
- package/sdk/cxd-ie11.css +258 -32
- package/sdk/cxd.css +279 -39
- package/sdk/dark-ie11.css +269 -43
- package/sdk/dark.css +277 -38
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +3 -3
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +258 -32
- package/sdk/sdk.css +279 -39
- package/sdk/sdk.js +1271 -1363
- package/sdk/thirds/hls.js/hls.js +19 -19
- package/sdk/thirds/mpegts.js/mpegts.js +2 -2
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +5 -2
- package/src/SchemaRenderer.tsx +30 -12
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +18 -0
- package/src/components/Alert2.tsx +9 -3
- package/src/components/CityArea.tsx +3 -0
- package/src/components/DatePicker.tsx +56 -18
- package/src/components/Progress.tsx +8 -12
- package/src/components/Tabs.tsx +51 -21
- package/src/components/TooltipWrapper.tsx +4 -1
- package/src/components/calendar/Calendar.tsx +17 -12
- package/src/components/formula/Editor.tsx +34 -3
- package/src/components/formula/Picker.tsx +28 -1
- package/src/components/icons.tsx +2 -0
- package/src/factory.tsx +2 -2
- package/src/icons/trash.svg +8 -0
- package/src/index.tsx +1 -0
- package/src/renderers/Action.tsx +24 -2
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/Dialog.tsx +17 -3
- package/src/renderers/DropDownButton.tsx +14 -3
- package/src/renderers/Form/Combo.tsx +84 -27
- package/src/renderers/Form/InputCity.tsx +13 -1
- package/src/renderers/Form/InputFormula.tsx +7 -0
- package/src/renderers/Form/InputRange.tsx +2 -6
- package/src/renderers/Form/InputTable.tsx +6 -2
- package/src/renderers/Form/index.tsx +1 -1
- package/src/renderers/Form/wrapControl.tsx +1 -1
- package/src/renderers/Page.tsx +1 -2
- package/src/renderers/Progress.tsx +2 -2
- package/src/renderers/Table/TableRow.tsx +1 -1
- package/src/renderers/Tabs.tsx +90 -31
- package/src/renderers/TooltipWrapper.tsx +219 -0
- package/src/renderers/Wizard.tsx +154 -93
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +2 -2
- package/src/types.ts +3 -1
package/src/Schema.ts
CHANGED
@@ -52,6 +52,7 @@ import {DialogSchema, DialogSchemaBase} from './renderers/Dialog';
|
|
52
52
|
import {DrawerSchema} from './renderers/Drawer';
|
53
53
|
import {SearchBoxSchema} from './renderers/SearchBox';
|
54
54
|
import {SparkLineSchema} from './renderers/SparkLine';
|
55
|
+
import {TooltipWrapperSchema} from './renderers/TooltipWrapper';
|
55
56
|
import {PaginationWrapperSchema} from './renderers/PaginationWrapper';
|
56
57
|
import {PaginationSchema} from './renderers/Pagination';
|
57
58
|
import {AnchorNavSchema} from './renderers/AnchorNav';
|
@@ -331,7 +332,8 @@ export type SchemaType =
|
|
331
332
|
| 'native-date'
|
332
333
|
| 'native-time'
|
333
334
|
| 'native-number'
|
334
|
-
| 'code'
|
335
|
+
| 'code'
|
336
|
+
| 'tooltip-wrapper';
|
335
337
|
|
336
338
|
export type SchemaObject =
|
337
339
|
| PageSchema
|
@@ -389,6 +391,7 @@ export type SchemaObject =
|
|
389
391
|
| VideoSchema
|
390
392
|
| WizardSchema
|
391
393
|
| WrapperSchema
|
394
|
+
| TooltipWrapperSchema
|
392
395
|
| FormSchema
|
393
396
|
| AnchorNavSchema
|
394
397
|
| StepsSchema
|
@@ -882,4 +885,4 @@ export interface ToastSchemaBase extends BaseSchema {
|
|
882
885
|
* 持续时间
|
883
886
|
*/
|
884
887
|
timeout: number;
|
885
|
-
}
|
888
|
+
}
|
package/src/SchemaRenderer.tsx
CHANGED
@@ -21,6 +21,8 @@ import {anyChanged, chainEvents, autobind} from './utils/helper';
|
|
21
21
|
import {SimpleMap} from './utils/SimpleMap';
|
22
22
|
|
23
23
|
import type {RendererEvent} from './utils/renderer-event';
|
24
|
+
import {observer} from 'mobx-react';
|
25
|
+
import {isAlive} from 'mobx-state-tree';
|
24
26
|
|
25
27
|
interface SchemaRendererProps extends Partial<RendererProps> {
|
26
28
|
schema: Schema;
|
@@ -59,6 +61,7 @@ const defaultOmitList = [
|
|
59
61
|
|
60
62
|
const componentCache: SimpleMap = new SimpleMap();
|
61
63
|
|
64
|
+
@observer
|
62
65
|
class BroadcastCmpt extends React.Component<BroadcastCmptProps> {
|
63
66
|
ref: any;
|
64
67
|
unbindEvent: (() => void) | undefined = undefined;
|
@@ -99,21 +102,36 @@ class BroadcastCmpt extends React.Component<BroadcastCmptProps> {
|
|
99
102
|
}
|
100
103
|
|
101
104
|
render() {
|
102
|
-
const {component: Component, ...rest} = this.props;
|
103
|
-
|
105
|
+
const {component: Component, rootStore, ...rest} = this.props;
|
106
|
+
const visible = isAlive(rootStore)
|
107
|
+
? rootStore.visibleState[rest.$schema.id || rest.$path]
|
108
|
+
: true;
|
109
|
+
const disable = isAlive(rootStore)
|
110
|
+
? rootStore.disableState[rest.$schema.id || rest.$path]
|
111
|
+
: false;
|
104
112
|
const isClassComponent = Component.prototype?.isReactComponent;
|
105
113
|
|
106
|
-
|
114
|
+
if (disable) {
|
115
|
+
(rest as any).disabled = true;
|
116
|
+
}
|
107
117
|
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
118
|
+
// 函数组件不支持 ref https://reactjs.org/docs/refs-and-the-dom.html#refs-and-function-components
|
119
|
+
return visible !== false ? (
|
120
|
+
isClassComponent ? (
|
121
|
+
<Component
|
122
|
+
ref={this.childRef}
|
123
|
+
{...rest}
|
124
|
+
rootStore={rootStore}
|
125
|
+
dispatchEvent={this.dispatchEvent}
|
126
|
+
/>
|
127
|
+
) : (
|
128
|
+
<Component
|
129
|
+
{...rest}
|
130
|
+
rootStore={rootStore}
|
131
|
+
dispatchEvent={this.dispatchEvent}
|
132
|
+
/>
|
133
|
+
)
|
134
|
+
) : null;
|
117
135
|
}
|
118
136
|
}
|
119
137
|
|
package/src/WithStore.tsx
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
import hoistNonReactStatic from 'hoist-non-react-statics';
|
2
2
|
import {observer} from 'mobx-react';
|
3
|
+
import {isAlive} from 'mobx-state-tree';
|
3
4
|
import React from 'react';
|
4
5
|
import {RendererProps} from './factory';
|
5
6
|
import {IIRendererStore, IRendererStore} from './store';
|
@@ -257,7 +258,8 @@ export function HocStoreFactory(renderer: {
|
|
257
258
|
componentWillUnmount() {
|
258
259
|
const rootStore = this.context as IRendererStore;
|
259
260
|
const store = this.store;
|
260
|
-
|
261
|
+
|
262
|
+
isAlive(store) && rootStore.removeStore(store);
|
261
263
|
|
262
264
|
// @ts-ignore
|
263
265
|
delete this.store;
|
@@ -21,6 +21,19 @@ export class CmptAction implements Action {
|
|
21
21
|
renderer: ListenerContext,
|
22
22
|
event: RendererEvent<any>
|
23
23
|
) {
|
24
|
+
// 显隐&状态控制
|
25
|
+
if (['show', 'hidden'].includes(action.actionType)) {
|
26
|
+
return renderer.props.rootStore.setVisible(
|
27
|
+
action.componentId,
|
28
|
+
action.actionType === 'show'
|
29
|
+
);
|
30
|
+
} else if (['enabled', 'disabled'].includes(action.actionType)) {
|
31
|
+
return renderer.props.rootStore.setDisable(
|
32
|
+
action.componentId,
|
33
|
+
action.actionType === 'disabled'
|
34
|
+
);
|
35
|
+
}
|
36
|
+
|
24
37
|
/**
|
25
38
|
* 根据唯一ID查找指定组件
|
26
39
|
* 触发组件未指定id或未指定响应组件componentId,则使用触发组件响应
|
@@ -30,6 +43,11 @@ export class CmptAction implements Action {
|
|
30
43
|
? event.context.scoped?.getComponentById(action.componentId)
|
31
44
|
: renderer;
|
32
45
|
|
46
|
+
// 刷新
|
47
|
+
if (action.actionType === 'reload') {
|
48
|
+
return component.reload?.(undefined, action.args);
|
49
|
+
}
|
50
|
+
|
33
51
|
// 执行组件动作
|
34
52
|
return component.doAction?.(action, action.args);
|
35
53
|
}
|
@@ -5,7 +5,8 @@
|
|
5
5
|
|
6
6
|
import React from 'react';
|
7
7
|
import {ClassNamesFn, themeable} from '../theme';
|
8
|
-
import {
|
8
|
+
import {generateIcon} from '../utils/icon';
|
9
|
+
import {Icon, getIcon} from './icons';
|
9
10
|
|
10
11
|
export interface AlertProps {
|
11
12
|
level: 'danger' | 'info' | 'success' | 'warning';
|
@@ -73,16 +74,21 @@ export class Alert extends React.Component<AlertProps, AlertState> {
|
|
73
74
|
closeButtonClassName
|
74
75
|
} = this.props;
|
75
76
|
|
77
|
+
// 优先使用内置svg,其次使用icon库
|
76
78
|
const iconNode = icon ? (
|
77
79
|
typeof icon === 'string' ? (
|
78
|
-
|
80
|
+
getIcon(icon) ? (
|
81
|
+
<Icon icon={icon} className={cx(`icon`)} />
|
82
|
+
) : (
|
83
|
+
generateIcon(cx, icon, 'icon')
|
84
|
+
)
|
79
85
|
) : React.isValidElement(icon) ? (
|
80
86
|
React.cloneElement(icon, {
|
81
87
|
className: cx(`Alert-icon`, icon.props?.className)
|
82
88
|
})
|
83
89
|
) : null
|
84
90
|
) : showIcon ? (
|
85
|
-
<Icon icon={`alert-${level}`} className={cx(`
|
91
|
+
<Icon icon={`alert-${level}`} className={cx(`icon`)} />
|
86
92
|
) : null;
|
87
93
|
|
88
94
|
return this.state.show ? (
|
@@ -145,8 +145,11 @@ const CityArea = memo<AreaProps>(props => {
|
|
145
145
|
} else {
|
146
146
|
onChange({
|
147
147
|
code,
|
148
|
+
provinceCode: province,
|
148
149
|
province: db[province],
|
150
|
+
cityCode: city,
|
149
151
|
city: db[city],
|
152
|
+
districtCode: district,
|
150
153
|
district: db[district],
|
151
154
|
street
|
152
155
|
});
|
@@ -17,6 +17,7 @@ import Calendar from './calendar/Calendar';
|
|
17
17
|
import {localeable, LocaleProps, TranslateFn} from '../locale';
|
18
18
|
import {isMobile, ucFirst} from '../utils/helper';
|
19
19
|
import CalendarMobile from './CalendarMobile';
|
20
|
+
import Input from './Input';
|
20
21
|
|
21
22
|
const availableShortcuts: {[propName: string]: any} = {
|
22
23
|
now: {
|
@@ -302,6 +303,7 @@ export interface DatePickerState {
|
|
302
303
|
isOpened: boolean;
|
303
304
|
isFocused: boolean;
|
304
305
|
value: moment.Moment | undefined;
|
306
|
+
inputValue: string | undefined; // 手动输入的值
|
305
307
|
}
|
306
308
|
|
307
309
|
function normalizeValue(value: any, format?: string) {
|
@@ -329,11 +331,15 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
329
331
|
state: DatePickerState = {
|
330
332
|
isOpened: false,
|
331
333
|
isFocused: false,
|
332
|
-
value: normalizeValue(this.props.value, this.props.format)
|
334
|
+
value: normalizeValue(this.props.value, this.props.format),
|
335
|
+
inputValue:
|
336
|
+
normalizeValue(this.props.value, this.props.format)?.format(
|
337
|
+
this.props.inputFormat
|
338
|
+
) || ''
|
333
339
|
};
|
334
340
|
constructor(props: DateProps) {
|
335
341
|
super(props);
|
336
|
-
|
342
|
+
this.inputRef = React.createRef();
|
337
343
|
this.handleChange = this.handleChange.bind(this);
|
338
344
|
this.selectRannge = this.selectRannge.bind(this);
|
339
345
|
this.checkIsValidDate = this.checkIsValidDate.bind(this);
|
@@ -348,10 +354,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
348
354
|
this.getTarget = this.getTarget.bind(this);
|
349
355
|
this.handlePopOverClick = this.handlePopOverClick.bind(this);
|
350
356
|
this.renderShortCuts = this.renderShortCuts.bind(this);
|
357
|
+
this.inputChange = this.inputChange.bind(this);
|
351
358
|
}
|
352
359
|
|
353
360
|
dom: HTMLDivElement;
|
354
361
|
|
362
|
+
inputRef: React.RefObject<HTMLInputElement>;
|
363
|
+
|
355
364
|
componentDidUpdate(prevProps: DateProps) {
|
356
365
|
const props = this.props;
|
357
366
|
|
@@ -403,13 +412,17 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
403
412
|
}
|
404
413
|
|
405
414
|
open(fn?: () => void) {
|
406
|
-
this.props.disabled
|
407
|
-
|
408
|
-
|
409
|
-
|
410
|
-
|
411
|
-
|
412
|
-
|
415
|
+
if (this.props.disabled) {
|
416
|
+
return;
|
417
|
+
}
|
418
|
+
this.setState(
|
419
|
+
{
|
420
|
+
isOpened: true
|
421
|
+
},
|
422
|
+
fn
|
423
|
+
);
|
424
|
+
const input = this.inputRef.current;
|
425
|
+
input && input.focus();
|
413
426
|
}
|
414
427
|
|
415
428
|
close() {
|
@@ -423,6 +436,7 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
423
436
|
e.stopPropagation();
|
424
437
|
const onChange = this.props.onChange;
|
425
438
|
onChange('');
|
439
|
+
this.setState({inputValue: ''});
|
426
440
|
}
|
427
441
|
|
428
442
|
handleChange(value: moment.Moment) {
|
@@ -432,6 +446,7 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
432
446
|
minDate,
|
433
447
|
maxDate,
|
434
448
|
dateFormat,
|
449
|
+
inputFormat,
|
435
450
|
timeFormat,
|
436
451
|
closeOnSelect,
|
437
452
|
utc,
|
@@ -453,6 +468,31 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
453
468
|
if (closeOnSelect && dateFormat && !timeFormat) {
|
454
469
|
this.close();
|
455
470
|
}
|
471
|
+
|
472
|
+
this.setState({
|
473
|
+
inputValue: utc
|
474
|
+
? moment.utc(value).format(inputFormat)
|
475
|
+
: value.format(inputFormat)
|
476
|
+
});
|
477
|
+
}
|
478
|
+
|
479
|
+
// 手动输入日期
|
480
|
+
inputChange(e: React.ChangeEvent<HTMLInputElement>) {
|
481
|
+
const {onChange, inputFormat, format, utc} = this.props;
|
482
|
+
const value = e.currentTarget.value;
|
483
|
+
this.setState({inputValue: value});
|
484
|
+
if (value === '') {
|
485
|
+
onChange('');
|
486
|
+
} else {
|
487
|
+
const newDate = moment(value, inputFormat);
|
488
|
+
const dateValue = utc
|
489
|
+
? moment.utc(newDate).format(format)
|
490
|
+
: newDate.format(format);
|
491
|
+
// 小于 0 的日期丢弃
|
492
|
+
if (!dateValue.startsWith('-')) {
|
493
|
+
onChange(dateValue);
|
494
|
+
}
|
495
|
+
}
|
456
496
|
}
|
457
497
|
|
458
498
|
selectRannge(item: any) {
|
@@ -693,15 +733,13 @@ export class DatePicker extends React.Component<DateProps, DatePickerState> {
|
|
693
733
|
ref={this.domRef}
|
694
734
|
onClick={this.handleClick}
|
695
735
|
>
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
|
701
|
-
|
702
|
-
|
703
|
-
</span>
|
704
|
-
)}
|
736
|
+
<Input
|
737
|
+
onChange={this.inputChange}
|
738
|
+
ref={this.inputRef}
|
739
|
+
placeholder={__(placeholder)}
|
740
|
+
autoComplete="off"
|
741
|
+
value={this.state.inputValue}
|
742
|
+
/>
|
705
743
|
|
706
744
|
{clearable && !disabled && normalizeValue(value, format) ? (
|
707
745
|
<a className={cx(`DatePicker-clear`)} onClick={this.clearValue}>
|
@@ -74,19 +74,15 @@ export class Progress extends React.Component<ProgressProps, Object> {
|
|
74
74
|
const isLineType = type === 'line';
|
75
75
|
const prefixCls = isLineType ? 'Progress-line' : 'Progress-circle';
|
76
76
|
|
77
|
-
let viewValue: React.ReactNode
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
77
|
+
let viewValue: React.ReactNode;
|
78
|
+
if (typeof value !== 'number') {
|
79
|
+
viewValue = <span className="text-muted">{placeholder}</span>;
|
80
|
+
} else if (type === 'line') {
|
81
|
+
const style: any = {};
|
82
|
+
strokeWidth && (style.height = strokeWidth);
|
82
83
|
viewValue = [
|
83
|
-
<div
|
84
|
-
|
85
|
-
className={cx(prefixCls, progressClassName, {
|
86
|
-
[`${prefixCls}-no-label`]: !showLabel
|
87
|
-
})}
|
88
|
-
>
|
89
|
-
<div className={cx(`${prefixCls}-inter`)}>
|
84
|
+
<div key="progress" className={cx(prefixCls, progressClassName)}>
|
85
|
+
<div className={cx(`${prefixCls}-inter`)} style={style}>
|
90
86
|
<div
|
91
87
|
className={cx(
|
92
88
|
`${prefixCls}-bar`,
|
package/src/components/Tabs.tsx
CHANGED
@@ -16,6 +16,7 @@ import {Icon} from './icons';
|
|
16
16
|
import debounce from 'lodash/debounce';
|
17
17
|
import {findDOMNode} from 'react-dom';
|
18
18
|
import TooltipWrapper, {TooltipObject, Trigger} from './TooltipWrapper';
|
19
|
+
import {resizeSensor} from '../utils/resize-sensor';
|
19
20
|
|
20
21
|
import Sortable from 'sortablejs';
|
21
22
|
|
@@ -26,7 +27,7 @@ const transitionStyles: {
|
|
26
27
|
[ENTERED]: 'in'
|
27
28
|
};
|
28
29
|
|
29
|
-
export type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong';
|
30
|
+
export type TabsMode = '' | 'line' | 'card' | 'radio' | 'vertical' | 'chrome' | 'simple' | 'strong' | 'tiled' |'sidebar';
|
30
31
|
|
31
32
|
export interface TabProps extends ThemeProps {
|
32
33
|
title?: string | React.ReactNode; // 标题
|
@@ -114,6 +115,8 @@ export interface TabsProps extends ThemeProps {
|
|
114
115
|
scrollable?: boolean; // 属性废弃,为了兼容暂且保留
|
115
116
|
editable?: boolean;
|
116
117
|
onEdit?: (index: number, text: string) => void;
|
118
|
+
sidePosition?: 'left' | 'right';
|
119
|
+
addBtnText?: string;
|
117
120
|
}
|
118
121
|
|
119
122
|
export interface IDragInfo {
|
@@ -122,21 +125,25 @@ export interface IDragInfo {
|
|
122
125
|
|
123
126
|
export class Tabs extends React.Component<TabsProps, any> {
|
124
127
|
static defaultProps: Pick<TabsProps,
|
125
|
-
'mode' | 'contentClassName' | 'showTip' | 'showTipClassName'
|
128
|
+
'mode' | 'contentClassName' | 'showTip' | 'showTipClassName' | 'sidePosition' | 'addBtnText'
|
126
129
|
> = {
|
127
130
|
mode: '',
|
128
131
|
contentClassName: '',
|
129
132
|
showTip: false,
|
130
|
-
showTipClassName: ''
|
133
|
+
showTipClassName: '',
|
134
|
+
sidePosition: 'left',
|
135
|
+
addBtnText: '增加'
|
131
136
|
};
|
132
137
|
|
133
138
|
static Tab = Tab;
|
134
|
-
navMain = React.createRef<
|
139
|
+
navMain = React.createRef<HTMLUListElement>(); // HTMLDivElement
|
135
140
|
scroll: boolean = false;
|
136
141
|
sortable?: Sortable;
|
137
142
|
dragTip?: HTMLElement;
|
138
143
|
id: string = guid();
|
139
144
|
draging: boolean = false;
|
145
|
+
toDispose: Array<() => void> = [];
|
146
|
+
resizeDom = React.createRef<HTMLDivElement>();
|
140
147
|
|
141
148
|
checkArrowStatus = debounce(
|
142
149
|
() => {
|
@@ -200,6 +207,12 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
200
207
|
});
|
201
208
|
this.checkArrowStatus();
|
202
209
|
}
|
210
|
+
|
211
|
+
this.resizeDom?.current && this.toDispose.push(
|
212
|
+
resizeSensor(this.resizeDom.current as HTMLElement, () =>
|
213
|
+
this.computedWidth()
|
214
|
+
)
|
215
|
+
);
|
203
216
|
}
|
204
217
|
|
205
218
|
componentDidUpdate() {
|
@@ -212,6 +225,8 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
212
225
|
|
213
226
|
componentWillUnmount() {
|
214
227
|
this.checkArrowStatus.cancel();
|
228
|
+
this.toDispose.forEach(fn => fn());
|
229
|
+
this.toDispose = [];
|
215
230
|
}
|
216
231
|
|
217
232
|
/**
|
@@ -220,7 +235,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
220
235
|
computedWidth() {
|
221
236
|
const {mode: dMode, tabsMode} = this.props;
|
222
237
|
const mode = tabsMode || dMode;
|
223
|
-
if (
|
238
|
+
if (['vertical', 'sidebar'].includes(mode)) {
|
224
239
|
return;
|
225
240
|
}
|
226
241
|
|
@@ -246,7 +261,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
246
261
|
const {mode: dMode, tabsMode} = this.props;
|
247
262
|
const {isOverflow} = this.state;
|
248
263
|
const mode = tabsMode || dMode;
|
249
|
-
if (
|
264
|
+
if (['vertical', 'sidebar'].includes(mode) || !isOverflow) {
|
250
265
|
return;
|
251
266
|
}
|
252
267
|
const {activeKey, children} = this.props;
|
@@ -254,7 +269,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
254
269
|
const currentIndex = (children as any[])?.findIndex(
|
255
270
|
(item: any) => item.props.eventKey === currentKey
|
256
271
|
);
|
257
|
-
const li = this.navMain.current?.children
|
272
|
+
const li = this.navMain.current?.children || [];
|
258
273
|
const currentLi = li[currentIndex] as HTMLElement;
|
259
274
|
const liOffsetLeft = currentLi?.offsetLeft;
|
260
275
|
const liClientWidth = currentLi?.clientWidth;
|
@@ -569,7 +584,7 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
569
584
|
renderArrow(type: 'left' | 'right') {
|
570
585
|
const {mode: dMode, tabsMode} = this.props;
|
571
586
|
const mode = tabsMode || dMode;
|
572
|
-
if (
|
587
|
+
if (['vertical', 'sidebar'].includes(mode)) {
|
573
588
|
return;
|
574
589
|
}
|
575
590
|
const {classnames: cx} = this.props;
|
@@ -607,7 +622,9 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
607
622
|
toolbar,
|
608
623
|
linksClassName,
|
609
624
|
addable,
|
610
|
-
draggable
|
625
|
+
draggable,
|
626
|
+
sidePosition,
|
627
|
+
addBtnText
|
611
628
|
} = this.props;
|
612
629
|
|
613
630
|
const {isOverflow} = this.state;
|
@@ -617,19 +634,35 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
617
634
|
|
618
635
|
const mode = tabsMode || dMode;
|
619
636
|
|
637
|
+
const toolButtons = (
|
638
|
+
<>
|
639
|
+
{addable && (
|
640
|
+
<div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>
|
641
|
+
<Icon icon="plus" className={cx('Tabs-addable-icon')} />
|
642
|
+
{addBtnText}
|
643
|
+
</div>
|
644
|
+
)}
|
645
|
+
{toolbar}
|
646
|
+
</>
|
647
|
+
);
|
648
|
+
|
620
649
|
return (
|
621
650
|
<div
|
622
651
|
className={cx(
|
623
652
|
`Tabs`,
|
624
653
|
{
|
625
|
-
[`Tabs--${mode}`]: mode
|
654
|
+
[`Tabs--${mode}`]: mode,
|
655
|
+
[`sidebar--${sidePosition}`]: mode === 'sidebar'
|
626
656
|
},
|
627
657
|
className
|
628
658
|
)}
|
629
659
|
>
|
630
660
|
{
|
631
|
-
!['vertical', 'chrome'].includes(mode) ? (
|
632
|
-
<div
|
661
|
+
!['vertical', 'sidebar', 'chrome'].includes(mode) ? (
|
662
|
+
<div
|
663
|
+
className={cx('Tabs-linksContainer-wrapper', toolbar && 'Tabs-linksContainer-wrapper--toolbar')}
|
664
|
+
ref={this.resizeDom}
|
665
|
+
>
|
633
666
|
<div
|
634
667
|
className={cx(
|
635
668
|
'Tabs-linksContainer',
|
@@ -637,22 +670,19 @@ export class Tabs extends React.Component<TabsProps, any> {
|
|
637
670
|
)}
|
638
671
|
>
|
639
672
|
{this.renderArrow('left')}
|
640
|
-
<div className={cx('Tabs-linksContainer-main')}
|
641
|
-
<ul className={cx('Tabs-links', linksClassName)} role="tablist">
|
673
|
+
<div className={cx('Tabs-linksContainer-main')}>
|
674
|
+
<ul className={cx('Tabs-links', linksClassName)} role="tablist" ref={this.navMain}>
|
642
675
|
{children.map((tab, index) => this.renderNav(tab, index))}
|
643
676
|
{additionBtns}
|
644
|
-
{
|
677
|
+
{
|
678
|
+
!isOverflow && toolButtons
|
679
|
+
}
|
645
680
|
</ul>
|
646
681
|
</div>
|
647
682
|
{this.renderArrow('right')}
|
648
683
|
</div>
|
649
684
|
{
|
650
|
-
|
651
|
-
<div className={cx('Tabs-addable')} onClick={() => this.handleAddBtn()}>
|
652
|
-
<Icon icon="plus" className={cx('Tabs-addable-icon')} />
|
653
|
-
增加
|
654
|
-
</div>
|
655
|
-
)
|
685
|
+
isOverflow && toolButtons
|
656
686
|
}
|
657
687
|
</div>
|
658
688
|
) : (
|
@@ -33,6 +33,7 @@ export interface TooltipWrapperProps {
|
|
33
33
|
delay: number;
|
34
34
|
theme?: string;
|
35
35
|
tooltipClassName?: string;
|
36
|
+
style?: React.CSSProperties;
|
36
37
|
}
|
37
38
|
|
38
39
|
interface TooltipWrapperState {
|
@@ -167,7 +168,8 @@ export class TooltipWrapper extends React.Component<
|
|
167
168
|
container,
|
168
169
|
trigger,
|
169
170
|
rootClose,
|
170
|
-
tooltipClassName
|
171
|
+
tooltipClassName,
|
172
|
+
style
|
171
173
|
} = this.props;
|
172
174
|
|
173
175
|
const child = React.Children.only(children);
|
@@ -210,6 +212,7 @@ export class TooltipWrapper extends React.Component<
|
|
210
212
|
>
|
211
213
|
<Tooltip
|
212
214
|
title={typeof tooltip !== 'string' ? tooltip.title : undefined}
|
215
|
+
style={style}
|
213
216
|
className={tooltipClassName}
|
214
217
|
onMouseEnter={~triggers.indexOf('hover') && this.handleMouseOver}
|
215
218
|
onMouseLeave={~triggers.indexOf('hover') && this.handleMouseOut}
|
@@ -161,18 +161,19 @@ class BaseDatePicker extends React.Component<
|
|
161
161
|
updatedState = this.getStateFromProps(props);
|
162
162
|
}
|
163
163
|
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
}
|
164
|
+
// open 是外部控制了
|
165
|
+
// if (updatedState.open === undefined) {
|
166
|
+
// if (typeof props.open !== 'undefined') {
|
167
|
+
// updatedState.open = props.open;
|
168
|
+
// } else if (
|
169
|
+
// prevProps.closeOnSelect &&
|
170
|
+
// this.state.currentView !== viewModes.TIME
|
171
|
+
// ) {
|
172
|
+
// updatedState.open = false;
|
173
|
+
// } else {
|
174
|
+
// updatedState.open = this.state.open;
|
175
|
+
// }
|
176
|
+
// }
|
176
177
|
|
177
178
|
if (props.viewMode !== prevProps.viewMode) {
|
178
179
|
updatedState.currentView = props.viewMode;
|
@@ -236,6 +237,10 @@ class BaseDatePicker extends React.Component<
|
|
236
237
|
updatedState.viewDate = moment(props.viewDate);
|
237
238
|
}
|
238
239
|
|
240
|
+
if (Object.keys(updatedState).length) {
|
241
|
+
this.setState(updatedState);
|
242
|
+
}
|
243
|
+
|
239
244
|
this.checkTZ(props);
|
240
245
|
}
|
241
246
|
|
@@ -10,7 +10,7 @@ import {FormulaPlugin, editorFactory} from './plugin';
|
|
10
10
|
import FuncList from './FuncList';
|
11
11
|
import {VariableList} from './VariableList';
|
12
12
|
import CodeMirrorEditor from '../CodeMirror';
|
13
|
-
import {autobind} from '../../utils/helper';
|
13
|
+
import {autobind, eachTree} from '../../utils/helper';
|
14
14
|
import {themeable, ThemeProps} from '../../theme';
|
15
15
|
import {localeable, LocaleProps} from '../../locale';
|
16
16
|
|
@@ -133,8 +133,39 @@ export class FormulaEditor extends React.Component<
|
|
133
133
|
variables: Array<VariableItem>,
|
134
134
|
functions: Array<FuncGroup>
|
135
135
|
) {
|
136
|
-
|
137
|
-
|
136
|
+
if (!Array.isArray(variables) || !variables.length || !value) {
|
137
|
+
return;
|
138
|
+
}
|
139
|
+
|
140
|
+
const varMap: {
|
141
|
+
[propname: string]: string;
|
142
|
+
} = {};
|
143
|
+
|
144
|
+
eachTree(
|
145
|
+
variables,
|
146
|
+
item => item.value && (varMap[item.value] = item.label)
|
147
|
+
);
|
148
|
+
const vars = Object.keys(varMap).sort((a, b) => b.length - a.length);
|
149
|
+
let content = value || '';
|
150
|
+
|
151
|
+
// 标记方法调用
|
152
|
+
content = content.replace(/([A-Z]+)\s*\(/g, (_, func, pos) => {
|
153
|
+
return _?.replace(func, `<span class="c-func">${func}</span>`);
|
154
|
+
});
|
155
|
+
|
156
|
+
vars.forEach(v => {
|
157
|
+
let from = 0;
|
158
|
+
let idx = -1;
|
159
|
+
while (~(idx = content.indexOf(v, from))) {
|
160
|
+
content = content.replace(
|
161
|
+
v,
|
162
|
+
`<span class="c-field">${varMap[v]}</span>`
|
163
|
+
);
|
164
|
+
from = idx + v.length;
|
165
|
+
}
|
166
|
+
});
|
167
|
+
|
168
|
+
return {html: content};
|
138
169
|
}
|
139
170
|
|
140
171
|
componentWillUnmount() {
|