amis 1.9.1-beta.11 → 1.9.1-beta.12
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/RootRenderer.js +14 -0
- package/lib/RootRenderer.js.map +2 -2
- package/lib/SchemaRenderer.js +8 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/components/Alert2.d.ts +10 -10
- package/lib/components/DateRangePicker.js +11 -9
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/SearchBox.d.ts +40 -40
- package/lib/components/Select.d.ts +193 -193
- package/lib/components/Select.js +2 -4
- package/lib/components/Select.js.map +2 -2
- package/lib/components/virtual-list/index.js +1 -1
- package/lib/components/virtual-list/index.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +1 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +5 -2
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +6 -0
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.js +2 -1
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +5 -4
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -1
- package/lib/renderers/Carousel.js +5 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +1 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputText.js +1 -1
- package/lib/renderers/Form/InputText.js.map +2 -2
- package/lib/renderers/Form/Options.js +1 -0
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +12 -0
- package/lib/renderers/Form/Select.js +1 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +72 -19
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Service.js +1 -0
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +2 -2
- package/lib/renderers/Table/TableContent.js +4 -16
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -5
- package/lib/renderers/Table/index.js +2 -2
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/store/table.js +7 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +0 -1
- package/lib/themes/ang.css +0 -1
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +0 -1
- package/lib/themes/antd.css +0 -1
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +8 -1
- package/lib/themes/cxd.css +8 -1
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +0 -1
- package/lib/themes/dark.css +0 -1
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +8 -1
- package/lib/themes/default.css +8 -1
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/formula.d.ts +16 -0
- package/lib/utils/formula.js +207 -0
- package/lib/utils/formula.js.map +13 -0
- package/lib/utils/grammar.d.ts +4 -0
- package/lib/utils/grammar.js +47 -0
- package/lib/utils/grammar.js.map +13 -0
- package/lib/utils/helper.js +1 -0
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/tpl.js +3 -0
- package/lib/utils/tpl.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +278 -222
- package/scss/components/_collapse.scss +1 -1
- package/scss/themes/cxd.scss +12 -0
- package/sdk/ang-ie11.css +0 -1
- package/sdk/ang.css +0 -1
- package/sdk/antd-ie11.css +0 -1
- package/sdk/antd.css +0 -1
- 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 +9 -1
- package/sdk/cxd.css +9 -1
- package/sdk/dark-ie11.css +0 -1
- package/sdk/dark.css +0 -1
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +1 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +9 -1
- package/sdk/sdk.css +9 -1
- package/sdk/sdk.js +1695 -1665
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/RootRenderer.tsx +14 -0
- package/src/SchemaRenderer.tsx +4 -2
- package/src/components/DateRangePicker.tsx +73 -60
- package/src/components/Select.tsx +2 -4
- package/src/components/virtual-list/index.tsx +1 -1
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +1 -0
- package/src/locale/zh-CN.ts +5 -2
- package/src/renderers/Action.tsx +8 -0
- package/src/renderers/CRUD.tsx +2 -1
- package/src/renderers/Card.tsx +10 -5
- package/src/renderers/Carousel.tsx +10 -4
- package/src/renderers/Form/InputImage.tsx +1 -1
- package/src/renderers/Form/InputText.tsx +1 -0
- package/src/renderers/Form/Options.tsx +1 -0
- package/src/renderers/Form/Select.tsx +13 -3
- package/src/renderers/Form/wrapControl.tsx +90 -22
- package/src/renderers/Service.tsx +1 -0
- package/src/renderers/Table/TableContent.tsx +22 -34
- package/src/renderers/Table/index.tsx +4 -8
- package/src/store/table.ts +10 -3
- package/src/types.ts +1 -0
- package/src/utils/formula.ts +240 -0
- package/src/utils/grammar.ts +53 -0
- package/src/utils/helper.ts +2 -1
- package/src/utils/tpl.ts +2 -0
@@ -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 /**\n * 自动转换值\n */\n transform?: {\n /** 用户输入的字符自动转小写 */\n lowerCase?: boolean;\n /** 用户输入的字符自动转大写 */\n upperCase?: boolean;\n };\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 revealPassword?: boolean;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n revealPassword?: boolean; // 主要用于 password 的时候切换一下显影\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 revealPassword: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.toggleRevealPassword = this.toggleRevealPassword.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 if (len) {\n // type为email的input元素不支持setSelectionRange,先改为text\n if (this.input.type === 'email') {\n this.input.type = 'text';\n this.input.setSelectionRange(len, len);\n this.input.type = 'email';\n } else {\n this.input.setSelectionRange(len, len);\n }\n }\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 async handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = this.transformValue(evt.currentTarget.value);\n const {creatable, multiple, onChange} = this.props;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\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 {\n onChange,\n multiple,\n options,\n selectedOptions,\n creatable,\n valueField\n } = this.props;\n // Downshift传入的selectedItem是valueField字段,需要取回选项\n const toggledOption = options.find(\n item => item[valueField || 'value'] === value\n );\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n toggledOption && newValue.push(toggledOption);\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(toggledOption ? this.normalizeValue(toggledOption) : 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[] | Option | undefined | null) {\n const {multiple, delimiter, joinValues, extractValue, valueField} =\n this.props;\n const selectedOptions = Array.isArray(value) ? value : value ? [value] : [];\n\n if (joinValues) {\n return selectedOptions\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n const mappedValue = selectedOptions.map(\n item => item[valueField || 'value']\n );\n return multiple ? mappedValue : mappedValue[0];\n } else {\n return multiple ? selectedOptions : selectedOptions[0];\n }\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 readOnly,\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 && !readOnly}\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 className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n <Icon\n icon=\"close\"\n className={cx('TextControl-valueIcon', 'icon')}\n onClick={this.removeItem.bind(this, index)}\n />\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 readOnly,\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 && !readOnly && 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 toggleRevealPassword() {\n this.setState({revealPassword: !this.state.revealPassword});\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 revealPassword = true,\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={this.state.revealPassword ? 'text' : 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 className={cx(type === 'password' && revealPassword && 'TextControl-input-password')}\n />\n {clearable && !disabled && !readOnly && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {type === 'password' && revealPassword && !disabled ? (\n <a\n onClick={this.toggleRevealPassword}\n className={`${ns}TextControl-revealPassword`}\n >\n {this.state.revealPassword ? (\n <Icon icon=\"view\" className=\"icon\" />\n ) : (\n <Icon icon=\"invisible\" className=\"icon\" />\n )}\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"
|
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 /**\n * 自动转换值\n */\n transform?: {\n /** 用户输入的字符自动转小写 */\n lowerCase?: boolean;\n /** 用户输入的字符自动转大写 */\n upperCase?: boolean;\n };\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 revealPassword?: boolean;\n transform?: {\n lowerCase?: boolean; // 用户输入的字符自动转小写\n upperCase?: boolean; // 用户输入的字符自动转大写\n };\n}\n\nexport interface TextState {\n isOpen?: boolean;\n inputValue?: string;\n isFocused?: boolean;\n revealPassword?: boolean; // 主要用于 password 的时候切换一下显影\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 revealPassword: false\n };\n this.focus = this.focus.bind(this);\n this.clearValue = this.clearValue.bind(this);\n this.toggleRevealPassword = this.toggleRevealPassword.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 if (len) {\n // type为email的input元素不支持setSelectionRange,先改为text\n if (this.input.type === 'email') {\n this.input.type = 'text';\n this.input.setSelectionRange(len, len);\n this.input.type = 'email';\n } else {\n this.input.setSelectionRange(len, len);\n }\n }\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 async handleInputChange(evt: React.ChangeEvent<HTMLInputElement>) {\n let value = this.transformValue(evt.currentTarget.value);\n const {creatable, multiple, onChange} = this.props;\n const dispatcher = await rendererEventDispatcher<\n TextProps,\n InputTextRendererEvent\n >(this.props, 'change', {value});\n\n if (dispatcher?.prevented) {\n return;\n }\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 {\n onChange,\n multiple,\n options,\n selectedOptions,\n creatable,\n valueField\n } = this.props;\n // Downshift传入的selectedItem是valueField字段,需要取回选项\n const toggledOption = options.find(\n item => item[valueField || 'value'] === value\n );\n\n if (multiple) {\n const newValue = selectedOptions.concat();\n toggledOption && newValue.push(toggledOption);\n\n onChange(this.normalizeValue(newValue));\n } else {\n onChange(toggledOption ? this.normalizeValue(toggledOption) : 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[] | Option | undefined | null) {\n const {multiple, delimiter, joinValues, extractValue, valueField} =\n this.props;\n const selectedOptions = Array.isArray(value) ? value : value ? [value] : [];\n\n if (joinValues) {\n return selectedOptions\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',');\n } else if (extractValue) {\n const mappedValue = selectedOptions.map(\n item => item[valueField || 'value']\n );\n return multiple ? mappedValue : mappedValue[0];\n } else {\n return multiple ? selectedOptions : selectedOptions[0];\n }\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 readOnly,\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 && !readOnly}\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 className={cx('TextControl-valueLabel')}>\n {`${item[labelField || 'label']}`}\n </span>\n <Icon\n icon=\"close\"\n className={cx('TextControl-valueIcon', 'icon')}\n onClick={this.removeItem.bind(this, index)}\n />\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 readOnly,\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 && !readOnly && 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 size=\"sm\"\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 toggleRevealPassword() {\n this.setState({revealPassword: !this.state.revealPassword});\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 revealPassword = true,\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={this.state.revealPassword ? 'text' : 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 className={cx(type === 'password' && revealPassword && 'TextControl-input-password')}\n />\n {clearable && !disabled && !readOnly && value ? (\n <a onClick={this.clearValue} className={`${ns}TextControl-clear`}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </a>\n ) : null}\n {type === 'password' && revealPassword && !disabled ? (\n <a\n onClick={this.toggleRevealPassword}\n className={`${ns}TextControl-revealPassword`}\n >\n {this.state.revealPassword ? (\n <Icon icon=\"view\" className=\"icon\" />\n ) : (\n <Icon icon=\"invisible\" className=\"icon\" />\n )}\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
|
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Options.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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",
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * @file 所有列表选择类控件的父级,比如 Select、Radios、Checkboxes、\n * List、ButtonGroup 等等\n */\nimport {Api, PlainObject, Schema, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated, isValidApi} from '../../utils/api';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n anyChanged,\n autobind,\n createObject,\n setVariable,\n spliceTree,\n findTreeIndex,\n getTree,\n isEmpty,\n getTreeAncestors,\n normalizeNodePath,\n mapTree,\n getTreeDepth,\n flattenTree\n} from '../../utils/helper';\nimport {reaction} from 'mobx';\nimport {\n FormControlProps,\n registerFormItem,\n FormItemBasicConfig,\n detectProps as itemDetectProps,\n FormBaseControl\n} from './Item';\nimport {IFormItemStore} from '../../store/formItem';\n\nexport type OptionsControlComponent = React.ComponentType<FormControlProps>;\n\nimport React from 'react';\nimport {\n resolveVariableAndFilter,\n isPureVariable,\n dataMapping\n} from '../../utils/tpl-builtin';\nimport {\n Option,\n OptionProps,\n normalizeOptions,\n optionValueCompare\n} from '../../components/Select';\nimport {filter} from '../../utils/tpl';\nimport findIndex from 'lodash/findIndex';\nimport {\n SchemaApi,\n SchemaExpression,\n SchemaObject,\n SchemaTokenizeableString\n} from '../../Schema';\nimport isPlainObject from 'lodash/isPlainObject';\nimport merge from 'lodash/merge';\n\nexport {Option};\n\nexport interface FormOptionsControl extends FormBaseControl {\n /**\n * 选项集合\n */\n options?: Array<Option> | string[] | PlainObject;\n\n /**\n * 可用来通过 API 拉取 options。\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 默认选择选项第一个值。\n */\n selectFirst?: boolean;\n\n /**\n * 用表达式来配置 source 接口初始要不要拉取\n *\n * @deprecated 建议用 source 接口的 sendOn\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 配置 source 接口初始拉不拉取。\n *\n * @deprecated 建议用 source 接口的 sendOn\n */\n initFetch?: boolean;\n\n /**\n * 是否为多选模式\n */\n multiple?: boolean;\n\n /**\n * 单选模式:当用户选中某个选项时,选项中的 value 将被作为该表单项的值提交,否则,整个选项对象都会作为该表单项的值提交。\n * 多选模式:选中的多个选项的 `value` 会通过 `delimiter` 连接起来,否则直接将以数组的形式提交值。\n */\n joinValues?: boolean;\n\n /**\n * 分割符\n */\n delimiter?: string;\n\n /**\n * 开启后将选中的选项 value 的值封装为数组,作为当前表单项的值。\n */\n extractValue?: boolean;\n\n /**\n * 是否可清除。\n */\n clearable?: boolean;\n\n /**\n * 点清除按钮时,将表单项设置成当前配置的值。\n *\n * @default ''\n */\n resetValue?: string;\n\n /**\n * 延时加载的 API,当选项中有 defer: true 的选项时,点开会通过此接口扩充。\n */\n deferApi?: SchemaApi;\n\n /**\n * 添加时调用的接口\n */\n addApi?: SchemaApi;\n\n /**\n * 新增时的表单项。\n */\n addControls?: Array<SchemaObject>;\n\n /**\n * 是否可以新增\n */\n creatable?: boolean;\n\n /**\n * 新增文字\n */\n createBtnLabel?: string;\n\n /**\n * 是否可以编辑\n */\n editable?: boolean;\n\n /**\n * 编辑时调用的 API\n */\n editApi?: SchemaApi;\n\n /**\n * 选项修改的表单项\n */\n editControls?: Array<SchemaObject>;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 选项删除 API\n */\n deleteApi?: SchemaApi;\n\n /**\n * 选项删除提示文字。\n */\n deleteConfirmText?: string;\n\n /**\n * 自动填充,当选项被选择的时候,将选项中的其他值同步设置到表单内。\n */\n autoFill?: {\n [propName: string]: SchemaTokenizeableString;\n };\n}\n\nexport interface OptionsBasicConfig extends FormItemBasicConfig {\n autoLoadOptionsFromSource?: boolean;\n}\n\nexport interface OptionsConfig extends OptionsBasicConfig {\n component: React.ComponentType<OptionsControlProps>;\n}\n\n// 下发给注册进来的组件的属性。\nexport interface OptionsControlProps\n extends FormControlProps,\n Omit<\n FormOptionsControl,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n options: Array<Option>;\n onToggle: (\n option: Option,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onToggleAll: () => void;\n selectedOptions: Array<Option>;\n setOptions: (value: Array<any>, skipNormalize?: boolean) => void;\n setLoading: (value: boolean) => void;\n reloadOptions: (setError?: boolean) => void;\n deferLoad: (option: Option) => void;\n leftDeferLoad: (option: Option, leftOptions: Option) => void;\n expandTreeOptions: (nodePathArr: any[]) => void;\n onAdd?: (\n idx?: number | Array<number>,\n value?: any,\n skipForm?: boolean\n ) => void;\n onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;\n onDelete?: (value: Option) => void;\n}\n\n// 自己接收的属性。\nexport interface OptionsProps\n extends FormControlProps,\n Omit<OptionProps, 'className'> {\n source?: Api;\n deferApi?: Api;\n creatable?: boolean;\n addApi?: Api;\n addControls?: Array<any>;\n editApi?: Api;\n editControls?: Array<any>;\n deleteApi?: Api;\n deleteConfirmText?: string;\n optionLabel?: string;\n}\n\nexport const detectProps = itemDetectProps.concat([\n 'value',\n 'options',\n 'size',\n 'buttons',\n 'columnsCount',\n 'multiple',\n 'hideRoot',\n 'checkAll',\n 'defaultCheckAll',\n 'showIcon',\n 'showRadio',\n 'btnDisabled',\n 'joinValues',\n 'extractValue',\n 'borderMode',\n 'hideSelected'\n]);\n\nexport function registerOptionsControl(config: OptionsConfig) {\n const Control = config.component;\n\n class FormOptionsItem extends React.Component<OptionsProps, any> {\n static displayName = `OptionsControl(${config.type})`;\n static defaultProps = {\n delimiter: ',',\n labelField: 'label',\n valueField: 'value',\n joinValues: true,\n extractValue: false,\n multiple: false,\n placeholder: 'Select.placeholder',\n resetValue: '',\n deleteConfirmText: 'deleteConfirm',\n ...Control.defaultProps\n };\n static propsList: any = (Control as any).propsList\n ? [...(Control as any).propsList]\n : [];\n static ComposedComponent = Control;\n\n toDispose: Array<() => void> = [];\n\n input: any;\n mounted = false;\n\n constructor(props: OptionsProps) {\n super(props);\n\n const {\n initFetch,\n formItem,\n source,\n data,\n setPrinstineValue,\n defaultValue,\n multiple,\n joinValues,\n extractValue,\n addHook,\n formInited,\n valueField,\n options,\n value,\n defaultCheckAll\n } = props;\n\n if (formItem) {\n formItem.setOptions(\n normalizeOptions(options, undefined, valueField),\n this.changeOptionValue,\n data\n );\n\n this.toDispose.push(\n reaction(\n () => JSON.stringify([formItem.loading, formItem.filteredOptions]),\n () => this.mounted && this.forceUpdate()\n )\n );\n\n this.toDispose.push(\n reaction(\n () => JSON.stringify(formItem.options),\n () => this.mounted && this.syncAutoFill(formItem.tmpValue)\n )\n );\n // 默认全选。这里会和默认值\\回填值逻辑冲突,所以如果有配置source则不执行默认全选\n if (\n multiple &&\n defaultCheckAll &&\n formItem.filteredOptions?.length &&\n !source\n ) {\n this.defaultCheckAll();\n }\n }\n\n let loadOptions: boolean = initFetch !== false;\n\n if (formItem && joinValues === false && defaultValue) {\n const selectedOptions = extractValue\n ? formItem\n .getSelectedOptions(value)\n .map(\n (selectedOption: Option) =>\n selectedOption[valueField || 'value']\n )\n : formItem.getSelectedOptions(value);\n setPrinstineValue(\n multiple ? selectedOptions.concat() : selectedOptions[0]\n );\n }\n\n loadOptions &&\n config.autoLoadOptionsFromSource !== false &&\n (formInited || !addHook\n ? this.reload()\n : addHook && addHook(this.initOptions, 'init'));\n }\n\n componentDidMount() {\n this.mounted = true;\n this.normalizeValue();\n\n if (this.props.value) {\n this.syncAutoFill(this.props.value);\n }\n }\n\n shouldComponentUpdate(nextProps: OptionsProps) {\n if (config.strictMode === false || nextProps.strictMode === false) {\n return true;\n } else if (nextProps.source || nextProps.autoComplete) {\n return true;\n } else if (nextProps.formItem?.expressionsInOptions) {\n return true;\n }\n\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n componentDidUpdate(prevProps: OptionsProps) {\n const props = this.props;\n const formItem = props.formItem as IFormItemStore;\n\n if (prevProps.options !== props.options && formItem) {\n formItem.setOptions(\n normalizeOptions(props.options || [], undefined, props.valueField),\n this.changeOptionValue,\n props.data\n );\n this.normalizeValue();\n } else if (\n config.autoLoadOptionsFromSource !== false &&\n (props.formInited || typeof props.formInited === 'undefined') &&\n props.source &&\n formItem &&\n (prevProps.source !== props.source || prevProps.data !== props.data)\n ) {\n if (isPureVariable(props.source as string)) {\n const prevOptions = resolveVariableAndFilter(\n prevProps.source as string,\n prevProps.data,\n '| raw'\n );\n const options = resolveVariableAndFilter(\n props.source as string,\n props.data,\n '| raw'\n );\n\n if (prevOptions !== options) {\n formItem.setOptions(\n normalizeOptions(\n options || [],\n undefined,\n props.valueField || 'value'\n ),\n this.changeOptionValue,\n props.data\n );\n this.normalizeValue();\n }\n } else if (\n isEffectiveApi(props.source, props.data) &&\n isApiOutdated(\n prevProps.source,\n props.source,\n prevProps.data,\n props.data\n )\n ) {\n formItem\n .loadOptions(\n props.source,\n props.data,\n undefined,\n true,\n this.changeOptionValue\n )\n .then(() => this.normalizeValue());\n }\n }\n\n if (prevProps.value !== props.value || formItem?.expressionsInOptions) {\n formItem.syncOptions(undefined, props.data);\n this.syncAutoFill(props.value);\n }\n }\n\n componentWillUnmount() {\n this.props.removeHook?.(this.reload, 'init');\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n }\n\n async dispatchOptionEvent(eventName: string, eventData: any = '') {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n value: eventData,\n options\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (actionType === 'clear') {\n onChange?.('');\n } else if (actionType === 'reset') {\n onChange?.(resetValue ?? '');\n }\n }\n\n syncAutoFill(value: any) {\n const {autoFill, multiple, onBulkChange, data} = this.props;\n const formItem = this.props.formItem as IFormItemStore;\n\n if (\n onBulkChange &&\n autoFill &&\n !isEmpty(autoFill) &&\n formItem.filteredOptions.length\n ) {\n const selectedOptions = formItem.getSelectedOptions(value);\n const toSync = dataMapping(\n autoFill,\n multiple\n ? {\n items: selectedOptions.map(item =>\n createObject(\n {\n ...data,\n ancestors: getTreeAncestors(\n formItem.filteredOptions,\n item,\n true\n )\n },\n item\n )\n )\n }\n : createObject(\n {\n ...data,\n ancestors: getTreeAncestors(\n formItem.filteredOptions,\n selectedOptions[0],\n true\n )\n },\n selectedOptions[0]\n )\n );\n\n Object.keys(toSync).forEach(key => {\n if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {\n toSync[key] = merge({}, data[key], toSync[key]);\n }\n });\n\n onBulkChange(toSync);\n }\n }\n\n // 当前值,跟设置预期的值格式不一致时自动转换。\n normalizeValue() {\n const {\n joinValues,\n extractValue,\n value,\n multiple,\n formItem,\n valueField,\n enableNodePath,\n pathSeparator,\n onChange\n } = this.props;\n\n if (!formItem || joinValues !== false || !formItem.options.length) {\n return;\n }\n\n if (\n extractValue === false &&\n (typeof value === 'string' || typeof value === 'number')\n ) {\n const selectedOptions = formItem.getSelectedOptions(value);\n onChange?.(multiple ? selectedOptions.concat() : selectedOptions[0]);\n } else if (\n extractValue === true &&\n value &&\n !(\n (Array.isArray(value) &&\n value.every(\n val => typeof val === 'string' || typeof val === 'number'\n )) ||\n typeof value === 'string' ||\n typeof value === 'number'\n )\n ) {\n const selectedOptions = formItem\n .getSelectedOptions(value)\n .map(\n (selectedOption: Option) => selectedOption[valueField || 'value']\n );\n onChange?.(multiple ? selectedOptions.concat() : selectedOptions[0]);\n }\n }\n\n getWrappedInstance() {\n return this.input;\n }\n\n @autobind\n inputRef(ref: any) {\n this.input = ref;\n }\n\n @autobind\n async handleToggle(\n option: Option,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) {\n const {onChange, formItem, value} = this.props;\n\n if (!formItem) {\n return;\n }\n\n let newValue: string | Array<Option> | Option = this.toggleValue(\n option,\n value\n );\n\n const isPrevented = await this.dispatchOptionEvent('change', newValue);\n isPrevented ||\n (onChange && onChange(newValue, submitOnChange, changeImmediately));\n }\n\n /**\n * 初始化时处理默认全选逻辑\n */\n defaultCheckAll() {\n const {value, formItem, setPrinstineValue} = this.props;\n // 如果有默认值\\回填值直接返回\n if (!formItem || formItem.getSelectedOptions(value).length) {\n return;\n }\n let valueArray = formItem.filteredOptions.concat();\n const newValue = this.formatValueArray(valueArray);\n setPrinstineValue?.(newValue);\n }\n\n /**\n * 选中的值经过joinValues和delimiter等规则处理输出规定格式的值\n * @param valueArray 选中值的数组\n * @returns 通过joinValues和delimiter等规则输出规定格式的值\n */\n formatValueArray(valueArray: Array<Option>) {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n resetValue,\n multiple\n } = this.props;\n let newValue: string | Array<Option> | Option = '';\n if (multiple) {\n /** 兼容tree数据结构 */\n newValue =\n getTreeDepth(valueArray) > 1 ? flattenTree(valueArray) : valueArray;\n\n if (joinValues) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .filter(item => item != null) /** tree的父节点可能没有value值 */\n .join(delimiter);\n } else if (extractValue) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .filter(item => item != null);\n }\n } else {\n newValue = valueArray[0] || resetValue;\n\n if (joinValues && newValue) {\n newValue = (newValue as any)[valueField || 'value'];\n }\n }\n return newValue;\n }\n\n @autobind\n async handleToggleAll() {\n const {value, onChange, formItem, valueField} = this.props;\n\n if (!formItem) {\n return;\n }\n const selectedOptions = formItem.getSelectedOptions(value);\n /** 打平并过滤掉valueField不存在的case,保证全选时对比length一致 */\n const filteredOptions = flattenTree(\n formItem.filteredOptions.concat()\n ).filter(item => item != null && item[valueField || 'value'] != null);\n let valueArray =\n selectedOptions.length === filteredOptions.length\n ? []\n : formItem.filteredOptions.concat();\n const newValue = this.formatValueArray(valueArray);\n const isPrevented = await this.dispatchOptionEvent('change', newValue);\n isPrevented || (onChange && onChange(newValue));\n }\n\n toggleValue(option: Option, originValue?: any) {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n clearable,\n resetValue,\n multiple,\n formItem\n } = this.props;\n\n let valueArray =\n originValue !== undefined\n ? formItem!.getSelectedOptions(originValue).concat()\n : [];\n\n const idx = findIndex(\n valueArray,\n optionValueCompare(option[valueField || 'value'], valueField || 'value')\n );\n let newValue: string | Array<Option> | Option = '';\n\n if (multiple) {\n if (~idx) {\n valueArray.splice(idx, 1);\n } else {\n valueArray.push(option);\n }\n\n newValue = valueArray;\n\n if (joinValues) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .join(delimiter);\n } else if (extractValue) {\n newValue = (newValue as Array<any>).map(\n item => item[valueField || 'value']\n );\n }\n } else {\n if (~idx && clearable) {\n valueArray.splice(idx, 1);\n } else {\n valueArray = [option];\n }\n\n newValue = valueArray[0] || resetValue;\n\n if ((joinValues || extractValue) && newValue) {\n newValue = (newValue as any)[valueField || 'value'];\n }\n }\n\n return newValue;\n }\n\n // 当有 action 触发,如果指定了 reload 目标组件,有可能会来到这里面来\n @autobind\n reload() {\n return this.reloadOptions();\n }\n\n @autobind\n reloadOptions(setError?: boolean, isInit = false) {\n const {source, formItem, data, onChange, setPrinstineValue, valueField} =\n this.props;\n\n if (formItem && isPureVariable(source as string)) {\n isAlive(formItem) &&\n formItem.setOptions(\n normalizeOptions(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n undefined,\n valueField\n ),\n this.changeOptionValue,\n data\n );\n return;\n } else if (!formItem || !isEffectiveApi(source, data)) {\n return;\n }\n\n return formItem.loadOptions(\n source,\n data,\n undefined,\n false,\n isInit ? setPrinstineValue : onChange,\n setError\n );\n }\n\n @autobind\n async deferLoad(option: Option) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = option.deferApi || deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n const json = await formItem?.deferLoadOptions(\n option,\n api,\n createObject(data, option)\n );\n // 触发事件通知,加载完成\n this.dispatchOptionEvent('loadFinished', json);\n }\n\n @autobind\n leftDeferLoad(option: Option, leftOptions: Option) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = option.deferApi || deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n formItem?.deferLoadLeftOptions(\n option,\n leftOptions,\n api,\n createObject(data, option)\n );\n }\n\n @autobind\n expandTreeOptions(nodePathArr: any[]) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n formItem?.expandTreeOptions(nodePathArr, api, createObject(data));\n }\n\n @autobind\n async initOptions(data: any) {\n await this.reloadOptions(false, true);\n const {formItem, name, multiple, defaultCheckAll} = this.props;\n if (!formItem) {\n return;\n }\n if (isAlive(formItem) && formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n\n // 默认全选\n if (multiple && defaultCheckAll && formItem.filteredOptions?.length) {\n this.defaultCheckAll();\n }\n }\n\n focus() {\n this.input && this.input.focus && this.input.focus();\n }\n\n @autobind\n changeOptionValue(value: any) {\n const {\n onChange,\n formInited,\n setPrinstineValue,\n value: originValue\n } = this.props;\n\n if (formInited === false) {\n originValue === undefined && setPrinstineValue?.(value);\n } else {\n onChange?.(value);\n }\n }\n\n @autobind\n setOptions(options: Array<any>, skipNormalize = false) {\n const formItem = this.props.formItem as IFormItemStore;\n formItem &&\n formItem.setOptions(\n skipNormalize\n ? options\n : normalizeOptions(options || [], undefined, this.props.valueField),\n this.changeOptionValue,\n this.props.data\n );\n }\n\n @autobind\n syncOptions() {\n const formItem = this.props.formItem as IFormItemStore;\n formItem && formItem.syncOptions(undefined, this.props.data);\n }\n\n @autobind\n setLoading(value: boolean) {\n const formItem = this.props.formItem as IFormItemStore;\n formItem && formItem.setLoading(value);\n }\n\n @autobind\n async handleOptionAdd(\n idx: number | Array<number> = -1,\n value?: any,\n skipForm: boolean = false\n ) {\n let {\n addControls,\n disabled,\n labelField,\n onOpenDialog,\n optionLabel,\n addApi,\n source,\n data,\n valueField,\n formItem: model,\n createBtnLabel,\n env,\n translate: __\n } = this.props;\n\n // 禁用或者没有配置 name\n if (disabled || !model) {\n return;\n }\n\n // 用户没有配置表单项,则自动创建一个 label 输入\n if (!skipForm && (!Array.isArray(addControls) || !addControls.length)) {\n addControls = [\n {\n type: 'text',\n name: labelField || 'label',\n label: false,\n placeholder: __('Options.addPlaceholder')\n }\n ];\n }\n const parent = Array.isArray(idx)\n ? getTree(model.options, idx.slice(0, -1))\n : undefined;\n\n const ctx: any = createObject(\n data,\n Array.isArray(idx)\n ? {\n parent: parent,\n ...value\n }\n : value\n );\n\n let result: any = skipForm\n ? ctx\n : await onOpenDialog(\n {\n type: 'dialog',\n title: createBtnLabel || `新增${optionLabel || '选项'}`,\n body: {\n type: 'form',\n api: addApi,\n controls: [\n {\n type: 'hidden',\n name: 'idx',\n value: idx\n },\n {\n type: 'hidden',\n name: 'parent',\n value: parent\n },\n ...(addControls || [])\n ]\n }\n },\n ctx\n );\n\n // 单独发请求\n if (skipForm && addApi) {\n try {\n const payload = await env.fetcher(addApi!, result, {\n method: 'post'\n });\n\n if (!payload.ok) {\n env.notify('error', payload.msg || __('Options.createFailed'));\n result = null;\n } else {\n result = payload.data || result;\n }\n } catch (e) {\n result = null;\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n // 有 result 说明弹框点了确认。否则就是取消了。\n if (!result) {\n return;\n }\n\n // 没走服务端的。\n if (!result.hasOwnProperty(valueField || 'value')) {\n result = {\n ...result,\n [valueField || 'value']: result[labelField || 'label']\n };\n }\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('add', {\n ...result,\n idx\n });\n if (isPrevented) {\n return;\n }\n\n // 如果是懒加载的,只懒加载当前节点。\n if (parent?.defer) {\n await this.deferLoad(parent);\n } else if (source && addApi) {\n // 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了\n // 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。\n this.reload();\n } else {\n // 否则直接前端变更 options\n let options = model.options.concat();\n if (Array.isArray(idx)) {\n options = spliceTree(options, idx, 0, {...result});\n } else {\n ~idx\n ? options.splice(idx, 0, {...result})\n : options.push({...result});\n }\n model.setOptions(options, this.changeOptionValue, data);\n }\n }\n\n @autobind\n async handleOptionEdit(\n value: any,\n origin: any = value,\n skipForm: boolean = false\n ) {\n let {\n editControls,\n disabled,\n labelField,\n onOpenDialog,\n editApi,\n env,\n source,\n data,\n formItem: model,\n optionLabel,\n translate: __\n } = this.props;\n\n if (disabled || !model) {\n return;\n }\n\n if (!skipForm && (!Array.isArray(editControls) || !editControls.length)) {\n editControls = [\n {\n type: 'text',\n name: labelField || 'label',\n label: false,\n placeholder: __('Options.addPlaceholder')\n }\n ];\n }\n\n let result = skipForm\n ? value\n : await onOpenDialog(\n {\n type: 'dialog',\n title: __('Options.editLabel', {\n label: optionLabel || __('Options.label')\n }),\n body: {\n type: 'form',\n api: editApi,\n controls: editControls\n }\n },\n createObject(data, value)\n );\n\n // 单独发请求\n if (skipForm && editApi) {\n try {\n const payload = await env.fetcher(\n editApi!,\n createObject(data, result),\n {\n method: 'post'\n }\n );\n\n if (!payload.ok) {\n env.notify('error', payload.msg || __('saveFailed'));\n result = null;\n } else {\n result = payload.data || result;\n }\n } catch (e) {\n result = null;\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n // 没有结果,说明取消了。\n if (!result) {\n return;\n }\n\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('edit', result);\n if (isPrevented) {\n return;\n }\n\n if (source && editApi) {\n this.reload();\n } else {\n const indexes = findTreeIndex(model.options, item => item === origin);\n\n if (indexes) {\n model.setOptions(\n spliceTree(model.options, indexes, 1, {\n ...origin,\n ...result\n }),\n this.changeOptionValue,\n data\n );\n }\n }\n }\n\n @autobind\n async handleOptionDelete(value: any) {\n let {\n deleteConfirmText,\n disabled,\n data,\n deleteApi,\n env,\n formItem: model,\n source,\n valueField,\n translate: __\n } = this.props;\n\n if (disabled || !model) {\n return;\n }\n\n const ctx = createObject(data, value);\n\n // 如果配置了 deleteConfirmText 让用户先确认。\n const confirmed = deleteConfirmText\n ? await env.confirm(filter(__(deleteConfirmText), ctx))\n : true;\n if (!confirmed) {\n return;\n }\n\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('delete', ctx);\n if (isPrevented) {\n return;\n }\n\n // 通过 deleteApi 删除。\n try {\n if (!deleteApi) {\n throw new Error(__('Options.deleteAPI'));\n }\n\n const result = await env.fetcher(deleteApi!, ctx, {\n method: 'delete'\n });\n\n if (!result.ok) {\n env.notify('error', result.msg || __('deleteFailed'));\n } else if (source) {\n this.reload();\n } else {\n const options = model.options.concat();\n const indexes = findTreeIndex(\n options,\n item => item[valueField || 'value'] == value[valueField || 'value']\n );\n\n if (indexes) {\n model.setOptions(\n spliceTree(options, indexes, 1),\n this.changeOptionValue,\n data\n );\n }\n }\n } catch (e) {\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n render() {\n const {\n value,\n formItem,\n addApi,\n editApi,\n deleteApi,\n creatable,\n editable,\n removable,\n enableNodePath,\n pathSeparator,\n delimiter = ',',\n labelField = 'label',\n valueField = 'value'\n } = this.props;\n\n const {nodePathArray, nodeValueArray} = normalizeNodePath(\n value,\n enableNodePath,\n labelField,\n valueField,\n pathSeparator,\n delimiter\n );\n\n return (\n <Control\n {...this.props}\n ref={this.inputRef}\n options={formItem ? formItem.filteredOptions : []}\n onToggle={this.handleToggle}\n onToggleAll={this.handleToggleAll}\n selectedOptions={\n formItem\n ? formItem.getSelectedOptions(\n value,\n enableNodePath ? nodeValueArray : undefined\n )\n : []\n }\n nodePath={nodePathArray}\n loading={formItem ? formItem.loading : false}\n setLoading={this.setLoading}\n setOptions={this.setOptions}\n syncOptions={this.syncOptions}\n reloadOptions={this.reload}\n deferLoad={this.deferLoad}\n leftDeferLoad={this.leftDeferLoad}\n expandTreeOptions={this.expandTreeOptions}\n creatable={\n creatable !== false && isEffectiveApi(addApi) ? true : creatable\n }\n editable={editable || (editable !== false && isEffectiveApi(editApi))}\n removable={\n removable || (removable !== false && isEffectiveApi(deleteApi))\n }\n onAdd={this.handleOptionAdd}\n onEdit={this.handleOptionEdit}\n onDelete={this.handleOptionDelete}\n />\n );\n }\n }\n\n return registerFormItem({\n ...(config as FormItemBasicConfig),\n strictMode: false,\n component: FormOptionsItem\n });\n}\n\nexport function OptionsControl(config: OptionsBasicConfig) {\n return function <T extends React.ComponentType<OptionsControlProps>>(\n component: T\n ): T {\n const renderer = registerOptionsControl({\n ...config,\n component: component\n });\n return renderer.component as any;\n };\n}\n\nexport function highlight(\n text: string,\n input?: string,\n hlClassName: string = 'is-matched'\n) {\n if (!input) {\n return text;\n }\n\n text = String(text);\n const reg = new RegExp(input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&'), 'ig');\n if (!reg.test(text)) {\n return text;\n }\n\n const dom: Array<any> = [];\n\n let start = 0;\n let match = null;\n\n reg.lastIndex = 0;\n while ((match = reg.exec(text))) {\n const prev = text.substring(start, match.index);\n prev && dom.push(<span key={dom.length}>{prev}</span>);\n\n match[0] &&\n dom.push(\n <span className={hlClassName} key={dom.length}>\n {match[0]}\n </span>\n );\n start = match.index + match[0].length;\n }\n const rest = text.substring(start);\n rest && dom.push(<span key={dom.length}>{rest}</span>);\n\n // const parts = text.split(reg);\n\n // parts.forEach((text: string, index) => {\n // text && dom.push(<span key={index}>{text}</span>);\n // dom.push(\n // <span className={hlClassName} key={`${index}-hl`}>\n // {input}\n // </span>\n // );\n // });\n\n // dom.pop();\n\n return dom;\n}\n"
|
11
|
+
"/**\n * @file 所有列表选择类控件的父级,比如 Select、Radios、Checkboxes、\n * List、ButtonGroup 等等\n */\nimport {Api, PlainObject, Schema, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated, isValidApi} from '../../utils/api';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n anyChanged,\n autobind,\n createObject,\n setVariable,\n spliceTree,\n findTreeIndex,\n getTree,\n isEmpty,\n getTreeAncestors,\n normalizeNodePath,\n mapTree,\n getTreeDepth,\n flattenTree\n} from '../../utils/helper';\nimport {reaction} from 'mobx';\nimport {\n FormControlProps,\n registerFormItem,\n FormItemBasicConfig,\n detectProps as itemDetectProps,\n FormBaseControl\n} from './Item';\nimport {IFormItemStore} from '../../store/formItem';\n\nexport type OptionsControlComponent = React.ComponentType<FormControlProps>;\n\nimport React from 'react';\nimport {\n resolveVariableAndFilter,\n isPureVariable,\n dataMapping\n} from '../../utils/tpl-builtin';\nimport {\n Option,\n OptionProps,\n normalizeOptions,\n optionValueCompare\n} from '../../components/Select';\nimport {filter} from '../../utils/tpl';\nimport findIndex from 'lodash/findIndex';\nimport {\n SchemaApi,\n SchemaExpression,\n SchemaObject,\n SchemaTokenizeableString\n} from '../../Schema';\nimport isPlainObject from 'lodash/isPlainObject';\nimport merge from 'lodash/merge';\n\nexport {Option};\n\nexport interface FormOptionsControl extends FormBaseControl {\n /**\n * 选项集合\n */\n options?: Array<Option> | string[] | PlainObject;\n\n /**\n * 可用来通过 API 拉取 options。\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 默认选择选项第一个值。\n */\n selectFirst?: boolean;\n\n /**\n * 用表达式来配置 source 接口初始要不要拉取\n *\n * @deprecated 建议用 source 接口的 sendOn\n */\n initFetchOn?: SchemaExpression;\n\n /**\n * 配置 source 接口初始拉不拉取。\n *\n * @deprecated 建议用 source 接口的 sendOn\n */\n initFetch?: boolean;\n\n /**\n * 是否为多选模式\n */\n multiple?: boolean;\n\n /**\n * 单选模式:当用户选中某个选项时,选项中的 value 将被作为该表单项的值提交,否则,整个选项对象都会作为该表单项的值提交。\n * 多选模式:选中的多个选项的 `value` 会通过 `delimiter` 连接起来,否则直接将以数组的形式提交值。\n */\n joinValues?: boolean;\n\n /**\n * 分割符\n */\n delimiter?: string;\n\n /**\n * 开启后将选中的选项 value 的值封装为数组,作为当前表单项的值。\n */\n extractValue?: boolean;\n\n /**\n * 是否可清除。\n */\n clearable?: boolean;\n\n /**\n * 点清除按钮时,将表单项设置成当前配置的值。\n *\n * @default ''\n */\n resetValue?: string;\n\n /**\n * 延时加载的 API,当选项中有 defer: true 的选项时,点开会通过此接口扩充。\n */\n deferApi?: SchemaApi;\n\n /**\n * 添加时调用的接口\n */\n addApi?: SchemaApi;\n\n /**\n * 新增时的表单项。\n */\n addControls?: Array<SchemaObject>;\n\n /**\n * 是否可以新增\n */\n creatable?: boolean;\n\n /**\n * 新增文字\n */\n createBtnLabel?: string;\n\n /**\n * 是否可以编辑\n */\n editable?: boolean;\n\n /**\n * 编辑时调用的 API\n */\n editApi?: SchemaApi;\n\n /**\n * 选项修改的表单项\n */\n editControls?: Array<SchemaObject>;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 选项删除 API\n */\n deleteApi?: SchemaApi;\n\n /**\n * 选项删除提示文字。\n */\n deleteConfirmText?: string;\n\n /**\n * 自动填充,当选项被选择的时候,将选项中的其他值同步设置到表单内。\n */\n autoFill?: {\n [propName: string]: SchemaTokenizeableString;\n };\n}\n\nexport interface OptionsBasicConfig extends FormItemBasicConfig {\n autoLoadOptionsFromSource?: boolean;\n}\n\nexport interface OptionsConfig extends OptionsBasicConfig {\n component: React.ComponentType<OptionsControlProps>;\n}\n\n// 下发给注册进来的组件的属性。\nexport interface OptionsControlProps\n extends FormControlProps,\n Omit<\n FormOptionsControl,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n options: Array<Option>;\n onToggle: (\n option: Option,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) => void;\n onToggleAll: () => void;\n selectedOptions: Array<Option>;\n setOptions: (value: Array<any>, skipNormalize?: boolean) => void;\n setLoading: (value: boolean) => void;\n reloadOptions: (setError?: boolean) => void;\n deferLoad: (option: Option) => void;\n leftDeferLoad: (option: Option, leftOptions: Option) => void;\n expandTreeOptions: (nodePathArr: any[]) => void;\n onAdd?: (\n idx?: number | Array<number>,\n value?: any,\n skipForm?: boolean\n ) => void;\n onEdit?: (value: Option, origin?: Option, skipForm?: boolean) => void;\n onDelete?: (value: Option) => void;\n}\n\n// 自己接收的属性。\nexport interface OptionsProps\n extends FormControlProps,\n Omit<OptionProps, 'className'> {\n source?: Api;\n deferApi?: Api;\n creatable?: boolean;\n addApi?: Api;\n addControls?: Array<any>;\n editApi?: Api;\n editControls?: Array<any>;\n deleteApi?: Api;\n deleteConfirmText?: string;\n optionLabel?: string;\n}\n\nexport const detectProps = itemDetectProps.concat([\n 'value',\n 'options',\n 'size',\n 'buttons',\n 'columnsCount',\n 'multiple',\n 'hideRoot',\n 'checkAll',\n 'defaultCheckAll',\n 'showIcon',\n 'showRadio',\n 'btnDisabled',\n 'joinValues',\n 'extractValue',\n 'borderMode',\n 'hideSelected'\n]);\n\nexport function registerOptionsControl(config: OptionsConfig) {\n const Control = config.component;\n\n class FormOptionsItem extends React.Component<OptionsProps, any> {\n static displayName = `OptionsControl(${config.type})`;\n static defaultProps = {\n delimiter: ',',\n labelField: 'label',\n valueField: 'value',\n joinValues: true,\n extractValue: false,\n multiple: false,\n placeholder: 'Select.placeholder',\n resetValue: '',\n deleteConfirmText: 'deleteConfirm',\n ...Control.defaultProps\n };\n static propsList: any = (Control as any).propsList\n ? [...(Control as any).propsList]\n : [];\n static ComposedComponent = Control;\n\n toDispose: Array<() => void> = [];\n\n input: any;\n mounted = false;\n\n constructor(props: OptionsProps) {\n super(props);\n\n const {\n initFetch,\n formItem,\n source,\n data,\n setPrinstineValue,\n defaultValue,\n multiple,\n joinValues,\n extractValue,\n addHook,\n formInited,\n valueField,\n options,\n value,\n defaultCheckAll\n } = props;\n\n if (formItem) {\n formItem.setOptions(\n normalizeOptions(options, undefined, valueField),\n this.changeOptionValue,\n data\n );\n\n this.toDispose.push(\n reaction(\n () => JSON.stringify([formItem.loading, formItem.filteredOptions]),\n () => this.mounted && this.forceUpdate()\n )\n );\n\n this.toDispose.push(\n reaction(\n () => JSON.stringify(formItem.options),\n () => this.mounted && this.syncAutoFill(formItem.tmpValue)\n )\n );\n // 默认全选。这里会和默认值\\回填值逻辑冲突,所以如果有配置source则不执行默认全选\n if (\n multiple &&\n defaultCheckAll &&\n formItem.filteredOptions?.length &&\n !source\n ) {\n this.defaultCheckAll();\n }\n }\n\n let loadOptions: boolean = initFetch !== false;\n\n if (formItem && joinValues === false && defaultValue) {\n const selectedOptions = extractValue\n ? formItem\n .getSelectedOptions(value)\n .map(\n (selectedOption: Option) =>\n selectedOption[valueField || 'value']\n )\n : formItem.getSelectedOptions(value);\n setPrinstineValue(\n multiple ? selectedOptions.concat() : selectedOptions[0]\n );\n }\n\n loadOptions &&\n config.autoLoadOptionsFromSource !== false &&\n (formInited || !addHook\n ? this.reload()\n : addHook && addHook(this.initOptions, 'init'));\n }\n\n componentDidMount() {\n this.mounted = true;\n this.normalizeValue();\n\n if (this.props.value) {\n this.syncAutoFill(this.props.value);\n }\n }\n\n shouldComponentUpdate(nextProps: OptionsProps) {\n if (config.strictMode === false || nextProps.strictMode === false) {\n return true;\n } else if (nextProps.source || nextProps.autoComplete) {\n return true;\n } else if (nextProps.formItem?.expressionsInOptions) {\n return true;\n }\n\n if (anyChanged(detectProps, this.props, nextProps)) {\n return true;\n }\n\n return false;\n }\n\n componentDidUpdate(prevProps: OptionsProps) {\n const props = this.props;\n const formItem = props.formItem as IFormItemStore;\n\n if (prevProps.options !== props.options && formItem) {\n formItem.setOptions(\n normalizeOptions(props.options || [], undefined, props.valueField),\n this.changeOptionValue,\n props.data\n );\n this.normalizeValue();\n } else if (\n config.autoLoadOptionsFromSource !== false &&\n (props.formInited || typeof props.formInited === 'undefined') &&\n props.source &&\n formItem &&\n (prevProps.source !== props.source || prevProps.data !== props.data)\n ) {\n if (isPureVariable(props.source as string)) {\n const prevOptions = resolveVariableAndFilter(\n prevProps.source as string,\n prevProps.data,\n '| raw'\n );\n const options = resolveVariableAndFilter(\n props.source as string,\n props.data,\n '| raw'\n );\n\n if (prevOptions !== options) {\n formItem.setOptions(\n normalizeOptions(\n options || [],\n undefined,\n props.valueField || 'value'\n ),\n this.changeOptionValue,\n props.data\n );\n this.normalizeValue();\n }\n } else if (\n isEffectiveApi(props.source, props.data) &&\n isApiOutdated(\n prevProps.source,\n props.source,\n prevProps.data,\n props.data\n )\n ) {\n formItem\n .loadOptions(\n props.source,\n props.data,\n undefined,\n true,\n this.changeOptionValue\n )\n .then(() => this.normalizeValue());\n }\n }\n\n if (prevProps.value !== props.value || formItem?.expressionsInOptions) {\n formItem.syncOptions(undefined, props.data);\n this.syncAutoFill(props.value);\n }\n }\n\n componentWillUnmount() {\n this.props.removeHook?.(this.reload, 'init');\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n }\n\n async dispatchOptionEvent(eventName: string, eventData: any = '') {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n value: eventData,\n options\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (actionType === 'clear') {\n onChange?.('');\n } else if (actionType === 'reset') {\n onChange?.(resetValue ?? '');\n }\n }\n\n syncAutoFill(value: any) {\n const {autoFill, multiple, onBulkChange, data} = this.props;\n const formItem = this.props.formItem as IFormItemStore;\n\n if (\n onBulkChange &&\n autoFill &&\n !isEmpty(autoFill) &&\n formItem.filteredOptions.length\n ) {\n const selectedOptions = formItem.getSelectedOptions(value);\n const toSync = dataMapping(\n autoFill,\n multiple\n ? {\n items: selectedOptions.map(item =>\n createObject(\n {\n ...data,\n ancestors: getTreeAncestors(\n formItem.filteredOptions,\n item,\n true\n )\n },\n item\n )\n )\n }\n : createObject(\n {\n ...data,\n ancestors: getTreeAncestors(\n formItem.filteredOptions,\n selectedOptions[0],\n true\n )\n },\n selectedOptions[0]\n )\n );\n\n Object.keys(toSync).forEach(key => {\n if (isPlainObject(toSync[key]) && isPlainObject(data[key])) {\n toSync[key] = merge({}, data[key], toSync[key]);\n }\n });\n\n onBulkChange(toSync);\n }\n }\n\n // 当前值,跟设置预期的值格式不一致时自动转换。\n normalizeValue() {\n const {\n joinValues,\n extractValue,\n value,\n multiple,\n formItem,\n valueField,\n enableNodePath,\n pathSeparator,\n onChange\n } = this.props;\n\n if (!formItem || joinValues !== false || !formItem.options.length) {\n return;\n }\n\n if (\n extractValue === false &&\n (typeof value === 'string' || typeof value === 'number')\n ) {\n const selectedOptions = formItem.getSelectedOptions(value);\n onChange?.(multiple ? selectedOptions.concat() : selectedOptions[0]);\n } else if (\n extractValue === true &&\n value &&\n !(\n (Array.isArray(value) &&\n value.every(\n val => typeof val === 'string' || typeof val === 'number'\n )) ||\n typeof value === 'string' ||\n typeof value === 'number'\n )\n ) {\n const selectedOptions = formItem\n .getSelectedOptions(value)\n .map(\n (selectedOption: Option) => selectedOption[valueField || 'value']\n );\n onChange?.(multiple ? selectedOptions.concat() : selectedOptions[0]);\n }\n }\n\n getWrappedInstance() {\n return this.input;\n }\n\n @autobind\n inputRef(ref: any) {\n this.input = ref;\n }\n\n @autobind\n async handleToggle(\n option: Option,\n submitOnChange?: boolean,\n changeImmediately?: boolean\n ) {\n const {onChange, formItem, value} = this.props;\n\n if (!formItem) {\n return;\n }\n\n let newValue: string | Array<Option> | Option = this.toggleValue(\n option,\n value\n );\n\n const isPrevented = await this.dispatchOptionEvent('change', newValue);\n isPrevented ||\n (onChange && onChange(newValue, submitOnChange, changeImmediately));\n }\n\n /**\n * 初始化时处理默认全选逻辑\n */\n defaultCheckAll() {\n const {value, formItem, setPrinstineValue} = this.props;\n // 如果有默认值\\回填值直接返回\n if (!formItem || formItem.getSelectedOptions(value).length) {\n return;\n }\n let valueArray = formItem.filteredOptions.concat();\n const newValue = this.formatValueArray(valueArray);\n setPrinstineValue?.(newValue);\n }\n\n /**\n * 选中的值经过joinValues和delimiter等规则处理输出规定格式的值\n * @param valueArray 选中值的数组\n * @returns 通过joinValues和delimiter等规则输出规定格式的值\n */\n formatValueArray(valueArray: Array<Option>) {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n resetValue,\n multiple\n } = this.props;\n let newValue: string | Array<Option> | Option = '';\n if (multiple) {\n /** 兼容tree数据结构 */\n newValue =\n getTreeDepth(valueArray) > 1 ? flattenTree(valueArray) : valueArray;\n\n if (joinValues) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .filter(item => item != null) /** tree的父节点可能没有value值 */\n .join(delimiter);\n } else if (extractValue) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .filter(item => item != null);\n }\n } else {\n newValue = valueArray[0] || resetValue;\n\n if (joinValues && newValue) {\n newValue = (newValue as any)[valueField || 'value'];\n }\n }\n return newValue;\n }\n\n @autobind\n async handleToggleAll() {\n const {value, onChange, formItem, valueField} = this.props;\n\n if (!formItem) {\n return;\n }\n const selectedOptions = formItem.getSelectedOptions(value);\n /** 打平并过滤掉valueField不存在的case,保证全选时对比length一致 */\n const filteredOptions = flattenTree(\n formItem.filteredOptions.concat()\n ).filter(item => item != null && item[valueField || 'value'] != null);\n let valueArray =\n selectedOptions.length === filteredOptions.length\n ? []\n : formItem.filteredOptions.concat();\n const newValue = this.formatValueArray(valueArray);\n const isPrevented = await this.dispatchOptionEvent('change', newValue);\n isPrevented || (onChange && onChange(newValue));\n }\n\n toggleValue(option: Option, originValue?: any) {\n const {\n joinValues,\n extractValue,\n valueField,\n delimiter,\n clearable,\n resetValue,\n multiple,\n formItem\n } = this.props;\n\n let valueArray =\n originValue !== undefined\n ? formItem!.getSelectedOptions(originValue).concat()\n : [];\n\n const idx = findIndex(\n valueArray,\n optionValueCompare(option[valueField || 'value'], valueField || 'value')\n );\n let newValue: string | Array<Option> | Option = '';\n\n if (multiple) {\n if (~idx) {\n valueArray.splice(idx, 1);\n } else {\n valueArray.push(option);\n }\n\n newValue = valueArray;\n\n if (joinValues) {\n newValue = (newValue as Array<any>)\n .map(item => item[valueField || 'value'])\n .join(delimiter);\n } else if (extractValue) {\n newValue = (newValue as Array<any>).map(\n item => item[valueField || 'value']\n );\n }\n } else {\n if (~idx && clearable) {\n valueArray.splice(idx, 1);\n } else {\n valueArray = [option];\n }\n\n newValue = valueArray[0] || resetValue;\n\n if ((joinValues || extractValue) && newValue) {\n newValue = (newValue as any)[valueField || 'value'];\n }\n }\n\n return newValue;\n }\n\n // 当有 action 触发,如果指定了 reload 目标组件,有可能会来到这里面来\n @autobind\n reload() {\n return this.reloadOptions();\n }\n\n @autobind\n reloadOptions(setError?: boolean, isInit = false) {\n const {source, formItem, data, onChange, setPrinstineValue, valueField} =\n this.props;\n\n if (formItem && isPureVariable(source as string)) {\n isAlive(formItem) &&\n formItem.setOptions(\n normalizeOptions(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n undefined,\n valueField\n ),\n this.changeOptionValue,\n data\n );\n return;\n } else if (!formItem || !isEffectiveApi(source, data)) {\n return;\n }\n\n return formItem.loadOptions(\n source,\n data,\n undefined,\n false,\n isInit ? setPrinstineValue : onChange,\n setError\n );\n }\n\n @autobind\n async deferLoad(option: Option) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = option.deferApi || deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n const json = await formItem?.deferLoadOptions(\n option,\n api,\n createObject(data, option)\n );\n // 触发事件通知,加载完成\n this.dispatchOptionEvent('loadFinished', json);\n }\n\n @autobind\n leftDeferLoad(option: Option, leftOptions: Option) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = option.deferApi || deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n formItem?.deferLoadLeftOptions(\n option,\n leftOptions,\n api,\n createObject(data, option)\n );\n }\n\n @autobind\n expandTreeOptions(nodePathArr: any[]) {\n const {deferApi, source, env, formItem, data} = this.props;\n const api = deferApi || source;\n\n if (!api) {\n env.notify(\n 'error',\n '请在选项中设置 `deferApi` 或者表单项中设置 `deferApi`,用来加载子选项。'\n );\n return;\n }\n\n formItem?.expandTreeOptions(nodePathArr, api, createObject(data));\n }\n\n @autobind\n async initOptions(data: any) {\n await this.reloadOptions(false, true);\n const {formItem, name, multiple, defaultCheckAll} = this.props;\n if (!formItem) {\n return;\n }\n if (isAlive(formItem) && formItem.value) {\n setVariable(data, name!, formItem.value);\n }\n\n // 默认全选\n if (multiple && defaultCheckAll && formItem.filteredOptions?.length) {\n this.defaultCheckAll();\n }\n }\n\n focus() {\n this.input && this.input.focus && this.input.focus();\n }\n\n @autobind\n changeOptionValue(value: any) {\n const {\n onChange,\n formInited,\n setPrinstineValue,\n value: originValue\n } = this.props;\n\n if (formInited === false) {\n originValue === undefined && setPrinstineValue?.(value);\n } else {\n onChange?.(value);\n }\n }\n\n @autobind\n setOptions(options: Array<any>, skipNormalize = false) {\n const formItem = this.props.formItem as IFormItemStore;\n formItem &&\n formItem.setOptions(\n skipNormalize\n ? options\n : normalizeOptions(options || [], undefined, this.props.valueField),\n this.changeOptionValue,\n this.props.data\n );\n }\n\n @autobind\n syncOptions() {\n const formItem = this.props.formItem as IFormItemStore;\n formItem && formItem.syncOptions(undefined, this.props.data);\n }\n\n @autobind\n setLoading(value: boolean) {\n const formItem = this.props.formItem as IFormItemStore;\n formItem && formItem.setLoading(value);\n }\n\n @autobind\n async handleOptionAdd(\n idx: number | Array<number> = -1,\n value?: any,\n skipForm: boolean = false\n ) {\n let {\n addControls,\n disabled,\n labelField,\n onOpenDialog,\n optionLabel,\n addApi,\n source,\n data,\n valueField,\n formItem: model,\n createBtnLabel,\n env,\n translate: __\n } = this.props;\n\n // 禁用或者没有配置 name\n if (disabled || !model) {\n return;\n }\n\n // 用户没有配置表单项,则自动创建一个 label 输入\n if (!skipForm && (!Array.isArray(addControls) || !addControls.length)) {\n addControls = [\n {\n type: 'text',\n name: labelField || 'label',\n label: false,\n required: true,\n placeholder: __('Options.addPlaceholder')\n }\n ];\n }\n const parent = Array.isArray(idx)\n ? getTree(model.options, idx.slice(0, -1))\n : undefined;\n\n const ctx: any = createObject(\n data,\n Array.isArray(idx)\n ? {\n parent: parent,\n ...value\n }\n : value\n );\n\n let result: any = skipForm\n ? ctx\n : await onOpenDialog(\n {\n type: 'dialog',\n title: createBtnLabel || `新增${optionLabel || '选项'}`,\n body: {\n type: 'form',\n api: addApi,\n controls: [\n {\n type: 'hidden',\n name: 'idx',\n value: idx\n },\n {\n type: 'hidden',\n name: 'parent',\n value: parent\n },\n ...(addControls || [])\n ]\n }\n },\n ctx\n );\n\n // 单独发请求\n if (skipForm && addApi) {\n try {\n const payload = await env.fetcher(addApi!, result, {\n method: 'post'\n });\n\n if (!payload.ok) {\n env.notify('error', payload.msg || __('Options.createFailed'));\n result = null;\n } else {\n result = payload.data || result;\n }\n } catch (e) {\n result = null;\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n // 有 result 说明弹框点了确认。否则就是取消了。\n if (!result) {\n return;\n }\n\n // 没走服务端的。\n if (!result.hasOwnProperty(valueField || 'value')) {\n result = {\n ...result,\n [valueField || 'value']: result[labelField || 'label']\n };\n }\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('add', {\n ...result,\n idx\n });\n if (isPrevented) {\n return;\n }\n\n // 如果是懒加载的,只懒加载当前节点。\n if (parent?.defer) {\n await this.deferLoad(parent);\n } else if (source && addApi) {\n // 如果配置了 source 且配置了 addApi 直接重新拉取接口就够了\n // 不能不判断 addApi 就刷新,因为有些场景就是临时添加的。\n this.reload();\n } else {\n // 否则直接前端变更 options\n let options = model.options.concat();\n if (Array.isArray(idx)) {\n options = spliceTree(options, idx, 0, {...result});\n } else {\n ~idx\n ? options.splice(idx, 0, {...result})\n : options.push({...result});\n }\n model.setOptions(options, this.changeOptionValue, data);\n }\n }\n\n @autobind\n async handleOptionEdit(\n value: any,\n origin: any = value,\n skipForm: boolean = false\n ) {\n let {\n editControls,\n disabled,\n labelField,\n onOpenDialog,\n editApi,\n env,\n source,\n data,\n formItem: model,\n optionLabel,\n translate: __\n } = this.props;\n\n if (disabled || !model) {\n return;\n }\n\n if (!skipForm && (!Array.isArray(editControls) || !editControls.length)) {\n editControls = [\n {\n type: 'text',\n name: labelField || 'label',\n label: false,\n placeholder: __('Options.addPlaceholder')\n }\n ];\n }\n\n let result = skipForm\n ? value\n : await onOpenDialog(\n {\n type: 'dialog',\n title: __('Options.editLabel', {\n label: optionLabel || __('Options.label')\n }),\n body: {\n type: 'form',\n api: editApi,\n controls: editControls\n }\n },\n createObject(data, value)\n );\n\n // 单独发请求\n if (skipForm && editApi) {\n try {\n const payload = await env.fetcher(\n editApi!,\n createObject(data, result),\n {\n method: 'post'\n }\n );\n\n if (!payload.ok) {\n env.notify('error', payload.msg || __('saveFailed'));\n result = null;\n } else {\n result = payload.data || result;\n }\n } catch (e) {\n result = null;\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n // 没有结果,说明取消了。\n if (!result) {\n return;\n }\n\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('edit', result);\n if (isPrevented) {\n return;\n }\n\n if (source && editApi) {\n this.reload();\n } else {\n const indexes = findTreeIndex(model.options, item => item === origin);\n\n if (indexes) {\n model.setOptions(\n spliceTree(model.options, indexes, 1, {\n ...origin,\n ...result\n }),\n this.changeOptionValue,\n data\n );\n }\n }\n }\n\n @autobind\n async handleOptionDelete(value: any) {\n let {\n deleteConfirmText,\n disabled,\n data,\n deleteApi,\n env,\n formItem: model,\n source,\n valueField,\n translate: __\n } = this.props;\n\n if (disabled || !model) {\n return;\n }\n\n const ctx = createObject(data, value);\n\n // 如果配置了 deleteConfirmText 让用户先确认。\n const confirmed = deleteConfirmText\n ? await env.confirm(filter(__(deleteConfirmText), ctx))\n : true;\n if (!confirmed) {\n return;\n }\n\n // 触发事件通知\n const isPrevented = await this.dispatchOptionEvent('delete', ctx);\n if (isPrevented) {\n return;\n }\n\n // 通过 deleteApi 删除。\n try {\n if (!deleteApi) {\n throw new Error(__('Options.deleteAPI'));\n }\n\n const result = await env.fetcher(deleteApi!, ctx, {\n method: 'delete'\n });\n\n if (!result.ok) {\n env.notify('error', result.msg || __('deleteFailed'));\n } else if (source) {\n this.reload();\n } else {\n const options = model.options.concat();\n const indexes = findTreeIndex(\n options,\n item => item[valueField || 'value'] == value[valueField || 'value']\n );\n\n if (indexes) {\n model.setOptions(\n spliceTree(options, indexes, 1),\n this.changeOptionValue,\n data\n );\n }\n }\n } catch (e) {\n console.error(e);\n env.notify('error', e.message);\n }\n }\n\n render() {\n const {\n value,\n formItem,\n addApi,\n editApi,\n deleteApi,\n creatable,\n editable,\n removable,\n enableNodePath,\n pathSeparator,\n delimiter = ',',\n labelField = 'label',\n valueField = 'value'\n } = this.props;\n\n const {nodePathArray, nodeValueArray} = normalizeNodePath(\n value,\n enableNodePath,\n labelField,\n valueField,\n pathSeparator,\n delimiter\n );\n\n return (\n <Control\n {...this.props}\n ref={this.inputRef}\n options={formItem ? formItem.filteredOptions : []}\n onToggle={this.handleToggle}\n onToggleAll={this.handleToggleAll}\n selectedOptions={\n formItem\n ? formItem.getSelectedOptions(\n value,\n enableNodePath ? nodeValueArray : undefined\n )\n : []\n }\n nodePath={nodePathArray}\n loading={formItem ? formItem.loading : false}\n setLoading={this.setLoading}\n setOptions={this.setOptions}\n syncOptions={this.syncOptions}\n reloadOptions={this.reload}\n deferLoad={this.deferLoad}\n leftDeferLoad={this.leftDeferLoad}\n expandTreeOptions={this.expandTreeOptions}\n creatable={\n creatable !== false && isEffectiveApi(addApi) ? true : creatable\n }\n editable={editable || (editable !== false && isEffectiveApi(editApi))}\n removable={\n removable || (removable !== false && isEffectiveApi(deleteApi))\n }\n onAdd={this.handleOptionAdd}\n onEdit={this.handleOptionEdit}\n onDelete={this.handleOptionDelete}\n />\n );\n }\n }\n\n return registerFormItem({\n ...(config as FormItemBasicConfig),\n strictMode: false,\n component: FormOptionsItem\n });\n}\n\nexport function OptionsControl(config: OptionsBasicConfig) {\n return function <T extends React.ComponentType<OptionsControlProps>>(\n component: T\n ): T {\n const renderer = registerOptionsControl({\n ...config,\n component: component\n });\n return renderer.component as any;\n };\n}\n\nexport function highlight(\n text: string,\n input?: string,\n hlClassName: string = 'is-matched'\n) {\n if (!input) {\n return text;\n }\n\n text = String(text);\n const reg = new RegExp(input.replace(/[|\\\\{}()[\\]^$+*?.]/g, '\\\\$&'), 'ig');\n if (!reg.test(text)) {\n return text;\n }\n\n const dom: Array<any> = [];\n\n let start = 0;\n let match = null;\n\n reg.lastIndex = 0;\n while ((match = reg.exec(text))) {\n const prev = text.substring(start, match.index);\n prev && dom.push(<span key={dom.length}>{prev}</span>);\n\n match[0] &&\n dom.push(\n <span className={hlClassName} key={dom.length}>\n {match[0]}\n </span>\n );\n start = match.index + match[0].length;\n }\n const rest = text.substring(start);\n rest && dom.push(<span key={dom.length}>{rest}</span>);\n\n // const parts = text.split(reg);\n\n // parts.forEach((text: string, index) => {\n // text && dom.push(<span key={index}>{text}</span>);\n // dom.push(\n // <span className={hlClassName} key={`${index}-hl`}>\n // {input}\n // </span>\n // );\n // });\n\n // dom.pop();\n\n return dom;\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -58,6 +58,18 @@ export interface SelectControlSchema extends FormOptionsControl {
|
|
58
58
|
* 搜索 API
|
59
59
|
*/
|
60
60
|
searchApi?: SchemaApi;
|
61
|
+
/**
|
62
|
+
* 可多选条件下,是否可全选
|
63
|
+
*/
|
64
|
+
checkAll?: boolean;
|
65
|
+
/**
|
66
|
+
* 可多选条件下,是否默认全选中所有值
|
67
|
+
*/
|
68
|
+
defaultCheckAll?: boolean;
|
69
|
+
/**
|
70
|
+
* 可多选条件下,全选项文案,默认 ”全选“
|
71
|
+
*/
|
72
|
+
checkAllLabel?: string;
|
61
73
|
}
|
62
74
|
export interface SelectProps extends OptionsControlProps {
|
63
75
|
autoComplete?: Api;
|
@@ -227,9 +227,7 @@ var SelectControl = /** @class */ (function (_super) {
|
|
227
227
|
? env.getModalContainer
|
228
228
|
: mobileUI
|
229
229
|
? undefined
|
230
|
-
: rest.popOverContainer, borderMode: borderMode, placeholder: placeholder, multiple: multiple || multi, ref: this.inputRef, value: selectedOptions, options: options, loadOptions: (0, api_1.isEffectiveApi)(autoComplete) ? this.lazyloadRemote : undefined, creatable: creatable, searchable: searchable || !!autoComplete, onChange: this.changeValue, onBlur: function (e) { return _this.dispatchEvent('blur', e); }, onFocus: function (e) { return _this.dispatchEvent('focus', e); }, onAdd: function () { return _this.dispatchEvent('add'); }, onEdit: function (item) { return _this.dispatchEvent('edit', item); }, onDelete: function (item) {
|
231
|
-
return _this.dispatchEvent('delete', item);
|
232
|
-
}, loading: loading, noResultsText: noResultsText, renderMenu: menuTpl ? this.renderMenu : undefined })))));
|
230
|
+
: rest.popOverContainer, borderMode: borderMode, placeholder: placeholder, multiple: multiple || multi, ref: this.inputRef, value: selectedOptions, options: options, loadOptions: (0, api_1.isEffectiveApi)(autoComplete) ? this.lazyloadRemote : undefined, creatable: creatable, searchable: searchable || !!autoComplete, onChange: this.changeValue, onBlur: function (e) { return _this.dispatchEvent('blur', e); }, onFocus: function (e) { return _this.dispatchEvent('focus', e); }, onAdd: function () { return _this.dispatchEvent('add'); }, onEdit: function (item) { return _this.dispatchEvent('edit', item); }, onDelete: function (item) { return _this.dispatchEvent('delete', item); }, loading: loading, noResultsText: noResultsText, renderMenu: menuTpl ? this.renderMenu : undefined })))));
|
233
231
|
};
|
234
232
|
var _a;
|
235
233
|
SelectControl.defaultProps = {
|