amis 1.3.4 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/lib/RootRenderer.js +4 -1
- package/lib/RootRenderer.js.map +2 -2
- package/lib/components/Badge.d.ts +13 -1
- package/lib/components/Badge.js +16 -2
- package/lib/components/Badge.js.map +2 -2
- package/lib/components/Checkbox.d.ts +1 -1
- package/lib/components/Checkbox.js +1 -1
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/Drawer.js +1 -1
- package/lib/components/Drawer.js.map +2 -2
- package/lib/components/Modal.js +1 -1
- package/lib/components/Modal.js.map +2 -2
- package/lib/components/RichText.d.ts +0 -3
- package/lib/components/RichText.js +1 -22
- package/lib/components/RichText.js.map +2 -2
- package/lib/components/Select.d.ts +7 -0
- package/lib/components/Select.js.map +2 -2
- package/lib/components/Steps.d.ts +3 -3
- package/lib/components/Steps.js.map +1 -1
- package/lib/components/WithRemoteConfig.d.ts +8 -0
- package/lib/components/WithRemoteConfig.js +28 -2
- package/lib/components/WithRemoteConfig.js.map +2 -2
- package/lib/components/condition-builder/Field.js +0 -1
- package/lib/components/condition-builder/Field.js.map +2 -2
- package/lib/components/condition-builder/Value.js +2 -1
- package/lib/components/condition-builder/Value.js.map +2 -2
- package/lib/components/condition-builder/types.d.ts +5 -0
- package/lib/components/condition-builder/types.js.map +1 -1
- package/lib/env.d.ts +1 -1
- package/lib/env.js.map +1 -1
- package/lib/factory.d.ts +6 -2
- package/lib/factory.js +9 -4
- package/lib/factory.js.map +2 -2
- package/lib/index.d.ts +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +2 -2
- package/lib/locale/de-DE.js +1 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +2 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +2 -1
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +6 -0
- package/lib/renderers/Action.js +9 -1
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +2 -2
- package/lib/renderers/CRUD.js +13 -21
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Card.js +11 -11
- package/lib/renderers/Card.js.map +2 -2
- package/lib/renderers/Collapse.d.ts +1 -1
- package/lib/renderers/Collapse.js +5 -1
- package/lib/renderers/Collapse.js.map +2 -2
- package/lib/renderers/Copyable.js +30 -28
- package/lib/renderers/Copyable.js.map +2 -2
- package/lib/renderers/Dialog.d.ts +0 -252
- package/lib/renderers/Dialog.js +3 -2
- package/lib/renderers/Dialog.js.map +2 -2
- package/lib/renderers/Drawer.js +2 -1
- package/lib/renderers/Drawer.js.map +2 -2
- package/lib/renderers/DropDownButton.d.ts +4 -0
- package/lib/renderers/DropDownButton.js +2 -2
- package/lib/renderers/DropDownButton.js.map +2 -2
- package/lib/renderers/Form/ButtonGroupSelect.js +3 -0
- package/lib/renderers/Form/ButtonGroupSelect.js.map +2 -2
- package/lib/renderers/Form/Combo.d.ts +2 -0
- package/lib/renderers/Form/Combo.js +16 -1
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +0 -2
- package/lib/renderers/Form/Editor.d.ts +0 -2
- package/lib/renderers/Form/Editor.js +1 -1
- package/lib/renderers/Form/Editor.js.map +2 -2
- package/lib/renderers/Form/InputExcel.d.ts +5 -0
- package/lib/renderers/Form/InputExcel.js +24 -3
- package/lib/renderers/Form/InputExcel.js.map +2 -2
- package/lib/renderers/Form/InputImage.d.ts +8 -0
- package/lib/renderers/Form/InputImage.js +2 -1
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputNumber.d.ts +19 -5
- package/lib/renderers/Form/InputNumber.js +69 -7
- package/lib/renderers/Form/InputNumber.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +7 -2
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/InputTable.d.ts +23 -5
- package/lib/renderers/Form/InputTable.js +32 -3
- package/lib/renderers/Form/InputTable.js.map +2 -2
- package/lib/renderers/Form/NestedSelect.js +2 -3
- package/lib/renderers/Form/NestedSelect.js.map +2 -2
- package/lib/renderers/Form/Options.js +3 -1
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/index.js +0 -10
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.js +3 -3
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Json.js +5 -1
- package/lib/renderers/Json.js.map +2 -2
- package/lib/renderers/List.d.ts +5 -0
- package/lib/renderers/List.js +20 -14
- package/lib/renderers/List.js.map +2 -2
- package/lib/renderers/Page.d.ts +6 -0
- package/lib/renderers/Page.js +10 -2
- package/lib/renderers/Page.js.map +2 -2
- package/lib/renderers/Service.d.ts +10 -1
- package/lib/renderers/Service.js +85 -3
- package/lib/renderers/Service.js.map +2 -2
- package/lib/renderers/Steps.d.ts +4 -4
- package/lib/renderers/Steps.js +5 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/TableBody.d.ts +5 -3
- package/lib/renderers/Table/TableBody.js +17 -11
- package/lib/renderers/Table/TableBody.js.map +2 -2
- package/lib/renderers/Table/TableCell.js +6 -2
- package/lib/renderers/Table/TableCell.js.map +2 -2
- package/lib/renderers/Table/TableContent.d.ts +3 -1
- package/lib/renderers/Table/TableContent.js +6 -2
- package/lib/renderers/Table/TableContent.js.map +2 -2
- package/lib/renderers/Table/TableRow.d.ts +1 -1
- package/lib/renderers/Table/TableRow.js +14 -13
- package/lib/renderers/Table/TableRow.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +28 -3
- package/lib/renderers/Table/index.js +97 -54
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/schemaExtend.d.ts +1 -0
- package/lib/schemaExtend.js +59 -0
- package/lib/schemaExtend.js.map +13 -0
- package/lib/store/app.d.ts +0 -1
- package/lib/store/combo.d.ts +0 -2
- package/lib/store/crud.d.ts +3 -3
- package/lib/store/crud.js +41 -36
- package/lib/store/crud.js.map +2 -2
- package/lib/store/form.d.ts +0 -1
- package/lib/store/formItem.js +10 -6
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/modal.d.ts +1 -1
- package/lib/store/modal.js +4 -0
- package/lib/store/modal.js.map +2 -2
- package/lib/store/root.d.ts +0 -1
- package/lib/store/service.d.ts +0 -1
- package/lib/store/service.js +0 -13
- package/lib/store/service.js.map +2 -2
- package/lib/store/table.d.ts +1 -2
- package/lib/store/table.js +44 -3
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +278 -17
- package/lib/themes/ang.css +278 -17
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +278 -17
- package/lib/themes/antd.css +278 -17
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +278 -17
- package/lib/themes/cxd.css +278 -17
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +278 -17
- package/lib/themes/dark.css +278 -17
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default.css +278 -17
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/api.js +12 -0
- package/lib/utils/api.js.map +2 -2
- package/lib/utils/attachmentAdpator.d.ts +7 -0
- package/lib/utils/attachmentAdpator.js +82 -0
- package/lib/utils/attachmentAdpator.js.map +13 -0
- package/lib/utils/helper.d.ts +2 -0
- package/lib/utils/helper.js +14 -1
- package/lib/utils/helper.js.map +2 -2
- package/lib/utils/resize-sensor.js +6 -0
- package/lib/utils/resize-sensor.js.map +2 -2
- package/lib/utils/tpl-builtin.d.ts +1 -0
- package/lib/utils/tpl-builtin.js +24 -8
- package/lib/utils/tpl-builtin.js.map +2 -2
- package/lib/utils/validations.js +62 -5
- package/lib/utils/validations.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +369 -164
- package/scss/_properties.scss +6 -0
- package/scss/components/_badge.scss +15 -1
- package/scss/components/_list.scss +8 -0
- package/scss/components/_markdown.scss +266 -0
- package/scss/components/_spinner.scss +6 -2
- package/scss/components/_table.scss +4 -0
- package/scss/components/form/_form.scss +3 -17
- package/scss/components/form/_group.scss +4 -0
- package/scss/components/form/_nested-select.scss +4 -0
- package/scss/components/form/_number.scss +12 -1
- package/scss/themes/_common.scss +1 -0
- package/sdk/ang-ie11.css +324 -20
- package/sdk/ang.css +330 -20
- package/sdk/antd-ie11.css +324 -20
- package/sdk/antd.css +330 -20
- package/sdk/charts.js +15 -15
- package/sdk/color-picker.js +65 -69
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +324 -20
- package/sdk/cxd.css +330 -20
- package/sdk/dark-ie11.css +324 -20
- package/sdk/dark.css +330 -20
- 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 +27 -23
- package/sdk/rich-text.js +63 -63
- package/sdk/sdk-ie11.css +324 -20
- package/sdk/sdk.css +330 -20
- package/sdk/sdk.js +1146 -1138
- 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 +8 -3
- package/src/components/Badge.tsx +41 -6
- package/src/components/Checkbox.tsx +5 -2
- package/src/components/Drawer.tsx +3 -2
- package/src/components/Modal.tsx +3 -2
- package/src/components/RichText.tsx +2 -27
- package/src/components/Select.tsx +1 -0
- package/src/components/Steps.tsx +3 -3
- package/src/components/WithRemoteConfig.tsx +37 -2
- package/src/components/condition-builder/Field.tsx +1 -2
- package/src/components/condition-builder/Value.tsx +3 -0
- package/src/components/condition-builder/types.ts +6 -0
- package/src/env.tsx +1 -1
- package/src/factory.tsx +14 -4
- package/src/index.tsx +2 -0
- package/src/locale/de-DE.ts +1 -0
- package/src/locale/en-US.ts +2 -1
- package/src/locale/zh-CN.ts +2 -1
- package/src/renderers/Action.tsx +19 -1
- package/src/renderers/CRUD.tsx +15 -34
- package/src/renderers/Card.tsx +21 -15
- package/src/renderers/Collapse.tsx +5 -1
- package/src/renderers/Copyable.tsx +46 -44
- package/src/renderers/Dialog.tsx +3 -2
- package/src/renderers/Drawer.tsx +2 -1
- package/src/renderers/DropDownButton.tsx +8 -0
- package/src/renderers/Form/ButtonGroupSelect.tsx +3 -0
- package/src/renderers/Form/Combo.tsx +7 -0
- package/src/renderers/Form/Editor.tsx +19 -20
- package/src/renderers/Form/InputExcel.tsx +28 -3
- package/src/renderers/Form/InputImage.tsx +23 -8
- package/src/renderers/Form/InputNumber.tsx +113 -18
- package/src/renderers/Form/InputRange.tsx +5 -2
- package/src/renderers/Form/InputTable.tsx +88 -9
- package/src/renderers/Form/NestedSelect.tsx +1 -1
- package/src/renderers/Form/Options.tsx +3 -1
- package/src/renderers/Form/index.tsx +0 -15
- package/src/renderers/Form/wrapControl.tsx +2 -2
- package/src/renderers/Json.tsx +10 -1
- package/src/renderers/List.tsx +32 -19
- package/src/renderers/Page.tsx +19 -0
- package/src/renderers/Service.tsx +101 -3
- package/src/renderers/Steps.tsx +12 -9
- package/src/renderers/Table/TableBody.tsx +29 -10
- package/src/renderers/Table/TableCell.tsx +15 -1
- package/src/renderers/Table/TableContent.tsx +7 -1
- package/src/renderers/Table/TableRow.tsx +18 -17
- package/src/renderers/Table/index.tsx +117 -28
- package/src/schemaExtend.ts +66 -0
- package/src/store/crud.ts +34 -38
- package/src/store/formItem.ts +10 -6
- package/src/store/modal.ts +4 -0
- package/src/store/service.ts +0 -19
- package/src/store/table.ts +48 -0
- package/src/utils/api.ts +11 -0
- package/src/utils/attachmentAdpator.ts +90 -0
- package/src/utils/helper.ts +15 -0
- package/src/utils/resize-sensor.ts +7 -0
- package/src/utils/tpl-builtin.ts +36 -17
- package/src/utils/validations.ts +80 -12
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/DropDownButton.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,sCAAmD;AACnD,+EAA4C;AAC5C,+EAA4C;AAC5C,6FAA0D;AAE1D,0CAA4D;AAC5D,oCAAoC;AACpC,6CAAyC;AAIzC,gDAA6C;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport Overlay from '../components/Overlay';\nimport PopOver from '../components/PopOver';\nimport TooltipWrapper from '../components/TooltipWrapper';\nimport type {TooltipObject, Trigger} from '../components/TooltipWrapper';\nimport {isDisabled, isVisible, noop} from '../utils/helper';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {DividerSchema} from './Divider';\nimport {RootClose} from '../utils/RootClose';\n\n/**\n * 下拉按钮渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button\n */\nexport interface DropdownButtonSchema extends BaseSchema {\n /**\n * 指定为 DropDown Button 类型\n */\n type: 'dropdown-button';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 给 Button 配置 className。\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 按钮集合\n */\n buttons?: Array<ActionSchema | DividerSchema | 'divider'>;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 按钮提示文字,hover 时显示\n */\n // tooltip?: SchemaTooltip;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n}\n\nexport interface DropDownButtonProps\n extends RendererProps,\n Omit<DropdownButtonSchema, 'type' | 'className'> {\n disabledTip?: string | TooltipObject;\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n tooltipContainer?: any;\n tooltipTrigger?: Trigger | Array<Trigger>;\n tooltipRootClose?: boolean;\n defaultIsOpened?: boolean;\n label?: any;\n // 激活状态\n isActived?: boolean;\n}\n\nexport interface DropDownButtonState {\n isOpened: boolean;\n}\n\nexport default class DropDownButton extends React.Component<\n DropDownButtonProps,\n DropDownButtonState\n> {\n state: DropDownButtonState = {\n isOpened: false\n };\n\n static defaultProps: Pick<\n DropDownButtonProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false\n };\n\n target: any;\n constructor(props: DropDownButtonProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toogle = this.toogle.bind(this);\n this.domRef = this.domRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toogle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n renderOuter() {\n const {\n render,\n buttons,\n data,\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n align,\n closeOnClick,\n closeOnOutside\n } = this.props;\n\n let body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('DropDown-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children\n ? children\n : Array.isArray(buttons)\n ? buttons.map((button, index) => {\n if (\n typeof button !== 'string' &&\n !isVisible(button, data)\n ) {\n return null;\n } else if (\n button === 'divider' ||\n button.type === 'divider'\n ) {\n return (\n <li key={index} className={cx('DropDown-divider')} />\n );\n }\n\n return (\n <li\n key={index}\n className={\n isDisabled(button, data) ? 'is-disabled' : ''\n }\n >\n {render(`button/${index}`, {\n type: 'button',\n ...(button as any),\n isMenuItem: true\n })}\n </li>\n );\n })\n : null}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('DropDown-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n data\n } = this.props;\n\n return (\n <div\n className={cx(\n 'DropDown ',\n {\n 'DropDown--block': block,\n 'DropDown--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n ref={this.domRef}\n >\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <button\n onClick={this.toogle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n <i className={cx(icon, 'm-r-xs')} />\n ) : (\n icon\n )\n ) : null}\n {typeof label === 'string' ? filter(label, data) : label}\n <span className={cx('DropDown-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </button>\n </TooltipWrapper>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'dropdown-button'\n})\nexport class DropDownButtonRenderer extends DropDownButton {}\n"
|
11
|
+
"import React from 'react';\nimport {Renderer, RendererProps} from '../factory';\nimport Overlay from '../components/Overlay';\nimport PopOver from '../components/PopOver';\nimport TooltipWrapper from '../components/TooltipWrapper';\nimport type {TooltipObject, Trigger} from '../components/TooltipWrapper';\nimport {isDisabled, isVisible, noop} from '../utils/helper';\nimport {filter} from '../utils/tpl';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaClassName} from '../Schema';\nimport {ActionSchema} from './Action';\nimport {DividerSchema} from './Divider';\nimport {RootClose} from '../utils/RootClose';\n\n/**\n * 下拉按钮渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/dropdown-button\n */\nexport interface DropdownButtonSchema extends BaseSchema {\n /**\n * 指定为 DropDown Button 类型\n */\n type: 'dropdown-button';\n\n /**\n * 是否独占一行 `display: block`\n */\n block?: boolean;\n\n /**\n * 给 Button 配置 className。\n */\n btnClassName?: SchemaClassName;\n\n /**\n * 按钮集合\n */\n buttons?: Array<ActionSchema | DividerSchema | 'divider'>;\n\n /**\n * 按钮文字\n */\n label?: string;\n\n /**\n * 按钮级别,样式\n */\n level?: 'info' | 'success' | 'danger' | 'warning' | 'primary' | 'link';\n\n /**\n * 按钮提示文字,hover 时显示\n */\n // tooltip?: SchemaTooltip;\n\n /**\n * 点击外部是否关闭\n */\n closeOnOutside?: boolean;\n\n /**\n * 点击内容是否关闭\n */\n closeOnClick?: boolean;\n\n /**\n * 按钮大小\n */\n size?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 对齐方式\n */\n align?: 'left' | 'right';\n\n /**\n * 是否只显示图标。\n */\n iconOnly?: boolean;\n\n /**\n * 触发条件,默认是 click\n */\n trigger?: 'click' | 'hover';\n}\n\nexport interface DropDownButtonProps\n extends RendererProps,\n Omit<DropdownButtonSchema, 'type' | 'className'> {\n disabledTip?: string | TooltipObject;\n /**\n * 按钮提示文字,hover focus 时显示\n */\n tooltip?: string | TooltipObject;\n placement?: 'top' | 'right' | 'bottom' | 'left';\n tooltipContainer?: any;\n tooltipTrigger?: Trigger | Array<Trigger>;\n tooltipRootClose?: boolean;\n defaultIsOpened?: boolean;\n label?: any;\n // 激活状态\n isActived?: boolean;\n}\n\nexport interface DropDownButtonState {\n isOpened: boolean;\n}\n\nexport default class DropDownButton extends React.Component<\n DropDownButtonProps,\n DropDownButtonState\n> {\n state: DropDownButtonState = {\n isOpened: false\n };\n\n static defaultProps: Pick<\n DropDownButtonProps,\n 'placement' | 'tooltipTrigger' | 'tooltipRootClose'\n > = {\n placement: 'top',\n tooltipTrigger: ['hover', 'focus'],\n tooltipRootClose: false\n };\n\n target: any;\n constructor(props: DropDownButtonProps) {\n super(props);\n\n this.open = this.open.bind(this);\n this.close = this.close.bind(this);\n this.toogle = this.toogle.bind(this);\n this.domRef = this.domRef.bind(this);\n }\n\n componentDidMount() {\n if (this.props.defaultIsOpened) {\n this.setState({\n isOpened: true\n });\n }\n }\n\n domRef(ref: any) {\n this.target = ref;\n }\n\n toogle(e: React.MouseEvent<any>) {\n e.preventDefault();\n\n this.setState({\n isOpened: !this.state.isOpened\n });\n }\n\n open() {\n this.setState({\n isOpened: true\n });\n }\n\n close() {\n this.setState({\n isOpened: false\n });\n }\n\n renderOuter() {\n const {\n render,\n buttons,\n data,\n popOverContainer,\n classnames: cx,\n classPrefix: ns,\n children,\n align,\n closeOnClick,\n closeOnOutside\n } = this.props;\n\n let body = (\n <RootClose\n disabled={!this.state.isOpened}\n onRootClose={closeOnOutside !== false ? this.close : noop}\n >\n {(ref: any) => {\n return (\n <ul\n className={cx('DropDown-menu')}\n onClick={closeOnClick ? this.close : noop}\n ref={ref}\n >\n {children\n ? children\n : Array.isArray(buttons)\n ? buttons.map((button, index) => {\n if (\n typeof button !== 'string' &&\n !isVisible(button, data)\n ) {\n return null;\n } else if (\n button === 'divider' ||\n button.type === 'divider'\n ) {\n return (\n <li key={index} className={cx('DropDown-divider')} />\n );\n }\n\n return (\n <li\n key={index}\n className={\n isDisabled(button, data) ? 'is-disabled' : ''\n }\n >\n {render(`button/${index}`, {\n type: 'button',\n ...(button as any),\n isMenuItem: true\n })}\n </li>\n );\n })\n : null}\n </ul>\n );\n }}\n </RootClose>\n );\n\n if (popOverContainer) {\n return (\n <Overlay container={popOverContainer} target={() => this.target} show>\n <PopOver\n overlay\n onHide={this.close}\n classPrefix={ns}\n className={cx('DropDown-popover')}\n style={{minWidth: this.target?.offsetWidth}}\n >\n {body}\n </PopOver>\n </Overlay>\n );\n }\n\n return body;\n }\n\n render() {\n const {\n tooltip,\n placement,\n tooltipContainer,\n tooltipTrigger,\n tooltipRootClose,\n disabledTip,\n block,\n disabled,\n btnDisabled,\n btnClassName,\n size,\n label,\n level,\n primary,\n className,\n classnames: cx,\n align,\n iconOnly,\n icon,\n isActived,\n trigger,\n data\n } = this.props;\n\n return (\n <div\n className={cx(\n 'DropDown ',\n {\n 'DropDown--block': block,\n 'DropDown--alignRight': align === 'right',\n 'is-opened': this.state.isOpened,\n 'is-actived': isActived\n },\n className\n )}\n onMouseEnter={trigger === 'hover' ? this.open : () => {}}\n onMouseLeave={trigger === 'hover' ? this.close : () => {}}\n ref={this.domRef}\n >\n <TooltipWrapper\n placement={placement}\n tooltip={disabled ? disabledTip : tooltip}\n container={tooltipContainer}\n trigger={tooltipTrigger}\n rootClose={tooltipRootClose}\n >\n <button\n onClick={this.toogle}\n disabled={disabled || btnDisabled}\n className={cx(\n 'Button',\n btnClassName,\n typeof level === 'undefined'\n ? 'Button--default'\n : level\n ? `Button--${level}`\n : '',\n {\n 'Button--block': block,\n 'Button--primary': primary,\n 'Button--iconOnly': iconOnly\n },\n size ? `Button--${size}` : ''\n )}\n >\n {icon ? (\n typeof icon === 'string' ? (\n <i className={cx(icon, 'm-r-xs')} />\n ) : (\n icon\n )\n ) : null}\n {typeof label === 'string' ? filter(label, data) : label}\n <span className={cx('DropDown-caret')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n </button>\n </TooltipWrapper>\n {this.state.isOpened ? this.renderOuter() : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'dropdown-button'\n})\nexport class DropDownButtonRenderer extends DropDownButton {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -45,6 +45,9 @@ var ButtonGroupControl = /** @class */ (function (_super) {
|
|
45
45
|
className: cx(option.className, btnClassName),
|
46
46
|
disabled: option.disabled || disabled,
|
47
47
|
onClick: function (e) {
|
48
|
+
if (disabled) {
|
49
|
+
return;
|
50
|
+
}
|
48
51
|
_this.handleToggle(option);
|
49
52
|
e.preventDefault(); // 禁止 onAction 触发
|
50
53
|
}
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/ButtonGroupSelect.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAE1B,qCAKmB;AAEnB,6CAA4E;AA8B5E;IAAgD,mDAG/C;IAHD;;
|
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 {Button} from '../../types';\nimport {getLevelFromClassName, autobind, isEmpty} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {ButtonGroupSchema} from '../ButtonGroup';\nimport {FormBaseControl} from './Item';\n\n/**\n * 按钮组控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/button-group\n */\nexport interface ButtonGroupControlSchema\n extends Omit<ButtonGroupSchema, 'type'>,\n Omit<FormOptionsControl, 'size'> {\n type: 'button-group-select';\n}\n\nexport interface ButtonGroupProps\n extends OptionsControlProps,\n Omit<\n ButtonGroupControlSchema,\n | 'size'\n | 'source'\n | 'type'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n | 'btnClassName'\n > {\n options: Array<Option>;\n}\n\nexport default class ButtonGroupControl extends React.Component<\n ButtonGroupProps,\n any\n> {\n static defaultProps: Partial<ButtonGroupProps> = {\n btnLevel: 'default',\n btnActiveLevel: 'primary',\n clearable: false,\n vertical: false\n };\n\n @autobind\n handleToggle(option: Option) {\n const {onToggle, multiple, autoFill, onBulkChange} = this.props;\n onToggle(option);\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n render(props = this.props) {\n const {\n render,\n classPrefix: ns,\n classnames: cx,\n className,\n disabled,\n options,\n value,\n labelField,\n placeholder,\n btnClassName,\n btnActiveClassName,\n selectedOptions,\n buttons,\n size,\n block,\n vertical,\n tiled,\n translate: __\n } = props;\n\n let body: Array<React.ReactNode> = [];\n let btnLevel = props.btnLevel;\n let btnActiveLevel = props.btnActiveLevel;\n\n btnClassName && (btnLevel = getLevelFromClassName(btnClassName));\n btnActiveClassName &&\n (btnActiveLevel = getLevelFromClassName(btnActiveClassName));\n\n if (options && options.length) {\n body = options.map((option, key) => {\n const active = !!~selectedOptions.indexOf(option);\n return render(\n `option/${key}`,\n {\n label: option[labelField || 'label'],\n icon: option.icon,\n size: option.size || size,\n type: 'button',\n block: block\n },\n {\n key: key,\n active,\n level: (active ? btnActiveLevel : '') || option.level || btnLevel,\n className: cx(option.className, btnClassName),\n disabled: option.disabled || disabled,\n onClick: (e: React.UIEvent<any>) => {\n this.handleToggle(option);\n e.preventDefault(); // 禁止 onAction 触发\n }\n }\n );\n });\n } else if (Array.isArray(buttons)) {\n body = buttons.map((button, key) =>\n render(\n `button/${key}`,\n {\n size: size,\n block: block,\n activeLevel: btnActiveLevel,\n ...button\n },\n {\n key,\n className: cx(button.className, btnClassName)\n }\n )\n );\n }\n\n return (\n <div\n className={cx(\n `ButtonGroup`,\n {\n 'ButtonGroup--block': block,\n 'ButtonGroup--vertical': vertical,\n 'ButtonGroup--tiled': tiled,\n [`ButtonGroup--${size}`]: size\n },\n className\n )}\n >\n {body.length ? (\n body\n ) : (\n <span className={`${ns}ButtonGroup-placeholder`}>\n {__(placeholder)}\n </span>\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'button-group-select',\n sizeMutable: false,\n strictMode: false\n})\nexport class ButtonGroupControlRenderer extends ButtonGroupControl {}\n"
|
11
|
+
"import React from 'react';\nimport cx from 'classnames';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport {Button} from '../../types';\nimport {getLevelFromClassName, autobind, isEmpty} from '../../utils/helper';\nimport {dataMapping} from '../../utils/tpl-builtin';\nimport {ButtonGroupSchema} from '../ButtonGroup';\nimport {FormBaseControl} from './Item';\n\n/**\n * 按钮组控件。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/button-group\n */\nexport interface ButtonGroupControlSchema\n extends Omit<ButtonGroupSchema, 'type'>,\n Omit<FormOptionsControl, 'size'> {\n type: 'button-group-select';\n}\n\nexport interface ButtonGroupProps\n extends OptionsControlProps,\n Omit<\n ButtonGroupControlSchema,\n | 'size'\n | 'source'\n | 'type'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n | 'btnClassName'\n > {\n options: Array<Option>;\n}\n\nexport default class ButtonGroupControl extends React.Component<\n ButtonGroupProps,\n any\n> {\n static defaultProps: Partial<ButtonGroupProps> = {\n btnLevel: 'default',\n btnActiveLevel: 'primary',\n clearable: false,\n vertical: false\n };\n\n @autobind\n handleToggle(option: Option) {\n const {onToggle, multiple, autoFill, onBulkChange} = this.props;\n onToggle(option);\n }\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n render(props = this.props) {\n const {\n render,\n classPrefix: ns,\n classnames: cx,\n className,\n disabled,\n options,\n value,\n labelField,\n placeholder,\n btnClassName,\n btnActiveClassName,\n selectedOptions,\n buttons,\n size,\n block,\n vertical,\n tiled,\n translate: __\n } = props;\n\n let body: Array<React.ReactNode> = [];\n let btnLevel = props.btnLevel;\n let btnActiveLevel = props.btnActiveLevel;\n\n btnClassName && (btnLevel = getLevelFromClassName(btnClassName));\n btnActiveClassName &&\n (btnActiveLevel = getLevelFromClassName(btnActiveClassName));\n\n if (options && options.length) {\n body = options.map((option, key) => {\n const active = !!~selectedOptions.indexOf(option);\n return render(\n `option/${key}`,\n {\n label: option[labelField || 'label'],\n icon: option.icon,\n size: option.size || size,\n type: 'button',\n block: block\n },\n {\n key: key,\n active,\n level: (active ? btnActiveLevel : '') || option.level || btnLevel,\n className: cx(option.className, btnClassName),\n disabled: option.disabled || disabled,\n onClick: (e: React.UIEvent<any>) => {\n if (disabled) {\n return;\n }\n this.handleToggle(option);\n e.preventDefault(); // 禁止 onAction 触发\n }\n }\n );\n });\n } else if (Array.isArray(buttons)) {\n body = buttons.map((button, key) =>\n render(\n `button/${key}`,\n {\n size: size,\n block: block,\n activeLevel: btnActiveLevel,\n ...button\n },\n {\n key,\n className: cx(button.className, btnClassName)\n }\n )\n );\n }\n\n return (\n <div\n className={cx(\n `ButtonGroup`,\n {\n 'ButtonGroup--block': block,\n 'ButtonGroup--vertical': vertical,\n 'ButtonGroup--tiled': tiled,\n [`ButtonGroup--${size}`]: size\n },\n className\n )}\n >\n {body.length ? (\n body\n ) : (\n <span className={`${ns}ButtonGroup-placeholder`}>\n {__(placeholder)}\n </span>\n )}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'button-group-select',\n sizeMutable: false,\n strictMode: false\n})\nexport class ButtonGroupControlRenderer extends ButtonGroupControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"use strict";
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
-
exports.ComboControlRenderer = void 0;
|
3
|
+
exports.KVControlRenderer = exports.ComboControlRenderer = void 0;
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var react_dom_1 = require("react-dom");
|
@@ -686,4 +686,19 @@ var ComboControlRenderer = /** @class */ (function (_super) {
|
|
686
686
|
return ComboControlRenderer;
|
687
687
|
}(ComboControl));
|
688
688
|
exports.ComboControlRenderer = ComboControlRenderer;
|
689
|
+
var KVControlRenderer = /** @class */ (function (_super) {
|
690
|
+
(0, tslib_1.__extends)(KVControlRenderer, _super);
|
691
|
+
function KVControlRenderer() {
|
692
|
+
return _super !== null && _super.apply(this, arguments) || this;
|
693
|
+
}
|
694
|
+
KVControlRenderer = (0, tslib_1.__decorate)([
|
695
|
+
(0, Item_1.FormItem)({
|
696
|
+
type: 'input-kv',
|
697
|
+
storeType: combo_1.ComboStore.name,
|
698
|
+
extendsData: false
|
699
|
+
})
|
700
|
+
], KVControlRenderer);
|
701
|
+
return KVControlRenderer;
|
702
|
+
}(ComboControl));
|
703
|
+
exports.KVControlRenderer = KVControlRenderer;
|
689
704
|
//# sourceMappingURL=./renderers/Form/Combo.js.map
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Combo.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 {findDOMNode} from 'react-dom';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n\n maxLengthValidateFailed?: string;\n };\n}\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty'\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n addItem() {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.keys.splice(e.newIndex, 0, this.keys.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n handleTabSelect(key: number) {\n const {store} = this.props;\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n return this.renderPlaceholder();\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value, index) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <a\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"close\" className=\"icon\" />\n )}\n </a>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button Combo-addBtn`, addButtonClassName)}\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n"
|
11
|
+
"import React from 'react';\nimport {findDOMNode} from 'react-dom';\nimport {\n FormItem,\n FormControlProps,\n FormBaseControl,\n FormControlSchemaAlias\n} from './Item';\nimport {Schema, Action, Api} from '../../types';\nimport {ComboStore, IComboStore} from '../../store/combo';\nimport {default as CTabs, Tab} from '../../components/Tabs';\n\nimport {\n guid,\n anyChanged,\n isObject,\n createObject,\n extendObject,\n autobind,\n isObjectShallowModified\n} from '../../utils/helper';\nimport Sortable from 'sortablejs';\nimport {evalExpression, filter} from '../../utils/tpl';\nimport find from 'lodash/find';\nimport Select from '../../components/Select';\nimport {dataMapping, resolveVariable} from '../../utils/tpl-builtin';\nimport {isEffectiveApi} from '../../utils/api';\nimport {Alert2} from '../../components';\nimport memoize from 'lodash/memoize';\nimport {Icon} from '../../components/icons';\nimport {isAlive} from 'mobx-state-tree';\nimport {\n SchemaApi,\n SchemaClassName,\n SchemaCollection,\n SchemaIcon,\n SchemaObject,\n SchemaTpl\n} from '../../Schema';\n\nexport type ComboCondition = {\n test: string;\n items: Array<ComboSubControl>;\n label: string;\n scaffold?: any;\n mode?: string;\n};\n\nexport type ComboSubControl = SchemaObject & {\n /**\n * 是否唯一, 只有在 combo 里面才有用\n */\n unique?: boolean;\n\n /**\n * 列类名,可以用来修改这类宽度。\n */\n columnClassName?: SchemaClassName;\n};\n\n/**\n * Combo 组合输入框类型\n * 文档:https://baidu.gitee.io/amis/docs/components/form/combo\n */\nexport interface ComboControlSchema extends FormBaseControl {\n /**\n * 指定为组合输入框类型\n */\n type: 'combo';\n\n /**\n * 单组表单项初始值。默认为 `{}`\n *\n * @default {}\n */\n scaffold?: any;\n\n /**\n * 是否含有边框\n */\n noBorder?: boolean;\n\n /**\n * 确认删除时的提示\n */\n deleteConfirmText?: string;\n\n /**\n * 删除时调用的api\n */\n deleteApi?: SchemaApi;\n\n /**\n * 是否可切换条件,配合`conditions`使用\n */\n typeSwitchable?: boolean;\n\n /**\n * 符合某类条件后才渲染的schema\n */\n conditions?: Array<ComboCondition>;\n\n /**\n * 内部单组表单项的类名\n */\n formClassName?: SchemaClassName;\n\n /**\n * 新增按钮CSS类名\n */\n addButtonClassName?: SchemaClassName;\n\n /**\n * 新增按钮文字\n * @default 新增\n */\n addButtonText?: string;\n\n /**\n * 是否可新增\n */\n addable?: boolean;\n\n /**\n * 数组输入框的子项\n */\n items?: Array<ComboSubControl>;\n\n /**\n * 是否可拖拽排序\n */\n draggable?: boolean;\n\n /**\n * 可拖拽排序的提示信息。\n *\n * @default 可拖拽排序\n */\n draggableTip?: string;\n\n /**\n * 是否将结果扁平化(去掉name),只有当controls的length为1且multiple为true的时候才有效\n */\n flat?: boolean;\n\n /**\n * 当扁平化开启并且joinValues为true时,用什么分隔符\n *\n * @deprecated\n */\n delimiter?: string;\n\n /**\n * 当扁平化开启的时候,是否用分隔符的形式发送给后端,否则采用array的方式\n * @deprecated\n */\n joinValues?: boolean;\n\n /**\n * 限制最大个数\n */\n maxLength?: number;\n\n /**\n * 限制最小个数\n */\n minLength?: number;\n\n /**\n * 是否多行模式,默认一行展示完\n */\n multiLine?: boolean;\n\n /**\n * 是否可多选\n */\n multiple?: boolean;\n\n /**\n * 是否可删除\n */\n removable?: boolean;\n\n /**\n * 子表单的模式。\n */\n subFormMode?: 'normal' | 'horizontal' | 'inline';\n\n /**\n * 没有成员时显示。\n * @default empty\n */\n placeholder?: string;\n\n /**\n * 是否可以访问父级数据,正常 combo 已经关联到数组成员,是不能访问父级数据的。\n */\n canAccessSuperData?: boolean;\n\n /**\n * 采用 Tabs 展示方式?\n */\n tabsMode?: boolean;\n\n /**\n * Tabs 的展示模式。\n */\n tabsStyle?: '' | 'line' | 'card' | 'radio';\n\n /**\n * 选项卡标题的生成模板。\n */\n tabsLabelTpl?: SchemaTpl;\n\n /**\n * 数据比较多,比较卡时,可以试试开启。\n */\n lazyLoad?: boolean;\n\n /**\n * 严格模式,为了性能默认不开的。\n */\n strictMode?: boolean;\n\n /**\n * 配置同步字段。只有 `strictMode` 为 `false` 时有效。\n * 如果 Combo 层级比较深,底层的获取外层的数据可能不同步。\n * 但是给 combo 配置这个属性就能同步下来。输入格式:`[\"os\"]`\n */\n syncFields?: string[];\n\n /**\n * 允许为空,如果子表单项里面配置验证器,且又是单条模式。可以允许用户选择清空(不填)。\n */\n nullable?: boolean;\n\n /**\n * 提示信息\n */\n messages?: {\n /**\n * 验证错误提示\n */\n validateFailed?: string;\n\n /**\n * 最小值验证错误提示\n */\n minLengthValidateFailed?: string;\n\n /**\n * 最大值验证错误提示\n */\n\n maxLengthValidateFailed?: string;\n };\n}\n\nfunction pickVars(vars: any, fields: Array<string>) {\n return fields.reduce((data: any, key: string) => {\n data[key] = resolveVariable(key, vars);\n return data;\n }, {});\n}\n\nexport interface ComboProps\n extends FormControlProps,\n Omit<\n ComboControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {\n store: IComboStore;\n changeImmediately?: boolean;\n}\n\nexport default class ComboControl extends React.Component<ComboProps> {\n static defaultProps: Pick<\n ComboProps,\n | 'minLength'\n | 'maxLength'\n | 'multiple'\n | 'multiLine'\n | 'addButtonClassName'\n | 'formClassName'\n | 'subFormMode'\n | 'draggableTip'\n | 'addButtonText'\n | 'canAccessSuperData'\n | 'addIcon'\n | 'dragIcon'\n | 'deleteIcon'\n | 'tabsMode'\n | 'tabsStyle'\n | 'placeholder'\n > = {\n minLength: 0,\n maxLength: 0,\n multiple: false,\n multiLine: false,\n addButtonClassName: '',\n formClassName: '',\n subFormMode: 'normal',\n draggableTip: '',\n addButtonText: 'Combo.add',\n canAccessSuperData: false,\n addIcon: true,\n dragIcon: '',\n deleteIcon: '',\n tabsMode: false,\n tabsStyle: '',\n placeholder: 'placeholder.empty'\n };\n static propsList: Array<string> = [\n 'minLength',\n 'maxLength',\n 'multiple',\n 'multiLine',\n 'addButtonClassName',\n 'subFormMode',\n 'draggableTip',\n 'addButtonText',\n 'draggable',\n 'scaffold',\n 'canAccessSuperData',\n 'addIcon',\n 'dragIcon',\n 'deleteIcon',\n 'noBorder',\n 'conditions',\n 'tabsMode',\n 'tabsStyle',\n 'lazyLoad',\n 'changeImmediately',\n 'strictMode',\n 'items',\n 'conditions',\n 'messages',\n 'formStore'\n ];\n\n subForms: Array<any> = [];\n subFormDefaultValues: Array<{\n index: number;\n values: any;\n setted: boolean;\n }> = [];\n\n keys: Array<string> = [];\n dragTip?: HTMLElement;\n sortable?: Sortable;\n defaultValue?: any;\n toDispose: Array<Function> = [];\n id: string = guid();\n constructor(props: ComboProps) {\n super(props);\n\n this.handleChange = this.handleChange.bind(this);\n this.handleSingleFormChange = this.handleSingleFormChange.bind(this);\n this.handleSingleFormInit = this.handleSingleFormInit.bind(this);\n this.handleFormInit = this.handleFormInit.bind(this);\n this.handleAction = this.handleAction.bind(this);\n this.addItem = this.addItem.bind(this);\n this.removeItem = this.removeItem.bind(this);\n this.dragTipRef = this.dragTipRef.bind(this);\n this.flush = this.flush.bind(this);\n this.handleComboTypeChange = this.handleComboTypeChange.bind(this);\n this.defaultValue = {\n ...props.scaffold\n };\n\n const {store, value, multiple, minLength, maxLength, formItem, addHook} =\n props;\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: this.getValueAsArray(props).length\n });\n\n formItem && isAlive(formItem) && formItem.setSubStore(store);\n addHook && this.toDispose.push(addHook(this.flush, 'flush'));\n }\n\n componentDidUpdate(prevProps: ComboProps) {\n const props = this.props;\n\n if (anyChanged(['minLength', 'maxLength', 'value'], prevProps, props)) {\n const {store, minLength, maxLength, multiple} = props;\n const values = this.getValueAsArray(props);\n\n store.config({\n multiple,\n minLength,\n maxLength,\n length: values.length\n });\n\n if (store.activeKey >= values.length) {\n store.setActiveKey(Math.max(0, values.length - 1));\n }\n\n // combo 进来了新的值,且这次 form 初始化时带来的新值变化,但是之前的值已经 onInit 过了\n // 所以,之前 onInit 设置进去的初始值是过时了的。这个时候修复一下。\n if (\n props.value !== prevProps.value &&\n !prevProps.formInited &&\n this.subFormDefaultValues.length\n ) {\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n (item, index) => {\n return {\n ...item,\n values: values[index]\n };\n }\n );\n }\n }\n }\n\n componentWillUnmount() {\n const {formItem} = this.props;\n\n formItem && isAlive(formItem) && formItem.setSubStore(null);\n\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n this.memoizedFormatValue.cache.clear?.();\n this.makeFormRef.cache.clear?.();\n }\n\n getValueAsArray(props = this.props) {\n const {flat, joinValues, delimiter} = props;\n let value = props.value;\n\n if (joinValues && flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n } else if (!Array.isArray(value)) {\n value = [];\n } else {\n value = value.concat();\n }\n return value;\n }\n\n addItemWith(condition: ComboCondition) {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? condition.scaffold || scaffold || ''\n : {\n ...(condition.scaffold || scaffold)\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n addItem() {\n const {flat, joinValues, delimiter, scaffold, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n\n value.push(\n flat\n ? scaffold || ''\n : {\n ...scaffold\n }\n );\n this.keys.push(guid());\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n }\n\n async removeItem(key: number) {\n const {\n flat,\n joinValues,\n delimiter,\n disabled,\n deleteApi,\n deleteConfirmText,\n data,\n env,\n translate: __\n } = this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n const ctx = createObject(data, value[key]);\n\n if (isEffectiveApi(deleteApi, ctx)) {\n const confirmed = await env.confirm(\n deleteConfirmText ? filter(deleteConfirmText, ctx) : __('deleteConfirm')\n );\n if (!confirmed) {\n // 如果不确认,则跳过!\n return;\n }\n\n const result = await env.fetcher(deleteApi as Api, ctx);\n\n if (!result.ok) {\n env.notify('error', __('deleteFailed'));\n return;\n }\n }\n\n value.splice(key, 1);\n this.keys.splice(key, 1);\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value);\n }\n\n handleChange(values: any, diff: any, {index}: any) {\n const {flat, store, joinValues, delimiter, disabled, submitOnChange} =\n this.props;\n\n if (disabled) {\n return;\n }\n\n let value = this.getValueAsArray();\n value[index] = flat ? values.flat : {...values};\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n this.props.onChange(value, submitOnChange, true);\n\n store.forms.forEach(\n form =>\n isAlive(form) &&\n form.items.forEach(\n item => item.unique && item.syncOptions(undefined, form.data)\n )\n );\n }\n\n handleSingleFormChange(values: object) {\n this.props.onChange(\n {\n ...values\n },\n this.props.submitOnChange,\n true\n );\n }\n\n handleFormInit(values: any, {index}: any) {\n const {\n syncDefaultValue,\n flat,\n joinValues,\n delimiter,\n formInited,\n onChange,\n submitOnChange,\n setPrinstineValue\n } = this.props;\n\n this.subFormDefaultValues.push({\n index,\n values,\n setted: false\n });\n\n if (\n syncDefaultValue === false ||\n this.subFormDefaultValues.length !== this.subForms.length\n ) {\n return;\n }\n\n let value = this.getValueAsArray();\n let isModified = false;\n this.subFormDefaultValues = this.subFormDefaultValues.map(\n ({index, values, setted}) => {\n const newValue = flat ? values.flat : {...values};\n\n if (!setted && isObjectShallowModified(value[index], newValue)) {\n value[index] = flat ? values.flat : {...values};\n isModified = true;\n }\n\n return {\n index,\n values,\n setted: true\n };\n }\n );\n\n if (!isModified) {\n return;\n }\n\n if (flat && joinValues) {\n value = value.join(delimiter || ',');\n }\n\n formInited\n ? onChange(value, submitOnChange, true)\n : setPrinstineValue(value);\n }\n\n handleSingleFormInit(values: any) {\n const {syncDefaultValue, setPrinstineValue, value, nullable} = this.props;\n\n if (\n syncDefaultValue !== false &&\n !nullable &&\n isObjectShallowModified(value, values) &&\n setPrinstineValue\n ) {\n setPrinstineValue({\n ...values\n });\n }\n }\n\n handleAction(action: Action): any {\n const {onAction} = this.props;\n\n if (action.actionType === 'delete') {\n action.index !== void 0 && this.removeItem(action.index);\n return;\n }\n\n onAction && onAction.apply(null, arguments);\n }\n\n validate(): any {\n const {\n value,\n minLength,\n maxLength,\n messages,\n nullable,\n translate: __\n } = this.props;\n\n if (minLength && (!Array.isArray(value) || value.length < minLength)) {\n return __(\n (messages && messages.minLengthValidateFailed) || 'Combo.minLength',\n {minLength}\n );\n } else if (maxLength && Array.isArray(value) && value.length > maxLength) {\n return __(\n (messages && messages.maxLengthValidateFailed) || 'Combo.maxLength',\n {maxLength}\n );\n } else if (this.subForms.length && (!nullable || value)) {\n return Promise.all(this.subForms.map(item => item.validate())).then(\n values => {\n if (~values.indexOf(false)) {\n return __(\n (messages && messages.validateFailed) || 'validateFailed'\n );\n }\n\n return;\n }\n );\n }\n }\n\n flush() {\n this.subForms.forEach(form => form.flush());\n }\n\n dragTipRef(ref: any) {\n if (!this.dragTip && ref) {\n this.initDragging();\n } else if (this.dragTip && !ref) {\n this.destroyDragging();\n }\n\n this.dragTip = ref;\n }\n\n initDragging() {\n const ns = this.props.classPrefix;\n const submitOnChange = this.props.submitOnChange;\n const dom = findDOMNode(this) as HTMLElement;\n this.sortable = new Sortable(\n dom.querySelector(`.${ns}Combo-items`) as HTMLElement,\n {\n group: `combo-${this.id}`,\n animation: 150,\n handle: `.${ns}Combo-itemDrager`,\n ghostClass: `${ns}Combo-item--dragging`,\n onEnd: (e: any) => {\n // 没有移动\n if (e.newIndex === e.oldIndex) {\n return;\n }\n\n // 换回来\n const parent = e.to as HTMLElement;\n if (e.oldIndex < parent.childNodes.length - 1) {\n parent.insertBefore(e.item, parent.childNodes[e.oldIndex]);\n } else {\n parent.appendChild(e.item);\n }\n\n const value = this.props.value;\n if (!Array.isArray(value)) {\n return;\n }\n const newValue = value.concat();\n newValue.splice(e.newIndex, 0, newValue.splice(e.oldIndex, 1)[0]);\n this.keys.splice(e.newIndex, 0, this.keys.splice(e.oldIndex, 1)[0]);\n this.props.onChange(newValue, submitOnChange, true);\n }\n }\n );\n }\n\n destroyDragging() {\n this.sortable && this.sortable.destroy();\n }\n\n refsMap: {\n [propName: number]: any;\n } = {};\n\n makeFormRef = memoize(\n (index: number) => (ref: any) => this.formRef(ref, index)\n );\n\n formRef(ref: any, index: number = 0) {\n if (ref) {\n while (ref && ref.getWrappedInstance) {\n ref = ref.getWrappedInstance();\n }\n this.subForms[index] = ref;\n this.refsMap[index] = ref;\n } else {\n const form = this.refsMap[index];\n this.subForms = this.subForms.filter(item => item !== form);\n this.subFormDefaultValues = this.subFormDefaultValues.filter(\n ({index: dIndex}) => dIndex !== index\n );\n delete this.refsMap[index];\n }\n }\n\n memoizedFormatValue = memoize(\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) => {\n return createObject(\n extendObject(data, {index, __index: index, ...data}),\n {\n ...value,\n ...(Array.isArray(syncFields) ? pickVars(data, syncFields!) : null)\n }\n );\n },\n (\n strictMode: boolean,\n syncFields: Array<string> | void,\n value: any,\n index: number,\n data: any\n ) =>\n Array.isArray(syncFields)\n ? JSON.stringify([value, index, data, pickVars(data, syncFields)])\n : strictMode\n ? JSON.stringify([value, index])\n : JSON.stringify([value, index, data])\n );\n\n formatValue(value: any, index: number = -1) {\n const {flat, data, strictMode, syncFields} = this.props;\n\n if (flat) {\n value = {\n flat: value\n };\n }\n\n value = value || this.defaultValue;\n\n return this.memoizedFormatValue(\n strictMode !== false,\n syncFields,\n value,\n index,\n data\n );\n }\n\n pickCondition(value: any): ComboCondition | null {\n const conditions: Array<ComboCondition> = this.props.conditions!;\n return find(\n conditions,\n item => item.test && evalExpression(item.test, value)\n ) as ComboCondition | null;\n }\n\n handleComboTypeChange(index: number, selection: any) {\n const {multiple, onChange, value, flat, submitOnChange} = this.props;\n\n const conditions: Array<ComboCondition> = this.props\n .conditions as Array<ComboCondition>;\n const condition = find(conditions, item => item.label === selection.label);\n\n if (!condition) {\n return;\n }\n\n if (multiple) {\n const newValue = this.getValueAsArray();\n newValue.splice(index, 1, {\n ...dataMapping(condition.scaffold || {}, newValue[index])\n });\n\n // todo 支持 flat\n onChange(newValue, submitOnChange, true);\n } else {\n onChange(\n {\n ...dataMapping(condition.scaffold || {}, value)\n },\n submitOnChange,\n true\n );\n }\n }\n\n @autobind\n handleTabSelect(key: number) {\n const {store} = this.props;\n\n store.setActiveKey(key);\n }\n\n @autobind\n setNull(e: React.MouseEvent) {\n e.preventDefault();\n const {onChange} = this.props;\n onChange(null);\n\n Array.isArray(this.subForms) &&\n this.subForms.forEach(subForm => {\n subForm.clearErrors();\n });\n }\n\n renderPlaceholder() {\n const {placeholder, translate: __} = this.props;\n return (\n <span className=\"text-muted\">\n {__(placeholder || 'placeholder.noData')}\n </span>\n );\n }\n\n renderTabsMode() {\n const {\n classPrefix: ns,\n classnames: cx,\n tabsStyle,\n formClassName,\n render,\n disabled,\n store,\n flat,\n subFormMode,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n deleteIcon,\n tabsLabelTpl,\n conditions,\n changeImmediately,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n if (!Array.isArray(value)) {\n return this.renderPlaceholder();\n }\n\n // todo 支持拖拽排序。\n\n return (\n <CTabs\n className={'ComboTabs'}\n mode={tabsStyle}\n activeKey={store.activeKey}\n onSelect={this.handleTabSelect}\n additionBtns={\n !disabled ? (\n <li className={cx(`Tabs-link ComboTabs-addLink`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n icon: addIcon ? (\n <Icon icon=\"plus\" className=\"icon\" />\n ) : (\n ''\n ),\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <a\n onClick={this.addItem}\n data-position=\"left\"\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </a>\n )\n ) : null}\n </li>\n ) : null\n }\n >\n {value.map((value, index) => {\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null | undefined = null;\n let toolbar = undefined;\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n toolbar = (\n <div\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-tab-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"close\" className=\"icon\" />\n )}\n </div>\n );\n }\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n const hasUnique =\n Array.isArray(finnalControls) &&\n finnalControls.some((item: any) => item.unique);\n\n return (\n <Tab\n title={filter(\n tabsLabelTpl ||\n __('{{index}}', {index: (data as any).index + 1}),\n data\n )}\n key={this.keys[index] || (this.keys[index] = guid())}\n toolbar={toolbar}\n eventKey={index}\n // 不能按需渲染,因为 unique 会失效。\n mountOnEnter={!hasUnique}\n unmountOnExit={false}\n >\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: subFormMode,\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n canAccessSuperData,\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </Tab>\n );\n })}\n </CTabs>\n );\n }\n\n renderMultipe() {\n if (this.props.tabsMode) {\n return this.renderTabsMode();\n }\n\n const {\n classPrefix: ns,\n classnames: cx,\n formClassName,\n render,\n multiLine,\n addButtonClassName,\n disabled,\n store,\n flat,\n subFormMode,\n draggable,\n draggableTip,\n addButtonText,\n addable,\n removable,\n typeSwitchable,\n itemRemovableOn,\n delimiter,\n canAccessSuperData,\n addIcon,\n dragIcon,\n deleteIcon,\n noBorder,\n conditions,\n lazyLoad,\n changeImmediately,\n placeholder,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n let value = this.props.value;\n\n if (flat && typeof value === 'string') {\n value = value.split(delimiter || ',');\n }\n\n const finnalRemovable =\n store.removable !== false && // minLength ?\n !disabled && // 控件自身是否禁用\n removable !== false; // 是否可以删除\n\n return (\n <div\n className={cx(\n `Combo Combo--multi`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : '',\n !disabled && draggable && Array.isArray(value) && value.length > 1\n ? 'is-draggable'\n : ''\n )}\n >\n <div className={cx(`Combo-items`)}>\n {Array.isArray(value) && value.length ? (\n value.map((value, index, thelist) => {\n let delBtn: any = null;\n\n if (\n finnalRemovable && // 表达式判断单条是否可删除\n (!itemRemovableOn ||\n evalExpression(itemRemovableOn, value) !== false)\n ) {\n delBtn = (\n <a\n onClick={this.removeItem.bind(this, index)}\n key=\"remove\"\n className={cx(\n `Combo-delBtn ${!store.removable ? 'is-disabled' : ''}`\n )}\n data-tooltip={__('delete')}\n data-position=\"bottom\"\n >\n {deleteIcon ? (\n <i className={deleteIcon} />\n ) : (\n <Icon icon=\"close\" className=\"icon\" />\n )}\n </a>\n );\n }\n\n const data = this.formatValue(value, index);\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n let finnalControls =\n flat && items\n ? [\n {\n ...(items && items[0]),\n name: 'flat'\n }\n ]\n : items;\n\n return (\n <div\n className={cx(`Combo-item`)}\n key={this.keys[index] || (this.keys[index] = guid())}\n >\n {!disabled && draggable && thelist.length > 1 ? (\n <div className={cx('Combo-itemDrager')}>\n <a\n key=\"drag\"\n data-tooltip={__('Combo.dragDropSort')}\n data-position=\"bottom\"\n >\n {dragIcon ? (\n <i className={dragIcon} />\n ) : (\n <Icon icon=\"drag-bar\" className=\"icon\" />\n )}\n </a>\n </div>\n ) : null}\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, index)}\n options={(conditions as Array<ComboCondition>).map(\n item => ({\n label: item.label,\n value: item.label\n })\n )}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n <div className={cx(`Combo-itemInner`)}>\n {finnalControls ? (\n render(\n `multiple/${index}`,\n {\n type: 'form',\n body: finnalControls,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? subFormMode : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n index,\n disabled,\n data,\n onChange: this.handleChange,\n onInit: this.handleFormInit,\n onAction: this.handleAction,\n ref: this.makeFormRef(index),\n lazyChange: changeImmediately ? false : true,\n formLazyChange: false,\n lazyLoad,\n canAccessSuperData,\n value: undefined,\n formItemValue: undefined,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n {delBtn}\n </div>\n );\n })\n ) : placeholder ? (\n <div className={cx(`Combo-placeholder`)}>{__(placeholder)}</div>\n ) : null}\n </div>\n {!disabled ? (\n <div className={cx(`Combo-toolbar`)}>\n {store.addable && addable !== false ? (\n Array.isArray(conditions) && conditions.length ? (\n render(\n 'add-button',\n {\n type: 'dropdown-button',\n label: __(addButtonText || 'Combo.add'),\n level: 'info',\n size: 'sm',\n closeOnClick: true\n },\n {\n buttons: conditions.map(item => ({\n label: item.label,\n onClick: (e: any) => {\n this.addItemWith(item);\n return false;\n }\n }))\n }\n )\n ) : (\n <button\n type=\"button\"\n onClick={this.addItem}\n className={cx(`Button Combo-addBtn`, addButtonClassName)}\n data-tooltip={__('Combo.add')}\n >\n {addIcon ? <Icon icon=\"plus\" className=\"icon\" /> : null}\n <span>{__(addButtonText || 'Combo.add')}</span>\n </button>\n )\n ) : null}\n {draggable ? (\n <span className={cx(`Combo-dragableTip`)} ref={this.dragTipRef}>\n {Array.isArray(value) && value.length > 1\n ? __(draggableTip)\n : ''}\n </span>\n ) : null}\n </div>\n ) : null}\n </div>\n );\n }\n\n renderSingle() {\n const {\n conditions,\n classnames: cx,\n render,\n value,\n multiLine,\n formClassName,\n canAccessSuperData,\n noBorder,\n disabled,\n typeSwitchable,\n nullable,\n translate: __\n } = this.props;\n\n let items = this.props.items;\n const data = isObject(value) ? this.formatValue(value) : this.defaultValue;\n let condition: ComboCondition | null = null;\n\n if (Array.isArray(conditions) && conditions.length) {\n condition = this.pickCondition(data);\n items = condition ? condition.items : undefined;\n }\n\n return (\n <div\n className={cx(\n `Combo Combo--single`,\n multiLine ? `Combo--ver` : `Combo--hor`,\n noBorder ? `Combo--noBorder` : '',\n disabled ? 'is-disabled' : ''\n )}\n >\n <div className={cx(`Combo-item`)}>\n {condition && typeSwitchable !== false ? (\n <div className={cx('Combo-itemTag')}>\n <label>{__('Combo.type')}</label>\n <Select\n onChange={this.handleComboTypeChange.bind(this, 0)}\n options={(conditions as Array<ComboCondition>).map(item => ({\n label: item.label,\n value: item.label\n }))}\n value={condition.label}\n clearable={false}\n />\n </div>\n ) : null}\n\n <div className={cx(`Combo-itemInner`)}>\n {items ? (\n render(\n 'single',\n {\n type: 'form',\n body: items,\n wrapperComponent: 'div',\n wrapWithPanel: false,\n mode: multiLine ? 'normal' : 'row',\n className: cx(`Combo-form`, formClassName)\n },\n {\n disabled: disabled,\n data: data,\n onChange: this.handleSingleFormChange,\n ref: this.makeFormRef(0),\n onInit: this.handleSingleFormInit,\n canAccessSuperData,\n formStore: undefined\n }\n )\n ) : (\n <Alert2 level=\"warning\" className=\"m-b-none\">\n {__('Combo.invalidData')}\n </Alert2>\n )}\n </div>\n </div>\n {value && nullable ? (\n <a className={cx('Combo-setNullBtn')} href=\"#\" onClick={this.setNull}>\n {__('clear')}\n </a>\n ) : null}\n </div>\n );\n }\n\n render() {\n const {\n formInited,\n multiple,\n className,\n classPrefix: ns,\n classnames: cx,\n disabled\n } = this.props;\n\n return formInited || typeof formInited === 'undefined' ? (\n <div className={cx(`ComboControl`, className)}>\n {multiple ? this.renderMultipe() : this.renderSingle()}\n </div>\n ) : null;\n }\n}\n\n@FormItem({\n type: 'combo',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class ComboControlRenderer extends ComboControl {}\n\n@FormItem({\n type: 'input-kv',\n storeType: ComboStore.name,\n extendsData: false\n})\nexport class KVControlRenderer extends ComboControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -219,7 +219,6 @@ export declare class DiffEditorControlRenderer extends DiffEditor {
|
|
219
219
|
markBusying: (busying?: boolean) => void;
|
220
220
|
fetchInitData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
221
221
|
fetchData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
222
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
223
222
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
224
223
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
225
224
|
clearMessage: () => void;
|
@@ -3496,7 +3495,6 @@ export declare class DiffEditorControlRenderer extends DiffEditor {
|
|
3496
3495
|
markBusying: (busying?: boolean) => void;
|
3497
3496
|
fetchInitData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
3498
3497
|
fetchData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
3499
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
3500
3498
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
3501
3499
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
3502
3500
|
clearMessage: () => void;
|
@@ -213,7 +213,6 @@ export declare class EditorControlRenderer extends EditorControl {
|
|
213
213
|
markBusying: (busying?: boolean) => void;
|
214
214
|
fetchInitData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
215
215
|
fetchData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
216
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
217
216
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
218
217
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
219
218
|
clearMessage: () => void;
|
@@ -3490,7 +3489,6 @@ export declare class EditorControlRenderer extends EditorControl {
|
|
3490
3489
|
markBusying: (busying?: boolean) => void;
|
3491
3490
|
fetchInitData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
3492
3491
|
fetchData: (api: import("../../types").Api, data?: object | undefined, options?: import("../../types").fetchOptions | undefined) => Promise<any>;
|
3493
|
-
fetchWSData: (ws: string, afterDataFetch: (data: any) => any) => void;
|
3494
3492
|
reInitData: (data: object | undefined, replace?: boolean) => void;
|
3495
3493
|
updateMessage: (msg?: string | undefined, error?: boolean) => void;
|
3496
3494
|
clearMessage: () => void;
|
@@ -80,7 +80,7 @@ var EditorControl = /** @class */ (function (_super) {
|
|
80
80
|
EditorControl.defaultProps = {
|
81
81
|
language: 'javascript',
|
82
82
|
editorTheme: 'vs',
|
83
|
-
allowFullscreen:
|
83
|
+
allowFullscreen: true,
|
84
84
|
options: {
|
85
85
|
automaticLayout: true,
|
86
86
|
selectOnLineNumbers: true,
|