amis 1.9.1-beta.21 → 1.10.0
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/ResultBox.js +3 -1
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/Select.js +1 -1
- package/lib/components/Select.js.map +2 -2
- package/lib/components/formula/Editor.js +3 -2
- package/lib/components/formula/Editor.js.map +2 -2
- package/lib/components/formula/Picker.js +2 -2
- package/lib/components/formula/Picker.js.map +2 -2
- package/lib/components/formula/VariableList.js +2 -2
- package/lib/components/formula/VariableList.js.map +1 -1
- package/lib/index.js +1 -1
- package/lib/renderers/Form/ConditionBuilder.js +8 -1
- package/lib/renderers/Form/ConditionBuilder.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +1 -1
- package/lib/renderers/Form/InputTag.js.map +1 -1
- package/lib/renderers/Form/Select.d.ts +6 -1
- package/lib/renderers/Form/Select.js +3 -1
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +1 -0
- package/lib/renderers/Table/index.js +18 -0
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tpl.d.ts +4 -0
- package/lib/renderers/Tpl.js +6 -3
- package/lib/renderers/Tpl.js.map +2 -2
- package/lib/themes/ang-ie11.css +13 -1
- package/lib/themes/ang.css +13 -1
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +13 -1
- package/lib/themes/antd.css +13 -1
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +13 -1
- package/lib/themes/cxd.css +13 -1
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +13 -1
- package/lib/themes/dark.css +13 -1
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +13 -1
- package/lib/themes/default.css +13 -1
- package/lib/themes/default.css.map +1 -1
- package/package.json +1 -1
- package/schema.json +22 -16
- package/scss/components/_formula.scss +4 -1
- package/scss/components/form/_select.scss +10 -0
- package/sdk/ang-ie11.css +14 -1
- package/sdk/ang.css +14 -1
- package/sdk/antd-ie11.css +14 -1
- package/sdk/antd.css +14 -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 +14 -1
- package/sdk/cxd.css +14 -1
- package/sdk/dark-ie11.css +14 -1
- package/sdk/dark.css +14 -1
- package/sdk/exceljs.js +1 -1
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +14 -1
- package/sdk/sdk.css +14 -1
- package/sdk/sdk.js +1333 -1333
- 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/components/ResultBox.tsx +3 -1
- package/src/components/Select.tsx +6 -1
- package/src/components/formula/Editor.tsx +3 -2
- package/src/components/formula/Picker.tsx +2 -2
- package/src/components/formula/VariableList.tsx +2 -2
- package/src/renderers/Form/ConditionBuilder.tsx +16 -0
- package/src/renderers/Form/InputTag.tsx +1 -1
- package/src/renderers/Form/Select.tsx +10 -2
- package/src/renderers/Table/index.tsx +21 -1
- package/src/renderers/Tpl.tsx +11 -1
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/formula/Picker.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": "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
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\nimport Input from '../Input';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button' | 'input-group';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {\n const onChange = this.props.onChange;\n onChange && onChange(e.currentTarget.value);\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n this.confirm(value);\n }\n\n confirm(value: string) {\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div\n className={cx(\n 'FormulaPicker',\n className,\n mode === 'input-group' ? 'is-input-group' : ''\n )}\n >\n {mode === 'button' && (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n )}\n {mode === 'input-button' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n {mode === 'input-group' && (\n <>\n <Input\n className={cx('FormulaPicker-input')}\n onChange={this.handleInputGroupChange}\n placeholder={allowInput ? placeholder : ''}\n autoComplete=\"off\"\n value={value}\n disabled={disabled}\n readOnly={!allowInput}\n />\n\n <a\n className={cx(`FormulaPicker-toggler`)}\n onClick={this.handleClick}\n >\n <Icon icon=\"function\" className=\"icon\" />\n </a>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n selfVariableName={this.props.selfVariableName}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
11
|
+
"import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {\n FormulaEditor,\n FormulaEditorProps,\n FuncGroup,\n VariableItem\n} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport Modal from '../Modal';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\nimport type {SchemaIcon} from '../../Schema';\nimport {parse, Evaluator} from 'amis-formula';\nimport Input from '../Input';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button' | 'input-group';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n\n /**\n * 公式弹出的时候,可以外部设置 variables 和 functions\n */\n onPickerOpen?: (props: FormulaPickerProps) => any;\n\n children?: (props: {\n onClick: (e: React.MouseEvent) => void;\n setState: (state: any) => void;\n isOpened: boolean;\n }) => JSX.Element;\n\n onConfirm?: (value?: any) => void;\n\n onRef?: (node: any) => void;\n}\n\nexport interface FormulaPickerState {\n isOpened: boolean;\n value: string;\n editorValue: string;\n isError: boolean | string;\n\n variables?: Array<VariableItem>;\n functions?: Array<FuncGroup>;\n variableMode?: any;\n}\n\nexport class FormulaPicker extends React.Component<\n FormulaPickerProps,\n FormulaPickerState\n> {\n constructor(props: FormulaPickerProps) {\n super(props);\n this.props.onRef && this.props.onRef(this);\n }\n\n static defaultProps = {\n evalMode: true\n };\n\n state: FormulaPickerState = {\n isOpened: false,\n value: this.props.value!,\n editorValue: this.props.value!,\n isError: false\n };\n\n @autobind\n handleConfirm() {\n const value = this.state.value;\n\n if (this.props.onConfirm) {\n this.props.onConfirm(value);\n } else {\n this.props.onChange?.(value);\n }\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n @autobind\n handleInputChange(value: string) {\n this.setState({value}, () => this.handleConfirm());\n }\n\n @autobind\n handleInputGroupChange(e: React.ChangeEvent<HTMLInputElement>) {\n const onChange = this.props.onChange;\n onChange && onChange(e.currentTarget.value);\n }\n\n @autobind\n handleEditorChange(value: string) {\n this.setState({\n editorValue: value,\n isError: false\n });\n }\n\n @autobind\n handleEditorConfirm() {\n const {translate: __} = this.props;\n const value = this.state.editorValue;\n this.confirm(value);\n }\n\n confirm(value: string) {\n const validate = this.validate(value);\n\n if (validate === true) {\n this.setState({value}, () => {\n this.close(undefined, () => this.handleConfirm());\n });\n } else {\n this.setState({isError: validate});\n }\n }\n\n @autobind\n async handleClick() {\n const state = {\n ...(await this.props.onPickerOpen?.(this.props)),\n editorValue: this.props.value,\n isOpened: true\n };\n\n this.setState(state);\n }\n\n @autobind\n close(e?: any, callback?: () => void) {\n this.setState(\n {\n isOpened: false,\n isError: false\n },\n () => {\n if (callback) {\n callback();\n return;\n }\n }\n );\n }\n\n @autobind\n updateState(state: any = {}) {\n const {isOpened, ...rest} = state;\n this.setState({\n ...this.state,\n ...rest\n });\n }\n\n @autobind\n validate(value: string) {\n const {translate: __} = this.props;\n\n try {\n parse(value, {\n evalMode: this.props.evalMode,\n allowFilter: false\n });\n\n return true;\n } catch (e) {\n if (/\\s(\\d+:\\d+)$/.test(e.message)) {\n const [, position] = /\\s(\\d+:\\d+)$/.exec(e.message) || [];\n return position;\n }\n return e.message;\n }\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n disabled,\n allowInput = true,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode = 'input-button',\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n children,\n variableMode,\n ...rest\n } = this.props;\n const {isOpened, value, editorValue, isError} = this.state;\n\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <>\n {children ? (\n children({\n isOpened: this.state.isOpened,\n onClick: this.handleClick,\n setState: this.updateState\n })\n ) : (\n <div\n className={cx(\n 'FormulaPicker',\n className,\n mode === 'input-group' ? 'is-input-group' : ''\n )}\n >\n {mode === 'button' && (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={this.handleClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n )}\n {mode === 'input-button' && (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : '',\n !!isError ? 'is-error' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={\n allowInput\n ? void 0\n : FormulaEditor.highlightValue(\n value,\n variables!,\n this.props.evalMode\n )\n }\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleInputChange}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={this.handleClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n {mode === 'input-group' && (\n <>\n <Input\n className={cx('FormulaPicker-input')}\n onChange={this.handleInputGroupChange}\n placeholder={allowInput ? placeholder : ''}\n autoComplete=\"off\"\n value={value}\n disabled={disabled}\n readOnly={!allowInput}\n />\n\n <a\n className={cx(`FormulaPicker-toggler`)}\n onClick={this.handleClick}\n >\n <Icon icon=\"function\" className=\"icon\" />\n </a>\n </>\n )}\n </div>\n )}\n <Modal\n size=\"md\"\n closeOnEsc\n show={this.state.isOpened}\n onHide={this.close}\n >\n <Modal.Header onClose={this.close} className=\"font-bold\">\n {__(title || 'FormulaEditor.title')}\n </Modal.Header>\n <Modal.Body>\n <Editor\n {...rest}\n variables={this.state.variables ?? variables}\n functions={this.state.functions ?? functions}\n variableMode={this.state.variableMode ?? variableMode}\n value={editorValue}\n onChange={this.handleEditorChange}\n selfVariableName={this.props.selfVariableName}\n />\n </Modal.Body>\n <Modal.Footer>\n {!!isError ? (\n <div className={cx('Dialog-info')} key=\"info\">\n <span className={cx('Dialog-error')}>\n {__('FormulaEditor.invalidData', {err: isError})}\n </span>\n </div>\n ) : null}\n <Button onClick={this.close}>{__('cancel')}</Button>\n <Button onClick={this.handleEditorConfirm} level=\"primary\">\n {__('confirm')}\n </Button>\n </Modal.Footer>\n </Modal>\n </>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -17,7 +17,7 @@ function VariableList(props) {
|
|
17
17
|
? props.itemRender
|
18
18
|
: function (option, states) {
|
19
19
|
return (react_1.default.createElement("span", { className: cx("".concat(classPrefix, "-item"), itemClassName) },
|
20
|
-
option.label && option.
|
20
|
+
option.label && option.value === selfVariableName && (react_1.default.createElement(Badge_1.Badge, { classnames: cx, badge: {
|
21
21
|
mode: "text",
|
22
22
|
text: "self",
|
23
23
|
offset: [
|
@@ -26,7 +26,7 @@ function VariableList(props) {
|
|
26
26
|
]
|
27
27
|
} },
|
28
28
|
react_1.default.createElement("label", null, option.label))),
|
29
|
-
option.label && option.
|
29
|
+
option.label && option.value !== selfVariableName && (react_1.default.createElement("label", null, option.label)),
|
30
30
|
(option === null || option === void 0 ? void 0 : option.tag) ? (react_1.default.createElement("span", { className: cx("".concat(classPrefix, "-item-tag")) }, option.tag)) : null));
|
31
31
|
};
|
32
32
|
function onSearch(term) {
|
@@ -8,6 +8,6 @@
|
|
8
8
|
"names": [],
|
9
9
|
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport GroupedSelection from '../GroupedSelection';\nimport Tabs, {Tab} from '../Tabs';\nimport TreeSelection from '../TreeSelection';\nimport SearchBox from '../SearchBox';\nimport {findTree} from '../../utils/helper';\nimport {Badge} from '../Badge';\n\nimport type {VariableItem} from './Editor';\nimport type {ItemRenderStates} from '../Selection';\nimport type {Option} from '../Select';\nimport type {TabsMode} from '../Tabs';\n\nexport interface VariableListProps extends ThemeProps {\n className?: string;\n itemClassName?: string;\n value?: any;\n data: Array<VariableItem>;\n selectMode?: 'list' | 'tree' | 'tabs';\n tabsMode?: TabsMode;\n itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;\n placeholderRender?: (props: any) => JSX.Element | null;\n onSelect?: (item: VariableItem) => void;\n selfVariableName?: string;\n}\n\nfunction VariableList(props: VariableListProps) {\n const {\n data: list,\n className,\n classnames: cx,\n tabsMode = 'line',\n classPrefix: themePrefix,\n itemClassName,\n selectMode,\n onSelect,\n placeholderRender,\n selfVariableName\n } = props;\n const [filterVars, setFilterVars] = React.useState(list);\n const classPrefix = `${themePrefix}FormulaEditor-VariableList`;\n const itemRender =\n props.itemRender && typeof props.itemRender === 'function'\n ? props.itemRender\n : (option: Option, states: ItemRenderStates): JSX.Element => {\n return (\n <span className={cx(`${classPrefix}-item`, itemClassName)}>\n {\n option.label && option.
|
11
|
+
"import React from 'react';\n\nimport {themeable, ThemeProps} from '../../theme';\nimport GroupedSelection from '../GroupedSelection';\nimport Tabs, {Tab} from '../Tabs';\nimport TreeSelection from '../TreeSelection';\nimport SearchBox from '../SearchBox';\nimport {findTree} from '../../utils/helper';\nimport {Badge} from '../Badge';\n\nimport type {VariableItem} from './Editor';\nimport type {ItemRenderStates} from '../Selection';\nimport type {Option} from '../Select';\nimport type {TabsMode} from '../Tabs';\n\nexport interface VariableListProps extends ThemeProps {\n className?: string;\n itemClassName?: string;\n value?: any;\n data: Array<VariableItem>;\n selectMode?: 'list' | 'tree' | 'tabs';\n tabsMode?: TabsMode;\n itemRender?: (option: Option, states: ItemRenderStates) => JSX.Element;\n placeholderRender?: (props: any) => JSX.Element | null;\n onSelect?: (item: VariableItem) => void;\n selfVariableName?: string;\n}\n\nfunction VariableList(props: VariableListProps) {\n const {\n data: list,\n className,\n classnames: cx,\n tabsMode = 'line',\n classPrefix: themePrefix,\n itemClassName,\n selectMode,\n onSelect,\n placeholderRender,\n selfVariableName\n } = props;\n const [filterVars, setFilterVars] = React.useState(list);\n const classPrefix = `${themePrefix}FormulaEditor-VariableList`;\n const itemRender =\n props.itemRender && typeof props.itemRender === 'function'\n ? props.itemRender\n : (option: Option, states: ItemRenderStates): JSX.Element => {\n return (\n <span className={cx(`${classPrefix}-item`, itemClassName)}>\n {\n option.label && option.value === selfVariableName && (\n <Badge\n classnames={cx}\n badge={{\n mode: \"text\",\n text: \"self\",\n offset: [\n 15,\n 2\n ]\n }}\n >\n <label>\n {option.label}\n </label>\n </Badge>\n )\n }\n {\n option.label && option.value !== selfVariableName && (\n <label>\n {option.label}\n </label>\n )\n }\n {option?.tag ? (\n <span className={cx(`${classPrefix}-item-tag`)}>\n {option.tag}\n </span>\n ) : null}\n </span>\n );\n };\n\n function onSearch(term: string) {\n const tree = findTree(list, i => ~i.label.indexOf(term));\n setFilterVars(!term ? list : tree ? [tree] : list);\n }\n\n function renderSearchBox() {\n return (\n <div className={cx('FormulaEditor-VariableList-searchBox')}>\n <SearchBox mini={false} onSearch={onSearch} />\n </div>\n );\n }\n\n return (\n <div\n className={cx(\n className,\n 'FormulaEditor-VariableList',\n selectMode && `FormulaEditor-VariableList-${selectMode}`\n )}\n >\n {selectMode === 'tabs' ? (\n <Tabs\n tabsMode={tabsMode}\n className={cx(`${classPrefix}-base ${classPrefix}-tabs`)}\n >\n {filterVars.map((item, index) => (\n <Tab\n className={cx(`${classPrefix}-tab`)}\n eventKey={index}\n key={index}\n title={item.label}\n >\n <VariableList\n classnames={cx}\n classPrefix={`${classPrefix}-sub-`}\n className={cx(`${classPrefix}-sub`)}\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n selectMode={item.selectMode}\n data={item.children!}\n onSelect={onSelect}\n selfVariableName={selfVariableName}\n />\n </Tab>\n ))}\n </Tabs>\n ) : selectMode === 'tree' ? (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <TreeSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n ) : (\n <div className={cx('FormulaEditor-VariableList-body')}>\n {renderSearchBox()}\n <GroupedSelection\n itemRender={itemRender}\n placeholderRender={placeholderRender}\n className={cx(`${classPrefix}-base`, 'is-scrollable')}\n multiple={false}\n options={filterVars}\n onChange={(item: any) => onSelect?.(item)}\n />\n </div>\n )}\n </div>\n );\n}\n\nexport default themeable(VariableList);\n"
|
12
12
|
]
|
13
13
|
}
|
package/lib/index.js
CHANGED
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.registerLocale = exports.setDefaultLocale = exports.getDefaultLocale = exports.classnames = exports.getClassPrefix = exports.classPrefix = exports.getTheme = exports.theme = exports.setDefaultTheme = exports.validateObject = exports.validate = exports.ScopedContext = exports.Scoped = exports.registerIcon = exports.Icon = exports.setIconVendor = exports.resolveVariableAndFilter = exports.resolveVariable = exports.relativeValueRe = exports.filterDate = exports.filterSchema = exports.resolveRenderer = exports.registerOptionsControl = exports.registerFormItem = exports.getRenderers = exports.unRegisterRenderer = exports.registerRenderer = exports.getRendererByName = exports.normalizeOptions = exports.str2rules = exports.addRule = exports.setCustomEvalExpression = exports.setCustomEvalJs = exports.evalJS = exports.evalExpression = exports.registerTplEnginer = exports.registerFilter = exports.resizeSensor = exports.utils = exports.filter = exports.buildApi = exports.wrapFetcher = exports.OptionsControl = exports.FormItemWrap = exports.FormItem = exports.RegisterStore = exports.Renderer = exports.updateEnv = exports.clearStoresCache = exports.render = void 0;
|
4
4
|
exports.DataScope = exports.DataSchema = exports.animation = exports.makeTranslator = void 0;
|
5
5
|
var tslib_1 = require("tslib");
|
6
|
-
/** @license amis v1.
|
6
|
+
/** @license amis v1.10.0
|
7
7
|
*
|
8
8
|
* Copyright Baidu
|
9
9
|
*
|
@@ -8,6 +8,7 @@ var index_1 = (0, tslib_1.__importDefault)(require("../../components/condition-b
|
|
8
8
|
var WithRemoteConfig_1 = require("../../components/WithRemoteConfig");
|
9
9
|
var types_1 = require("../../types");
|
10
10
|
var helper_1 = require("../../utils/helper");
|
11
|
+
var tpl_builtin_1 = require("../../utils/tpl-builtin");
|
11
12
|
var ConditionBuilderControl = /** @class */ (function (_super) {
|
12
13
|
(0, tslib_1.__extends)(ConditionBuilderControl, _super);
|
13
14
|
function ConditionBuilderControl() {
|
@@ -18,8 +19,14 @@ var ConditionBuilderControl = /** @class */ (function (_super) {
|
|
18
19
|
};
|
19
20
|
ConditionBuilderControl.prototype.render = function () {
|
20
21
|
var _a = this.props, className = _a.className, cx = _a.classnames, rest = (0, tslib_1.__rest)(_a, ["className", "classnames"]);
|
22
|
+
// 处理一下formula类型值的变量列表
|
23
|
+
var formula = this.props.formula ? (0, tslib_1.__assign)({}, this.props.formula) : undefined;
|
24
|
+
if (formula && formula.variables && (0, tpl_builtin_1.isPureVariable)(formula.variables)) {
|
25
|
+
// 如果 variables 是 ${xxx} 这种形式,将其处理成实际的值
|
26
|
+
formula.variables = (0, tpl_builtin_1.resolveVariableAndFilter)(formula.variables, this.props.data, '| raw');
|
27
|
+
}
|
21
28
|
return (react_1.default.createElement("div", { className: cx("ConditionBuilderControl", className) },
|
22
|
-
react_1.default.createElement(ConditionBuilderWithRemoteOptions, (0, tslib_1.__assign)({ renderEtrValue: this.renderEtrValue }, rest))));
|
29
|
+
react_1.default.createElement(ConditionBuilderWithRemoteOptions, (0, tslib_1.__assign)({ renderEtrValue: this.renderEtrValue }, rest, { formula: formula }))));
|
23
30
|
};
|
24
31
|
var _a;
|
25
32
|
(0, tslib_1.__decorate)([
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/ConditionBuilder.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;AAGxE,sEAG2C;AAC3C,qCAAmC;AACnC,6CAA4C;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AAGnE,gGAAwE;AAGxE,sEAG2C;AAC3C,qCAAmC;AACnC,6CAA4C;AAC5C,uDAGiC;AAkDjC;IAAqD,wDAA0C;IAA/F;;IAiCA,CAAC;IA/BC,gDAAc,GAAd,UAAe,MAAc,EAAE,IAAS;QACtC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CACtB,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,EACrC,IAAI,CACL,CAAC;IACJ,CAAC;IACD,wCAAM,GAAN;QACE,IAAM,KAAuC,IAAI,CAAC,KAAK,EAAhD,SAAS,eAAA,EAAc,EAAE,gBAAA,EAAK,IAAI,2BAAnC,2BAAoC,CAAa,CAAC;QAExD,sBAAsB;QACtB,IAAI,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,2BAAK,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,SAAS,CAAC;QACvE,IAAI,OAAO,IAAI,OAAO,CAAC,SAAS,IAAI,IAAA,4BAAc,EAAC,OAAO,CAAC,SAAS,CAAC,EAAE;YACrE,uCAAuC;YACvC,OAAO,CAAC,SAAS,GAAG,IAAA,sCAAwB,EAC1C,OAAO,CAAC,SAAS,EACjB,IAAI,CAAC,KAAK,CAAC,IAAI,EACf,OAAO,CACR,CAAC;SACH;QAED,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,yBAAyB,EAAE,SAAS,CAAC;YACtD,8BAAC,iCAAiC,0BAChC,cAAc,EAAE,IAAI,CAAC,cAAc,IAC/B,IAAI,IACR,OAAO,EAAE,OAAO,IAChB,CACE,CACP,CAAC;IACJ,CAAC;;IA9BD;QADC,iBAAQ;;0EACc,cAAM,oBAAN,cAAM;;iEAM5B;IAyBH,8BAAC;CAAA,AAjCD,CAAqD,eAAK,CAAC,aAAa,GAiCvE;kBAjCoB,uBAAuB;AAmC5C,IAAM,iCAAiC,GAAG,IAAA,mCAAgB,EAAC;IACzD,OAAO,EAAE,UAAA,IAAI,IAAI,OAAA,IAAI,CAAC,MAAM,IAAI,IAAI,EAAnB,CAAmB;CACrC,CAAC;IACc,wCAEb;IAFD;;IAeA,CAAC;IAZC,wBAAM,GAAN;QACE,IAAM,KACJ,IAAI,CAAC,KAAK,EADL,OAAO,aAAA,EAAE,MAAM,YAAA,EAAE,SAAS,eAAA,EAAE,QAAQ,cAAA,EAAE,cAAc,oBAAA,EAAK,IAAI,2BAA9D,gEAA+D,CACzD,CAAC;QACb,OAAO,CACL,8BAAC,eAAgB,4BACX,IAAI,IACR,MAAM,EAAE,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,EAAE,EACnC,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAC7B,cAAc,EAAE,cAAc,IAC9B,CACH,CAAC;IACJ,CAAC;IACH,cAAC;AAAD,CAAC,AAfD,CAAc,eAAK,CAAC,SAAS,GAgB9B,CAAC;AAMF;IAA8C,yDAAuB;IAArE;;IAAuE,CAAC;IAA3D,wBAAwB;QAJpC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,mBAAmB;YACzB,UAAU,EAAE,KAAK;SAClB,CAAC;OACW,wBAAwB,CAAmC;IAAD,+BAAC;CAAA,AAAxE,CAA8C,uBAAuB,GAAG;AAA3D,4DAAwB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport FormulaPicker from '../../components/formula/Picker';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\nimport {Schema} from '../../types';\nimport {autobind} from '../../utils/helper';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 展现模式\n */\n builderMode?: 'simple' | 'full';\n\n /**\n * 是否显示并或切换键按钮,只在简单模式下有用\n */\n showANDOR?: boolean;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n @autobind\n renderEtrValue(schema: Schema, data: any) {\n return this.props.render(\n 'inline',\n Object.assign(schema, {label: false}),\n data\n );\n }\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions\n renderEtrValue={this.renderEtrValue}\n {...rest}\n />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, disabled, renderEtrValue, ...rest} =\n this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={disabled || loading}\n renderEtrValue={renderEtrValue}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport {Funcs, Fields} from '../../components/condition-builder/types';\nimport {Config} from '../../components/condition-builder/config';\nimport ConditionBuilder from '../../components/condition-builder/index';\nimport {SchemaApi, SchemaTokenizeableString} from '../../Schema';\nimport FormulaPicker from '../../components/formula/Picker';\nimport {\n RemoteOptionsProps,\n withRemoteConfig\n} from '../../components/WithRemoteConfig';\nimport {Schema} from '../../types';\nimport {autobind} from '../../utils/helper';\nimport {\n isPureVariable,\n resolveVariableAndFilter\n} from '../../utils/tpl-builtin';\n\n/**\n * 条件组合控件\n * 文档:https://baidu.gitee.io/amis/docs/components/form/condition-builder\n */\nexport interface ConditionBuilderControlSchema extends FormBaseControl {\n /**\n * 指定为\n */\n type: 'condition-builder';\n\n /**\n * 函数集合\n */\n funcs?: Funcs;\n\n /**\n * 字段集合\n */\n fields: Fields;\n\n /**\n * 其他配置\n */\n config?: Config;\n\n /**\n * 通过远程拉取配置项\n */\n source?: SchemaApi | SchemaTokenizeableString;\n\n /**\n * 展现模式\n */\n builderMode?: 'simple' | 'full';\n\n /**\n * 是否显示并或切换键按钮,只在简单模式下有用\n */\n showANDOR?: boolean;\n}\n\nexport interface ConditionBuilderProps\n extends FormControlProps,\n Omit<\n ConditionBuilderControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class ConditionBuilderControl extends React.PureComponent<ConditionBuilderProps> {\n @autobind\n renderEtrValue(schema: Schema, data: any) {\n return this.props.render(\n 'inline',\n Object.assign(schema, {label: false}),\n data\n );\n }\n render() {\n const {className, classnames: cx, ...rest} = this.props;\n\n // 处理一下formula类型值的变量列表\n let formula = this.props.formula ? {...this.props.formula} : undefined;\n if (formula && formula.variables && isPureVariable(formula.variables)) {\n // 如果 variables 是 ${xxx} 这种形式,将其处理成实际的值\n formula.variables = resolveVariableAndFilter(\n formula.variables,\n this.props.data,\n '| raw'\n );\n }\n\n return (\n <div className={cx(`ConditionBuilderControl`, className)}>\n <ConditionBuilderWithRemoteOptions\n renderEtrValue={this.renderEtrValue}\n {...rest}\n formula={formula}\n />\n </div>\n );\n }\n}\n\nconst ConditionBuilderWithRemoteOptions = withRemoteConfig({\n adaptor: data => data.fields || data\n})(\n class extends React.Component<\n RemoteOptionsProps & React.ComponentProps<typeof ConditionBuilder>\n > {\n render() {\n const {loading, config, deferLoad, disabled, renderEtrValue, ...rest} =\n this.props;\n return (\n <ConditionBuilder\n {...rest}\n fields={config || rest.fields || []}\n disabled={disabled || loading}\n renderEtrValue={renderEtrValue}\n />\n );\n }\n }\n);\n\n@FormItem({\n type: 'condition-builder',\n strictMode: false\n})\nexport class ConditionBuilderRenderer extends ConditionBuilderControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -8,6 +8,6 @@
|
|
8
8
|
"names": [],
|
9
9
|
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Downshift from 'downshift';\nimport find from 'lodash/find';\nimport {findDOMNode} from 'react-dom';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, filterTree, createObject} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport ListMenu from '../../components/ListMenu';\nimport {Action} from '../../types';\n\n/**\n * Tag 输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tag\n */\nexport interface TagControlSchema extends FormOptionsControl {\n type: 'input-tag';\n\n /**\n * 选项提示信息\n */\n optionsTip?: string;\n\n /**\n * 是否为下拉模式\n */\n dropdown?: boolean;\n\n /**\n * 标签的最大展示数量,超出数量后以收纳浮层的方式展示,仅在多选模式开启后生效\n */\n maxTagCount?: number;\n\n /**\n * 收纳标签的Popover配置\n */\n overflowTagPopover: object;\n}\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\nexport interface TagProps extends OptionsControlProps {\n placeholder?: string;\n clearable: boolean;\n resetValue?: any;\n optionsTip: string;\n dropdown?: boolean;\n}\n\nexport interface TagState {\n inputValue: string;\n isFocused?: boolean;\n isOpened?: boolean;\n}\n\nexport default class TagControl extends React.PureComponent<\n TagProps,\n TagState\n> {\n input: React.RefObject<any> = React.createRef();\n\n static defaultProps = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n multiple: true,\n placeholder: 'Tag.placeholder',\n optionsTip: 'Tag.tip'\n };\n\n state = {\n isOpened: false,\n inputValue: '',\n isFocused: false\n };\n\n componentDidUpdate(prevProps: TagProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\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 @autobind\n async dispatchEvent(eventName: string, eventData: any = {}) {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n ...eventData\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n @autobind\n getValue(type: 'push' | 'pop' | 'normal' = 'normal', option: any = {}) {\n const {selectedOptions, joinValues, extractValue, delimiter, valueField} =\n this.props;\n\n const newValue = selectedOptions.concat();\n if (type === 'push') {\n newValue.push(option);\n } else if (type === 'pop') {\n newValue.pop();\n }\n\n const newValueRes = joinValues\n ? newValue.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue;\n return newValueRes;\n }\n\n async addItem(option: Option) {\n const {selectedOptions, onChange} = this.props;\n const newValue = selectedOptions.concat();\n\n if (find(newValue, item => item.value == option.value)) {\n return;\n }\n\n const newValueRes = this.getValue('push', option);\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n @autobind\n async handleFocus(e: any) {\n this.setState({\n isFocused: true,\n isOpened: true\n });\n\n const newValueRes = this.getValue('normal');\n const isPrevented = await this.dispatchEvent('focus', {\n value: newValueRes\n });\n isPrevented || this.props.onFocus?.(e);\n }\n\n @autobind\n async handleBlur(e: any) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const value = this.state.inputValue.trim();\n const newValueRes = this.getValue('normal');\n\n const isPrevented = await this.dispatchEvent('blur', {\n value: newValueRes\n });\n isPrevented || this.props.onBlur?.(e);\n this.setState(\n {\n isFocused: false,\n isOpened: false,\n inputValue: ''\n },\n value\n ? () => {\n const newValue = selectedOptions.concat();\n if (!find(newValue, item => item.value === value)) {\n const option = {\n label: value,\n value: value\n };\n newValue.push(option);\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n }\n : undefined\n );\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleInputChange(text: string) {\n this.setState({\n inputValue: text\n });\n }\n\n @autobind\n async handleChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, onChange} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValue\n });\n isPrevented || onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item[labelField || 'label']}`;\n }\n\n @autobind\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, delimiter} = this.props;\n\n const value = this.state.inputValue.trim();\n\n if (selectedOptions.length && !value && evt.key == 'Backspace') {\n const newValueRes = this.getValue('pop');\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n } else if (value && (evt.key === 'Enter' || evt.key === delimiter)) {\n evt.preventDefault();\n evt.stopPropagation();\n const newValue = selectedOptions.concat();\n\n if (!find(newValue, item => item.value == value)) {\n const newValueRes = this.getValue('push', {\n label: value,\n value: value\n });\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleOptionChange(option: Option) {\n if (this.state.inputValue || !option) {\n return;\n }\n this.addItem(option);\n }\n\n @autobind\n getTarget() {\n return this.input.current;\n }\n\n @autobind\n getParent() {\n return this.input.current && findDOMNode(this.input.current)!.parentElement;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload?.();\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n placeholder,\n name,\n clearable,\n selectedOptions,\n loading,\n popOverContainer,\n dropdown,\n options,\n optionsTip,\n maxTagCount,\n overflowTagPopover,\n translate: __\n } = this.props;\n\n const finnalOptions = Array.isArray(options)\n ? filterTree(\n options,\n item =>\n (Array.isArray(item.children) && !!item.children.length) ||\n (item.value !== undefined && !~selectedOptions.indexOf(item)),\n 0,\n true\n )\n : [];\n\n return (\n <Downshift\n selectedItem={selectedOptions}\n isOpen={this.state.isFocused}\n inputValue={this.state.inputValue}\n onChange={this.handleOptionChange}\n itemToString={this.renderItem}\n >\n {({isOpen, highlightedIndex, getItemProps, getInputProps}) => {\n return (\n <div className={cx(className, `TagControl`)}>\n {/* @ts-ignore 怪了为啥类型不对,后续看 */}\n <ResultBox\n {...getInputProps({\n name,\n ref: this.input,\n placeholder: __(placeholder || 'Tag.placeholder'),\n value: this.state.inputValue,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n disabled\n })}\n onChange={this.handleInputChange}\n className={cx('TagControl-input')}\n result={selectedOptions}\n onResultChange={this.handleChange}\n itemRender={this.renderItem}\n clearable={clearable}\n maxTagCount={maxTagCount}\n overflowTagPopover={overflowTagPopover}\n allowInput\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n\n {dropdown !== false ? (\n <Overlay\n container={popOverContainer || this.getParent}\n target={this.getTarget}\n placement={'auto'}\n show={isOpen && !!finnalOptions.length}\n >\n <PopOver\n overlay\n className={cx('TagControl-popover')}\n onHide={this.close}\n >\n <ListMenu\n options={finnalOptions}\n itemRender={this.renderItem}\n highlightIndex={highlightedIndex}\n getItemProps={({item, index}) => ({\n ...getItemProps({\n index,\n item,\n disabled: item.disabled\n })\n })}\n />\n </PopOver>\n </Overlay>\n ) : (\n // 保留原来的展现方式,不推荐\n <div className={cx('TagControl-sug')}>\n {optionsTip ? (\n <div className={cx('TagControl-sugTip')}>\n {__(optionsTip)}\n </div>\n ) : null}\n {options.map((item, index) => (\n <div\n className={cx('TagControl-sugItem', {\n 'is-disabled': item.disabled || disabled\n })}\n key={index}\n onClick={this.addItem.bind(this, item)}\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }}\n </Downshift>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tag'\n})\nexport class TagControlRenderer extends TagControl {}\n"
|
11
|
+
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Downshift from 'downshift';\nimport find from 'lodash/find';\nimport {findDOMNode} from 'react-dom';\nimport ResultBox from '../../components/ResultBox';\nimport {autobind, filterTree, createObject} from '../../utils/helper';\nimport Spinner from '../../components/Spinner';\nimport Overlay from '../../components/Overlay';\nimport PopOver from '../../components/PopOver';\nimport ListMenu from '../../components/ListMenu';\nimport {Action} from '../../types';\n\n/**\n * Tag 输入框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/tag\n */\nexport interface TagControlSchema extends FormOptionsControl {\n type: 'input-tag';\n\n /**\n * 选项提示信息\n */\n optionsTip?: string;\n\n /**\n * 是否为下拉模式\n */\n dropdown?: boolean;\n\n /**\n * 标签的最大展示数量,超出数量后以收纳浮层的方式展示,仅在多选模式开启后生效\n */\n maxTagCount?: number;\n\n /**\n * 收纳标签的Popover配置\n */\n overflowTagPopover?: object;\n}\n\n// declare function matchSorter(items:Array<any>, input:any, options:any): Array<any>;\n\nexport interface TagProps extends OptionsControlProps {\n placeholder?: string;\n clearable: boolean;\n resetValue?: any;\n optionsTip: string;\n dropdown?: boolean;\n}\n\nexport interface TagState {\n inputValue: string;\n isFocused?: boolean;\n isOpened?: boolean;\n}\n\nexport default class TagControl extends React.PureComponent<\n TagProps,\n TagState\n> {\n input: React.RefObject<any> = React.createRef();\n\n static defaultProps = {\n resetValue: '',\n labelField: 'label',\n valueField: 'value',\n multiple: true,\n placeholder: 'Tag.placeholder',\n optionsTip: 'Tag.tip'\n };\n\n state = {\n isOpened: false,\n inputValue: '',\n isFocused: false\n };\n\n componentDidUpdate(prevProps: TagProps) {\n const props = this.props;\n\n if (prevProps.value !== props.value) {\n this.setState({\n inputValue: ''\n });\n }\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 @autobind\n async dispatchEvent(eventName: string, eventData: any = {}) {\n const {dispatchEvent, options, data} = this.props;\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n ...eventData\n })\n );\n // 返回阻塞标识\n return !!rendererEvent?.prevented;\n }\n\n @autobind\n getValue(type: 'push' | 'pop' | 'normal' = 'normal', option: any = {}) {\n const {selectedOptions, joinValues, extractValue, delimiter, valueField} =\n this.props;\n\n const newValue = selectedOptions.concat();\n if (type === 'push') {\n newValue.push(option);\n } else if (type === 'pop') {\n newValue.pop();\n }\n\n const newValueRes = joinValues\n ? newValue.map(item => item[valueField || 'value']).join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue;\n return newValueRes;\n }\n\n async addItem(option: Option) {\n const {selectedOptions, onChange} = this.props;\n const newValue = selectedOptions.concat();\n\n if (find(newValue, item => item.value == option.value)) {\n return;\n }\n\n const newValueRes = this.getValue('push', option);\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n @autobind\n async handleFocus(e: any) {\n this.setState({\n isFocused: true,\n isOpened: true\n });\n\n const newValueRes = this.getValue('normal');\n const isPrevented = await this.dispatchEvent('focus', {\n value: newValueRes\n });\n isPrevented || this.props.onFocus?.(e);\n }\n\n @autobind\n async handleBlur(e: any) {\n const {\n selectedOptions,\n onChange,\n joinValues,\n extractValue,\n delimiter,\n valueField\n } = this.props;\n\n const value = this.state.inputValue.trim();\n const newValueRes = this.getValue('normal');\n\n const isPrevented = await this.dispatchEvent('blur', {\n value: newValueRes\n });\n isPrevented || this.props.onBlur?.(e);\n this.setState(\n {\n isFocused: false,\n isOpened: false,\n inputValue: ''\n },\n value\n ? () => {\n const newValue = selectedOptions.concat();\n if (!find(newValue, item => item.value === value)) {\n const option = {\n label: value,\n value: value\n };\n newValue.push(option);\n onChange(\n joinValues\n ? newValue\n .map(item => item[valueField || 'value'])\n .join(delimiter || ',')\n : extractValue\n ? newValue.map(item => item[valueField || 'value'])\n : newValue\n );\n }\n }\n : undefined\n );\n }\n\n @autobind\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n @autobind\n handleInputChange(text: string) {\n this.setState({\n inputValue: text\n });\n }\n\n @autobind\n async handleChange(value: Array<Option>) {\n const {joinValues, extractValue, delimiter, valueField, onChange} =\n this.props;\n\n let newValue: any = Array.isArray(value) ? value.concat() : [];\n\n if (joinValues || extractValue) {\n newValue = value.map(item => item[valueField || 'value']);\n }\n\n if (joinValues) {\n newValue = newValue.join(delimiter || ',');\n }\n\n const isPrevented = await this.dispatchEvent('change', {\n value: newValue\n });\n isPrevented || onChange(newValue);\n }\n\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item[labelField || 'label']}`;\n }\n\n @autobind\n async handleKeyDown(evt: React.KeyboardEvent<HTMLInputElement>) {\n const {selectedOptions, onChange, delimiter} = this.props;\n\n const value = this.state.inputValue.trim();\n\n if (selectedOptions.length && !value && evt.key == 'Backspace') {\n const newValueRes = this.getValue('pop');\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n } else if (value && (evt.key === 'Enter' || evt.key === delimiter)) {\n evt.preventDefault();\n evt.stopPropagation();\n const newValue = selectedOptions.concat();\n\n if (!find(newValue, item => item.value == value)) {\n const newValueRes = this.getValue('push', {\n label: value,\n value: value\n });\n const isPrevented = await this.dispatchEvent('change', {\n value: newValueRes\n });\n isPrevented || onChange(newValueRes);\n }\n\n this.setState({\n inputValue: ''\n });\n }\n }\n\n @autobind\n handleOptionChange(option: Option) {\n if (this.state.inputValue || !option) {\n return;\n }\n this.addItem(option);\n }\n\n @autobind\n getTarget() {\n return this.input.current;\n }\n\n @autobind\n getParent() {\n return this.input.current && findDOMNode(this.input.current)!.parentElement;\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload?.();\n }\n\n render() {\n const {\n className,\n classnames: cx,\n disabled,\n placeholder,\n name,\n clearable,\n selectedOptions,\n loading,\n popOverContainer,\n dropdown,\n options,\n optionsTip,\n maxTagCount,\n overflowTagPopover,\n translate: __\n } = this.props;\n\n const finnalOptions = Array.isArray(options)\n ? filterTree(\n options,\n item =>\n (Array.isArray(item.children) && !!item.children.length) ||\n (item.value !== undefined && !~selectedOptions.indexOf(item)),\n 0,\n true\n )\n : [];\n\n return (\n <Downshift\n selectedItem={selectedOptions}\n isOpen={this.state.isFocused}\n inputValue={this.state.inputValue}\n onChange={this.handleOptionChange}\n itemToString={this.renderItem}\n >\n {({isOpen, highlightedIndex, getItemProps, getInputProps}) => {\n return (\n <div className={cx(className, `TagControl`)}>\n {/* @ts-ignore 怪了为啥类型不对,后续看 */}\n <ResultBox\n {...getInputProps({\n name,\n ref: this.input,\n placeholder: __(placeholder || 'Tag.placeholder'),\n value: this.state.inputValue,\n onKeyDown: this.handleKeyDown,\n onFocus: this.handleFocus,\n onBlur: this.handleBlur,\n disabled\n })}\n onChange={this.handleInputChange}\n className={cx('TagControl-input')}\n result={selectedOptions}\n onResultChange={this.handleChange}\n itemRender={this.renderItem}\n clearable={clearable}\n maxTagCount={maxTagCount}\n overflowTagPopover={overflowTagPopover}\n allowInput\n >\n {loading ? <Spinner size=\"sm\" /> : undefined}\n </ResultBox>\n\n {dropdown !== false ? (\n <Overlay\n container={popOverContainer || this.getParent}\n target={this.getTarget}\n placement={'auto'}\n show={isOpen && !!finnalOptions.length}\n >\n <PopOver\n overlay\n className={cx('TagControl-popover')}\n onHide={this.close}\n >\n <ListMenu\n options={finnalOptions}\n itemRender={this.renderItem}\n highlightIndex={highlightedIndex}\n getItemProps={({item, index}) => ({\n ...getItemProps({\n index,\n item,\n disabled: item.disabled\n })\n })}\n />\n </PopOver>\n </Overlay>\n ) : (\n // 保留原来的展现方式,不推荐\n <div className={cx('TagControl-sug')}>\n {optionsTip ? (\n <div className={cx('TagControl-sugTip')}>\n {__(optionsTip)}\n </div>\n ) : null}\n {options.map((item, index) => (\n <div\n className={cx('TagControl-sugItem', {\n 'is-disabled': item.disabled || disabled\n })}\n key={index}\n onClick={this.addItem.bind(this, item)}\n >\n {item.label}\n </div>\n ))}\n </div>\n )}\n </div>\n );\n }}\n </Downshift>\n );\n }\n}\n\n@OptionsControl({\n type: 'input-tag'\n})\nexport class TagControlRenderer extends TagControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -4,6 +4,7 @@ import { Api, Action } from '../../types';
|
|
4
4
|
import { SchemaApi } from '../../Schema';
|
5
5
|
import { TransferControlSchema } from './Transfer';
|
6
6
|
import type { TooltipObject } from '../../components/TooltipWrapper';
|
7
|
+
import type { SchemaClassName } from '../../Schema';
|
7
8
|
/**
|
8
9
|
* Select 下拉选择框。
|
9
10
|
* 文档:https://baidu.gitee.io/amis/docs/components/form/select
|
@@ -86,7 +87,11 @@ export interface SelectControlSchema extends FormOptionsControl {
|
|
86
87
|
/**
|
87
88
|
* 收纳标签的Popover配置
|
88
89
|
*/
|
89
|
-
overflowTagPopover
|
90
|
+
overflowTagPopover?: object;
|
91
|
+
/**
|
92
|
+
* 选项的自定义CSS类名
|
93
|
+
*/
|
94
|
+
optionClassName?: SchemaClassName;
|
90
95
|
}
|
91
96
|
export interface SelectProps extends OptionsControlProps {
|
92
97
|
autoComplete?: Api;
|
@@ -191,8 +191,10 @@ var SelectControl = /** @class */ (function (_super) {
|
|
191
191
|
return combinedOptions;
|
192
192
|
};
|
193
193
|
SelectControl.prototype.renderMenu = function (option, state) {
|
194
|
-
var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data;
|
194
|
+
var _a = this.props, menuTpl = _a.menuTpl, render = _a.render, data = _a.data, optionClassName = _a.optionClassName;
|
195
195
|
return render("menu/".concat(state.index), menuTpl, {
|
196
|
+
showNativeTitle: true,
|
197
|
+
className: (0, classnames_1.default)('Select-option-content', optionClassName),
|
196
198
|
data: (0, helper_1.createObject)((0, helper_1.createObject)(data, state), option)
|
197
199
|
});
|
198
200
|
};
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Select.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 cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\nimport type {TooltipObject} from '../../components/TooltipWrapper';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 单个选项的高度,主要用于虚拟渲染\n */\n itemHeight?: number;\n\n /**\n * 在选项数量达到多少时开启虚拟渲染\n */\n virtualThreshold?: number;\n\n /**\n * 可多选条件下,是否可全选\n */\n checkAll?: boolean;\n\n /**\n * 可多选条件下,是否默认全选中所有值\n */\n defaultCheckAll?: boolean;\n\n /**\n * 可多选条件下,全选项文案,默认 ”全选“\n */\n checkAllLabel?: string;\n\n /**\n * 标签的最大展示数量,超出数量后以收纳浮层的方式展示,仅在多选模式开启后生效\n */\n maxTagCount?: number;\n\n /**\n * 收纳标签的Popover配置\n */\n overflowTagPopover: object;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n maxTagCount?: number;\n overflowTagPopover?: TooltipObject;\n}\n\nexport type SelectRendererEvent =\n | 'change'\n | 'blur'\n | 'focus'\n | 'add'\n | 'edit'\n | 'delete';\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n lastTerm: string = ''; // 用来记录上一次搜索时关键字\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentDidUpdate(prevProps: SelectProps) {\n const props = this.props;\n\n if (\n isEffectiveApi(props.autoComplete, props.data) &&\n isApiOutdated(\n prevProps.autoComplete,\n props.autoComplete,\n prevProps.data,\n props.data\n )\n ) {\n this.lazyloadRemote(this.lastTerm);\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n getValue(value: Option | Array<Option> | string | void) {\n const {joinValues, extractValue, delimiter, multiple, valueField, options} =\n this.props;\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n return newValue;\n }\n\n async dispatchEvent(eventName: SelectRendererEvent, eventData: any = {}) {\n const event = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);\n const {dispatchEvent, options, data} = this.props;\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n value: ['onEdit', 'onDelete'].includes(event)\n ? eventData\n : eventData && eventData.value\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n // 触发外部方法\n this.props[event](eventData);\n }\n\n async changeValue(value: Option | Array<Option> | string | void) {\n const {onChange, setOptions, options, data, dispatchEvent} = this.props;\n\n let newValue: string | Option | Array<Option> | void = this.getValue(value);\n let additonalOptions: Array<any> = [];\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: newValue,\n options\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange?.(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n this.lastTerm = input;\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions, valueField = 'value'} = this.props;\n let combinedOptions = normalizeOptions(\n options,\n undefined,\n valueField\n ).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\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 const value = this.getValue(resetValue ?? '');\n onChange?.(value);\n }\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n onBlur={(e: any) => this.dispatchEvent('blur', e)}\n onFocus={(e: any) => this.dispatchEvent('focus', e)}\n onAdd={() => this.dispatchEvent('add')}\n onEdit={(item: any) => this.dispatchEvent('edit', item)}\n onDelete={(item: any) => this.dispatchEvent('delete', item)}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item.scopeLabel || ''}${item[labelField || 'label']}`;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n clearable,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI,\n popOverContainer,\n maxTagCount,\n overflowTagPopover\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n clearable={clearable}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n itemRender={this.renderItem}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n popOverContainer={popOverContainer}\n maxTagCount={maxTagCount}\n overflowTagPopover={overflowTagPopover}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport Select, {normalizeOptions} from '../../components/Select';\nimport find from 'lodash/find';\nimport debouce from 'lodash/debounce';\nimport {Api, Action} from '../../types';\nimport {isEffectiveApi, isApiOutdated} from '../../utils/api';\nimport {isEmpty, createObject, autobind, isMobile} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {SchemaApi} from '../../Schema';\nimport Spinner from '../../components/Spinner';\nimport {BaseTransferRenderer, TransferControlSchema} from './Transfer';\nimport TransferDropDown from '../../components/TransferDropDown';\n\nimport type {TooltipObject} from '../../components/TooltipWrapper';\nimport type {SchemaClassName} from '../../Schema';\n\n/**\n * Select 下拉选择框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/select\n */\nexport interface SelectControlSchema extends FormOptionsControl {\n type: 'select' | 'multi-select';\n\n /**\n * 自动完成 API,当输入部分文字的时候,会将这些文字通过 ${term} 可以取到,发送给接口。\n * 接口可以返回匹配到的选项,帮助用户输入。\n */\n autoComplete?: SchemaApi;\n\n /**\n * 可以自定义菜单展示。\n */\n menuTpl?: string;\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 勾选展示模式\n */\n selectMode?: 'table' | 'group' | 'tree' | 'chained' | 'associated';\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选项\n */\n leftOptions?: Array<Option>;\n\n /**\n * 当 selectMode 为 associated 时用来定义左侧的选择模式\n */\n leftMode?: 'tree' | 'list';\n\n /**\n * 当 selectMode 为 associated 时用来定义右侧的选择模式\n */\n rightMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 搜索结果展示模式\n */\n searchResultMode?: 'table' | 'list' | 'tree' | 'chained';\n\n /**\n * 当 selectMode 为 table 时定义表格列信息。\n */\n columns?: Array<any>;\n\n /**\n * 当 searchResultMode 为 table 时定义表格列信息。\n */\n searchResultColumns?: Array<any>;\n\n /**\n * 可搜索?\n */\n searchable?: boolean;\n\n /**\n * 搜索 API\n */\n searchApi?: SchemaApi;\n\n /**\n * 单个选项的高度,主要用于虚拟渲染\n */\n itemHeight?: number;\n\n /**\n * 在选项数量达到多少时开启虚拟渲染\n */\n virtualThreshold?: number;\n\n /**\n * 可多选条件下,是否可全选\n */\n checkAll?: boolean;\n\n /**\n * 可多选条件下,是否默认全选中所有值\n */\n defaultCheckAll?: boolean;\n\n /**\n * 可多选条件下,全选项文案,默认 ”全选“\n */\n checkAllLabel?: string;\n\n /**\n * 标签的最大展示数量,超出数量后以收纳浮层的方式展示,仅在多选模式开启后生效\n */\n maxTagCount?: number;\n\n /**\n * 收纳标签的Popover配置\n */\n overflowTagPopover?: object;\n\n /**\n * 选项的自定义CSS类名\n */\n optionClassName?: SchemaClassName;\n}\n\nexport interface SelectProps extends OptionsControlProps {\n autoComplete?: Api;\n searchable?: boolean;\n defaultOpen?: boolean;\n useMobileUI?: boolean;\n maxTagCount?: number;\n overflowTagPopover?: TooltipObject;\n}\n\nexport type SelectRendererEvent =\n | 'change'\n | 'blur'\n | 'focus'\n | 'add'\n | 'edit'\n | 'delete';\nexport default class SelectControl extends React.Component<SelectProps, any> {\n static defaultProps: Partial<SelectProps> = {\n clearable: false,\n searchable: false,\n multiple: false\n };\n\n input: any;\n unHook: Function;\n lazyloadRemote: Function;\n lastTerm: string = ''; // 用来记录上一次搜索时关键字\n constructor(props: SelectProps) {\n super(props);\n\n this.changeValue = this.changeValue.bind(this);\n this.lazyloadRemote = debouce(this.loadRemote.bind(this), 250, {\n trailing: true,\n leading: false\n });\n this.inputRef = this.inputRef.bind(this);\n }\n\n componentDidUpdate(prevProps: SelectProps) {\n const props = this.props;\n\n if (\n isEffectiveApi(props.autoComplete, props.data) &&\n isApiOutdated(\n prevProps.autoComplete,\n props.autoComplete,\n prevProps.data,\n props.data\n )\n ) {\n this.lazyloadRemote(this.lastTerm);\n }\n }\n\n componentWillUnmount() {\n this.unHook && this.unHook();\n }\n\n inputRef(ref: any) {\n this.input = ref;\n }\n\n foucs() {\n this.input && this.input.focus();\n }\n\n getValue(value: Option | Array<Option> | string | void) {\n const {joinValues, extractValue, delimiter, multiple, valueField, options} =\n this.props;\n let newValue: string | Option | Array<Option> | void = value;\n let additonalOptions: Array<any> = [];\n\n (Array.isArray(value) ? value : value ? [value] : []).forEach(\n (option: any) => {\n let resolved = find(\n options,\n (item: any) =>\n item[valueField || 'value'] == option[valueField || 'value']\n );\n resolved || additonalOptions.push(option);\n }\n );\n\n if (joinValues) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? (value\n .map(item => item[valueField || 'value'])\n .join(delimiter) as string)\n : value\n ? (value as Option)[valueField || 'value']\n : '';\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n } else if (extractValue) {\n if (multiple) {\n newValue = Array.isArray(value)\n ? value.map(item => item[valueField || 'value'])\n : value\n ? [(value as Option)[valueField || 'value']]\n : [];\n } else {\n newValue = newValue ? (newValue as Option)[valueField || 'value'] : '';\n }\n }\n\n return newValue;\n }\n\n async dispatchEvent(eventName: SelectRendererEvent, eventData: any = {}) {\n const event = 'on' + eventName.charAt(0).toUpperCase() + eventName.slice(1);\n const {dispatchEvent, options, data} = this.props;\n // 触发渲染器事件\n const rendererEvent = await dispatchEvent(\n eventName,\n createObject(data, {\n options,\n value: ['onEdit', 'onDelete'].includes(event)\n ? eventData\n : eventData && eventData.value\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n // 触发外部方法\n this.props[event](eventData);\n }\n\n async changeValue(value: Option | Array<Option> | string | void) {\n const {onChange, setOptions, options, data, dispatchEvent} = this.props;\n\n let newValue: string | Option | Array<Option> | void = this.getValue(value);\n let additonalOptions: Array<any> = [];\n // 不设置没法回显\n additonalOptions.length && setOptions(options.concat(additonalOptions));\n\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: newValue,\n options\n })\n );\n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange?.(newValue);\n }\n\n async loadRemote(input: string) {\n const {\n autoComplete,\n env,\n data,\n setOptions,\n setLoading,\n formInited,\n addHook\n } = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n if (!formInited) {\n this.unHook && this.unHook();\n return (this.unHook = addHook(this.loadRemote.bind(this, input), 'init'));\n }\n\n this.lastTerm = input;\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n setLoading(true);\n try {\n const ret = await env.fetcher(autoComplete, ctx);\n\n let options = (ret.data && (ret.data as any).options) || ret.data || [];\n let combinedOptions = this.mergeOptions(options);\n setOptions(combinedOptions);\n\n return {\n options: combinedOptions\n };\n } finally {\n setLoading(false);\n }\n }\n\n mergeOptions(options: Array<object>) {\n const {selectedOptions, valueField = 'value'} = this.props;\n let combinedOptions = normalizeOptions(\n options,\n undefined,\n valueField\n ).concat();\n\n if (Array.isArray(selectedOptions) && selectedOptions.length) {\n selectedOptions.forEach(option => {\n if (\n !find(combinedOptions, (item: Option) => item.value == option.value)\n ) {\n combinedOptions.push({\n ...option,\n hidden: true\n });\n }\n });\n }\n return combinedOptions;\n }\n\n @autobind\n renderMenu(option: Option, state: any) {\n const {menuTpl, render, data, optionClassName} = this.props;\n\n return render(`menu/${state.index}`, menuTpl, {\n showNativeTitle: true,\n className: cx('Select-option-content', optionClassName),\n data: createObject(createObject(data, state), option)\n });\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n option2value() {}\n\n renderOtherMode() {\n const {selectMode, ...rest} = this.props;\n return (\n <TransferDropdownRenderer\n {...rest}\n selectMode={selectMode === 'group' ? 'list' : selectMode}\n />\n );\n }\n\n doAction(action: Action, data: object, throwErrors: boolean): any {\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 const value = this.getValue(resetValue ?? '');\n onChange?.(value);\n }\n }\n\n render() {\n let {\n autoComplete,\n searchable,\n options,\n className,\n loading,\n value,\n selectedOptions,\n multi,\n multiple,\n placeholder,\n id,\n classPrefix,\n classnames,\n creatable,\n inline,\n noResultsText,\n render,\n menuTpl,\n borderMode,\n selectMode,\n env,\n useMobileUI,\n ...rest\n } = this.props;\n\n if (noResultsText) {\n noResultsText = render('noResultText', noResultsText);\n }\n\n const mobileUI = useMobileUI && isMobile();\n\n return (\n <div className={cx(`${classPrefix}SelectControl`, className)}>\n {['table', 'list', 'group', 'tree', 'chained', 'associated'].includes(\n selectMode\n ) ? (\n this.renderOtherMode()\n ) : (\n <Select\n {...rest}\n useMobileUI={useMobileUI}\n popOverContainer={\n mobileUI && env && env.getModalContainer\n ? env.getModalContainer\n : mobileUI\n ? undefined\n : rest.popOverContainer\n }\n borderMode={borderMode}\n placeholder={placeholder}\n multiple={multiple || multi}\n ref={this.inputRef}\n value={selectedOptions}\n options={options}\n loadOptions={\n isEffectiveApi(autoComplete) ? this.lazyloadRemote : undefined\n }\n creatable={creatable}\n searchable={searchable || !!autoComplete}\n onChange={this.changeValue}\n onBlur={(e: any) => this.dispatchEvent('blur', e)}\n onFocus={(e: any) => this.dispatchEvent('focus', e)}\n onAdd={() => this.dispatchEvent('add')}\n onEdit={(item: any) => this.dispatchEvent('edit', item)}\n onDelete={(item: any) => this.dispatchEvent('delete', item)}\n loading={loading}\n noResultsText={noResultsText}\n renderMenu={menuTpl ? this.renderMenu : undefined}\n />\n )}\n </div>\n );\n }\n}\n\nexport interface TransferDropDownProps\n extends OptionsControlProps,\n Omit<\n TransferControlSchema,\n | 'type'\n | 'options'\n | 'inputClassName'\n | 'className'\n | 'descriptionClassName'\n > {\n borderMode?: 'full' | 'half' | 'none';\n useMobileUI?: boolean;\n}\n\nclass TransferDropdownRenderer extends BaseTransferRenderer<TransferDropDownProps> {\n @autobind\n renderItem(item: Option): any {\n const {labelField} = this.props;\n return `${item.scopeLabel || ''}${item[labelField || 'label']}`;\n }\n\n render() {\n const {\n className,\n classnames: cx,\n selectedOptions,\n sortable,\n loading,\n searchable,\n searchResultMode,\n showArrow,\n deferLoad,\n disabled,\n clearable,\n selectTitle,\n selectMode,\n multiple,\n columns,\n leftMode,\n borderMode,\n useMobileUI,\n popOverContainer,\n maxTagCount,\n overflowTagPopover\n } = this.props;\n\n // 目前 LeftOptions 没有接口可以动态加载\n // 为了方便可以快速实现动态化,让选项的第一个成员携带\n // LeftOptions 信息\n let {options, leftOptions, leftDefaultValue} = this.props;\n if (\n selectMode === 'associated' &&\n options &&\n options.length === 1 &&\n options[0].leftOptions &&\n Array.isArray(options[0].children)\n ) {\n leftOptions = options[0].leftOptions;\n leftDefaultValue = options[0].leftDefaultValue ?? leftDefaultValue;\n options = options[0].children;\n }\n\n return (\n <>\n <TransferDropDown\n selectMode={selectMode}\n className={className}\n value={selectedOptions}\n disabled={disabled}\n clearable={clearable}\n options={options}\n onChange={this.handleChange}\n option2value={this.option2value}\n itemRender={this.renderItem}\n sortable={sortable}\n searchResultMode={searchResultMode}\n onSearch={searchable ? this.handleSearch : undefined}\n showArrow={showArrow}\n onDeferLoad={deferLoad}\n selectTitle={selectTitle}\n multiple={multiple}\n columns={columns}\n leftMode={leftMode}\n leftOptions={leftOptions}\n borderMode={borderMode}\n useMobileUI={useMobileUI}\n popOverContainer={popOverContainer}\n maxTagCount={maxTagCount}\n overflowTagPopover={overflowTagPopover}\n />\n\n <Spinner overlay key=\"info\" show={loading} />\n </>\n );\n }\n}\n\n@OptionsControl({\n type: 'select'\n})\nexport class SelectControlRenderer extends SelectControl {}\n\n@OptionsControl({\n type: 'multi-select'\n})\nexport class MultiSelectControlRenderer extends SelectControl {\n static defaultProps = {\n multiple: true\n };\n}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1500,6 +1500,24 @@ var TableRenderer = /** @class */ (function (_super) {
|
|
1500
1500
|
function TableRenderer() {
|
1501
1501
|
return _super !== null && _super.apply(this, arguments) || this;
|
1502
1502
|
}
|
1503
|
+
TableRenderer.prototype.receive = function (values, subPath) {
|
1504
|
+
var _this = this;
|
1505
|
+
var _a, _b;
|
1506
|
+
var scoped = this.context;
|
1507
|
+
var parents = (_a = scoped === null || scoped === void 0 ? void 0 : scoped.parent) === null || _a === void 0 ? void 0 : _a.getComponents();
|
1508
|
+
/**
|
1509
|
+
* 因为Table在scope上注册,导致getComponentByName查询组件时会优先找到Table,和CRUD联动的动作都会失效
|
1510
|
+
* 这里先做兼容处理,把动作交给上层的CRUD处理
|
1511
|
+
*/
|
1512
|
+
if (Array.isArray(parents) && parents.length) {
|
1513
|
+
// CRUD的name会透传给Table,这样可以保证找到CRUD
|
1514
|
+
var crud = parents.find(function (cmpt) { var _a, _b; return ((_a = cmpt === null || cmpt === void 0 ? void 0 : cmpt.props) === null || _a === void 0 ? void 0 : _a.name) === ((_b = _this.props) === null || _b === void 0 ? void 0 : _b.name); });
|
1515
|
+
return (_b = crud === null || crud === void 0 ? void 0 : crud.receive) === null || _b === void 0 ? void 0 : _b.call(crud, values, subPath);
|
1516
|
+
}
|
1517
|
+
if (subPath) {
|
1518
|
+
return scoped.send(subPath, values);
|
1519
|
+
}
|
1520
|
+
};
|
1503
1521
|
TableRenderer = (0, tslib_1.__decorate)([
|
1504
1522
|
(0, factory_1.Renderer)({
|
1505
1523
|
type: 'table',
|