amis 1.8.0-beta.1 → 1.8.0-beta.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/Schema.d.ts +9 -2
- package/lib/Schema.js.map +1 -1
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +26 -4
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/actions/PageAction.d.ts +32 -0
- package/lib/actions/PageAction.js +72 -0
- package/lib/actions/PageAction.js.map +13 -0
- package/lib/actions/index.d.ts +1 -0
- package/lib/actions/index.js +1 -0
- package/lib/actions/index.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/CalendarMobile.d.ts +84 -84
- package/lib/components/Cascader.d.ts +2 -0
- package/lib/components/Cascader.js +28 -12
- package/lib/components/Cascader.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +5 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Collapse.d.ts +20 -20
- package/lib/components/DatePicker.d.ts +84 -84
- package/lib/components/DatePicker.js +8 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +285 -171
- package/lib/components/DateRangePicker.js +471 -66
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/ListGroup.d.ts +21 -21
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Overlay.d.ts +1 -0
- package/lib/components/Overlay.js +4 -3
- package/lib/components/Overlay.js.map +2 -2
- package/lib/components/Progress.d.ts +29 -24
- package/lib/components/Progress.js +44 -16
- package/lib/components/Progress.js.map +2 -2
- package/lib/components/PullRefresh.d.ts +86 -0
- package/lib/components/PullRefresh.js +135 -0
- package/lib/components/PullRefresh.js.map +13 -0
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Spinner.d.ts +200 -107
- package/lib/components/Spinner.js +30 -26
- package/lib/components/Spinner.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/Tooltip.d.ts +4 -0
- package/lib/components/Tooltip.js +6 -4
- package/lib/components/Tooltip.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +66 -4
- package/lib/components/TooltipWrapper.js +40 -8
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/Transfer.d.ts +84 -84
- package/lib/components/TransferDropDown.d.ts +84 -84
- package/lib/components/Tree.d.ts +87 -85
- package/lib/components/Tree.js +13 -5
- package/lib/components/Tree.js.map +2 -2
- package/lib/components/TreeSelection.d.ts +84 -84
- package/lib/components/calendar/Calendar.js +0 -13
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/TimeView.d.ts +1 -0
- package/lib/components/calendar/TimeView.js +7 -0
- package/lib/components/calendar/TimeView.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/components/condition-builder/Expression.d.ts +1 -0
- package/lib/components/condition-builder/Expression.js +4 -4
- package/lib/components/condition-builder/Expression.js.map +2 -2
- package/lib/components/condition-builder/Field.d.ts +1 -0
- package/lib/components/condition-builder/Field.js +3 -2
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Group.d.ts +1 -0
- package/lib/components/condition-builder/Group.js +2 -2
- package/lib/components/condition-builder/Group.js.map +2 -2
- package/lib/components/condition-builder/GroupOrItem.d.ts +1 -0
- package/lib/components/condition-builder/GroupOrItem.js +2 -2
- package/lib/components/condition-builder/GroupOrItem.js.map +2 -2
- package/lib/components/condition-builder/InputSwitch.d.ts +2 -1
- package/lib/components/condition-builder/InputSwitch.js +2 -2
- package/lib/components/condition-builder/InputSwitch.js.map +2 -2
- package/lib/components/condition-builder/Item.d.ts +1 -0
- package/lib/components/condition-builder/Item.js +9 -8
- package/lib/components/condition-builder/Item.js.map +2 -2
- package/lib/components/condition-builder/Value.d.ts +1 -0
- package/lib/components/condition-builder/Value.js +5 -5
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/index.d.ts +1 -0
- package/lib/components/condition-builder/index.js +2 -2
- package/lib/components/condition-builder/index.js.map +2 -2
- package/lib/components/formula/Editor.d.ts +87 -85
- package/lib/components/formula/Editor.js +10 -6
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.js +3 -1
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/factory.d.ts +5 -0
- package/lib/factory.js +22 -1
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +18 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +18 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +18 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +2 -0
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/App.d.ts +1 -0
- package/lib/renderers/App.js +3 -0
- package/lib/renderers/App.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +12 -5
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Chart.d.ts +1 -0
- package/lib/renderers/Chart.js +3 -0
- package/lib/renderers/Chart.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +1 -0
- package/lib/renderers/Dialog.js +3 -0
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.d.ts +1 -0
- package/lib/renderers/Drawer.js +6 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -1
- package/lib/renderers/Form/Combo.js +54 -16
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +3 -2
- package/lib/renderers/Form/Editor.d.ts +2 -2
- package/lib/renderers/Form/InputCity.d.ts +87 -84
- package/lib/renderers/Form/InputCity.js +44 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDate.js +10 -3
- package/lib/renderers/Form/InputDate.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js +12 -3
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +19 -8
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +18 -7
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputMonthRange.js +5 -1
- package/lib/renderers/Form/InputMonthRange.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputText.d.ts +1 -1
- package/lib/renderers/Form/InputText.js +8 -10
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/InputTree.d.ts +5 -0
- package/lib/renderers/Form/InputTree.js +51 -2
- package/lib/renderers/Form/InputTree.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +79 -76
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.d.ts +4 -0
- package/lib/renderers/Form/NestedSelect.js +14 -5
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +61 -27
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.js +4 -2
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Textarea.js +2 -1
- package/lib/renderers/Form/Textarea.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +11 -2
- package/lib/renderers/Form/TreeSelect.js +56 -10
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +3 -0
- package/lib/renderers/Form/index.js +53 -16
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +10 -0
- package/lib/renderers/Form/wrapControl.js +41 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.d.ts +82 -67
- package/lib/renderers/Nav.js +49 -13
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Page.d.ts +21 -0
- package/lib/renderers/Page.js +54 -14
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Progress.d.ts +3 -6
- package/lib/renderers/Progress.js +2 -2
- package/lib/renderers/Progress.js.map +2 -2
- package/lib/renderers/Service.d.ts +3 -0
- package/lib/renderers/Service.js +55 -20
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Spinner.d.ts +58 -2
- package/lib/renderers/Spinner.js +8 -1
- package/lib/renderers/Spinner.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/ColumnToggler.d.ts +4 -0
- package/lib/renderers/Table/ColumnToggler.js +11 -6
- package/lib/renderers/Table/ColumnToggler.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +27 -1
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +23 -10
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/TooltipWrapper.d.ts +35 -6
- package/lib/renderers/TooltipWrapper.js +19 -8
- package/lib/renderers/TooltipWrapper.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +7 -3
- package/lib/renderers/Wizard.js +269 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/combo.d.ts +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +55 -19
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +1 -1
- package/lib/store/form.js +5 -1
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.d.ts +2 -2
- package/lib/store/table.js +2 -2
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +768 -199
- package/lib/themes/ang.css +723 -142
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +851 -282
- package/lib/themes/antd.css +724 -143
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +879 -310
- package/lib/themes/cxd.css +727 -146
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +769 -200
- package/lib/themes/dark.css +723 -142
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +879 -310
- package/lib/themes/default.css +727 -146
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +3 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/ColorScale.d.ts +19 -0
- package/lib/utils/ColorScale.js +104 -0
- package/lib/utils/ColorScale.js.map +13 -0
- package/lib/utils/api.js +20 -4
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/lib/utils/dom.d.ts +1 -1
- package/lib/utils/dom.js +7 -5
- package/lib/utils/dom.js.map +2 -2
- package/lib/utils/position.js +0 -1
- package/lib/utils/position.js.map +2 -2
- package/lib/utils/scrollPosition.d.ts +6 -0
- package/lib/utils/scrollPosition.js +31 -0
- package/lib/utils/scrollPosition.js.map +13 -0
- package/package.json +3 -2
- package/schema.json +29681 -28936
- package/scss/_properties.scss +44 -13
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_column-toggler.scss +21 -11
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_formula.scss +1 -1
- package/scss/components/_nav.scss +51 -6
- package/scss/components/_progress.scss +4 -6
- package/scss/components/_pull-refresh.scss +25 -0
- package/scss/components/_spinner.scss +134 -56
- package/scss/components/_steps.scss +199 -8
- package/scss/components/_tooltip.scss +4 -9
- package/scss/components/form/_checks.scss +125 -2
- package/scss/components/form/_combo.scss +13 -1
- package/scss/components/form/_date-range.scss +27 -2
- package/scss/components/form/_date.scss +13 -1
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_file.scss +4 -0
- package/scss/components/form/_form.scss +31 -8
- package/scss/components/form/_number.scss +3 -2
- package/scss/components/form/_select.scss +0 -1
- package/scss/components/form/_textarea.scss +1 -23
- package/scss/components/form/_transfer.scss +3 -2
- package/scss/themes/_antd-variables.scss +1 -1
- package/scss/themes/_common.scss +1 -0
- package/scss/themes/_cxd-variables.scss +4 -4
- package/sdk/ang-ie11.css +816 -182
- package/sdk/ang.css +775 -129
- package/sdk/antd-ie11.css +896 -262
- package/sdk/antd.css +776 -130
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +907 -273
- package/sdk/cxd.css +779 -133
- package/sdk/dark-ie11.css +817 -183
- package/sdk/dark.css +775 -129
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +18 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +907 -273
- package/sdk/sdk.css +779 -133
- package/sdk/sdk.js +1317 -1273
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/Schema.ts +10 -0
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +28 -0
- package/src/actions/PageAction.ts +62 -0
- package/src/actions/index.ts +1 -0
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Cascader.tsx +37 -11
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/DatePicker.tsx +12 -4
- package/src/components/DateRangePicker.tsx +551 -88
- package/src/components/Drawer.tsx +1 -0
- package/src/components/Modal.tsx +1 -0
- package/src/components/Overlay.tsx +6 -3
- package/src/components/Progress.tsx +57 -22
- package/src/components/PullRefresh.tsx +197 -0
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Spinner.tsx +77 -42
- package/src/components/Steps.tsx +28 -27
- package/src/components/Tooltip.tsx +12 -3
- package/src/components/TooltipWrapper.tsx +137 -33
- package/src/components/Tree.tsx +19 -5
- package/src/components/calendar/Calendar.tsx +0 -14
- package/src/components/calendar/TimeView.tsx +12 -0
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/components/condition-builder/Expression.tsx +6 -1
- package/src/components/condition-builder/Field.tsx +5 -1
- package/src/components/condition-builder/Group.tsx +4 -1
- package/src/components/condition-builder/GroupOrItem.tsx +4 -1
- package/src/components/condition-builder/InputSwitch.tsx +4 -1
- package/src/components/condition-builder/Item.tsx +28 -4
- package/src/components/condition-builder/Value.tsx +7 -1
- package/src/components/condition-builder/index.tsx +4 -2
- package/src/components/formula/Editor.tsx +20 -15
- package/src/components/formula/Picker.tsx +9 -5
- package/src/factory.tsx +29 -1
- package/src/locale/de-DE.ts +18 -1
- package/src/locale/en-US.ts +18 -1
- package/src/locale/zh-CN.ts +18 -1
- package/src/renderers/Action.tsx +22 -1
- package/src/renderers/App.tsx +4 -0
- package/src/renderers/CRUD.tsx +23 -5
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Chart.tsx +4 -0
- package/src/renderers/Dialog.tsx +4 -0
- package/src/renderers/Drawer.tsx +14 -2
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +104 -49
- package/src/renderers/Form/InputCity.tsx +33 -4
- package/src/renderers/Form/InputDate.tsx +18 -4
- package/src/renderers/Form/InputDateRange.tsx +27 -3
- package/src/renderers/Form/InputFile.tsx +23 -7
- package/src/renderers/Form/InputImage.tsx +22 -6
- package/src/renderers/Form/InputMonthRange.tsx +7 -1
- package/src/renderers/Form/InputRange.tsx +18 -16
- package/src/renderers/Form/InputText.tsx +14 -4
- package/src/renderers/Form/InputTree.tsx +40 -2
- package/src/renderers/Form/Item.tsx +7 -0
- package/src/renderers/Form/NestedSelect.tsx +23 -4
- package/src/renderers/Form/Options.tsx +26 -7
- package/src/renderers/Form/Select.tsx +5 -3
- package/src/renderers/Form/Textarea.tsx +3 -1
- package/src/renderers/Form/TreeSelect.tsx +47 -9
- package/src/renderers/Form/index.tsx +56 -25
- package/src/renderers/Form/wrapControl.tsx +23 -12
- package/src/renderers/Nav.tsx +231 -33
- package/src/renderers/Page.tsx +96 -33
- package/src/renderers/Progress.tsx +7 -9
- package/src/renderers/Service.tsx +66 -27
- package/src/renderers/Spinner.tsx +85 -3
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/ColumnToggler.tsx +36 -11
- package/src/renderers/Table/TableCell.tsx +39 -1
- package/src/renderers/Table/index.tsx +43 -19
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/TooltipWrapper.tsx +71 -28
- package/src/renderers/Wizard.tsx +169 -93
- package/src/store/crud.ts +50 -5
- package/src/store/form.ts +8 -3
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +2 -2
- package/src/types.ts +8 -1
- package/src/utils/ColorScale.ts +138 -0
- package/src/utils/api.ts +26 -4
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
- package/src/utils/dom.tsx +7 -6
- package/src/utils/position.ts +0 -1
- package/src/utils/scrollPosition.ts +29 -0
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputRange.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAAsD;AACtD,0EAAuC;AACvC,0EAAuC;AACvC,wEAAqC;AACrC,wEAAqC;AAErC,+BAAmE;AACnE,8EAAgD;AAChD,0FAAuD;AACvD,gDAA4C;AAC5C,uDAAoD;AACpD,6CAA0D;AAC1D,uCAAuC;AAkOvC;;;;;GAKG;AACH,SAAgB,WAAW,CACzB,KAAY,EACZ,KAKC
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React, {CSSProperties, ReactNode} from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport forEach from 'lodash/forEach';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport InputRange from '../../components/Range';\nimport NumberInput from '../../components/NumberInput';\nimport {Icon} from '../../components/icons';\nimport {stripNumber} from '../../utils/tpl-builtin';\nimport {autobind, createObject} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {SchemaObject} from '../../Schema';\nimport {Action} from '../../types';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\n\nexport type Value = string | MultipleValue | number | [number, number];\nexport type FormatValue = MultipleValue | number;\nexport type TooltipPosType = 'auto' | 'top' | 'right' | 'bottom' | 'left';\nexport type InputRangeRendererEvent = 'change' | 'blur' | 'focus';\nexport type InputRangeRendererAction = 'clear';\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 滑块值\n */\n value?: Value;\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示步长\n */\n showSteps?: boolean;\n\n /**\n * 分割块数\n */\n parts?: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible?: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement?: TooltipPosType;\n\n /**\n * 是否为双滑块\n */\n multiple?: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues?: boolean;\n\n /**\n * 分隔符\n */\n delimiter?: string;\n\n /**\n * 是否展示输入框\n */\n showInput?: boolean;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\ntype MarksType = {\n [index: number | string]: MarksValue;\n};\n\ntype MarksValue = Record<\n number,\n SchemaObject | {style?: React.CSSProperties; label?: string}\n>;\n\nexport interface RangeProps extends FormControlProps {\n /**\n * 滑块值\n */\n value: Value;\n\n /**\n * 最小值\n */\n min: number;\n\n /**\n * 最大值\n */\n max: number;\n\n /**\n * 步长\n */\n step: number;\n\n /**\n * 是否展示步长\n */\n showSteps: boolean;\n\n /**\n * 分割块数\n */\n parts: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement: TooltipPosType;\n\n /**\n * 控制滑块标签显隐函数\n */\n tipFormatter?: (value: Value) => boolean;\n\n /**\n * 是否为双滑块\n */\n multiple: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues: boolean;\n\n /**\n * 分隔符\n */\n delimiter: string;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示输入框\n */\n showInput: boolean;\n\n /**\n * 是否禁用\n */\n disabled: boolean;\n\n /**\n * value改变事件\n */\n onChange: (value: Value) => void;\n\n /**\n * 鼠标松开事件\n */\n onAfterChange?: (value: Value) => any;\n}\n\nexport interface MultipleValue {\n min: number;\n max: number;\n}\n\nexport interface DefaultProps {\n value: Value;\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n showSteps: boolean;\n parts: number;\n tooltipPlacement: TooltipPosType;\n}\n\nexport interface RangeItemProps extends RangeProps {\n value: FormatValue;\n updateValue: (value: Value) => void;\n onAfterChange: () => void;\n}\n\nexport interface RangeState {\n value: FormatValue;\n}\n\n/**\n * 格式化初始value值\n * @param value 初始value值 Value\n * @param props RangeProps\n * @returns number | {min: number, max: number}\n */\nexport function formatValue(\n value: Value,\n props: {\n multiple: boolean;\n delimiter: string;\n min: number;\n max: number;\n }\n): FormatValue {\n if (props.multiple) {\n let {min, max} = props;\n // value是字符串\n if (typeof value === 'string') {\n [min, max] = value.split(props.delimiter || ',').map(v => Number(v));\n }\n // value是数组\n else if (Array.isArray(value)) {\n [min, max] = value;\n }\n // value是对象\n else if (typeof value === 'object') {\n min = value.min;\n max = value.max;\n }\n return {\n min: min === undefined || min < props.min ? props.min : min,\n max: max === undefined || max > props.max ? props.max : max\n };\n }\n return +value ?? props.min;\n}\n\n/**\n * 输入框\n */\nexport class Input extends React.Component<RangeItemProps, any> {\n /**\n * onChange事件,只能输入数字\n * @param e React.ChangeEvent\n */\n @autobind\n onChange(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n /**\n * 双滑块 更新value\n * @param value 输入的value值\n */\n @autobind\n onUpdateValue(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n checkNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n /**\n * 获取步长小数精度\n * @returns\n */\n getStepPrecision() {\n const {step} = this.props;\n const stepIsDecimal = /^\\d+\\.\\d+$/.test(step.toString());\n return !stepIsDecimal || step < 0\n ? 0\n : step.toString().split('.')[1]?.length;\n }\n\n /**\n * 处理数据\n * @param value input数据\n * @param type min | max 双滑块\n * @returns 处理之后数据\n */\n getValue(value: string | number, type?: string) {\n const {max, min, step, value: stateValue} = this.props as RangeItemProps;\n\n // 校正value为step的倍数\n let _value = Math.round(parseFloat(value + '') / step) * step;\n // 同步value与步长小数位数\n _value = parseFloat(_value.toFixed(this.getStepPrecision()));\n // 单滑块只用考虑 轨道边界 ,双滑块需要考虑 两端滑块边界\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n // 如果 大于当前双滑块最大值 取 当前双滑块max值 - 步长\n if (_value >= stateValue.max) {\n return stateValue.max - step;\n }\n return _value;\n }\n return min;\n }\n case 'max':\n if (isObject(stateValue) && isNumber(stateValue.min)) {\n // 如果 小于当前双滑块最大值 取 当前双滑块min值 + 步长\n if (_value <= stateValue.min) {\n return stateValue.min + step;\n }\n return _value;\n }\n return max;\n default:\n // 轨道边界\n return (_value < min && min) || (_value > max && max) || _value;\n }\n }\n\n /**\n * 失焦事件\n */\n @autobind\n onBlur() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('blur', data);\n }\n\n /**\n * 聚焦事件\n */\n @autobind\n onFocus() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('focus', data);\n }\n\n render() {\n const {\n classnames: cx,\n value,\n multiple,\n type,\n step,\n classPrefix: ns,\n disabled,\n max,\n min\n } = this.props;\n const _value = multiple\n ? type === 'min'\n ? Math.min((value as MultipleValue).min, (value as MultipleValue).max)\n : Math.max((value as MultipleValue).min, (value as MultipleValue).max)\n : value;\n return (\n <div className={cx(`${ns}InputRange-input`)}>\n <NumberInput\n value={+_value}\n step={step}\n max={this.checkNum(max)}\n min={this.checkNum(min)}\n onChange={this.onChange}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n />\n </div>\n );\n }\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n value: 0,\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ',',\n showSteps: false,\n parts: 1,\n tooltipPlacement: 'auto'\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: this.getValue(value)\n };\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value} = prevProps;\n const {\n value: nextPropsValue,\n multiple,\n delimiter,\n min,\n max,\n onChange\n } = this.props;\n if (value !== nextPropsValue) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n this.setState({\n value: this.getValue(value)\n });\n }\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n if (action.actionType === 'clear') {\n this.clearValue();\n }\n }\n\n @autobind\n clearValue() {\n const {multiple, min, max} = this.props;\n if (multiple) {\n this.updateValue({min, max});\n } else {\n this.updateValue(min);\n }\n }\n\n @autobind\n getValue(value: FormatValue) {\n const {multiple} = this.props;\n return multiple\n ? {\n max: stripNumber((value as MultipleValue).max),\n min: stripNumber((value as MultipleValue).min)\n }\n : stripNumber(value as number);\n }\n\n /**\n * 所有触发value变换 -> updateValue\n * @param value\n */\n @autobind\n async updateValue(value: FormatValue) {\n this.setState({value: this.getValue(value)});\n const {onChange, data, dispatchEvent} = this.props;\n const result = this.getFormatValue(value);\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: result\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(result);\n }\n\n /**\n * 鼠标松开事件\n */\n @autobind\n onAfterChange() {\n const {value} = this.state;\n const {onAfterChange, dispatchEvent, data} = this.props;\n const result = this.getFormatValue(value);\n onAfterChange && onAfterChange(result);\n }\n\n /**\n * 获取导出格式数据\n */\n @autobind\n getFormatValue(value: FormatValue) {\n const {multiple, joinValues, delimiter} = this.props;\n return multiple\n ? joinValues\n ? [(value as MultipleValue).min, (value as MultipleValue).max].join(\n delimiter || ','\n )\n : {\n min: (value as MultipleValue).min,\n max: (value as MultipleValue).max\n }\n : value;\n }\n\n render() {\n const {value} = this.state;\n const props: RangeItemProps = {\n ...this.props,\n value,\n updateValue: this.updateValue,\n onAfterChange: this.onAfterChange\n };\n\n const {\n classPrefix: ns,\n multiple,\n parts,\n showInput,\n classnames: cx,\n className,\n disabled,\n clearable,\n min,\n max,\n render,\n marks,\n region\n } = props;\n\n // 指定parts -> 重新计算步长\n if (parts > 1) {\n props.step = (props.max - props.min) / props.parts;\n props.showSteps = true;\n }\n\n // 处理自定义json配置\n let renderMarks:\n | MarksType\n | {[index: number | string]: ReactNode}\n | undefined = marks ? {...marks} : marks;\n marks &&\n forEach(marks, (item, key) => {\n if (isObject(item) && (item as SchemaObject).type) {\n renderMarks &&\n (renderMarks[key] = render(region, item as SchemaObject));\n }\n });\n\n return (\n <div\n className={cx(\n 'RangeControl',\n `${ns}InputRange`,\n {'is-disabled': disabled},\n className\n )}\n >\n {showInput && multiple && <Input {...props} type=\"min\" />}\n <InputRange {...props} marks={renderMarks} />\n {showInput && <Input {...props} type=\"max\" />}\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
|
11
|
+
"import React, {CSSProperties, ReactNode} from 'react';\nimport isNumber from 'lodash/isNumber';\nimport isObject from 'lodash/isObject';\nimport isEqual from 'lodash/isEqual';\nimport forEach from 'lodash/forEach';\n\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport InputRange from '../../components/Range';\nimport NumberInput from '../../components/NumberInput';\nimport {Icon} from '../../components/icons';\nimport {stripNumber} from '../../utils/tpl-builtin';\nimport {autobind, createObject} from '../../utils/helper';\nimport {filter} from '../../utils/tpl';\nimport {SchemaObject} from '../../Schema';\nimport {Action} from '../../types';\n\n/**\n * Range\n * 文档:https://baidu.gitee.io/amis/docs/components/form/range\n */\n\nexport type Value = string | MultipleValue | number | [number, number];\nexport type FormatValue = MultipleValue | number;\nexport type TooltipPosType = 'auto' | 'top' | 'right' | 'bottom' | 'left';\nexport type InputRangeRendererEvent = 'change' | 'blur' | 'focus';\nexport type InputRangeRendererAction = 'clear';\nexport interface RangeControlSchema extends FormBaseControl {\n type: 'input-range';\n\n /**\n * 滑块值\n */\n value?: Value;\n\n /**\n * 最大值\n */\n max?: number;\n\n /**\n * 最小值\n */\n min?: number;\n\n /**\n * 步长\n */\n step?: number;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示步长\n */\n showSteps?: boolean;\n\n /**\n * 分割块数\n */\n parts?: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible?: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement?: TooltipPosType;\n\n /**\n * 是否为双滑块\n */\n multiple?: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues?: boolean;\n\n /**\n * 分隔符\n */\n delimiter?: string;\n\n /**\n * 是否展示输入框\n */\n showInput?: boolean;\n\n /**\n * 是否禁用\n */\n disabled?: boolean;\n}\n\ntype MarksType = {\n [index: number | string]: MarksValue;\n};\n\ntype MarksValue = Record<\n number,\n SchemaObject | {style?: React.CSSProperties; label?: string}\n>;\n\nexport interface RangeProps extends FormControlProps {\n /**\n * 滑块值\n */\n value: Value;\n\n /**\n * 最小值\n */\n min: number;\n\n /**\n * 最大值\n */\n max: number;\n\n /**\n * 步长\n */\n step: number;\n\n /**\n * 是否展示步长\n */\n showSteps: boolean;\n\n /**\n * 分割块数\n */\n parts: number;\n\n /**\n * 刻度\n */\n marks?: MarksType;\n\n /**\n * 是否展示标签\n */\n tooltipVisible: boolean;\n\n /**\n * 标签方向\n */\n tooltipPlacement: TooltipPosType;\n\n /**\n * 控制滑块标签显隐函数\n */\n tipFormatter?: (value: Value) => boolean;\n\n /**\n * 是否为双滑块\n */\n multiple: boolean;\n\n /**\n * 是否通过分隔符连接\n */\n joinValues: boolean;\n\n /**\n * 分隔符\n */\n delimiter: string;\n\n /**\n * 单位\n */\n unit?: string;\n\n /**\n * 是否展示输入框\n */\n showInput: boolean;\n\n /**\n * 是否禁用\n */\n disabled: boolean;\n\n /**\n * value改变事件\n */\n onChange: (value: Value) => void;\n\n /**\n * 鼠标松开事件\n */\n onAfterChange?: (value: Value) => any;\n}\n\nexport interface MultipleValue {\n min: number;\n max: number;\n}\n\nexport interface DefaultProps {\n value: Value;\n max: number;\n min: number;\n step: number;\n unit: string;\n clearable: boolean;\n disabled: boolean;\n showInput: boolean;\n multiple: boolean;\n joinValues: boolean;\n delimiter: string;\n showSteps: boolean;\n parts: number;\n tooltipPlacement: TooltipPosType;\n}\n\nexport interface RangeItemProps extends RangeProps {\n value: FormatValue;\n updateValue: (value: Value) => void;\n onAfterChange: () => void;\n}\n\nexport interface RangeState {\n value: FormatValue;\n}\n\n/**\n * 格式化初始value值\n * @param value 初始value值 Value\n * @param props RangeProps\n * @returns number | {min: number, max: number}\n */\nexport function formatValue(\n value: Value,\n props: {\n multiple: boolean;\n delimiter: string;\n min: number;\n max: number;\n }\n): FormatValue {\n if (props.multiple) {\n let {min, max} = props;\n // value是字符串\n if (typeof value === 'string') {\n [min, max] = value.split(props.delimiter || ',').map(v => Number(v));\n }\n // value是数组\n else if (Array.isArray(value)) {\n [min, max] = value;\n }\n // value是对象\n else if (typeof value === 'object') {\n min = value.min;\n max = value.max;\n }\n return {\n min: min === undefined || min < props.min ? props.min : min,\n max: max === undefined || max > props.max ? props.max : max\n };\n }\n return +value < props.min ? props.min : Math.min(+value, props.max);\n}\n\n/**\n * 输入框\n */\nexport class Input extends React.Component<RangeItemProps, any> {\n /**\n * onChange事件,只能输入数字\n * @param e React.ChangeEvent\n */\n @autobind\n onChange(value: number) {\n const {multiple, value: originValue, type, min} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple\n ? {...(originValue as MultipleValue), [type]: _value}\n : value ?? min\n );\n }\n\n /**\n * 双滑块 更新value\n * @param value 输入的value值\n */\n @autobind\n onUpdateValue(value: number) {\n const {multiple, value: originValue, type} = this.props;\n const _value = this.getValue(value, type);\n\n this.props.updateValue(\n multiple ? {...(originValue as MultipleValue), [type]: _value} : value\n );\n }\n\n checkNum(value: number | string | undefined) {\n if (typeof value !== 'number') {\n value = filter(value, this.props.data);\n value = /^[-]?\\d+/.test(value) ? +value : undefined;\n }\n return value;\n }\n\n /**\n * 获取步长小数精度\n * @returns\n */\n getStepPrecision() {\n const {step} = this.props;\n const stepIsDecimal = /^\\d+\\.\\d+$/.test(step.toString());\n return !stepIsDecimal || step < 0\n ? 0\n : step.toString().split('.')[1]?.length;\n }\n\n /**\n * 处理数据\n * @param value input数据\n * @param type min | max 双滑块\n * @returns 处理之后数据\n */\n getValue(value: string | number, type?: string) {\n const {max, min, step, value: stateValue} = this.props as RangeItemProps;\n // value为null、undefined时,取对应的min/max\n value = value ?? (type === 'min' ? min : max);\n // 校正value为step的倍数\n let _value = Math.round(parseFloat(value + '') / step) * step;\n // 同步value与步长小数位数\n _value = parseFloat(_value.toFixed(this.getStepPrecision()));\n // 单滑块只用考虑 轨道边界 ,双滑块需要考虑 两端滑块边界\n switch (type) {\n case 'min': {\n if (isObject(stateValue) && isNumber(stateValue.max)) {\n // 如果 大于当前双滑块最大值 取 当前双滑块max值 - 步长\n if (_value >= stateValue.max) {\n return stateValue.max - step;\n }\n return _value;\n }\n return min;\n }\n case 'max':\n if (isObject(stateValue) && isNumber(stateValue.min)) {\n // 如果 小于当前双滑块最大值 取 当前双滑块min值 + 步长\n if (_value <= stateValue.min) {\n return stateValue.min + step;\n }\n return _value;\n }\n return max;\n default:\n // 轨道边界\n return (_value < min && min) || (_value > max && max) || _value;\n }\n }\n\n /**\n * 失焦事件\n */\n @autobind\n onBlur() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('blur', data);\n }\n\n /**\n * 聚焦事件\n */\n @autobind\n onFocus() {\n const {data, dispatchEvent} = this.props;\n dispatchEvent('focus', data);\n }\n\n render() {\n const {\n classnames: cx,\n value,\n multiple,\n type,\n step,\n classPrefix: ns,\n disabled,\n max,\n min\n } = this.props;\n const _value = multiple\n ? type === 'min'\n ? Math.min((value as MultipleValue).min, (value as MultipleValue).max)\n : Math.max((value as MultipleValue).min, (value as MultipleValue).max)\n : value;\n return (\n <div className={cx(`${ns}InputRange-input`)}>\n <NumberInput\n value={+_value}\n step={step}\n max={this.checkNum(max)}\n min={this.checkNum(min)}\n onChange={this.onChange}\n disabled={disabled}\n onBlur={this.onBlur}\n onFocus={this.onFocus}\n />\n </div>\n );\n }\n}\n\nexport default class RangeControl extends React.PureComponent<\n RangeProps,\n RangeState\n> {\n midLabel?: HTMLSpanElement;\n\n static defaultProps: DefaultProps = {\n value: 0,\n max: 100,\n min: 0,\n step: 1,\n unit: '',\n clearable: true,\n disabled: false,\n showInput: false,\n multiple: false,\n joinValues: true,\n delimiter: ',',\n showSteps: false,\n parts: 1,\n tooltipPlacement: 'auto'\n };\n\n constructor(props: RangeProps) {\n super(props);\n const {value: propsValue, multiple, delimiter, min, max} = this.props;\n const value = formatValue(propsValue, {\n multiple,\n delimiter,\n min,\n max\n });\n\n this.state = {\n value: this.getValue(value)\n };\n }\n\n componentDidUpdate(prevProps: RangeProps) {\n const {value, min, max} = prevProps;\n const {\n value: nextPropsValue,\n multiple,\n delimiter,\n min: nextPropsMin,\n max: nextPropsMax,\n onChange\n } = this.props;\n\n if (\n value !== nextPropsValue ||\n min !== nextPropsMin ||\n max !== nextPropsMax\n ) {\n const value = formatValue(nextPropsValue, {\n multiple,\n delimiter,\n min: nextPropsMin,\n max: nextPropsMax\n });\n this.setState({\n value: this.getValue(value)\n });\n }\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n if (action.actionType === 'clear') {\n this.clearValue();\n }\n }\n\n @autobind\n clearValue() {\n const {multiple, min, max} = this.props;\n if (multiple) {\n this.updateValue({min, max});\n } else {\n this.updateValue(min);\n }\n }\n\n @autobind\n getValue(value: FormatValue) {\n const {multiple} = this.props;\n return multiple\n ? {\n max: stripNumber((value as MultipleValue).max),\n min: stripNumber((value as MultipleValue).min)\n }\n : stripNumber(value as number);\n }\n\n /**\n * 所有触发value变换 -> updateValue\n * @param value\n */\n @autobind\n async updateValue(value: FormatValue) {\n this.setState({value: this.getValue(value)});\n const {onChange, data, dispatchEvent} = this.props;\n const result = this.getFormatValue(value);\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: result\n })\n );\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(result);\n }\n\n /**\n * 鼠标松开事件\n */\n @autobind\n onAfterChange() {\n const {value} = this.state;\n const {onAfterChange, dispatchEvent, data} = this.props;\n const result = this.getFormatValue(value);\n onAfterChange && onAfterChange(result);\n }\n\n /**\n * 获取导出格式数据\n */\n @autobind\n getFormatValue(value: FormatValue) {\n const {multiple, joinValues, delimiter} = this.props;\n return multiple\n ? joinValues\n ? [(value as MultipleValue).min, (value as MultipleValue).max].join(\n delimiter || ','\n )\n : {\n min: (value as MultipleValue).min,\n max: (value as MultipleValue).max\n }\n : value;\n }\n\n render() {\n const {value} = this.state;\n const props: RangeItemProps = {\n ...this.props,\n value,\n updateValue: this.updateValue,\n onAfterChange: this.onAfterChange\n };\n\n const {\n classPrefix: ns,\n multiple,\n parts,\n showInput,\n classnames: cx,\n className,\n disabled,\n clearable,\n min,\n max,\n render,\n marks,\n region\n } = props;\n\n // 处理自定义json配置\n let renderMarks:\n | MarksType\n | {[index: number | string]: ReactNode}\n | undefined = marks ? {...marks} : marks;\n marks &&\n forEach(marks, (item, key) => {\n if (isObject(item) && (item as SchemaObject).type) {\n renderMarks &&\n (renderMarks[key] = render(region, item as SchemaObject));\n }\n });\n\n return (\n <div\n className={cx(\n 'RangeControl',\n `${ns}InputRange`,\n {'is-disabled': disabled},\n className\n )}\n >\n {showInput && multiple && <Input {...props} type=\"min\" />}\n <InputRange {...props} marks={renderMarks} />\n {showInput && <Input {...props} type=\"max\" />}\n {clearable && !disabled && showInput ? (\n <a\n onClick={() => this.clearValue()}\n className={cx('InputRange-clear', {\n 'is-active': multiple\n ? isEqual(this.state.value, {min: min, max: max})\n : this.state.value !== min\n })}\n >\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'input-range'\n})\nexport class RangeControlRenderer extends RangeControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -48,7 +48,7 @@ export interface TextControlSchema extends FormOptionsControl {
|
|
48
48
|
*/
|
49
49
|
suffix?: string;
|
50
50
|
}
|
51
|
-
export declare type InputTextRendererEvent = 'blur' | 'focus' | 'click' | 'change' | '
|
51
|
+
export declare type InputTextRendererEvent = 'blur' | 'focus' | 'click' | 'change' | 'enter';
|
52
52
|
export interface TextProps extends OptionsControlProps {
|
53
53
|
placeholder?: string;
|
54
54
|
addOn?: Action & {
|
@@ -53,7 +53,7 @@ var TextControl = /** @class */ (function (_super) {
|
|
53
53
|
term: ''
|
54
54
|
}));
|
55
55
|
}
|
56
|
-
else {
|
56
|
+
else if (addHook) {
|
57
57
|
this.unHook = addHook(function (data) { return (0, tslib_1.__awaiter)(_this, void 0, void 0, function () {
|
58
58
|
return (0, tslib_1.__generator)(this, function (_a) {
|
59
59
|
switch (_a.label) {
|
@@ -341,10 +341,11 @@ var TextControl = /** @class */ (function (_super) {
|
|
341
341
|
TextControl.prototype.renderSugestMode = function () {
|
342
342
|
var _this = this;
|
343
343
|
var _a;
|
344
|
-
var _b = this.props, className = _b.className, inputOnly = _b.inputOnly, value = _b.value, placeholder = _b.placeholder, cx = _b.classnames, disabled = _b.disabled, name = _b.name, loading = _b.loading, clearable = _b.clearable, options = _b.options, selectedOptions = _b.selectedOptions, autoComplete = _b.autoComplete, labelField = _b.labelField, valueField = _b.valueField, multiple = _b.multiple, creatable = _b.creatable, borderMode = _b.borderMode, __ = _b.translate;
|
344
|
+
var _b = this.props, className = _b.className, inputOnly = _b.inputOnly, value = _b.value, placeholder = _b.placeholder, cx = _b.classnames, disabled = _b.disabled, name = _b.name, loading = _b.loading, clearable = _b.clearable, options = _b.options, selectedOptions = _b.selectedOptions, autoComplete = _b.autoComplete, labelField = _b.labelField, valueField = _b.valueField, multiple = _b.multiple, creatable = _b.creatable, borderMode = _b.borderMode, showCounter = _b.showCounter, maxLength = _b.maxLength, __ = _b.translate;
|
345
345
|
var type = (_a = this.props.type) === null || _a === void 0 ? void 0 : _a.replace(/^(?:native|input)\-/, '');
|
346
346
|
return (react_1.default.createElement(downshift_1.default, { isOpen: this.state.isOpen && !disabled, inputValue: this.state.inputValue, onChange: this.handleChange, onStateChange: this.handleStateChange, selectedItem: selectedOptions.map(function (item) { return item[valueField || 'value']; }) }, function (_a) {
|
347
347
|
var _b, _c;
|
348
|
+
var _d;
|
348
349
|
var getInputProps = _a.getInputProps, getItemProps = _a.getItemProps, isOpen = _a.isOpen, inputValue = _a.inputValue, selectedItem = _a.selectedItem, highlightedIndex = _a.highlightedIndex;
|
349
350
|
var filtedOptions = inputValue && isOpen && !autoComplete
|
350
351
|
? (0, match_sorter_1.matchSorter)(options, inputValue, {
|
@@ -393,6 +394,9 @@ var TextControl = /** @class */ (function (_super) {
|
|
393
394
|
}), { autoComplete: "off", size: 10 }))),
|
394
395
|
clearable && !disabled && value ? (react_1.default.createElement("a", { onClick: _this.clearValue, className: cx('TextControl-clear') },
|
395
396
|
react_1.default.createElement(icons_1.Icon, { icon: "input-clear", className: "icon" }))) : null,
|
397
|
+
showCounter ? (react_1.default.createElement("span", { className: cx('TextControl-counter') }, "".concat((_d = _this.valueToString(value)) === null || _d === void 0 ? void 0 : _d.length).concat(typeof maxLength === 'number' && maxLength
|
398
|
+
? "/".concat(maxLength)
|
399
|
+
: ''))) : null,
|
396
400
|
loading ? (react_1.default.createElement(Spinner_1.default, { show: true, icon: "reload", spinnerClassName: cx('TextControl-spinner') })) : null,
|
397
401
|
isOpen && filtedOptions.length ? (react_1.default.createElement("div", { className: cx('TextControl-sugs') }, filtedOptions.map(function (option) {
|
398
402
|
return (react_1.default.createElement("div", (0, tslib_1.__assign)({}, getItemProps({
|
@@ -444,8 +448,8 @@ var TextControl = /** @class */ (function (_super) {
|
|
444
448
|
~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (react_1.default.createElement("div", { className: cx("".concat(ns, "TextControl-button"), addOn.className) }, render('addOn', addOn, {
|
445
449
|
disabled: disabled
|
446
450
|
}))) : (react_1.default.createElement("div", { className: cx("".concat(ns, "TextControl-addOn"), addOn.className) },
|
447
|
-
|
448
|
-
|
451
|
+
iconElement,
|
452
|
+
addOn.label ? (0, tpl_1.filter)(addOn.label, data) : null))) : null;
|
449
453
|
if (inputOnly) {
|
450
454
|
return input;
|
451
455
|
}
|
@@ -467,12 +471,6 @@ var TextControl = /** @class */ (function (_super) {
|
|
467
471
|
allowInputText: true,
|
468
472
|
trimContents: true
|
469
473
|
};
|
470
|
-
(0, tslib_1.__decorate)([
|
471
|
-
(0, Decorators_1.bindRendererEvent)('clear'),
|
472
|
-
(0, tslib_1.__metadata)("design:type", Function),
|
473
|
-
(0, tslib_1.__metadata)("design:paramtypes", []),
|
474
|
-
(0, tslib_1.__metadata)("design:returntype", void 0)
|
475
|
-
], TextControl.prototype, "clearValue", null);
|
476
474
|
(0, tslib_1.__decorate)([
|
477
475
|
(0, Decorators_1.bindRendererEvent)('click'),
|
478
476
|
(0, tslib_1.__metadata)("design:type", Function),
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputText.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'clear'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('clear')\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {onChange, multiple, selectedOptions, creatable} = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[]) {\n const {delimiter, joinValues, extractValue, valueField} = this.props;\n\n return joinValues\n ? value.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? value.map(item => item[valueField || 'value'])\n : value;\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {addOn.label ? filter(addOn.label, data) : null}\n {iconElement}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
|
11
|
+
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n highlight,\n FormOptionsControl\n} from './Options';\nimport {Action} from '../../types';\nimport Downshift, {StateChangeOptions} from 'downshift';\nimport {matchSorter} from 'match-sorter';\nimport debouce from 'lodash/debounce';\nimport {filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport {Icon} from '../../components/icons';\nimport Input from '../../components/Input';\nimport {autobind, createObject, setVariable, ucFirst} from '../../utils/helper';\nimport {isEffectiveApi} from '../../utils/api';\nimport Spinner from '../../components/Spinner';\nimport {FormBaseControl} from './Item';\nimport {ActionSchema} from '../Action';\nimport {SchemaApi} from '../../Schema';\nimport {generateIcon} from '../../utils/icon';\nimport {\n rendererEventDispatcher,\n bindRendererEvent\n} from '../../actions/Decorators';\n\nimport type {Option} from '../../components/Select';\nimport type {ListenerAction} from '../../actions/Action';\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\n/**\n * Text 文本输入框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/text\n */\nexport interface TextControlSchema extends FormOptionsControl {\n type:\n | 'input-text'\n | 'input-email'\n | 'input-url'\n | 'input-password'\n | 'native-date'\n | 'native-time'\n | 'native-number';\n\n addOn?: {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n } & ActionSchema;\n\n /**\n * 是否去除首尾空白文本。\n */\n trimContents?: boolean;\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 限制文字个数\n */\n maxLength?: number;\n\n /**\n * 是否显示计数\n */\n showCounter?: boolean;\n\n /**\n * 前缀\n */\n prefix?: string;\n\n /**\n * 后缀\n */\n suffix?: string;\n}\n\nexport type InputTextRendererEvent =\n | 'blur'\n | 'focus'\n | 'click'\n | 'change'\n | 'enter';\n\nexport interface TextProps extends OptionsControlProps {\n placeholder?: string;\n addOn?: Action & {\n position?: 'left' | 'right';\n label?: string;\n icon?: string;\n className?: string;\n };\n creatable?: boolean;\n clearable: boolean;\n resetValue?: any;\n autoComplete?: any;\n allowInputText?: boolean;\n spinnerClassName: string;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n}\n\nexport default class TextControl extends React.PureComponent<\n TextProps,\n TextState\n> {\n input?: HTMLInputElement;\n\n highlightedIndex?: any;\n unHook: Function;\n constructor(props: TextProps) {\n super(props);\n\n const value = props.value;\n this.state = {\n isOpen: false,\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(value),\n isFocused: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.inputRef = this.inputRef.bind(this);\n this.handleClick = this.handleClick.bind(this);\n this.handleFocus = this.handleFocus.bind(this);\n this.handleBlur = this.handleBlur.bind(this);\n this.handleInputChange = this.handleInputChange.bind(this);\n this.handleKeyDown = this.handleKeyDown.bind(this);\n this.handleChange = this.handleChange.bind(this);\n this.handleStateChange = this.handleStateChange.bind(this);\n this.loadAutoComplete = debouce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n }\n\n static defaultProps: Partial<TextProps> = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n placeholder: '',\n allowInputText: true,\n trimContents: true\n };\n\n componentDidMount() {\n const {formItem, autoComplete, addHook, formInited, data, name} =\n this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n if (formInited) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n } else if (addHook) {\n this.unHook = addHook(async (data: any) => {\n await formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: ''\n })\n );\n\n if (formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n }, 'init');\n }\n }\n }\n\n componentDidUpdate(prevProps: TextProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue:\n props.multiple || props.creatable === false\n ? ''\n : this.valueToString(props.value)\n });\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n doAction(action: ListenerAction, args: any) {\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n this.clearValue();\n } else if (actionType === 'focus') {\n this.focus();\n }\n }\n\n focus() {\n if (!this.input) {\n return;\n }\n\n this.input.focus();\n\n // 光标放到最后\n const len = this.input.value.length;\n len && this.input.setSelectionRange(len, len);\n }\n\n clearValue() {\n const {onChange, resetValue} = this.props;\n\n onChange(resetValue);\n this.setState(\n {\n inputValue: resetValue\n },\n () => {\n this.focus();\n this.loadAutoComplete();\n }\n );\n }\n\n removeItem(index: number) {\n const {selectedOptions, onChange} = this.props;\n\n const newValue = selectedOptions.concat();\n newValue.splice(index, 1);\n\n onChange(this.normalizeValue(newValue));\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('click')\n handleClick() {\n this.focus();\n this.setState({\n isOpen: true\n });\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('focus')\n handleFocus(e: any) {\n this.setState({\n isOpen: true,\n isFocused: true\n });\n\n this.props.onFocus && this.props.onFocus(e);\n }\n\n @bindRendererEvent<TextProps, InputTextRendererEvent>('blur')\n handleBlur(e: any) {\n const {onBlur, trimContents, value, onChange} = this.props;\n\n this.setState(\n {\n isFocused: false\n },\n () => {\n if (trimContents && value && typeof value === 'string') {\n onChange(value.trim());\n }\n }\n );\n\n onBlur && onBlur(e);\n }\n\n handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = evt.currentTarget.value;\n const {creatable, multiple, onChange} = this.props;\n\n this.setState(\n {\n inputValue: value\n },\n () => {\n if (creatable !== false && !multiple) {\n onChange?.(value);\n }\n\n this.loadAutoComplete();\n }\n );\n }\n\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, multiple, creatable} = this.props;\n\n if (selectedOptions.length && !this.state.inputValue && evt.keyCode === 8) {\n evt.preventDefault();\n const newValue = selectedOptions.concat();\n newValue.pop();\n\n onChange(this.normalizeValue(newValue));\n\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.inputValue &&\n typeof this.highlightedIndex !== 'number' &&\n creatable !== false\n ) {\n evt.preventDefault();\n let value: string | Array<string | any> = this.state.inputValue;\n\n if (\n multiple &&\n value &&\n !find(selectedOptions, item => item.value == value)\n ) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n value = this.normalizeValue(newValue).concat();\n }\n\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'enter', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(value);\n\n this.setState(\n {\n inputValue: '',\n isOpen: false\n },\n this.loadAutoComplete\n );\n } else if (\n evt.key === 'Enter' &&\n this.state.isOpen &&\n typeof this.highlightedIndex !== 'number'\n ) {\n this.setState({\n isOpen: false\n });\n }\n }\n\n handleChange(value: any) {\n const {onChange, multiple, selectedOptions, creatable} = this.props;\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n newValue.push({\n label: value,\n value: value\n });\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(value);\n }\n\n if (multiple || creatable === false) {\n this.setState(\n {\n inputValue: ''\n },\n this.loadAutoComplete\n );\n }\n }\n\n handleStateChange(changes: StateChangeOptions<any>) {\n const creatable = this.props.creatable;\n const multiple = this.props.multiple || this.props.multi;\n switch (changes.type) {\n case Downshift.stateChangeTypes.itemMouseEnter:\n this.setState({\n isOpen: true\n });\n break;\n case Downshift.stateChangeTypes.changeInput:\n this.setState({\n isOpen: true\n });\n break;\n default:\n const state: TextState = {};\n if (typeof changes.isOpen !== 'undefined') {\n state.isOpen = changes.isOpen;\n }\n\n if (typeof changes.highlightedIndex !== 'undefined') {\n this.highlightedIndex = changes.highlightedIndex;\n }\n\n // 输入框清空\n if (\n !multiple &&\n creatable === false &&\n this.state.isOpen &&\n changes.isOpen === false\n ) {\n state.inputValue = '';\n }\n\n this.setState(state);\n break;\n }\n }\n\n @autobind\n async handleNormalInputChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n let value = e.currentTarget.value;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value: this.transformValue(value)});\n\n if (dispatcher?.prevented) {\n return;\n }\n\n onChange(this.transformValue(value));\n }\n\n normalizeValue(value: Option[]) {\n const {delimiter, joinValues, extractValue, valueField} = this.props;\n\n return joinValues\n ? value.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? value.map(item => item[valueField || 'value'])\n : value;\n }\n\n transformValue(value: string) {\n const {transform} = this.props;\n\n if (!transform) {\n return value;\n }\n\n Object.keys(transform).forEach((key: 'lowerCase' | 'upperCase') => {\n const propValue = transform[key];\n switch (key) {\n case 'lowerCase':\n propValue && (value = value.toLowerCase());\n break;\n case 'upperCase':\n propValue && (value = value.toUpperCase());\n break;\n }\n });\n\n return value;\n }\n\n loadAutoComplete() {\n const {formItem, autoComplete, data} = this.props;\n\n if (isEffectiveApi(autoComplete, data) && formItem) {\n formItem.loadOptions(\n autoComplete,\n createObject(data, {\n term: this.state.inputValue || '' // (multiple ? '' : selectedOptions[selectedOptions.length - 1]?.value)\n }),\n {\n extendsOptions: true\n }\n );\n }\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n valueToString(value: any) {\n return typeof value === 'undefined' || value === null\n ? ''\n : typeof value === 'string'\n ? value\n : JSON.stringify(value);\n }\n\n renderSugestMode() {\n const {\n className,\n inputOnly,\n value,\n placeholder,\n classnames: cx,\n disabled,\n name,\n loading,\n clearable,\n options,\n selectedOptions,\n autoComplete,\n labelField,\n valueField,\n multiple,\n creatable,\n borderMode,\n showCounter,\n maxLength,\n translate: __\n } = this.props;\n let type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <Downshift\n isOpen={this.state.isOpen && !disabled}\n inputValue={this.state.inputValue}\n onChange={this.handleChange}\n onStateChange={this.handleStateChange}\n selectedItem={selectedOptions.map(item => item[valueField || 'value'])}\n >\n {({\n getInputProps,\n getItemProps,\n isOpen,\n inputValue,\n selectedItem,\n highlightedIndex\n }) => {\n let filtedOptions =\n inputValue && isOpen && !autoComplete\n ? matchSorter(options, inputValue, {\n keys: [labelField || 'label', valueField || 'value']\n })\n : options;\n const indices = isOpen\n ? mapItemIndex(filtedOptions, selectedItem)\n : {};\n\n filtedOptions = filtedOptions.filter(\n (option: any) => !~selectedItem.indexOf(option.value)\n );\n\n if (\n this.state.inputValue &&\n creatable !== false &&\n multiple &&\n !filtedOptions.some(\n (option: any) => option.value === this.state.inputValue\n )\n ) {\n filtedOptions.push({\n [labelField || 'label']: this.state.inputValue,\n [valueField || 'value']: this.state.inputValue,\n isNew: true\n });\n }\n\n return (\n <div\n className={cx(\n `TextControl-input TextControl-input--withAC`,\n inputOnly ? className : '',\n {\n 'is-opened': isOpen,\n 'TextControl-input--multiple': multiple,\n [`TextControl-input--border${ucFirst(borderMode)}`]:\n borderMode\n }\n )}\n onClick={this.handleClick}\n >\n <>\n {placeholder &&\n !selectedOptions.length &&\n !this.state.inputValue &&\n !this.state.isFocused ? (\n <div className={cx('TextControl-placeholder')}>\n {placeholder}\n </div>\n ) : null}\n\n {selectedOptions.map((item, index) =>\n multiple ? (\n <div className={cx('TextControl-value')} key={index}>\n <span\n className={cx('TextControl-valueIcon')}\n onClick={this.removeItem.bind(this, index)}\n >\n ×\n </span>\n <span className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n </div>\n ) : (inputValue && isOpen) || creatable !== false ? null : (\n <div className={cx('TextControl-value')} key={index}>\n {item.label}\n </div>\n )\n )}\n\n <Input\n {...getInputProps({\n name,\n ref: this.inputRef,\n disabled,\n type,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n onChange: this.handleInputChange,\n onKeyDown: this.handleKeyDown\n })}\n autoComplete=\"off\"\n size={10}\n />\n </>\n\n {clearable && !disabled && value ? (\n <a\n onClick={this.clearValue}\n className={cx('TextControl-clear')}\n >\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength\n ? `/${maxLength}`\n : ''\n }`}\n </span>\n ) : null}\n\n {loading ? (\n <Spinner\n show\n icon=\"reload\"\n spinnerClassName={cx('TextControl-spinner')}\n />\n ) : null}\n\n {isOpen && filtedOptions.length ? (\n <div className={cx('TextControl-sugs')}>\n {filtedOptions.map((option: any) => {\n return (\n <div\n {...getItemProps({\n item: option.value,\n disabled: option.disabled,\n className: cx(`TextControl-sugItem`, {\n 'is-highlight':\n highlightedIndex === indices[option.value],\n 'is-disabled': option.disabled\n })\n })}\n key={option.value}\n >\n {option.isNew ? (\n <span>\n {__('Text.add', {label: option.label})}\n <Icon icon=\"enter\" className=\"icon\" />\n </span>\n ) : (\n <span>\n {option.disabled\n ? option.label\n : highlight(option.label, inputValue as string)}\n {option.tip}\n </span>\n )}\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n }}\n </Downshift>\n );\n }\n\n renderNormal(): JSX.Element {\n const {\n classPrefix: ns,\n classnames: cx,\n className,\n inputOnly,\n value,\n placeholder,\n onChange,\n disabled,\n readOnly,\n max,\n min,\n step,\n clearable,\n name,\n borderMode,\n prefix,\n suffix,\n data,\n showCounter,\n maxLength\n } = this.props;\n\n const type = this.props.type?.replace(/^(?:native|input)\\-/, '');\n\n return (\n <div\n className={cx(\n 'TextControl-input',\n {\n [`TextControl-input--border${ucFirst(borderMode)}`]: borderMode\n },\n inputOnly ? className : ''\n )}\n >\n {prefix ? (\n <span className={cx('TextControl-inputPrefix')}>\n {filter(prefix, data)}\n </span>\n ) : null}\n <Input\n name={name}\n placeholder={placeholder}\n ref={this.inputRef}\n disabled={disabled}\n readOnly={readOnly}\n type={type}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n max={max}\n min={min}\n autoComplete=\"off\"\n size={10}\n step={step}\n onChange={this.handleNormalInputChange}\n value={this.valueToString(value)}\n />\n {clearable && !disabled && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {showCounter ? (\n <span className={cx('TextControl-counter')}>\n {`${this.valueToString(value)?.length}${\n typeof maxLength === 'number' && maxLength ? `/${maxLength}` : ''\n }`}\n </span>\n ) : null}\n {suffix ? (\n <span className={cx('TextControl-inputSuffix')}>\n {filter(suffix, data)}\n </span>\n ) : null}\n </div>\n );\n }\n\n render(): JSX.Element {\n const {\n classnames: cx,\n className,\n classPrefix: ns,\n options,\n source,\n autoComplete,\n addOn: addOnRaw,\n render,\n data,\n disabled,\n inputOnly\n } = this.props;\n\n const addOn: any =\n typeof addOnRaw === 'string'\n ? {\n label: addOnRaw,\n type: 'plain'\n }\n : addOnRaw;\n\n let input =\n autoComplete !== false && (source || options.length || autoComplete)\n ? this.renderSugestMode()\n : this.renderNormal();\n\n const iconElement = generateIcon(cx, addOn?.icon, 'Icon');\n\n let addOnDom = addOn ? (\n addOn.actionType ||\n ~['button', 'submit', 'reset', 'action'].indexOf(addOn.type) ? (\n <div className={cx(`${ns}TextControl-button`, addOn.className)}>\n {render('addOn', addOn, {\n disabled\n })}\n </div>\n ) : (\n <div className={cx(`${ns}TextControl-addOn`, addOn.className)}>\n {iconElement}\n {addOn.label ? filter(addOn.label, data) : null}\n </div>\n )\n ) : null;\n\n if (inputOnly) {\n return input;\n }\n\n return (\n <div\n className={cx(className, `${ns}TextControl`, {\n [`${ns}TextControl--withAddOn`]: !!addOnDom,\n 'is-focused': this.state.isFocused,\n 'is-disabled': disabled\n })}\n >\n {addOn && addOn.position === 'left' ? addOnDom : null}\n {input}\n {addOn && addOn.position !== 'left' ? addOnDom : null}\n </div>\n );\n }\n}\n\nexport function mapItemIndex(\n items: Array<any>,\n values: Array<any>,\n valueField: string = 'value'\n) {\n return items\n .filter(item => values.indexOf(item[valueField || 'value']) === -1)\n .reduce((prev, next, i) => {\n prev[next[valueField || 'value']] = i;\n return prev;\n }, {});\n}\n\n@OptionsControl({\n type: 'input-text'\n})\nexport class TextControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-password'\n})\nexport class PasswordControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-email',\n validations: 'isEmail'\n})\nexport class EmailControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'input-url',\n validations: 'isUrl'\n})\nexport class UrlControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-date'\n})\nexport class NativeDateControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-time'\n})\nexport class NativeTimeControlRenderer extends TextControl {}\n\n@OptionsControl({\n type: 'native-number'\n})\nexport class NativeNumberControlRenderer extends TextControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
import { FormOptionsControl, OptionsControlProps } from './Options';
|
3
3
|
import { SchemaApi } from '../../Schema';
|
4
|
+
import { Action } from '../../types';
|
4
5
|
/**
|
5
6
|
* Tree 下拉选择框。
|
6
7
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/tree
|
@@ -59,7 +60,11 @@ export interface TreeProps extends OptionsControlProps, Omit<TreeControlSchema,
|
|
59
60
|
}
|
60
61
|
export default class TreeControl extends React.Component<TreeProps> {
|
61
62
|
static defaultProps: Partial<TreeProps>;
|
63
|
+
treeRef: any;
|
62
64
|
reload(): void;
|
65
|
+
doAction(action: Action, data: any, throwErrors: boolean): void;
|
66
|
+
handleChange(value: any): Promise<void>;
|
67
|
+
domRef(ref: any): void;
|
63
68
|
render(): JSX.Element;
|
64
69
|
}
|
65
70
|
export declare class TreeControlRenderer extends TreeControl {
|
@@ -7,6 +7,7 @@ var classnames_1 = (0, tslib_1.__importDefault)(require("classnames"));
|
|
7
7
|
var Tree_1 = (0, tslib_1.__importDefault)(require("../../components/Tree"));
|
8
8
|
var Options_1 = require("./Options");
|
9
9
|
var components_1 = require("../../components");
|
10
|
+
var helper_1 = require("../../utils/helper");
|
10
11
|
var TreeControl = /** @class */ (function (_super) {
|
11
12
|
(0, tslib_1.__extends)(TreeControl, _super);
|
12
13
|
function TreeControl() {
|
@@ -16,11 +17,47 @@ var TreeControl = /** @class */ (function (_super) {
|
|
16
17
|
var reload = this.props.reloadOptions;
|
17
18
|
reload && reload();
|
18
19
|
};
|
20
|
+
TreeControl.prototype.doAction = function (action, data, throwErrors) {
|
21
|
+
var _a = this.props, resetValue = _a.resetValue, onChange = _a.onChange, options = _a.options;
|
22
|
+
if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {
|
23
|
+
onChange && onChange(resetValue !== null && resetValue !== void 0 ? resetValue : '');
|
24
|
+
}
|
25
|
+
if (action.actionType === 'expand') {
|
26
|
+
this.treeRef.syncUnFolded(this.props, action.openLevel);
|
27
|
+
}
|
28
|
+
if (action.actionType === 'collapse') {
|
29
|
+
this.treeRef.syncUnFolded(this.props, 0);
|
30
|
+
}
|
31
|
+
};
|
32
|
+
TreeControl.prototype.handleChange = function (value) {
|
33
|
+
return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
|
34
|
+
var _a, onChange, dispatchEvent, data, rendererEvent;
|
35
|
+
return (0, tslib_1.__generator)(this, function (_b) {
|
36
|
+
switch (_b.label) {
|
37
|
+
case 0:
|
38
|
+
_a = this.props, onChange = _a.onChange, dispatchEvent = _a.dispatchEvent, data = _a.data;
|
39
|
+
return [4 /*yield*/, dispatchEvent('change', (0, helper_1.createObject)(data, {
|
40
|
+
value: value
|
41
|
+
}))];
|
42
|
+
case 1:
|
43
|
+
rendererEvent = _b.sent();
|
44
|
+
if (rendererEvent === null || rendererEvent === void 0 ? void 0 : rendererEvent.prevented) {
|
45
|
+
return [2 /*return*/];
|
46
|
+
}
|
47
|
+
onChange && onChange(value);
|
48
|
+
return [2 /*return*/];
|
49
|
+
}
|
50
|
+
});
|
51
|
+
});
|
52
|
+
};
|
53
|
+
TreeControl.prototype.domRef = function (ref) {
|
54
|
+
this.treeRef = ref;
|
55
|
+
};
|
19
56
|
TreeControl.prototype.render = function () {
|
20
|
-
var _a = this.props, className = _a.className, treeContainerClassName = _a.treeContainerClassName, ns = _a.classPrefix, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b,
|
57
|
+
var _a = this.props, className = _a.className, treeContainerClassName = _a.treeContainerClassName, ns = _a.classPrefix, value = _a.value, enableNodePath = _a.enableNodePath, _b = _a.pathSeparator, pathSeparator = _b === void 0 ? '/' : _b, disabled = _a.disabled, joinValues = _a.joinValues, extractValue = _a.extractValue, delimiter = _a.delimiter, placeholder = _a.placeholder, options = _a.options, multiple = _a.multiple, valueField = _a.valueField, initiallyOpen = _a.initiallyOpen, unfoldedLevel = _a.unfoldedLevel, withChildren = _a.withChildren, onlyChildren = _a.onlyChildren, loading = _a.loading, hideRoot = _a.hideRoot, rootLabel = _a.rootLabel, cascade = _a.cascade, rootValue = _a.rootValue, showIcon = _a.showIcon, showRadio = _a.showRadio, showOutline = _a.showOutline, onAdd = _a.onAdd, creatable = _a.creatable, createTip = _a.createTip, addControls = _a.addControls, onEdit = _a.onEdit, editable = _a.editable, editTip = _a.editTip, editControls = _a.editControls, removable = _a.removable, removeTip = _a.removeTip, onDelete = _a.onDelete, rootCreatable = _a.rootCreatable, rootCreateTip = _a.rootCreateTip, labelField = _a.labelField, iconField = _a.iconField, nodePath = _a.nodePath, deferLoad = _a.deferLoad, expandTreeOptions = _a.expandTreeOptions, __ = _a.translate;
|
21
58
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)("".concat(ns, "TreeControl"), className, treeContainerClassName) },
|
22
59
|
react_1.default.createElement(components_1.Spinner, { size: "sm", key: "info", show: loading }),
|
23
|
-
loading ? null : (react_1.default.createElement(Tree_1.default, { classPrefix: ns, labelField: labelField, valueField: valueField, iconField: iconField, disabled: disabled, onChange:
|
60
|
+
loading ? null : (react_1.default.createElement(Tree_1.default, { classPrefix: ns, onRef: this.domRef, labelField: labelField, valueField: valueField, iconField: iconField, disabled: disabled, onChange: this.handleChange, joinValues: joinValues, extractValue: extractValue, delimiter: delimiter, placeholder: __(placeholder), options: options, multiple: multiple, initiallyOpen: initiallyOpen, unfoldedLevel: unfoldedLevel, withChildren: withChildren, onlyChildren: onlyChildren, hideRoot: hideRoot, rootLabel: __(rootLabel), rootValue: rootValue, showIcon: showIcon, showRadio: showRadio, showOutline: showOutline, cascade: cascade, foldedField: "collapsed", value: value || '', nodePath: nodePath, enableNodePath: enableNodePath, pathSeparator: pathSeparator, selfDisabledAffectChildren: false, onAdd: onAdd, creatable: creatable, createTip: createTip, rootCreatable: rootCreatable, rootCreateTip: rootCreateTip, onEdit: onEdit, editable: editable, editTip: editTip, removable: removable, removeTip: removeTip, onDelete: onDelete, bultinCUD: !addControls && !editControls, onDeferLoad: deferLoad, onExpandTree: expandTreeOptions }))));
|
24
61
|
};
|
25
62
|
TreeControl.defaultProps = {
|
26
63
|
placeholder: 'loading',
|
@@ -31,6 +68,18 @@ var TreeControl = /** @class */ (function (_super) {
|
|
31
68
|
enableNodePath: false,
|
32
69
|
pathSeparator: '/'
|
33
70
|
};
|
71
|
+
(0, tslib_1.__decorate)([
|
72
|
+
helper_1.autobind,
|
73
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
74
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
75
|
+
(0, tslib_1.__metadata)("design:returntype", Promise)
|
76
|
+
], TreeControl.prototype, "handleChange", null);
|
77
|
+
(0, tslib_1.__decorate)([
|
78
|
+
helper_1.autobind,
|
79
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
80
|
+
(0, tslib_1.__metadata)("design:paramtypes", [Object]),
|
81
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
82
|
+
], TreeControl.prototype, "domRef", null);
|
34
83
|
return TreeControl;
|
35
84
|
}(react_1.default.Component));
|
36
85
|
exports.default = TreeControl;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/InputTree.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,uEAA4B;AAC5B,4EAAiD;AACjD,qCAImB;AACnB,+CAAyC;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport cx from 'classnames';\nimport TreeSelector from '../../components/Tree';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from './Options';\nimport {Spinner} from '../../components';\nimport {SchemaApi} from '../../Schema';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeControlSchema extends FormOptionsControl {\n type: 'input-tree';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n\n deferApi?: SchemaApi;\n}\n\nexport interface TreeProps\n extends OptionsControlProps,\n Omit<\n TreeControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'inputClassName'\n | 'descriptionClassName'\n > {\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport default class TreeControl extends React.Component<TreeProps> {\n static defaultProps: Partial<TreeProps> = {\n placeholder: 'loading',\n multiple: false,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n enableNodePath: false,\n pathSeparator: '/'\n };\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n render() {\n const {\n className,\n treeContainerClassName,\n classPrefix: ns,\n value,\n enableNodePath,\n pathSeparator = '/',\n
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport TreeSelector from '../../components/Tree';\nimport {\n FormOptionsControl,\n OptionsControl,\n OptionsControlProps\n} from './Options';\nimport {Spinner} from '../../components';\nimport {SchemaApi} from '../../Schema';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Tree 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tree\n */\nexport interface TreeControlSchema extends FormOptionsControl {\n type: 'input-tree';\n\n /**\n * 是否隐藏顶级\n */\n hideRoot?: boolean;\n\n /**\n * 顶级选项的名称\n */\n rootLabel?: string;\n\n /**\n * 顶级选项的值\n */\n rootValue?: any;\n\n /**\n * 显示图标\n */\n showIcon?: boolean;\n\n /**\n * 父子之间是否完全独立。\n */\n cascade?: boolean;\n\n /**\n * 选父级的时候是否把子节点的值也包含在内。\n */\n withChildren?: boolean;\n\n /**\n * 选父级的时候,是否只把子节点的值包含在内\n */\n onlyChildren?: boolean;\n\n /**\n * 顶级节点是否可以创建子节点\n */\n rootCreatable?: boolean;\n\n /**\n * 是否开启节点路径模式\n */\n enableNodePath?: boolean;\n\n /**\n * 开启节点路径模式后,节点路径的分隔符\n */\n pathSeparator?: string;\n\n /**\n * 是否显示展开线\n */\n showOutline?: boolean;\n\n deferApi?: SchemaApi;\n}\n\nexport interface TreeProps\n extends OptionsControlProps,\n Omit<\n TreeControlSchema,\n | 'type'\n | 'options'\n | 'className'\n | 'inputClassName'\n | 'descriptionClassName'\n > {\n enableNodePath?: boolean;\n pathSeparator?: string;\n}\n\nexport default class TreeControl extends React.Component<TreeProps> {\n static defaultProps: Partial<TreeProps> = {\n placeholder: 'loading',\n multiple: false,\n rootLabel: '顶级',\n rootValue: '',\n showIcon: true,\n enableNodePath: false,\n pathSeparator: '/'\n };\n treeRef: any\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n doAction(action: Action, data: any, throwErrors: boolean) {\n const {resetValue, onChange, options} = this.props;\n if (action.actionType && ['clear', 'reset'].includes(action.actionType)) {\n onChange && onChange(resetValue ?? '');\n }\n if (action.actionType === 'expand') {\n this.treeRef.syncUnFolded(this.props, action.openLevel);\n }\n if (action.actionType === 'collapse') {\n this.treeRef.syncUnFolded(this.props, 0);\n }\n }\n\n\n\n @autobind\n async handleChange(value: any) {\n const {onChange, dispatchEvent, data} = this.props;\n\n const rendererEvent = await dispatchEvent('change', createObject(data, {\n value\n }));\n\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(value);\n }\n\n @autobind\n domRef(ref: any) {\n this.treeRef = ref;\n }\n\n render() {\n const {\n className,\n treeContainerClassName,\n classPrefix: ns,\n value,\n enableNodePath,\n pathSeparator = '/',\n disabled,\n joinValues,\n extractValue,\n delimiter,\n placeholder,\n options,\n multiple,\n valueField,\n initiallyOpen,\n unfoldedLevel,\n withChildren,\n onlyChildren,\n loading,\n hideRoot,\n rootLabel,\n cascade,\n rootValue,\n showIcon,\n showRadio,\n showOutline,\n onAdd,\n creatable,\n createTip,\n addControls,\n onEdit,\n editable,\n editTip,\n editControls,\n removable,\n removeTip,\n onDelete,\n rootCreatable,\n rootCreateTip,\n labelField,\n iconField,\n nodePath,\n deferLoad,\n expandTreeOptions,\n translate: __\n } = this.props;\n\n return (\n <div\n className={cx(`${ns}TreeControl`, className, treeContainerClassName)}\n >\n <Spinner size=\"sm\" key=\"info\" show={loading} />\n {loading ? null : (\n <TreeSelector\n classPrefix={ns}\n onRef={this.domRef}\n labelField={labelField}\n valueField={valueField}\n iconField={iconField}\n disabled={disabled}\n onChange={this.handleChange}\n joinValues={joinValues}\n extractValue={extractValue}\n delimiter={delimiter}\n placeholder={__(placeholder)}\n options={options}\n multiple={multiple}\n initiallyOpen={initiallyOpen}\n unfoldedLevel={unfoldedLevel}\n withChildren={withChildren}\n onlyChildren={onlyChildren}\n hideRoot={hideRoot}\n rootLabel={__(rootLabel)}\n rootValue={rootValue}\n showIcon={showIcon}\n showRadio={showRadio}\n showOutline={showOutline}\n cascade={cascade}\n foldedField=\"collapsed\"\n value={value || ''}\n nodePath={nodePath}\n enableNodePath={enableNodePath}\n pathSeparator={pathSeparator}\n selfDisabledAffectChildren={false}\n onAdd={onAdd}\n creatable={creatable}\n createTip={createTip}\n rootCreatable={rootCreatable}\n rootCreateTip={rootCreateTip}\n onEdit={onEdit}\n editable={editable}\n editTip={editTip}\n removable={removable}\n removeTip={removeTip}\n onDelete={onDelete}\n bultinCUD={!addControls && !editControls}\n onDeferLoad={deferLoad}\n onExpandTree={expandTreeOptions}\n />\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tree'\n})\nexport class TreeControlRenderer extends TreeControl {}\n"
|
12
12
|
]
|
13
13
|
}
|