amis 1.10.0 → 1.10.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 +1 -1
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +4 -4
- package/lib/SchemaRenderer.js.map +1 -1
- package/lib/Scoped.js +1 -1
- package/lib/Scoped.js.map +1 -1
- package/lib/WithRootStore.js +1 -1
- package/lib/WithRootStore.js.map +1 -1
- package/lib/WithStore.js +1 -1
- package/lib/WithStore.js.map +1 -1
- package/lib/actions/AjaxAction.js +1 -1
- package/lib/actions/AjaxAction.js.map +1 -1
- 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.d.ts +10 -10
- package/lib/components/Alert2.js +2 -2
- package/lib/components/Alert2.js.map +1 -1
- 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 +10 -10
- 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.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 +10 -4
- package/lib/components/Checkbox.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.js +3 -3
- package/lib/components/DatePicker.js.map +1 -1
- package/lib/components/DateRangePicker.js +14 -14
- 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 +10 -10
- 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 +3 -3
- 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 +5 -5
- package/lib/components/Progress.js.map +1 -1
- package/lib/components/PullRefresh.js +2 -2
- package/lib/components/PullRefresh.js.map +1 -1
- package/lib/components/Radios.js +2 -2
- package/lib/components/Radios.js.map +1 -1
- package/lib/components/Range.js +9 -3
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Rating.js +1 -1
- package/lib/components/Rating.js.map +1 -1
- package/lib/components/ResultBox.d.ts +41 -40
- package/lib/components/ResultBox.js +26 -22
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultList.js +5 -5
- package/lib/components/ResultList.js.map +1 -1
- package/lib/components/ResultTreeList.js +1 -1
- package/lib/components/ResultTreeList.js.map +1 -1
- package/lib/components/SearchBox.d.ts +40 -40
- package/lib/components/Select.js +14 -10
- package/lib/components/Select.js.map +2 -2
- 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.d.ts +1 -0
- package/lib/components/Steps.js +10 -8
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Switch.js +2 -2
- package/lib/components/Switch.js.map +1 -1
- package/lib/components/Tabs.js +5 -5
- package/lib/components/Tabs.js.map +1 -1
- package/lib/components/Tag.js +3 -3
- package/lib/components/Tag.js.map +1 -1
- package/lib/components/Textarea.js +2 -2
- package/lib/components/Textarea.js.map +1 -1
- 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/TransferSearch.js +1 -1
- package/lib/components/TransferSearch.js.map +1 -1
- 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/UserSelect.js +4 -4
- package/lib/components/UserSelect.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/DaysView.js +2 -2
- 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 +2 -2
- 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/condition-builder/index.d.ts +12 -2
- package/lib/components/condition-builder/index.js +40 -4
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.js +5 -5
- package/lib/components/formula/Editor.js.map +1 -1
- package/lib/components/formula/Picker.d.ts +0 -1
- package/lib/components/formula/Picker.js +8 -17
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.js +7 -7
- 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 +1 -1
- package/lib/components/icons.js.map +1 -1
- package/lib/components/schema-editor/SchemaVariableList.js +1 -1
- package/lib/components/schema-editor/SchemaVariableList.js.map +1 -1
- package/lib/components/table/Cell.js +2 -2
- package/lib/components/table/Cell.js.map +1 -1
- package/lib/components/table/HeadCellFilter.js +1 -1
- package/lib/components/table/HeadCellFilter.js.map +1 -1
- package/lib/components/table/HeadCellSelect.js +1 -1
- package/lib/components/table/HeadCellSelect.js.map +1 -1
- package/lib/components/table/index.d.ts +9 -7
- package/lib/components/table/index.js +111 -111
- package/lib/components/table/index.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 +3 -3
- package/lib/factory.js.map +1 -1
- 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/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/CRUD2.d.ts +213 -0
- package/lib/renderers/CRUD2.js +724 -0
- package/lib/renderers/CRUD2.js.map +13 -0
- package/lib/renderers/Card.js +6 -6
- package/lib/renderers/Card.js.map +1 -1
- package/lib/renderers/Card2.d.ts +1 -1
- package/lib/renderers/Card2.js +1 -2
- package/lib/renderers/Card2.js.map +2 -2
- package/lib/renderers/Cards.d.ts +3 -0
- package/lib/renderers/Cards.js +62 -15
- package/lib/renderers/Cards.js.map +2 -2
- 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.js +5 -5
- package/lib/renderers/Dialog.js.map +1 -1
- package/lib/renderers/Divider.js +1 -1
- package/lib/renderers/Divider.js.map +1 -1
- package/lib/renderers/Drawer.js +4 -4
- package/lib/renderers/Drawer.js.map +1 -1
- package/lib/renderers/DropDownButton.js +5 -5
- package/lib/renderers/DropDownButton.js.map +1 -1
- 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/Combo.js +8 -8
- package/lib/renderers/Form/Combo.js.map +1 -1
- package/lib/renderers/Form/ConditionBuilder.d.ts +10 -0
- package/lib/renderers/Form/ConditionBuilder.js +6 -2
- package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +66 -20
- package/lib/renderers/Form/DiffEditor.js +2 -2
- package/lib/renderers/Form/DiffEditor.js.map +1 -1
- package/lib/renderers/Form/Editor.d.ts +66 -20
- 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/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.js +1 -1
- 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.d.ts +1 -1
- 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 +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.js +2 -2
- package/lib/renderers/Form/InputRange.js.map +1 -1
- 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 +2 -2
- package/lib/renderers/Form/InputTable.js.map +1 -1
- package/lib/renderers/Form/InputTag.js +1 -1
- package/lib/renderers/Form/InputTag.js.map +1 -1
- package/lib/renderers/Form/InputText.js +12 -12
- 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 +4 -0
- package/lib/renderers/Form/Item.js +8 -8
- package/lib/renderers/Form/Item.js.map +2 -2
- 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 +3 -3
- 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/Transfer.js +3 -3
- package/lib/renderers/Form/Transfer.js.map +1 -1
- package/lib/renderers/Form/TreeSelect.d.ts +0 -1
- package/lib/renderers/Form/TreeSelect.js +5 -13
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +11 -7
- package/lib/renderers/Form/index.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.d.ts +1 -1
- package/lib/renderers/Icon.js +16 -11
- package/lib/renderers/Icon.js.map +2 -2
- 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 +7 -7
- package/lib/renderers/Page.js.map +1 -1
- 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/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/Remark.js +1 -1
- package/lib/renderers/Remark.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 +4 -4
- package/lib/renderers/Table/TableRow.js.map +1 -1
- package/lib/renderers/Table/index.js +32 -32
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js +1 -1
- package/lib/renderers/Table-v2/HeadCellSearchDropdown.js.map +1 -1
- package/lib/renderers/Table-v2/index.d.ts +8 -5
- package/lib/renderers/Table-v2/index.js +88 -59
- package/lib/renderers/Table-v2/index.js.map +2 -2
- package/lib/renderers/TableView.js +4 -4
- package/lib/renderers/TableView.js.map +1 -1
- package/lib/renderers/Tabs.js +4 -4
- package/lib/renderers/Tabs.js.map +1 -1
- package/lib/renderers/Tasks.js +1 -1
- package/lib/renderers/Tasks.js.map +1 -1
- 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.js +7 -7
- package/lib/renderers/Wizard.js.map +1 -1
- 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/combo.d.ts +72 -22
- package/lib/store/crud.d.ts +2 -0
- package/lib/store/crud.js +22 -2
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +30 -9
- package/lib/store/form.js +30 -12
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +6 -8
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/list.d.ts +2 -0
- package/lib/store/list.js +8 -0
- package/lib/store/list.js.map +2 -2
- package/lib/store/node.js +2 -2
- package/lib/store/node.js.map +1 -1
- package/lib/store/table-v2.js +7 -7
- package/lib/store/table-v2.js.map +1 -1
- package/lib/store/table.d.ts +60 -18
- package/lib/store/table.js +6 -6
- package/lib/store/table.js.map +1 -1
- package/lib/theme.js +1 -1
- package/lib/theme.js.map +1 -1
- package/lib/themes/ang-ie11.css +187 -30
- package/lib/themes/ang.css +190 -31
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +182 -25
- package/lib/themes/antd.css +190 -31
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +189 -32
- package/lib/themes/cxd.css +192 -33
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +184 -27
- package/lib/themes/dark.css +190 -31
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +189 -32
- package/lib/themes/default.css +192 -33
- 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/ColorScale.js +4 -4
- package/lib/utils/ColorScale.js.map +1 -1
- package/lib/utils/api.js +7 -7
- 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/columnsSplit.js +2 -2
- package/lib/utils/columnsSplit.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/formula.js +1 -1
- package/lib/utils/formula.js.map +1 -1
- package/lib/utils/helper.js +6 -6
- package/lib/utils/helper.js.map +1 -1
- package/lib/utils/icon.js +7 -0
- package/lib/utils/icon.js.map +2 -2
- 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 +231 -365
- package/scss/_properties.scss +5 -3
- package/scss/components/_condition-builder.scss +11 -0
- package/scss/components/_crud.scss +8 -3
- package/scss/components/_crud2.scss +148 -0
- package/scss/components/_formula.scss +2 -3
- package/scss/components/_result-box.scss +25 -7
- package/scss/components/_steps.scss +21 -26
- package/scss/components/_table-v2.scss +1 -3
- package/scss/components/form/_checks.scss +26 -16
- package/scss/components/form/_select.scss +4 -0
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +2 -2
- package/sdk/ang-ie11.css +228 -32
- package/sdk/ang.css +231 -33
- package/sdk/antd-ie11.css +223 -27
- package/sdk/antd.css +231 -33
- 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 +230 -34
- package/sdk/cxd.css +233 -35
- package/sdk/dark-ie11.css +225 -29
- package/sdk/dark.css +231 -33
- 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 +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +230 -34
- package/sdk/sdk.css +233 -35
- package/sdk/sdk.js +1663 -1775
- 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 +1 -0
- package/src/components/Checkbox.tsx +10 -3
- package/src/components/Range.tsx +14 -7
- package/src/components/ResultBox.tsx +65 -54
- package/src/components/Select.tsx +10 -7
- package/src/components/Steps.tsx +60 -18
- package/src/components/condition-builder/index.tsx +107 -8
- package/src/components/formula/Picker.tsx +27 -16
- package/src/components/table/index.tsx +190 -193
- package/src/index.tsx +1 -0
- package/src/renderers/ButtonGroup.tsx +2 -2
- package/src/renderers/CRUD2.tsx +1213 -0
- package/src/renderers/Card2.tsx +2 -3
- package/src/renderers/Cards.tsx +55 -10
- package/src/renderers/Form/ConditionBuilder.tsx +19 -2
- package/src/renderers/Form/InputFormula.tsx +1 -1
- package/src/renderers/Form/InputImage.tsx +7 -5
- package/src/renderers/Form/Item.tsx +11 -1
- package/src/renderers/Form/TreeSelect.tsx +14 -16
- package/src/renderers/Form/index.tsx +7 -2
- package/src/renderers/Icon.tsx +8 -1
- package/src/renderers/Table/index.tsx +5 -5
- package/src/renderers/Table-v2/index.tsx +92 -72
- package/src/store/crud.ts +23 -1
- package/src/store/form.ts +31 -24
- package/src/store/formItem.ts +65 -52
- package/src/store/list.ts +10 -0
- package/src/types.ts +2 -1
- package/src/utils/icon.tsx +9 -0
@@ -6,10 +6,13 @@ var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
|
6
6
|
var theme_1 = require("../../theme");
|
7
7
|
var locale_1 = require("../../locale");
|
8
8
|
var uncontrollable_1 = require("uncontrollable");
|
9
|
+
var types_1 = require("./types");
|
9
10
|
var Group_1 = (0, tslib_1.__importDefault)(require("./Group"));
|
10
11
|
var config_1 = (0, tslib_1.__importDefault)(require("./config"));
|
11
12
|
var helper_1 = require("../../utils/helper");
|
12
13
|
var Animation_1 = (0, tslib_1.__importDefault)(require("../../utils/Animation"));
|
14
|
+
var PickerContainer_1 = require("../PickerContainer");
|
15
|
+
var ResultBox_1 = require("../ResultBox");
|
13
16
|
var QueryBuilder = /** @class */ (function (_super) {
|
14
17
|
(0, tslib_1.__extends)(QueryBuilder, _super);
|
15
18
|
function QueryBuilder() {
|
@@ -137,8 +140,18 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
137
140
|
(_a = this.ghost.parentElement) === null || _a === void 0 ? void 0 : _a.removeChild(this.ghost);
|
138
141
|
delete this.ghost;
|
139
142
|
};
|
140
|
-
QueryBuilder.prototype.
|
141
|
-
|
143
|
+
QueryBuilder.prototype.handleClear = function () {
|
144
|
+
this.props.onChange();
|
145
|
+
};
|
146
|
+
QueryBuilder.prototype.highlightValue = function (value) {
|
147
|
+
var cx = this.props.classnames;
|
148
|
+
var html = {
|
149
|
+
__html: "<span class=\"label label-info\">\u5DF2\u914D\u7F6E</span>"
|
150
|
+
};
|
151
|
+
return (react_1.default.createElement("div", { className: cx('CPGroup-result'), dangerouslySetInnerHTML: html }));
|
152
|
+
};
|
153
|
+
QueryBuilder.prototype.renderBody = function (onChange, value, popOverContainer) {
|
154
|
+
var _a = this.props, cx = _a.classnames, fieldClassName = _a.fieldClassName, fields = _a.fields, funcs = _a.funcs, showNot = _a.showNot, showANDOR = _a.showANDOR, data = _a.data, disabled = _a.disabled, searchable = _a.searchable, builderMode = _a.builderMode, formula = _a.formula, renderEtrValue = _a.renderEtrValue;
|
142
155
|
var normalizedValue = Array.isArray(value === null || value === void 0 ? void 0 : value.children)
|
143
156
|
? (0, tslib_1.__assign)((0, tslib_1.__assign)({}, value), { children: (0, helper_1.mapTree)(value.children, function (value) {
|
144
157
|
if (value.id) {
|
@@ -146,9 +159,20 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
146
159
|
}
|
147
160
|
return (0, tslib_1.__assign)((0, tslib_1.__assign)({}, value), { id: (0, helper_1.guid)() });
|
148
161
|
}) }) : value;
|
149
|
-
return (react_1.default.createElement(Group_1.default, { builderMode: builderMode, config: this.config, funcs: funcs || this.config.funcs, fields: fields || this.config.fields, value: normalizedValue, onChange: onChange, classnames: cx, fieldClassName: fieldClassName, removeable: false, onDragStart: this.handleDragStart, showANDOR: showANDOR, showNot: showNot, data: data, disabled: disabled, searchable: searchable, formula: formula,
|
162
|
+
return (react_1.default.createElement(Group_1.default, { builderMode: builderMode, config: this.config, funcs: funcs || this.config.funcs, fields: fields || this.config.fields, value: normalizedValue, onChange: onChange, classnames: cx, fieldClassName: fieldClassName, removeable: false, onDragStart: this.handleDragStart, showANDOR: showANDOR, showNot: showNot, data: data, disabled: disabled, searchable: searchable, formula: formula, renderEtrValue: renderEtrValue, popOverContainer: popOverContainer }));
|
163
|
+
};
|
164
|
+
QueryBuilder.prototype.render = function () {
|
165
|
+
var _this = this;
|
166
|
+
var _a = this.props, cx = _a.classnames, placeholder = _a.placeholder, _b = _a.embed, embed = _b === void 0 ? true : _b, pickerIcon = _a.pickerIcon, locale = _a.locale, translate = _a.translate, classPrefix = _a.classPrefix, onFinalChange = _a.onChange, value = _a.value, title = _a.title, disabled = _a.disabled, popOverContainer = _a.popOverContainer;
|
167
|
+
if (embed) {
|
168
|
+
return this.renderBody(onFinalChange, value, popOverContainer);
|
169
|
+
}
|
170
|
+
return (react_1.default.createElement(PickerContainer_1.PickerContainer, { classnames: cx, classPrefix: classPrefix, translate: translate, locale: locale, onConfirm: onFinalChange, value: value, size: 'md', popOverContainer: popOverContainer, bodyRender: function (params) { return _this.renderBody(params.onChange, params.value); }, title: title }, function (_a) {
|
171
|
+
var onClick = _a.onClick, isOpened = _a.isOpened;
|
172
|
+
return (react_1.default.createElement(ResultBox_1.ResultBox, { classnames: cx, classPrefix: classPrefix, translate: translate, locale: locale, className: cx('CBGroup-result', { 'is-active': isOpened }), allowInput: false, clearable: true, result: value, itemRender: _this.highlightValue, onResultChange: helper_1.noop, onClear: _this.handleClear, disabled: disabled, borderMode: 'full', placeholder: placeholder, actions: pickerIcon && (react_1.default.createElement("span", { className: cx('CBPicker-trigger'), onClick: onClick }, pickerIcon)), onResultClick: pickerIcon ? undefined : onClick }));
|
173
|
+
}));
|
150
174
|
};
|
151
|
-
var _a, _b, _c;
|
175
|
+
var _a, _b, _c, _d;
|
152
176
|
(0, tslib_1.__decorate)([
|
153
177
|
helper_1.autobind,
|
154
178
|
(0, tslib_1.__metadata)("design:type", Function),
|
@@ -173,6 +197,18 @@ var QueryBuilder = /** @class */ (function (_super) {
|
|
173
197
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_c = typeof Event !== "undefined" && Event) === "function" ? _c : Object]),
|
174
198
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
175
199
|
], QueryBuilder.prototype, "handleDragEnd", null);
|
200
|
+
(0, tslib_1.__decorate)([
|
201
|
+
helper_1.autobind,
|
202
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
203
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
204
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
205
|
+
], QueryBuilder.prototype, "handleClear", null);
|
206
|
+
(0, tslib_1.__decorate)([
|
207
|
+
helper_1.autobind,
|
208
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
209
|
+
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_d = typeof types_1.ConditionGroupValue !== "undefined" && types_1.ConditionGroupValue) === "function" ? _d : Object]),
|
210
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
211
|
+
], QueryBuilder.prototype, "highlightValue", null);
|
176
212
|
return QueryBuilder;
|
177
213
|
}(react_1.default.Component));
|
178
214
|
exports.QueryBuilder = QueryBuilder;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/condition-builder/index.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,qCAAkD;AAClD,uCAAqD;AACrD,iDAA8C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {ThemeProps, themeable} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {uncontrollable} from 'uncontrollable';\nimport {Fields, ConditionGroupValue, Funcs} from './types';\nimport ConditionGroup from './Group';\nimport defaultConfig, {Config} from './config';\nimport {\n autobind,\n findTreeIndex,\n spliceTree,\n getTree,\n mapTree,\n guid\n} from '../../utils/helper';\nimport animtion from '../../utils/Animation';\nimport {FormulaPickerProps} from '../formula/Picker';\n\nexport interface ConditionBuilderProps extends ThemeProps, LocaleProps {\n builderMode?: 'simple' | 'full'; // 简单模式|完整模式\n fields: Fields;\n funcs?: Funcs;\n showNot?: boolean;\n showANDOR?: boolean;\n value?: ConditionGroupValue;\n data?: any;\n onChange: (value
|
11
|
+
"import React from 'react';\nimport {ThemeProps, themeable} from '../../theme';\nimport {LocaleProps, localeable} from '../../locale';\nimport {uncontrollable} from 'uncontrollable';\nimport {Fields, ConditionGroupValue, Funcs} from './types';\nimport ConditionGroup from './Group';\nimport defaultConfig, {Config} from './config';\nimport {\n autobind,\n findTreeIndex,\n spliceTree,\n getTree,\n mapTree,\n guid,\n noop\n} from '../../utils/helper';\nimport animtion from '../../utils/Animation';\nimport {FormulaPickerProps} from '../formula/Picker';\nimport {PickerContainer} from '../PickerContainer';\nimport {ResultBox} from '../ResultBox';\nimport {Icon} from '../icons';\n\nexport interface ConditionBuilderProps extends ThemeProps, LocaleProps {\n builderMode?: 'simple' | 'full'; // 简单模式|完整模式\n embed?: boolean;\n pickerIcon?: JSX.Element;\n placeholder?: string;\n title?: string;\n fields: Fields;\n funcs?: Funcs;\n showNot?: boolean;\n showANDOR?: boolean;\n value?: ConditionGroupValue;\n data?: any;\n onChange: (value?: ConditionGroupValue) => void;\n config?: Config;\n disabled?: boolean;\n searchable?: boolean;\n fieldClassName?: string;\n formula?: FormulaPickerProps;\n popOverContainer?: any;\n renderEtrValue?: any;\n}\n\nexport interface ConditionBuilderState {\n tmpValue: ConditionGroupValue;\n}\n\nexport class QueryBuilder extends React.Component<\n ConditionBuilderProps,\n ConditionBuilderState\n> {\n config = {...defaultConfig, ...this.props.config};\n\n dragTarget?: HTMLElement;\n // dragNextSibling: Element | null;\n ghost?: HTMLElement;\n host: HTMLElement;\n lastX: number;\n lastY: number;\n lastMoveAt: number = 0;\n\n @autobind\n handleDragStart(e: React.DragEvent) {\n const target = e.currentTarget;\n const item = target.closest('[data-id]') as HTMLElement;\n this.dragTarget = item;\n // this.dragNextSibling = item.nextElementSibling;\n this.host = item.closest('[data-group-id]') as HTMLElement;\n\n const ghost = item.cloneNode(true) as HTMLElement;\n ghost.classList.add('is-ghost');\n this.ghost = ghost;\n\n e.dataTransfer.setDragImage(item.firstChild as HTMLElement, 0, 0);\n\n target.addEventListener('dragend', this.handleDragEnd);\n document.body.addEventListener('dragover', this.handleDragOver);\n document.body.addEventListener('drop', this.handleDragDrop);\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n // 应该是 chrome 的一个bug,如果你马上修改,会马上执行 dragend\n setTimeout(() => {\n item.classList.add('is-dragging');\n // item.parentElement!.insertBefore(\n // item,\n // item.parentElement!.firstElementChild\n // ); // 挪到第一个,主要是因为样式问题。\n }, 5);\n }\n\n @autobind\n handleDragOver(e: DragEvent) {\n e.preventDefault();\n const item = (e.target as HTMLElement).closest('[data-id]') as HTMLElement;\n\n const dx = e.clientX - this.lastX;\n const dy = e.clientY - this.lastY;\n const d = Math.max(Math.abs(dx), Math.abs(dy));\n const now = Date.now();\n\n // 没移动还是不要处理,免得晃动个不停。\n if (d < 5) {\n if (this.lastMoveAt === 0) {\n } else if (now - this.lastMoveAt > 500) {\n const host = (e.target as HTMLElement).closest(\n '[data-group-id]'\n ) as HTMLElement;\n\n if (host) {\n this.host = host;\n this.lastMoveAt = now;\n this.lastX = 0;\n this.lastY = 0;\n this.handleDragOver(e);\n return;\n }\n }\n return;\n }\n\n this.lastMoveAt = now;\n this.lastX = e.clientX;\n this.lastY = e.clientY;\n\n if (\n !item ||\n item.classList.contains('is-ghost') ||\n item.closest('[data-group-id]') !== this.host\n ) {\n return;\n }\n\n const container = item.parentElement!;\n const children = [].slice.apply(container!.children);\n\n const idx = children.indexOf(item);\n\n if (this.ghost!.parentElement !== container) {\n container.appendChild(this.ghost!);\n }\n\n const rect = item.getBoundingClientRect();\n const isAfter = dy > 0 && e.clientY > rect.top + rect.height / 2;\n const gIdx = isAfter ? idx : idx - 1;\n const cgIdx = children.indexOf(this.ghost);\n\n if (gIdx !== cgIdx) {\n animtion.capture(container);\n\n if (gIdx === children.length - 1) {\n container.appendChild(this.ghost!);\n } else {\n container.insertBefore(this.ghost!, children[gIdx + 1]);\n }\n\n animtion.animateAll();\n }\n }\n\n @autobind\n handleDragDrop() {\n const onChange = this.props.onChange;\n const fromId = this.dragTarget!.getAttribute('data-id')!;\n const toId = this.host.getAttribute('data-group-id')!;\n const children = [].slice.call(this.ghost!.parentElement!.children);\n const idx = children.indexOf(this.dragTarget);\n\n if (~idx) {\n children.splice(idx, 1);\n }\n\n const toIndex = children.indexOf(this.ghost);\n let value = this.props.value!;\n\n const indexes = findTreeIndex([value], item => item.id === fromId);\n\n if (indexes) {\n const origin = getTree([value], indexes.concat())!;\n [value] = spliceTree([value]!, indexes, 1);\n\n const indexes2 = findTreeIndex([value], item => item.id === toId);\n\n if (indexes2) {\n [value] = spliceTree([value]!, indexes2.concat(toIndex), 0, origin);\n onChange(value);\n }\n }\n }\n\n @autobind\n handleDragEnd(e: Event) {\n const target = e.target as HTMLElement;\n\n target.removeEventListener('dragend', this.handleDragEnd);\n document.body.removeEventListener('dragover', this.handleDragOver);\n document.body.removeEventListener('drop', this.handleDragDrop);\n\n this.dragTarget!.classList.remove('is-dragging');\n // if (this.dragNextSibling) {\n // this.dragTarget.parentElement!.insertBefore(\n // this.dragTarget,\n // this.dragNextSibling\n // );\n // } else {\n // this.dragTarget.parentElement!.appendChild(this.dragTarget);\n // }\n delete this.dragTarget;\n // delete this.dragNextSibling;\n this.ghost!.parentElement?.removeChild(this.ghost!);\n delete this.ghost;\n }\n\n @autobind\n handleClear() {\n this.props.onChange();\n }\n\n @autobind\n highlightValue(value: ConditionGroupValue) {\n const {classnames: cx} = this.props;\n const html = {\n __html: `<span class=\"label label-info\">已配置</span>`\n };\n\n return (\n <div className={cx('CPGroup-result')} dangerouslySetInnerHTML={html} />\n );\n }\n\n renderBody(\n onChange: (value: ConditionGroupValue) => void,\n value?: ConditionGroupValue,\n popOverContainer?: any\n ) {\n const {\n classnames: cx,\n fieldClassName,\n fields,\n funcs,\n showNot,\n showANDOR,\n data,\n disabled,\n searchable,\n builderMode,\n formula,\n renderEtrValue\n } = this.props;\n\n const normalizedValue = Array.isArray(value?.children)\n ? {\n ...value,\n children: mapTree(value!.children, (value: any) => {\n if (value.id) {\n return value;\n }\n\n return {\n ...value,\n id: guid()\n };\n })\n }\n : value;\n\n return (\n <ConditionGroup\n builderMode={builderMode}\n config={this.config}\n funcs={funcs || this.config.funcs}\n fields={fields || this.config.fields}\n value={normalizedValue as any}\n onChange={onChange}\n classnames={cx}\n fieldClassName={fieldClassName}\n removeable={false}\n onDragStart={this.handleDragStart}\n showANDOR={showANDOR}\n showNot={showNot}\n data={data}\n disabled={disabled}\n searchable={searchable}\n formula={formula}\n renderEtrValue={renderEtrValue}\n popOverContainer={popOverContainer}\n />\n );\n }\n\n render() {\n const {\n classnames: cx,\n placeholder,\n embed = true,\n pickerIcon,\n locale,\n translate,\n classPrefix,\n onChange: onFinalChange,\n value,\n title,\n disabled,\n popOverContainer\n } = this.props;\n\n if (embed) {\n return this.renderBody(onFinalChange, value, popOverContainer);\n }\n\n return (\n <PickerContainer\n classnames={cx}\n classPrefix={classPrefix}\n translate={translate}\n locale={locale}\n onConfirm={onFinalChange}\n value={value}\n size={'md'}\n popOverContainer={popOverContainer}\n bodyRender={(params: {\n value: ConditionGroupValue;\n onChange: (value: ConditionGroupValue) => void;\n }) => this.renderBody(params.onChange, params.value)}\n title={title}\n >\n {({onClick, isOpened}) => (\n <ResultBox\n classnames={cx}\n classPrefix={classPrefix}\n translate={translate}\n locale={locale}\n className={cx('CBGroup-result', {'is-active': isOpened})}\n allowInput={false}\n clearable={true}\n result={value}\n itemRender={this.highlightValue}\n onResultChange={noop}\n onClear={this.handleClear}\n disabled={disabled}\n borderMode={'full'}\n placeholder={placeholder}\n actions={\n pickerIcon && (\n <span className={cx('CBPicker-trigger')} onClick={onClick}>\n {pickerIcon}\n </span>\n )\n }\n onResultClick={pickerIcon ? undefined : onClick}\n ></ResultBox>\n )}\n </PickerContainer>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(QueryBuilder, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -61,14 +61,14 @@ var FormulaEditor = /** @class */ (function (_super) {
|
|
61
61
|
var html = '';
|
62
62
|
// 标记方法调用
|
63
63
|
html = content.replace(/([A-Z]+)\s*\(/g, function (_, func, pos) {
|
64
|
-
return _ === null || _ === void 0 ? void 0 : _.replace(func, "<span class=\"c-func\">"
|
64
|
+
return _ === null || _ === void 0 ? void 0 : _.replace(func, "<span class=\"c-func\">" + func + "</span>");
|
65
65
|
});
|
66
66
|
vars.forEach(function (v) {
|
67
67
|
var from = 0;
|
68
68
|
var idx = -1;
|
69
69
|
while (~(idx = content.indexOf(v, from))) {
|
70
|
-
var curNameEg = new RegExp("\\b"
|
71
|
-
html = html.replace(curNameEg, "<span class=\"c-field\">"
|
70
|
+
var curNameEg = new RegExp("\\b" + v + "\\b", 'g'); // 避免变量识别冲突,比如:name、me 被识别成 na「me」
|
71
|
+
html = html.replace(curNameEg, "<span class=\"c-field\">" + varMap[v] + "</span>");
|
72
72
|
from = idx + v.length;
|
73
73
|
}
|
74
74
|
});
|
@@ -112,7 +112,7 @@ var FormulaEditor = /** @class */ (function (_super) {
|
|
112
112
|
};
|
113
113
|
FormulaEditor.prototype.handleFunctionSelect = function (item) {
|
114
114
|
var _a;
|
115
|
-
(_a = this.editorPlugin) === null || _a === void 0 ? void 0 : _a.insertContent(""
|
115
|
+
(_a = this.editorPlugin) === null || _a === void 0 ? void 0 : _a.insertContent("" + item.name, 'func');
|
116
116
|
};
|
117
117
|
FormulaEditor.prototype.handleVariableSelect = function (item) {
|
118
118
|
var _a;
|
@@ -147,7 +147,7 @@ var FormulaEditor = /** @class */ (function (_super) {
|
|
147
147
|
react_1.default.createElement("section", { className: cx('FormulaEditor-settings') },
|
148
148
|
react_1.default.createElement("div", { className: cx('FormulaEditor-panel') },
|
149
149
|
variableMode !== 'tabs' ? (react_1.default.createElement("div", { className: cx('FormulaEditor-panel-header') }, __('FormulaEditor.variable'))) : null,
|
150
|
-
react_1.default.createElement("div", { className: cx('FormulaEditor-panel-body', variableMode && "FormulaEditor-panel-body--"
|
150
|
+
react_1.default.createElement("div", { className: cx('FormulaEditor-panel-body', variableMode && "FormulaEditor-panel-body--" + variableMode) },
|
151
151
|
react_1.default.createElement(VariableList_1.default, { classPrefix: classPrefix, className: cx('FormulaEditor-VariableList', 'FormulaEditor-VariableList-root', variableClassName), selectMode: variableMode, data: variables, onSelect: this.handleVariableSelect, selfVariableName: selfVariableName }))),
|
152
152
|
react_1.default.createElement(FuncList_1.default, { className: functionClassName, title: __('FormulaEditor.function'), data: functionList, onSelect: this.handleFunctionSelect }))));
|
153
153
|
};
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"/src/components/formula/Editor.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA;;GAEG;AACH,6DAA0B;AAC1B,iDAA8C;AAC9C,6CAAmC;AACnC,6CAA0C;AAE1C,mCAAsD;AACtD,qEAAkC;AAClC,6EAA0C;AAC1C,0EAA6C;AAC7C,6CAAsD;AACtD,qCAAkD;AAClD,uCAAqD;AACrD,kCAA+B;AAgF/B;IAAmC,8CAGlC;IAHD;QAAA,qEAmPC;QA/OC,WAAK,GAAiB;YACpB,OAAO,EAAE,KAAK;SACf,CAAC;;IA6OJ,CAAC;IA1OQ,mCAAqB,GAA5B,UACE,GAIE;QAEF,IAAM,KAAK,GAAqB,EAAE,CAAC;QAEnC,GAAG,CAAC,OAAO,CAAC,UAAA,IAAI;YACd,IAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,QAAQ,CAAC;YAC7C,IAAI,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,SAAS,KAAK,SAAS,EAA5B,CAA4B,CAAC,CAAC;YAC9D,IAAI,CAAC,MAAM,EAAE;gBACX,MAAM,GAAG;oBACP,SAAS,EAAE,SAAS;oBACpB,KAAK,EAAE,EAAE;iBACV,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;aACpB;YACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC;IACf,CAAC;IAOM,4BAAc,GAArB,UACE,KAAa,EACb,SAA8B,EAC9B,QAAwB;QAAxB,yBAAA,EAAA,eAAwB;QAExB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE;YAC5D,OAAO;SACR;QAED,IAAM,MAAM,GAER,EAAE,CAAC;QAEP,IAAA,iBAAQ,EAAC,SAAS,EAAE,UAAA,IAAI;YACtB,IAAI,IAAI,CAAC,KAAK,EAAE;gBACd,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC;gBACvB,MAAM,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;aAC1B;QACH,CAAC,CAAC,CAAC;QACH,IAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;aAC7B,MAAM,CAAC,UAAA,IAAI,IAAI,OAAA,IAAI,EAAJ,CAAI,CAAC;aACpB,IAAI,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,MAAM,EAAnB,CAAmB,CAAC,CAAC;QAEvC,IAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC;QAC5B,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,SAAS;QACT,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,EAAE,UAAC,CAAC,EAAE,IAAI,EAAE,GAAG;YACpD,OAAO,CAAC,aAAD,CAAC,uBAAD,CAAC,CAAE,OAAO,CAAC,IAAI,EAAE,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
11
|
"/**\n * @file 公式编辑器\n */\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport {parse} from 'amis-formula';\nimport {doc} from 'amis-formula/dist/doc';\n\nimport {FormulaPlugin, editorFactory} from './plugin';\nimport FuncList from './FuncList';\nimport VariableList from './VariableList';\nimport CodeMirrorEditor from '../CodeMirror';\nimport {autobind, eachTree} from '../../utils/helper';\nimport {themeable, ThemeProps} from '../../theme';\nimport {localeable, LocaleProps} from '../../locale';\nimport {toast} from '../Toast';\n\nexport interface VariableItem {\n label: string;\n value?: string;\n children?: Array<VariableItem>;\n type?: string;\n tag?: string;\n selectMode?: 'tree' | 'tabs';\n}\n\nexport interface FuncGroup {\n groupName: string;\n items: Array<FuncItem>;\n}\n\nexport interface FuncItem {\n name: string; // 函数名\n example?: string; // 示例\n description?: string; // 描述\n [propName: string]: any;\n}\n\nexport interface FormulaEditorProps extends ThemeProps, LocaleProps {\n onChange?: (value: string) => void;\n value?: string;\n /**\n * evalMode 即直接就是表达式,否则\n * 需要 ${这里面才是表达式}\n * 默认为 true\n */\n evalMode?: boolean;\n\n /**\n * 用于提示的变量集合,默认为空\n */\n variables?: Array<VariableItem>;\n\n /**\n * 变量展现模式,可选值:'tabs' | 'tree'\n */\n variableMode?: 'tabs' | 'tree';\n\n /**\n * 函数集合,默认不需要传,即 amis-formula 里面那个函数\n * 如果有扩充,则需要传。\n */\n functions?: Array<FuncGroup>;\n\n /**\n * 顶部标题,默认为表达式\n */\n header: string;\n\n variableClassName?: string;\n\n functionClassName?: string;\n\n /**\n * 当前输入项字段 name: 用于避免循环绑定自身导致无限渲染\n */\n selfVariableName?: string;\n}\n\nexport interface FunctionsProps {\n name: string;\n items: FunctionProps[];\n}\n\nexport interface FunctionProps {\n name: string;\n intro: string;\n usage: string;\n example: string;\n}\n\nexport interface FormulaState {\n focused: boolean;\n}\n\nexport class FormulaEditor extends React.Component<\n FormulaEditorProps,\n FormulaState\n> {\n state: FormulaState = {\n focused: false\n };\n editorPlugin?: FormulaPlugin;\n\n static buildDefaultFunctions(\n doc: Array<{\n namespace: string;\n name: string;\n [propName: string]: any;\n }>\n ) {\n const funcs: Array<FuncGroup> = [];\n\n doc.forEach(item => {\n const namespace = item.namespace || 'Others';\n let exists = funcs.find(item => item.groupName === namespace);\n if (!exists) {\n exists = {\n groupName: namespace,\n items: []\n };\n funcs.push(exists);\n }\n exists.items.push(item);\n });\n\n return funcs;\n }\n\n static defaultProps: Pick<FormulaEditorProps, 'variables' | 'evalMode'> = {\n variables: [],\n evalMode: true\n };\n\n static highlightValue(\n value: string,\n variables: Array<VariableItem>,\n evalMode: boolean = true\n ) {\n if (!Array.isArray(variables) || !variables.length || !value) {\n return;\n }\n\n const varMap: {\n [propname: string]: string;\n } = {};\n\n eachTree(variables, item => {\n if (item.value) {\n const key = item.value;\n varMap[key] = item.label;\n }\n });\n const vars = Object.keys(varMap)\n .filter(item => item)\n .sort((a, b) => b.length - a.length);\n\n const content = value || '';\n let html = '';\n\n // 标记方法调用\n html = content.replace(/([A-Z]+)\\s*\\(/g, (_, func, pos) => {\n return _?.replace(func, `<span class=\"c-func\">${func}</span>`);\n });\n\n vars.forEach(v => {\n let from = 0;\n let idx = -1;\n while (~(idx = content.indexOf(v, from))) {\n const curNameEg = new RegExp(`\\\\b${v}\\\\b`, 'g'); // 避免变量识别冲突,比如:name、me 被识别成 na「me」\n html = html.replace(curNameEg, `<span class=\"c-field\">${varMap[v]}</span>`);\n from = idx + v.length;\n }\n });\n\n return {html};\n }\n\n componentWillUnmount() {\n this.editorPlugin?.dispose();\n }\n\n @autobind\n handleFocus() {\n this.setState({\n focused: true\n });\n }\n\n @autobind\n handleBlur() {\n this.setState({\n focused: false\n });\n }\n\n @autobind\n insertValue(value: any, type: 'variable' | 'func') {\n this.editorPlugin?.insertContent(value, type);\n }\n\n @autobind\n handleEditorMounted(cm: any, editor: any) {\n this.editorPlugin = new FormulaPlugin(editor, cm, () => this.props);\n }\n\n @autobind\n validate() {\n const value = this.props.value;\n\n try {\n value\n ? parse(value, {\n evalMode: this.props.evalMode\n })\n : null;\n } catch (e) {\n return e.message;\n }\n\n return;\n }\n\n @autobind\n handleFunctionSelect(item: FuncItem) {\n this.editorPlugin?.insertContent(`${item.name}`, 'func');\n }\n\n @autobind\n handleVariableSelect(item: VariableItem) {\n const {evalMode, selfVariableName} = this.props;\n\n if (item && item.value && selfVariableName === item.value) {\n toast.warning('不能使用当前变量[self],避免循环引用。');\n return;\n }\n\n this.editorPlugin?.insertContent(\n {\n key: item.value,\n name: item.label\n },\n 'variable'\n );\n }\n\n @autobind\n handleOnChange(value: any) {\n const onChange = this.props.onChange;\n onChange?.(value);\n }\n\n @autobind\n editorFactory(dom: HTMLElement, cm: any) {\n return editorFactory(dom, cm, this.props);\n }\n\n render() {\n const {\n variables,\n header,\n value,\n functions,\n variableMode,\n translate: __,\n classnames: cx,\n variableClassName,\n functionClassName,\n classPrefix,\n selfVariableName\n } = this.props;\n const {focused} = this.state;\n const customFunctions = Array.isArray(functions) ? functions : [];\n const functionList = [\n ...FormulaEditor.buildDefaultFunctions(doc),\n ...customFunctions\n ];\n\n return (\n <div\n className={cx(`FormulaEditor`, {\n 'is-focused': focused\n })}\n >\n <section className={cx(`FormulaEditor-content`)}>\n <header className={cx(`FormulaEditor-header`)}>\n {__(header || 'FormulaEditor.title')}\n </header>\n\n <CodeMirrorEditor\n className={cx('FormulaEditor-editor')}\n value={value}\n onChange={this.handleOnChange}\n editorFactory={this.editorFactory}\n editorDidMount={this.handleEditorMounted}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </section>\n\n <section className={cx('FormulaEditor-settings')}>\n <div className={cx('FormulaEditor-panel')}>\n {variableMode !== 'tabs' ? (\n <div className={cx('FormulaEditor-panel-header')}>\n {__('FormulaEditor.variable')}\n </div>\n ) : null}\n <div\n className={cx(\n 'FormulaEditor-panel-body',\n variableMode && `FormulaEditor-panel-body--${variableMode}`\n )}\n >\n <VariableList\n classPrefix={classPrefix}\n className={cx(\n 'FormulaEditor-VariableList',\n 'FormulaEditor-VariableList-root',\n variableClassName\n )}\n selectMode={variableMode}\n data={variables!}\n onSelect={this.handleVariableSelect}\n selfVariableName={selfVariableName}\n />\n </div>\n </div>\n\n <FuncList\n className={functionClassName}\n title={__('FormulaEditor.function')}\n data={functionList}\n onSelect={this.handleFunctionSelect}\n />\n </section>\n </div>\n );\n }\n}\n\nexport default uncontrollable(\n themeable(localeable(FormulaEditor)),\n {\n value: 'onChange'\n },\n ['validate']\n);\n"
|
12
12
|
]
|
@@ -86,7 +86,6 @@ export declare class FormulaPicker extends React.Component<FormulaPickerProps, F
|
|
86
86
|
handleConfirm(): void;
|
87
87
|
renderFormulaValue(item: any): "" | JSX.Element;
|
88
88
|
handleInputChange(value: string): void;
|
89
|
-
handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>): void;
|
90
89
|
handleEditorChange(value: string): void;
|
91
90
|
handleEditorConfirm(): void;
|
92
91
|
confirm(value: string): void;
|
@@ -15,7 +15,6 @@ var Modal_1 = (0, tslib_1.__importDefault)(require("../Modal"));
|
|
15
15
|
var theme_1 = require("../../theme");
|
16
16
|
var locale_1 = require("../../locale");
|
17
17
|
var amis_formula_1 = require("amis-formula");
|
18
|
-
var Input_1 = (0, tslib_1.__importDefault)(require("../Input"));
|
19
18
|
var FormulaPicker = /** @class */ (function (_super) {
|
20
19
|
(0, tslib_1.__extends)(FormulaPicker, _super);
|
21
20
|
function FormulaPicker(props) {
|
@@ -51,10 +50,6 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
51
50
|
var _this = this;
|
52
51
|
this.setState({ value: value }, function () { return _this.handleConfirm(); });
|
53
52
|
};
|
54
|
-
FormulaPicker.prototype.handleInputGroupChange = function (e) {
|
55
|
-
var onChange = this.props.onChange;
|
56
|
-
onChange && onChange(e.currentTarget.value);
|
57
|
-
};
|
58
53
|
FormulaPicker.prototype.handleEditorChange = function (value) {
|
59
54
|
this.setState({
|
60
55
|
editorValue: value,
|
@@ -114,10 +109,11 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
114
109
|
FormulaPicker.prototype.validate = function (value) {
|
115
110
|
var __ = this.props.translate;
|
116
111
|
try {
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
112
|
+
value &&
|
113
|
+
(0, amis_formula_1.parse)(value, {
|
114
|
+
evalMode: this.props.evalMode,
|
115
|
+
allowFilter: false
|
116
|
+
});
|
121
117
|
return true;
|
122
118
|
}
|
123
119
|
catch (e) {
|
@@ -158,7 +154,9 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
158
154
|
_c['is-filled'] = !!value,
|
159
155
|
_c)) })))),
|
160
156
|
mode === 'input-group' && (react_1.default.createElement(react_1.default.Fragment, null,
|
161
|
-
react_1.default.createElement(
|
157
|
+
react_1.default.createElement(ResultBox_1.default, { className: cx('FormulaPicker-input', isOpened ? 'is-active' : '', !!isError ? 'is-error' : ''), allowInput: allowInput, clearable: clearable, value: value, result: allowInput
|
158
|
+
? void 0
|
159
|
+
: Editor_1.FormulaEditor.highlightValue(value, variables, this.props.evalMode), itemRender: this.renderFormulaValue, onResultChange: helper_1.noop, onChange: this.handleInputChange, disabled: disabled, borderMode: borderMode, placeholder: placeholder }),
|
162
160
|
react_1.default.createElement("a", { className: cx("FormulaPicker-toggler"), onClick: this.handleClick },
|
163
161
|
react_1.default.createElement(icons_1.Icon, { icon: "function", className: "icon" })))))),
|
164
162
|
react_1.default.createElement(Modal_1.default, { size: "md", closeOnEsc: true, show: this.state.isOpened, onHide: this.close },
|
@@ -171,7 +169,6 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
171
169
|
react_1.default.createElement(Button_1.default, { onClick: this.close }, __('cancel')),
|
172
170
|
react_1.default.createElement(Button_1.default, { onClick: this.handleEditorConfirm, level: "primary" }, __('confirm'))))));
|
173
171
|
};
|
174
|
-
var _a;
|
175
172
|
FormulaPicker.defaultProps = {
|
176
173
|
evalMode: true
|
177
174
|
};
|
@@ -193,12 +190,6 @@ var FormulaPicker = /** @class */ (function (_super) {
|
|
193
190
|
(0, tslib_1.__metadata)("design:paramtypes", [String]),
|
194
191
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
195
192
|
], FormulaPicker.prototype, "handleInputChange", null);
|
196
|
-
(0, tslib_1.__decorate)([
|
197
|
-
helper_1.autobind,
|
198
|
-
(0, tslib_1.__metadata)("design:type", Function),
|
199
|
-
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_a = typeof react_1.default !== "undefined" && react_1.default.ChangeEvent) === "function" ? _a : Object]),
|
200
|
-
(0, tslib_1.__metadata)("design:returntype", void 0)
|
201
|
-
], FormulaPicker.prototype, "handleInputGroupChange", null);
|
202
193
|
(0, tslib_1.__decorate)([
|
203
194
|
helper_1.autobind,
|
204
195
|
(0, tslib_1.__metadata)("design:type", Function),
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/formula/Picker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,iDAA8C;AAC9C,6DAA0B;AAC1B,mCAKkB;AAClB,6CAAkD;AAClD,yCAA8C;AAC9C,iEAA8B;AAC9B,wEAAqC;AACrC,kEAA+B;AAC/B,kCAA8B;AAC9B,gEAA6B;AAC7B,qCAAsC;AACtC,uCAAwC;AAExC,6CAA8C;
|
9
|
+
"mappings": ";;;;AAAA,iDAA8C;AAC9C,6DAA0B;AAC1B,mCAKkB;AAClB,6CAAkD;AAClD,yCAA8C;AAC9C,iEAA8B;AAC9B,wEAAqC;AACrC,kEAA+B;AAC/B,kCAA8B;AAC9B,gEAA6B;AAC7B,qCAAsC;AACtC,uCAAwC;AAExC,6CAA8C;AA2G9C;IAAmC,8CAGlC;IACC,uBAAY,KAAyB;QAArC,YACE,kBAAM,KAAK,CAAC,SAEb;QAMD,WAAK,GAAuB;YAC1B,QAAQ,EAAE,KAAK;YACf,KAAK,EAAE,KAAI,CAAC,KAAK,CAAC,KAAM;YACxB,WAAW,EAAE,KAAI,CAAC,KAAK,CAAC,KAAM;YAC9B,OAAO,EAAE,KAAK;SACf,CAAC;QAZA,KAAI,CAAC,KAAK,CAAC,KAAK,IAAI,KAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAI,CAAC,CAAC;;IAC7C,CAAC;IAcD,qCAAa,GAAb;;QACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;QAE/B,IAAI,IAAI,CAAC,KAAK,CAAC,SAAS,EAAE;YACxB,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;SAC7B;aAAM;YACL,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,KAAK,CAAC,CAAC;SAC9B;IACH,CAAC;IAGD,0CAAkB,GAAlB,UAAmB,IAAS;QACpB,IAAA,KAA+B,IAAI,CAAC,KAAK,EAAxC,UAAU,gBAAA,EAAc,EAAE,gBAAc,CAAC;QAChD,IAAM,IAAI,GAAG,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAC,CAAC;QACjC,IAAI,UAAU,EAAE;YACd,OAAO,EAAE,CAAC;SACX;QACD,OAAO,CACL,uCACE,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EACxC,uBAAuB,EAAE,IAAI,GACxB,CACR,CAAC;IACJ,CAAC;IAGD,yCAAiB,GAAjB,UAAkB,KAAa;QAD/B,iBAGC;QADC,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,OAAA,EAAC,EAAE,cAAM,OAAA,KAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;IACrD,CAAC;IAGD,0CAAkB,GAAlB,UAAmB,KAAa;QAC9B,IAAI,CAAC,QAAQ,CAAC;YACZ,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;IACL,CAAC;IAGD,2CAAmB,GAAnB;QACS,IAAW,EAAE,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;QACnC,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACtB,CAAC;IAED,+BAAO,GAAP,UAAQ,KAAa;QAArB,iBAUC;QATC,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEtC,IAAI,QAAQ,KAAK,IAAI,EAAE;YACrB,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,OAAA,EAAC,EAAE;gBACrB,KAAI,CAAC,KAAK,CAAC,SAAS,EAAE,cAAM,OAAA,KAAI,CAAC,aAAa,EAAE,EAApB,CAAoB,CAAC,CAAC;YACpD,CAAC,CAAC,CAAC;SACJ;aAAM;YACL,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,QAAQ,EAAC,CAAC,CAAC;SACpC;IACH,CAAC;IAGK,mCAAW,GAAjB;;;;;;;;wBAEQ,qBAAM,CAAA,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,YAAY,mDAAG,IAAI,CAAC,KAAK,CAAC,CAAA,EAAA;;wBAD3C,KAAK,6EACN,CAAC,SAA2C,CAAC,OAChD,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAC7B,QAAQ,EAAE,IAAI,IACf;wBAED,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;;;;;KACtB;IAGD,6BAAK,GAAL,UAAM,CAAO,EAAE,QAAqB;QAClC,IAAI,CAAC,QAAQ,CACX;YACE,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,EACD;YACE,IAAI,QAAQ,EAAE;gBACZ,QAAQ,EAAE,CAAC;gBACX,OAAO;aACR;QACH,CAAC,CACF,CAAC;IACJ,CAAC;IAGD,mCAAW,GAAX,UAAY,KAAe;QAAf,sBAAA,EAAA,UAAe;QAClB,IAAA,QAAQ,GAAa,KAAK,SAAlB,EAAK,IAAI,uBAAI,KAAK,EAA3B,YAAmB,CAAD,CAAU;QAClC,IAAI,CAAC,QAAQ,iDACR,IAAI,CAAC,KAAK,GACV,IAAI,EACP,CAAC;IACL,CAAC;IAGD,gCAAQ,GAAR,UAAS,KAAa;QACb,IAAW,EAAE,GAAI,IAAI,CAAC,KAAK,UAAd,CAAe;QAEnC,IAAI;YACF,KAAK;gBACH,IAAA,oBAAK,EAAC,KAAK,EAAE;oBACX,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;oBAC7B,WAAW,EAAE,KAAK;iBACnB,CAAC,CAAC;YAEL,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE;gBAC5B,IAAA,KAAe,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAhD,QAAQ,QAAwC,CAAC;gBAC1D,OAAO,QAAQ,CAAC;aACjB;YACD,OAAO,CAAC,CAAC,OAAO,CAAC;SAClB;IACH,CAAC;IAED,8BAAM,GAAN;;;QACE,IAAI,KAsBA,IAAI,CAAC,KAAK,EArBA,EAAE,gBAAA,EACH,EAAE,eAAA,EACb,QAAQ,cAAA,EACR,kBAAiB,EAAjB,UAAU,mBAAG,IAAI,KAAA,EACjB,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,YAAqB,EAArB,IAAI,mBAAG,cAAc,KAAA,EACrB,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA,EACT,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,YAAY,kBAAA,EACT,IAAI,2BArBL,+OAsBH,CAAa,CAAC;QACT,IAAA,KAA0C,IAAI,CAAC,KAAK,EAAnD,QAAQ,cAAA,EAAE,KAAK,WAAA,EAAE,WAAW,iBAAA,EAAE,OAAO,aAAc,CAAC;QAE3D,IAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO,CACL;YACG,QAAQ,CAAC,CAAC,CAAC,CACV,QAAQ,CAAC;gBACP,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ;gBAC7B,OAAO,EAAE,IAAI,CAAC,WAAW;gBACzB,QAAQ,EAAE,IAAI,CAAC,WAAW;aAC3B,CAAC,CACH,CAAC,CAAC,CAAC,CACF,uCACE,SAAS,EAAE,EAAE,CACX,eAAe,EACf,SAAS,EACT,IAAI,KAAK,aAAa,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAC/C;gBAEA,IAAI,KAAK,QAAQ,IAAI,CACpB,8BAAC,gBAAM,IACL,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,IAAI,CAAC,WAAW;oBAExB,WAAW,CAAC,CAAC,CAAC,CACb,eAAK,CAAC,YAAY,CAAC,WAAW,EAAE;wBAC9B,SAAS,EAAE,EAAE,CACX,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAE,SAAS,mCAAI,EAAE,EACnC,oBAAoB;4BAElB,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;gCAEzB;qBACF,CAAC,CACH,CAAC,CAAC,CAAC,CACF,8BAAC,YAAI,IACH,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,MAAM;4BACxC,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;gCACtB,GACF,CACH;oBACD,wCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACvC,EAAE,CAAC,QAAQ,IAAI,wBAAwB,CAAC,CACpC,CACA,CACV;gBACA,IAAI,KAAK,cAAc,IAAI,CAC1B;oBACE,8BAAC,mBAAS,IACR,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC3B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAC5B,EACD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EACJ,UAAU;4BACR,CAAC,CAAC,KAAK,CAAC;4BACR,CAAC,CAAC,sBAAa,CAAC,cAAc,CAC1B,KAAK,EACL,SAAU,EACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CACpB,EAEP,UAAU,EAAE,IAAI,CAAC,kBAAkB,EACnC,cAAc,EAAE,aAAI,EACpB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB;oBAEF,8BAAC,gBAAM,IACL,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,EACrC,OAAO,EAAE,IAAI,CAAC,WAAW;wBAEzB,8BAAC,YAAI,IACH,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,MAAM;gCACxC,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;oCACtB,GACF,CACK,CACR,CACJ;gBACA,IAAI,KAAK,aAAa,IAAI,CACzB;oBACE,8BAAC,mBAAS,IACR,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,EAC3B,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAC5B,EACD,UAAU,EAAE,UAAU,EACtB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,MAAM,EACJ,UAAU;4BACR,CAAC,CAAC,KAAK,CAAC;4BACR,CAAC,CAAC,sBAAa,CAAC,cAAc,CAC1B,KAAK,EACL,SAAU,EACV,IAAI,CAAC,KAAK,CAAC,QAAQ,CACpB,EAEP,UAAU,EAAE,IAAI,CAAC,kBAAkB,EACnC,cAAc,EAAE,aAAI,EACpB,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAChC,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB;oBAEF,qCACE,SAAS,EAAE,EAAE,CAAC,uBAAuB,CAAC,EACtC,OAAO,EAAE,IAAI,CAAC,WAAW;wBAEzB,8BAAC,YAAI,IAAC,IAAI,EAAC,UAAU,EAAC,SAAS,EAAC,MAAM,GAAG,CACvC,CACH,CACJ,CACG,CACP;YACD,8BAAC,eAAK,IACJ,IAAI,EAAC,IAAI,EACT,UAAU,QACV,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,QAAQ,EACzB,MAAM,EAAE,IAAI,CAAC,KAAK;gBAElB,8BAAC,eAAK,CAAC,MAAM,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,EAAE,SAAS,EAAC,WAAW,IACrD,EAAE,CAAC,KAAK,IAAI,qBAAqB,CAAC,CACtB;gBACf,8BAAC,eAAK,CAAC,IAAI;oBACT,8BAAC,gBAAM,4BACD,IAAI,IACR,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,EAC5C,SAAS,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,SAAS,mCAAI,SAAS,EAC5C,YAAY,EAAE,MAAA,IAAI,CAAC,KAAK,CAAC,YAAY,mCAAI,YAAY,EACrD,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,IAC7C,CACS;gBACb,8BAAC,eAAK,CAAC,MAAM;oBACV,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CACX,uCAAK,SAAS,EAAE,EAAE,CAAC,aAAa,CAAC,EAAE,GAAG,EAAC,MAAM;wBAC3C,wCAAM,SAAS,EAAE,EAAE,CAAC,cAAc,CAAC,IAChC,EAAE,CAAC,2BAA2B,EAAE,EAAC,GAAG,EAAE,OAAO,EAAC,CAAC,CAC3C,CACH,CACP,CAAC,CAAC,CAAC,IAAI;oBACR,8BAAC,gBAAM,IAAC,OAAO,EAAE,IAAI,CAAC,KAAK,IAAG,EAAE,CAAC,QAAQ,CAAC,CAAU;oBACpD,8BAAC,gBAAM,IAAC,OAAO,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAC,SAAS,IACvD,EAAE,CAAC,SAAS,CAAC,CACP,CACI,CACT,CACP,CACJ,CAAC;IACJ,CAAC;IA3TM,0BAAY,GAAG;QACpB,QAAQ,EAAE,IAAI;KACf,CAAC;IAUF;QADC,iBAAQ;;;;sDASR;IAGD;QADC,iBAAQ;;;;2DAaR;IAGD;QADC,iBAAQ;;;;0DAGR;IAGD;QADC,iBAAQ;;;;2DAMR;IAGD;QADC,iBAAQ;;;;4DAKR;IAeD;QADC,iBAAQ;;;;oDASR;IAGD;QADC,iBAAQ;;;;8CAcR;IAGD;QADC,iBAAQ;;;;oDAOR;IAGD;QADC,iBAAQ;;;;iDAmBR;IAgMH,oBAAC;CAAA,AArUD,CAAmC,eAAK,CAAC,SAAS,GAqUjD;AArUY,sCAAa;AAuU1B,kBAAe,IAAA,iBAAS,EACtB,IAAA,mBAAU,EACR,IAAA,+BAAc,EAAC,aAAa,EAAE;IAC5B,KAAK,EAAE,UAAU;CAClB,CAAC,CACH,CACF,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\nimport Input from '../Input';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button' | 'input-group';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {\n const onChange = this.props.onChange;\n onChange && onChange(e.currentTarget.value);\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n this.confirm(value);\n }\n\n confirm(value: string) {\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput = true,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode = 'input-button',\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div\n className={cx(\n 'FormulaPicker',\n className,\n mode === 'input-group' ? 'is-input-group' : ''\n )}\n >\n {mode === 'button' && (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n )}\n {mode === 'input-button' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n {mode === 'input-group' && (\n <>\n <Input\n className={cx('FormulaPicker-input')}\n onChange={this.handleInputGroupChange}\n placeholder={allowInput ? placeholder : ''}\n autoComplete=\"off\"\n value={value}\n disabled={disabled}\n readOnly={!allowInput}\n />\n\n <a\n className={cx(`FormulaPicker-toggler`)}\n onClick={this.handleClick}\n >\n <Icon icon=\"function\" className=\"icon\" />\n </a>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n selfVariableName={this.props.selfVariableName}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
11
|
+
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\nimport Input from '../Input';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button' | 'input-group';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n this.confirm(value);\n }\n\n confirm(value: string) {\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n value &&\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput = true,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode = 'input-button',\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div\n className={cx(\n 'FormulaPicker',\n className,\n mode === 'input-group' ? 'is-input-group' : ''\n )}\n >\n {mode === 'button' && (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n )}\n {mode === 'input-button' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n {mode === 'input-group' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <a\n className={cx(`FormulaPicker-toggler`)}\n onClick={this.handleClick}\n >\n <Icon icon=\"function\" className=\"icon\" />\n </a>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n selfVariableName={this.props.selfVariableName}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -12,11 +12,11 @@ var Badge_1 = require("../Badge");
|
|
12
12
|
function VariableList(props) {
|
13
13
|
var list = props.data, className = props.className, cx = props.classnames, _a = props.tabsMode, tabsMode = _a === void 0 ? 'line' : _a, themePrefix = props.classPrefix, itemClassName = props.itemClassName, selectMode = props.selectMode, onSelect = props.onSelect, placeholderRender = props.placeholderRender, selfVariableName = props.selfVariableName;
|
14
14
|
var _b = react_1.default.useState(list), filterVars = _b[0], setFilterVars = _b[1];
|
15
|
-
var classPrefix =
|
15
|
+
var classPrefix = themePrefix + "FormulaEditor-VariableList";
|
16
16
|
var itemRender = props.itemRender && typeof props.itemRender === 'function'
|
17
17
|
? props.itemRender
|
18
18
|
: function (option, states) {
|
19
|
-
return (react_1.default.createElement("span", { className: cx(
|
19
|
+
return (react_1.default.createElement("span", { className: cx(classPrefix + "-item", itemClassName) },
|
20
20
|
option.label && option.value === selfVariableName && (react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: {
|
21
21
|
mode: "text",
|
22
22
|
text: "self",
|
@@ -27,7 +27,7 @@ function VariableList(props) {
|
|
27
27
|
} },
|
28
28
|
react_1.default.createElement("label", null, option.label))),
|
29
29
|
option.label && option.value !== selfVariableName && (react_1.default.createElement("label", null, option.label)),
|
30
|
-
(option === null || option === void 0 ? void 0 : option.tag) ? (react_1.default.createElement("span", { className: cx(
|
30
|
+
(option === null || option === void 0 ? void 0 : option.tag) ? (react_1.default.createElement("span", { className: cx(classPrefix + "-item-tag") }, option.tag)) : null));
|
31
31
|
};
|
32
32
|
function onSearch(term) {
|
33
33
|
var tree = (0, helper_1.findTree)(list, function (i) { return ~i.label.indexOf(term); });
|
@@ -37,12 +37,12 @@ function VariableList(props) {
|
|
37
37
|
return (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-searchBox') },
|
38
38
|
react_1.default.createElement(SearchBox_1.default, { mini: false, onSearch: onSearch })));
|
39
39
|
}
|
40
|
-
return (react_1.default.createElement("div", { className: cx(className, 'FormulaEditor-VariableList', selectMode && "FormulaEditor-VariableList-"
|
41
|
-
react_1.default.createElement(VariableList, { classnames: cx, classPrefix:
|
40
|
+
return (react_1.default.createElement("div", { className: cx(className, 'FormulaEditor-VariableList', selectMode && "FormulaEditor-VariableList-" + selectMode) }, selectMode === 'tabs' ? (react_1.default.createElement(Tabs_1.default, { tabsMode: tabsMode, className: cx(classPrefix + "-base " + classPrefix + "-tabs") }, filterVars.map(function (item, index) { return (react_1.default.createElement(Tabs_1.Tab, { className: cx(classPrefix + "-tab"), eventKey: index, key: index, title: item.label },
|
41
|
+
react_1.default.createElement(VariableList, { classnames: cx, classPrefix: classPrefix + "-sub-", className: cx(classPrefix + "-sub"), itemRender: itemRender, placeholderRender: placeholderRender, selectMode: item.selectMode, data: item.children, onSelect: onSelect, selfVariableName: selfVariableName }))); }))) : selectMode === 'tree' ? (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
42
42
|
renderSearchBox(),
|
43
|
-
react_1.default.createElement(TreeSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx(
|
43
|
+
react_1.default.createElement(TreeSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx(classPrefix + "-base", 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } }))) : (react_1.default.createElement("div", { className: cx('FormulaEditor-VariableList-body') },
|
44
44
|
renderSearchBox(),
|
45
|
-
react_1.default.createElement(GroupedSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx(
|
45
|
+
react_1.default.createElement(GroupedSelection_1.default, { itemRender: itemRender, placeholderRender: placeholderRender, className: cx(classPrefix + "-base", 'is-scrollable'), multiple: false, options: filterVars, onChange: function (item) { return onSelect === null || onSelect === void 0 ? void 0 : onSelect(item); } })))));
|
46
46
|
}
|
47
47
|
exports.default = (0, theme_1.themeable)(VariableList);
|
48
48
|
//# sourceMappingURL=./components/formula/VariableList.js.map
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"/src/components/formula/VariableList.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;AAAA,6DAA0B;AAE1B,qCAAkD;AAClD,sFAAmD;AACnD,2DAAkC;AAClC,gFAA6C;AAC7C,wEAAqC;AACrC,6CAA4C;AAC5C,kCAA+B;AAoB/B,SAAS,YAAY,CAAC,KAAwB;IAE1C,IAAM,IAAI,GAUR,KAAK,KAVG,EACV,SAAS,GASP,KAAK,UATE,EACG,EAAE,GAQZ,KAAK,WARO,EACd,KAOE,KAAK,SAPU,EAAjB,QAAQ,mBAAG,MAAM,KAAA,EACJ,WAAW,GAMtB,KAAK,YANiB,EACxB,aAAa,GAKX,KAAK,cALM,EACb,UAAU,GAIR,KAAK,WAJG,EACV,QAAQ,GAGN,KAAK,SAHC,EACR,iBAAiB,GAEf,KAAK,kBAFU,EACjB,gBAAgB,GACd,KAAK,iBADS,CACR;IACJ,IAAA,KAA8B,eAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAjD,UAAU,QAAA,EAAE,aAAa,QAAwB,CAAC;IACzD,IAAM,WAAW,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
11
|
"import React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport GroupedSelection from '../GroupedSelection';\nimport Tabs, {Tab} from '../Tabs';\nimport TreeSelection from '../TreeSelection';\nimport SearchBox from '../SearchBox';\nimport {findTree} from '../../utils/helper';\nimport {Badge} from '../Badge';\n\nimport type {VariableItem} from './Editor';\nimport type {ItemRenderStates} from '../Selection';\nimport type {Option} from '../Select';\nimport type {TabsMode} from '../Tabs';\n\nexport interface VariableListProps extends ThemeProps {\n className?: string;\n itemClassName?: string;\n value?: any;\n data: Array<VariableItem>;\n selectMode?: 'list' | 'tree' | 'tabs';\n tabsMode?: TabsMode;\n itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;\n placeholderRender?: (props: any) => JSX.Element | null;\n onSelect?: (item: VariableItem) => void;\n selfVariableName?: string;\n}\n\nfunction VariableList(props: VariableListProps) {\n const {\n data: list,\n className,\n classnames: cx,\n tabsMode = 'line',\n classPrefix: themePrefix,\n itemClassName,\n selectMode,\n onSelect,\n placeholderRender,\n selfVariableName\n } = props;\n const [filterVars, setFilterVars] = React.useState(list);\n const classPrefix = `${themePrefix}FormulaEditor-VariableList`;\n const itemRender =\n props.itemRender && typeof props.itemRender === 'function'\n ? props.itemRender\n : (option: Option, states: ItemRenderStates): JSX.Element => {\n return (\n <span className={cx(`${classPrefix}-item`, itemClassName)}>\n {\n option.label && option.value === selfVariableName && (\n <Badge\n classnames={cx}\n badge={{\n mode: \"text\",\n text: \"self\",\n offset: [\n 15,\n 2\n ]\n }}\n >\n <label>\n {option.label}\n </label>\n </Badge>\n )\n }\n {\n option.label && option.value !== selfVariableName && (\n <label>\n {option.label}\n </label>\n )\n }\n {option?.tag ? (\n <span className={cx(`${classPrefix}-item-tag`)}>\n {option.tag}\n </span>\n ) : null}\n </span>\n );\n };\n\n function onSearch(term: string) {\n const tree = findTree(list, i => ~i.label.indexOf(term));\n setFilterVars(!term ? list : tree ? [tree] : list);\n }\n\n function renderSearchBox() {\n return (\n <div className={cx('FormulaEditor-VariableList-searchBox')}>\n <SearchBox mini={false} onSearch={onSearch} />\n </div>\n );\n }\n\n return (\n <div\n className={cx(\n className,\n 'FormulaEditor-VariableList',\n selectMode && `FormulaEditor-VariableList-${selectMode}`\n )}\n >\n {selectMode === 'tabs' ? (\n <Tabs\n tabsMode={tabsMode}\n className={cx(`${classPrefix}-base ${classPrefix}-tabs`)}\n >\n {filterVars.map((item, index) => (\n <Tab\n className={cx(`${classPrefix}-tab`)}\n eventKey={index}\n key={index}\n title={item.label}\n >\n <VariableList\n classnames={cx}\n classPrefix={`${classPrefix}-sub-`}\n className={cx(`${classPrefix}-sub`)}\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n selectMode={item.selectMode}\n data={item.children!}\n onSelect={onSelect}\n selfVariableName={selfVariableName}\n />\n </Tab>\n ))}\n </Tabs>\n ) : selectMode === 'tree' ? (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <TreeSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n ) : (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <GroupedSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n )}\n </div>\n );\n}\n\nexport default themeable(VariableList);\n"
|
12
12
|
]
|
@@ -95,7 +95,7 @@ var FormulaPlugin = /** @class */ (function () {
|
|
95
95
|
!evalMode && this.insertBraces(from, to);
|
96
96
|
}
|
97
97
|
else if (type === 'func') {
|
98
|
-
this.editor.replaceSelection(
|
98
|
+
this.editor.replaceSelection(value + "()");
|
99
99
|
var to = this.editor.getCursor();
|
100
100
|
this.markText(from, {
|
101
101
|
line: to.line,
|
@@ -6,7 +6,7 @@
|
|
6
6
|
"/src/components/formula/plugin.ts"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;GAEG;;;AAGH,6CAA4C;AAG5C,SAAgB,aAAa,CAC3B,GAAgB,EAChB,EAAqB,EACrB,KAAU;IAEV,qBAAqB,CAAC,EAAE,CAAC,CAAC;IAE1B,OAAO,EAAE,CAAC,GAAG,EAAE;QACb,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE;QACxB,SAAS,EAAE,IAAI;QACf,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,uBAAuB;KAChE,CAAC,CAAC;AACL,CAAC;AAZD,sCAYC;AAED;IACE,uBACW,MAAyB,EACzB,EAAqB,EACrB,QAAkC;QAFlC,WAAM,GAAN,MAAM,CAAmB;QACzB,OAAE,GAAF,EAAE,CAAmB;QACrB,aAAQ,GAAR,QAAQ,CAA0B;QAE3C,0CAA0C;QAC1C,IAAI,CAAC,YAAY,EAAE,CAAC;IACtB,CAAC;IAED,oCAAY,GAAZ;QACQ,IAAA,KAAgC,IAAI,CAAC,QAAQ,EAAE,EAA9C,SAAS,eAAA,EAAE,SAAS,eAAA,EAAE,KAAK,WAAmB,CAAC;QACtD,IAAI,KAAK,EAAE;YACT,yBAAyB;YACzB,IAAI,CAAC,QAAQ,CAAC,SAAU,CAAC,CAAC;SAC3B;IACH,CAAC;IAED,gFAAgF;IAChF,8CAAsB,GAAtB,UAAuB,GAAW;QAChC,IAAM,MAAM,GAAmC,EAAE,CAAC;QAElD,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,OAAO,CAAC,OAAO,EAAE,UAAC,GAAG,EAAE,MAAM;YAChC,IAAI,GAAG,EAAE;gBACP,IAAM,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAM,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBAErB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;oBACnD,IAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;oBAC5B,IAAI,IAAI,KAAK,GAAG,IAAI,OAAO,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,GAAG,EAAE;wBAC9C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;qBAClB;yBAAM,IAAI,IAAI,KAAK,GAAG,EAAE;wBACvB,KAAK,CAAC,GAAG,EAAE,CAAC;qBACb;oBAED,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;wBACtB,MAAM,CAAC,IAAI,CAAC,EAAC,KAAK,EAAE,MAAM,GAAG,CAAC,EAAE,GAAG,EAAE,KAAK,GAAG,MAAM,GAAG,CAAC,EAAC,CAAC,CAAC;wBAC1D,MAAM;qBACP;iBACF;aACF;YACD,OAAO,EAAE,CAAC;QACZ,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB;IACjB,0CAAkB,GAAlB,UACE,EAAoB,EACpB,MAAsC;YADrC,IAAI,QAAA,EAAE,EAAE,QAAA;QAGT,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,IAAI,MAAM,CAAC,MAAM,EAAE;YACjB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;gBAClD,IAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;gBAC5B,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE,IAAI,KAAK,CAAC,GAAG,EAAE;oBACzC,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM;iBACP;aACF;SACF;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,oCAAY,GAAZ,UAAa,UAA+B,EAAE,QAA6B;QACzE,IAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACnC,IAAM,MAAM,GAAG,IAAI,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC;QAEhD,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,UAAU,CAAC,EAAE,EAAE,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC,EAAE;YAClE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACpB,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,EAAE,EAAE,UAAU,CAAC,EAAE;aAClB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAEnC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;gBACpB,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,EAAE,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC;aACpB,CAAC,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;SACnC;IACH,CAAC;IAED,qCAAa,GAAb,UAAc,KAAU,EAAE,IAA0B;QAClD,IAAM,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;QAC9B,IAAA,QAAQ,GAAI,IAAI,CAAC,QAAQ,EAAE,SAAnB,CAAoB;QACnC,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxC,IAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAEnC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,EAAE,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;YAEhD,CAAC,QAAQ,IAAI,IAAI,CAAC,YAAY,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;SAC1C;aAAM,IAAI,IAAI,KAAK,MAAM,EAAE;YAC1B,IAAI,CAAC,MAAM,CAAC,gBAAgB,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
11
|
"/**\n * @file 扩展 codemirror\n */\n\nimport type CodeMirror from 'codemirror';\nimport {eachTree} from '../../utils/helper';\nimport type {FormulaEditorProps, VariableItem} from './Editor';\n\nexport function editorFactory(\n dom: HTMLElement,\n cm: typeof CodeMirror,\n props: any\n) {\n registerLaunguageMode(cm);\n\n return cm(dom, {\n value: props.value || '',\n autofocus: true,\n mode: props.evalMode ? 'text/formula' : 'text/formula-template'\n });\n}\n\nexport class FormulaPlugin {\n constructor(\n readonly editor: CodeMirror.Editor,\n readonly cm: typeof CodeMirror,\n readonly getProps: () => FormulaEditorProps\n ) {\n // editor.on('change', this.autoMarkText);\n this.autoMarkText();\n }\n\n autoMarkText() {\n const {functions, variables, value} = this.getProps();\n if (value) {\n // todo functions 也需要自动替换\n this.autoMark(variables!);\n }\n }\n\n // 计算 `${`、`}` 括号的位置,如 ${a}+${b}, 结果是 [ { from: 0, to: 3 }, { from: 5, to: 8 } ]\n computedBracesPosition(exp: string) {\n const braces: {begin: number; end: number}[] = [];\n\n exp?.replace(/\\$\\{/g, (val, offset) => {\n if (val) {\n const charArr = exp.slice(offset + val.length).split('');\n const cache = ['${'];\n\n for (let index = 0; index < charArr.length; index++) {\n const char = charArr[index];\n if (char === '$' && charArr[index + 1] === '{') {\n cache.push('${');\n } else if (char === '}') {\n cache.pop();\n }\n\n if (cache.length === 0) {\n braces.push({begin: offset + 2, end: index + offset + 2});\n break;\n }\n }\n }\n return '';\n });\n\n return braces;\n }\n\n // 判断字符串是否在 ${} 中\n checkStrIsInBraces(\n [from, to]: number[],\n braces: {begin: number; end: number}[]\n ) {\n let isIn = false;\n if (braces.length) {\n for (let index = 0; index < braces.length; index++) {\n const brace = braces[index];\n if (from > brace.begin && to <= brace.end) {\n isIn = true;\n break;\n }\n }\n }\n return isIn;\n }\n\n insertBraces(originFrom: CodeMirror.Position, originTo: CodeMirror.Position) {\n const str = this.editor.getValue();\n const braces = this.computedBracesPosition(str);\n\n if (!this.checkStrIsInBraces([originFrom.ch, originTo.ch], braces)) {\n this.editor.setCursor({\n line: originFrom.line,\n ch: originFrom.ch\n });\n this.editor.replaceSelection('${');\n\n this.editor.setCursor({\n line: originTo.line,\n ch: originTo.ch + 2\n });\n this.editor.replaceSelection('}');\n }\n }\n\n insertContent(value: any, type?: 'variable' | 'func') {\n const from = this.editor.getCursor();\n const {evalMode} = this.getProps();\n if (type === 'variable') {\n this.editor.replaceSelection(value.key);\n const to = this.editor.getCursor();\n\n this.markText(from, to, value.name, 'cm-field');\n\n !evalMode && this.insertBraces(from, to);\n } else if (type === 'func') {\n this.editor.replaceSelection(`${value}()`);\n const to = this.editor.getCursor();\n\n this.markText(\n from,\n {\n line: to.line,\n ch: to.ch - 2\n },\n value,\n 'cm-func'\n );\n\n this.editor.setCursor({\n line: to.line,\n ch: to.ch - 1\n });\n\n if (!evalMode) {\n this.insertBraces(from, to);\n this.editor.setCursor({\n line: to.line,\n ch: to.ch + 1\n });\n }\n } else if (typeof value === 'string') {\n this.editor.replaceSelection(value);\n }\n\n this.editor.focus();\n }\n\n markText(\n from: CodeMirror.Position,\n to: CodeMirror.Position,\n label: string,\n className = 'cm-func'\n ) {\n const text = document.createElement('span');\n text.className = className;\n text.innerText = label;\n this.editor.markText(from, to, {\n atomic: true,\n replacedWith: text\n });\n }\n\n autoMark(variables: Array<VariableItem>) {\n if (!Array.isArray(variables) || !variables.length) {\n return;\n }\n const varMap: {\n [propname: string]: string;\n } = {};\n\n eachTree(variables, item => {\n if (item.value) {\n const key = item.value;\n varMap[key] = item.label;\n }\n });\n const vars = Object.keys(varMap).sort((a, b) => b.length - a.length);\n\n const editor = this.editor;\n const lines = editor.lineCount();\n for (let line = 0; line < lines; line++) {\n const content = editor.getLine(line);\n\n // 标记方法调用\n content.replace(/([A-Z]+)\\s*\\(/g, (_, func, pos) => {\n this.markText(\n {\n line: line,\n ch: pos\n },\n {\n line: line,\n ch: pos + func.length\n },\n func,\n 'cm-func'\n );\n return _;\n });\n\n // 标记变量\n vars.forEach(v => {\n let from = 0;\n let idx = -1;\n while (~(idx = content.indexOf(v, from))) {\n this.markText(\n {\n line: line,\n ch: idx\n },\n {\n line: line,\n ch: idx + v.length\n },\n varMap[v],\n 'cm-field'\n );\n from = idx + v.length;\n }\n });\n }\n }\n\n dispose() {}\n\n validate() {}\n}\n\nlet modeRegisted = false;\nfunction registerLaunguageMode(cm: typeof CodeMirror) {\n if (modeRegisted) {\n return;\n }\n modeRegisted = true;\n\n // 对应 evalMode\n cm.defineMode('formula', (config: any, parserConfig: any) => {\n var formula = cm.getMode(config, 'javascript');\n if (!parserConfig || !parserConfig.base) return formula;\n\n return cm.multiplexingMode(cm.getMode(config, parserConfig.base), {\n open: '${',\n close: '}',\n mode: formula\n });\n });\n\n cm.defineMIME('text/formula', {name: 'formula'});\n cm.defineMIME('text/formula-template', {name: 'formula', base: 'htmlmixed'});\n}\n"
|
12
12
|
]
|