amis 1.9.1-beta.19 → 1.9.1-beta.23
Sign up to get free protection for your applications and to get access to all the features.
- package/lib/components/Radios.d.ts +10 -10
- package/lib/components/ResultBox.d.ts +44 -40
- package/lib/components/ResultBox.js +43 -7
- package/lib/components/ResultBox.js.map +2 -2
- package/lib/components/ResultTableList.js +16 -17
- package/lib/components/ResultTableList.js.map +2 -2
- package/lib/components/Select.d.ts +498 -294
- package/lib/components/Select.js +64 -12
- package/lib/components/Select.js.map +2 -2
- package/lib/components/TableSelection.d.ts +42 -40
- package/lib/components/TableSelection.js +7 -2
- package/lib/components/TableSelection.js.map +2 -2
- package/lib/components/TooltipWrapper.d.ts +1 -1
- package/lib/components/TooltipWrapper.js.map +2 -2
- package/lib/components/TransferDropDown.d.ts +43 -40
- package/lib/components/TransferDropDown.js +2 -2
- package/lib/components/TransferDropDown.js.map +2 -2
- package/lib/helper.css.map +1 -1
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +1 -1
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +1 -1
- package/lib/locale/en-US.js.map +2 -2
- package/lib/renderers/CRUD.js +2 -2
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Form/DiffEditor.d.ts +66 -20
- package/lib/renderers/Form/Editor.d.ts +66 -20
- package/lib/renderers/Form/Group.js +1 -1
- package/lib/renderers/Form/Group.js.map +2 -2
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputTag.d.ts +8 -0
- package/lib/renderers/Form/InputTag.js +2 -2
- package/lib/renderers/Form/InputTag.js.map +2 -2
- package/lib/renderers/Form/Options.js +7 -7
- package/lib/renderers/Form/Options.js.map +2 -2
- package/lib/renderers/Form/Select.d.ts +24 -0
- package/lib/renderers/Form/Select.js +5 -3
- package/lib/renderers/Form/Select.js.map +2 -2
- package/lib/renderers/Form/Transfer.d.ts +1 -0
- package/lib/renderers/Form/Transfer.js +4 -0
- package/lib/renderers/Form/Transfer.js.map +2 -2
- package/lib/renderers/Form/TreeSelect.d.ts +0 -1
- package/lib/renderers/Form/TreeSelect.js +1 -9
- package/lib/renderers/Form/TreeSelect.js.map +2 -2
- package/lib/renderers/Form/index.js +9 -4
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/QRCode.d.ts +16 -0
- package/lib/renderers/QRCode.js +25 -1
- package/lib/renderers/QRCode.js.map +2 -2
- package/lib/renderers/Table/exportExcel.js +51 -37
- package/lib/renderers/Table/exportExcel.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +2 -0
- package/lib/renderers/Table/index.js +37 -5
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tpl.d.ts +4 -0
- package/lib/renderers/Tpl.js +6 -3
- package/lib/renderers/Tpl.js.map +2 -2
- package/lib/store/combo.d.ts +72 -22
- package/lib/store/form.d.ts +30 -9
- package/lib/store/form.js +28 -10
- package/lib/store/form.js.map +2 -2
- package/lib/store/formItem.d.ts +3 -1
- package/lib/store/formItem.js +3 -5
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/table.d.ts +60 -18
- package/lib/themes/ang-ie11.css +94 -13
- package/lib/themes/ang.css +99 -13
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +94 -13
- package/lib/themes/antd.css +99 -13
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +94 -13
- package/lib/themes/cxd.css +101 -13
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +94 -13
- package/lib/themes/dark.css +99 -13
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +94 -13
- package/lib/themes/default.css +101 -13
- package/lib/themes/default.css.map +1 -1
- package/lib/utils/helper.d.ts +1 -0
- package/lib/utils/helper.js +11 -1
- package/lib/utils/helper.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +94 -28
- package/scss/_mixins.scss +1 -1
- package/scss/_properties.scss +11 -6
- package/scss/components/_result-box.scss +34 -2
- package/scss/components/form/_select.scss +88 -32
- package/scss/components/form/_selection.scss +9 -6
- package/scss/themes/_cxd-variables.scss +2 -0
- package/scss/themes/cxd.scss +0 -2
- package/sdk/ang-ie11.css +108 -13
- package/sdk/ang.css +113 -13
- package/sdk/antd-ie11.css +108 -13
- package/sdk/antd.css +113 -13
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +108 -13
- package/sdk/cxd.css +115 -13
- package/sdk/dark-ie11.css +108 -13
- package/sdk/dark.css +113 -13
- package/sdk/exceljs.js +1 -1
- package/sdk/helper.css.map +1 -1
- package/sdk/locale/de-DE.js +2 -2
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +16 -16
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +108 -13
- package/sdk/sdk.css +115 -13
- package/sdk/sdk.js +1341 -1341
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/components/ResultBox.tsx +98 -12
- package/src/components/ResultTableList.tsx +32 -33
- package/src/components/Select.tsx +149 -17
- package/src/components/TableSelection.tsx +15 -8
- package/src/components/TooltipWrapper.tsx +20 -14
- package/src/components/TransferDropDown.tsx +9 -1
- package/src/locale/de-DE.ts +2 -2
- package/src/locale/en-US.ts +2 -2
- package/src/renderers/CRUD.tsx +2 -2
- package/src/renderers/Form/Group.tsx +1 -1
- package/src/renderers/Form/InputImage.tsx +4 -2
- package/src/renderers/Form/InputTag.tsx +14 -0
- package/src/renderers/Form/Options.tsx +7 -9
- package/src/renderers/Form/Select.tsx +41 -2
- package/src/renderers/Form/Transfer.tsx +6 -0
- package/src/renderers/Form/TreeSelect.tsx +14 -16
- package/src/renderers/Form/index.tsx +13 -2
- package/src/renderers/QRCode.tsx +50 -1
- package/src/renderers/Table/exportExcel.ts +30 -13
- package/src/renderers/Table/index.tsx +42 -6
- package/src/renderers/Tpl.tsx +11 -1
- package/src/store/form.ts +31 -24
- package/src/store/formItem.ts +65 -52
- package/src/utils/helper.ts +11 -1
@@ -4,11 +4,14 @@ exports.ResultBox = void 0;
|
|
4
4
|
var tslib_1 = require("tslib");
|
5
5
|
var theme_1 = require("../theme");
|
6
6
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
7
|
+
var omit_1 = (0, tslib_1.__importDefault)(require("lodash/omit"));
|
8
|
+
var isInteger_1 = (0, tslib_1.__importDefault)(require("lodash/isInteger"));
|
7
9
|
var uncontrollable_1 = require("uncontrollable");
|
8
10
|
var icons_1 = require("./icons");
|
9
11
|
var Input_1 = (0, tslib_1.__importDefault)(require("./Input"));
|
10
12
|
var helper_1 = require("../utils/helper");
|
11
13
|
var locale_1 = require("../locale");
|
14
|
+
var TooltipWrapper_1 = (0, tslib_1.__importDefault)(require("./TooltipWrapper"));
|
12
15
|
var isPlainObject = require("lodash/isPlainObject");
|
13
16
|
var ResultBox = /** @class */ (function (_super) {
|
14
17
|
(0, tslib_1.__extends)(ResultBox, _super);
|
@@ -60,12 +63,46 @@ var ResultBox = /** @class */ (function (_super) {
|
|
60
63
|
var onChange = this.props.onChange;
|
61
64
|
onChange === null || onChange === void 0 ? void 0 : onChange(e.currentTarget.value);
|
62
65
|
};
|
66
|
+
ResultBox.prototype.renderMultipeTags = function (tags) {
|
67
|
+
var _this = this;
|
68
|
+
var _a = this.props, maxTagCount = _a.maxTagCount, overflowTagPopover = _a.overflowTagPopover, itemRender = _a.itemRender, cx = _a.classnames;
|
69
|
+
if (maxTagCount != null &&
|
70
|
+
(0, isInteger_1.default)(Math.floor(maxTagCount)) &&
|
71
|
+
Math.floor(maxTagCount) >= 0 &&
|
72
|
+
Math.floor(maxTagCount) < tags.length) {
|
73
|
+
var maxVisibleCount_1 = Math.floor(maxTagCount);
|
74
|
+
var tooltipProps_1 = (0, tslib_1.__assign)({ placement: 'top', trigger: 'hover', showArrow: false, offset: [0, -10], tooltipClassName: cx('ResultBox-overflow', overflowTagPopover === null || overflowTagPopover === void 0 ? void 0 : overflowTagPopover.tooltipClassName) }, (0, omit_1.default)(overflowTagPopover, ['children', 'content', 'tooltipClassName']));
|
75
|
+
return (0, tslib_1.__spreadArray)((0, tslib_1.__spreadArray)([], tags.slice(0, maxVisibleCount_1), true), [
|
76
|
+
{ label: "+ ".concat(tags.length - maxVisibleCount_1, " ...") }
|
77
|
+
], false).map(function (item, index) {
|
78
|
+
return index === maxVisibleCount_1 ? (react_1.default.createElement(TooltipWrapper_1.default, { key: tags.length, tooltip: (0, tslib_1.__assign)((0, tslib_1.__assign)({}, tooltipProps_1), { children: function () { return (react_1.default.createElement("div", { className: cx('ResultBox-overflow-wrapper') }, tags
|
79
|
+
.slice(maxVisibleCount_1, tags.length)
|
80
|
+
.map(function (item, index) {
|
81
|
+
var itemIndex = index + maxVisibleCount_1;
|
82
|
+
return (react_1.default.createElement("div", { className: cx('ResultBox-value'), key: itemIndex },
|
83
|
+
react_1.default.createElement("span", { className: cx('ResultBox-valueLabel') }, itemRender(item)),
|
84
|
+
react_1.default.createElement("a", { "data-index": itemIndex, onClick: _this.removeItem },
|
85
|
+
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))));
|
86
|
+
}))); } }) },
|
87
|
+
react_1.default.createElement("div", { className: cx('ResultBox-value'), key: index },
|
88
|
+
react_1.default.createElement("span", { className: cx('ResultBox-valueLabel') }, item.label)))) : (react_1.default.createElement("div", { className: cx('ResultBox-value'), key: index },
|
89
|
+
react_1.default.createElement("span", { className: cx('ResultBox-valueLabel') }, itemRender(item)),
|
90
|
+
react_1.default.createElement("a", { "data-index": index, onClick: _this.removeItem },
|
91
|
+
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))));
|
92
|
+
});
|
93
|
+
}
|
94
|
+
return tags.map(function (item, index) { return (react_1.default.createElement("div", { className: cx('ResultBox-value'), key: index },
|
95
|
+
react_1.default.createElement("span", { className: cx('ResultBox-valueLabel') }, itemRender(item)),
|
96
|
+
react_1.default.createElement("a", { "data-index": index, onClick: _this.removeItem },
|
97
|
+
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" })))); });
|
98
|
+
};
|
63
99
|
ResultBox.prototype.render = function () {
|
64
100
|
var _a;
|
65
|
-
var _this = this;
|
66
101
|
var _b = this.props, className = _b.className, cx = _b.classnames, classPrefix = _b.classPrefix, clearable = _b.clearable, disabled = _b.disabled, hasError = _b.hasError, result = _b.result, value = _b.value, placeholder = _b.placeholder, children = _b.children, itemRender = _b.itemRender, allowInput = _b.allowInput, inputPlaceholder = _b.inputPlaceholder, onResultChange = _b.onResultChange, onChange = _b.onChange, onResultClick = _b.onResultClick, __ = _b.translate, locale = _b.locale, onKeyPress = _b.onKeyPress, onFocus = _b.onFocus, onBlur = _b.onBlur, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI, hasDropDownArrow = _b.hasDropDownArrow, onClear = _b.onClear, rest = (0, tslib_1.__rest)(_b, ["className", "classnames", "classPrefix", "clearable", "disabled", "hasError", "result", "value", "placeholder", "children", "itemRender", "allowInput", "inputPlaceholder", "onResultChange", "onChange", "onResultClick", "translate", "locale", "onKeyPress", "onFocus", "onBlur", "borderMode", "useMobileUI", "hasDropDownArrow", "onClear"]);
|
67
102
|
var isFocused = this.state.isFocused;
|
68
103
|
var mobileUI = useMobileUI && (0, helper_1.isMobile)();
|
104
|
+
/** 不需要透传给Input的属性 */
|
105
|
+
var omitPropsList = ['maxTagCount', 'overflowTagPopover'];
|
69
106
|
return (react_1.default.createElement("div", { className: cx('ResultBox', className, (_a = {
|
70
107
|
'is-focused': isFocused,
|
71
108
|
'is-disabled': disabled,
|
@@ -77,13 +114,12 @@ var ResultBox = /** @class */ (function (_super) {
|
|
77
114
|
},
|
78
115
|
_a["ResultBox--border".concat((0, helper_1.ucFirst)(borderMode))] = borderMode,
|
79
116
|
_a)), onClick: onResultClick, tabIndex: !allowInput && !disabled && onFocus ? 0 : -1, onKeyPress: allowInput ? undefined : onKeyPress, onFocus: allowInput ? undefined : onFocus, onBlur: allowInput ? undefined : onBlur },
|
80
|
-
Array.isArray(result) && result.length ? (result.
|
81
|
-
|
82
|
-
react_1.default.createElement("a", { "data-index": index, onClick: _this.removeItem },
|
83
|
-
react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" })))); })) : result && !Array.isArray(result) ? (react_1.default.createElement("span", { className: cx('ResultBox-singleValue') }, isPlainObject(result) ? itemRender(result) : result)) : allowInput && !disabled ? null : (react_1.default.createElement("span", { className: cx('ResultBox-placeholder') }, __(placeholder || 'placeholder.noData'))),
|
84
|
-
allowInput && !disabled ? (react_1.default.createElement(Input_1.default, (0, tslib_1.__assign)({}, rest, { onKeyPress: onKeyPress, ref: this.inputRef, value: value || '', onChange: this.handleChange, placeholder: __(Array.isArray(result) && result.length
|
117
|
+
Array.isArray(result) && result.length ? (this.renderMultipeTags(result)) : result && !Array.isArray(result) ? (react_1.default.createElement("span", { className: cx('ResultBox-singleValue') }, isPlainObject(result) ? itemRender(result) : result)) : allowInput && !disabled ? null : (react_1.default.createElement("span", { className: cx('ResultBox-placeholder') }, __(placeholder || 'placeholder.noData'))),
|
118
|
+
allowInput && !disabled ? (react_1.default.createElement(Input_1.default, (0, tslib_1.__assign)({}, (0, omit_1.default)(rest, omitPropsList), { onKeyPress: onKeyPress, ref: this.inputRef, value: value || '', onChange: this.handleChange, placeholder: __(Array.isArray(result) && result.length
|
85
119
|
? inputPlaceholder
|
86
|
-
:
|
120
|
+
: result
|
121
|
+
? ''
|
122
|
+
: placeholder), onFocus: this.handleFocus, onBlur: this.handleBlur }))) : null,
|
87
123
|
children,
|
88
124
|
clearable &&
|
89
125
|
!disabled &&
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/ResultBox.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,kCAA+C;AAC/C,6DAA0B;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import {ThemeProps, themeable} from '../theme';\nimport React from 'react';\nimport {InputBoxProps} from './InputBox';\nimport {uncontrollable} from 'uncontrollable';\nimport {Icon} from './icons';\nimport Input from './Input';\nimport {autobind, isMobile, ucFirst} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\nimport isPlainObject = require('lodash/isPlainObject');\n\nexport interface ResultBoxProps\n extends ThemeProps,\n LocaleProps,\n Omit<InputBoxProps, 'result' | 'prefix' | 'onChange' | 'translate'> {\n onChange?: (value: string) => void;\n onResultClick?: (e: React.MouseEvent<HTMLElement>) => void;\n result?: Array<any> | any;\n itemRender: (value: any) => JSX.Element | string;\n onResultChange?: (value: Array<any>) => void;\n onClear?: (e: React.MouseEvent<HTMLElement>) => void;\n allowInput?: boolean;\n inputPlaceholder: string;\n useMobileUI?: boolean;\n hasDropDownArrow?: boolean;\n}\n\nexport class ResultBox extends React.Component<ResultBoxProps> {\n static defaultProps: Pick<\n ResultBoxProps,\n 'clearable' | 'placeholder' | 'itemRender' | 'inputPlaceholder'\n > = {\n clearable: false,\n placeholder: 'placeholder.noData',\n inputPlaceholder: 'placeholder.enter',\n itemRender: (option: any) => (\n <span>{`${option.scopeLabel || ''}${option.label}`}</span>\n )\n };\n\n state = {\n isFocused: false\n };\n\n inputRef: React.RefObject<any> = React.createRef();\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n blur() {\n this.inputRef.current?.blur();\n }\n\n @autobind\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n this.props.onClear && this.props.onClear(e);\n this.props.onResultChange && this.props.onResultChange([]);\n }\n\n @autobind\n handleFocus(e: any) {\n const onFocus = this.props.onFocus;\n onFocus && onFocus(e);\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur(e: any) {\n const onBlur = this.props.onBlur;\n onBlur && onBlur(e);\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n removeItem(e: React.MouseEvent<HTMLElement>) {\n e.stopPropagation();\n e.preventDefault();\n\n const {result, onResultChange} = this.props;\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const newResult = Array.isArray(result) ? result.concat() : [];\n newResult.splice(index, 1);\n onResultChange && onResultChange(newResult);\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n onChange?.(e.currentTarget.value);\n }\n\n render() {\n const {\n className,\n classnames: cx,\n classPrefix,\n clearable,\n disabled,\n hasError,\n result,\n value,\n placeholder,\n children,\n itemRender,\n allowInput,\n inputPlaceholder,\n onResultChange,\n onChange,\n onResultClick,\n translate: __,\n locale,\n onKeyPress,\n onFocus,\n onBlur,\n borderMode,\n useMobileUI,\n hasDropDownArrow,\n onClear,\n ...rest\n } = this.props;\n const isFocused = this.state.isFocused;\n const mobileUI = useMobileUI && isMobile();\n return (\n <div\n className={cx('ResultBox', className, {\n 'is-focused': isFocused,\n 'is-disabled': disabled,\n 'is-error': hasError,\n 'is-clickable': onResultClick,\n 'is-clearable': clearable,\n 'is-mobile': mobileUI,\n 'is-group': Array.isArray(result),\n [`ResultBox--border${ucFirst(borderMode)}`]: borderMode\n })}\n onClick={onResultClick}\n tabIndex={!allowInput && !disabled && onFocus ? 0 : -1}\n onKeyPress={allowInput ? undefined : onKeyPress}\n onFocus={allowInput ? undefined : onFocus}\n onBlur={allowInput ? undefined : onBlur}\n >\n {Array.isArray(result) && result.length ? (\n
|
11
|
+
"import {ThemeProps, themeable} from '../theme';\nimport React from 'react';\nimport omit from 'lodash/omit';\nimport isInteger from 'lodash/isInteger';\nimport {InputBoxProps} from './InputBox';\nimport {uncontrollable} from 'uncontrollable';\nimport {Icon} from './icons';\nimport Input from './Input';\nimport {autobind, isMobile, ucFirst} from '../utils/helper';\nimport {LocaleProps, localeable} from '../locale';\nimport TooltipWrapper, {TooltipObject} from './TooltipWrapper';\nimport isPlainObject = require('lodash/isPlainObject');\n\nexport interface ResultBoxProps\n extends ThemeProps,\n LocaleProps,\n Omit<InputBoxProps, 'result' | 'prefix' | 'onChange' | 'translate'> {\n onChange?: (value: string) => void;\n onResultClick?: (e: React.MouseEvent<HTMLElement>) => void;\n result?: Array<any> | any;\n itemRender: (value: any) => JSX.Element | string;\n onResultChange?: (value: Array<any>) => void;\n onClear?: (e: React.MouseEvent<HTMLElement>) => void;\n allowInput?: boolean;\n inputPlaceholder: string;\n useMobileUI?: boolean;\n hasDropDownArrow?: boolean;\n maxTagCount?: number;\n overflowTagPopover?: TooltipObject;\n}\n\nexport class ResultBox extends React.Component<ResultBoxProps> {\n static defaultProps: Pick<\n ResultBoxProps,\n 'clearable' | 'placeholder' | 'itemRender' | 'inputPlaceholder'\n > = {\n clearable: false,\n placeholder: 'placeholder.noData',\n inputPlaceholder: 'placeholder.enter',\n itemRender: (option: any) => (\n <span>{`${option.scopeLabel || ''}${option.label}`}</span>\n )\n };\n\n state = {\n isFocused: false\n };\n\n inputRef: React.RefObject<any> = React.createRef();\n\n focus() {\n this.inputRef.current?.focus();\n }\n\n blur() {\n this.inputRef.current?.blur();\n }\n\n @autobind\n clearValue(e: React.MouseEvent<any>) {\n e.preventDefault();\n this.props.onClear && this.props.onClear(e);\n this.props.onResultChange && this.props.onResultChange([]);\n }\n\n @autobind\n handleFocus(e: any) {\n const onFocus = this.props.onFocus;\n onFocus && onFocus(e);\n this.setState({\n isFocused: true\n });\n }\n\n @autobind\n handleBlur(e: any) {\n const onBlur = this.props.onBlur;\n onBlur && onBlur(e);\n this.setState({\n isFocused: false\n });\n }\n\n @autobind\n removeItem(e: React.MouseEvent<HTMLElement>) {\n e.stopPropagation();\n e.preventDefault();\n\n const {result, onResultChange} = this.props;\n const index = parseInt(e.currentTarget.getAttribute('data-index')!, 10);\n const newResult = Array.isArray(result) ? result.concat() : [];\n newResult.splice(index, 1);\n onResultChange && onResultChange(newResult);\n }\n\n @autobind\n handleChange(e: React.ChangeEvent<HTMLInputElement>) {\n const {onChange} = this.props;\n onChange?.(e.currentTarget.value);\n }\n\n renderMultipeTags(tags: any[]) {\n const {\n maxTagCount,\n overflowTagPopover,\n itemRender,\n classnames: cx\n } = this.props;\n\n if (\n maxTagCount != null &&\n isInteger(Math.floor(maxTagCount)) &&\n Math.floor(maxTagCount) >= 0 &&\n Math.floor(maxTagCount) < tags.length\n ) {\n const maxVisibleCount = Math.floor(maxTagCount);\n const tooltipProps: TooltipObject = {\n placement: 'top',\n trigger: 'hover',\n showArrow: false,\n offset: [0, -10],\n tooltipClassName: cx(\n 'ResultBox-overflow',\n overflowTagPopover?.tooltipClassName\n ),\n ...omit(overflowTagPopover, ['children', 'content', 'tooltipClassName'])\n };\n\n return [\n ...tags.slice(0, maxVisibleCount),\n {label: `+ ${tags.length - maxVisibleCount} ...`}\n ].map((item, index) => {\n return index === maxVisibleCount ? (\n <TooltipWrapper\n key={tags.length}\n tooltip={{\n ...tooltipProps,\n children: () => (\n <div className={cx('ResultBox-overflow-wrapper')}>\n {tags\n .slice(maxVisibleCount, tags.length)\n .map((item, index) => {\n const itemIndex = index + maxVisibleCount;\n\n return (\n <div className={cx('ResultBox-value')} key={itemIndex}>\n <span className={cx('ResultBox-valueLabel')}>\n {itemRender(item)}\n </span>\n <a data-index={itemIndex} onClick={this.removeItem}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </div>\n );\n })}\n </div>\n )\n }}\n >\n <div className={cx('ResultBox-value')} key={index}>\n <span className={cx('ResultBox-valueLabel')}>{item.label}</span>\n </div>\n </TooltipWrapper>\n ) : (\n <div className={cx('ResultBox-value')} key={index}>\n <span className={cx('ResultBox-valueLabel')}>\n {itemRender(item)}\n </span>\n <a data-index={index} onClick={this.removeItem}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </div>\n );\n });\n }\n\n return tags.map((item, index) => (\n <div className={cx('ResultBox-value')} key={index}>\n <span className={cx('ResultBox-valueLabel')}>{itemRender(item)}</span>\n <a data-index={index} onClick={this.removeItem}>\n <Icon icon=\"close\" className=\"icon\" />\n </a>\n </div>\n ));\n }\n\n render() {\n const {\n className,\n classnames: cx,\n classPrefix,\n clearable,\n disabled,\n hasError,\n result,\n value,\n placeholder,\n children,\n itemRender,\n allowInput,\n inputPlaceholder,\n onResultChange,\n onChange,\n onResultClick,\n translate: __,\n locale,\n onKeyPress,\n onFocus,\n onBlur,\n borderMode,\n useMobileUI,\n hasDropDownArrow,\n onClear,\n ...rest\n } = this.props;\n const isFocused = this.state.isFocused;\n const mobileUI = useMobileUI && isMobile();\n /** 不需要透传给Input的属性 */\n const omitPropsList = ['maxTagCount', 'overflowTagPopover'];\n\n return (\n <div\n className={cx('ResultBox', className, {\n 'is-focused': isFocused,\n 'is-disabled': disabled,\n 'is-error': hasError,\n 'is-clickable': onResultClick,\n 'is-clearable': clearable,\n 'is-mobile': mobileUI,\n 'is-group': Array.isArray(result),\n [`ResultBox--border${ucFirst(borderMode)}`]: borderMode\n })}\n onClick={onResultClick}\n tabIndex={!allowInput && !disabled && onFocus ? 0 : -1}\n onKeyPress={allowInput ? undefined : onKeyPress}\n onFocus={allowInput ? undefined : onFocus}\n onBlur={allowInput ? undefined : onBlur}\n >\n {Array.isArray(result) && result.length ? (\n this.renderMultipeTags(result)\n ) : result && !Array.isArray(result) ? (\n <span className={cx('ResultBox-singleValue')}>\n {isPlainObject(result) ? itemRender(result) : result}\n </span>\n ) : allowInput && !disabled ? null : (\n <span className={cx('ResultBox-placeholder')}>\n {__(placeholder || 'placeholder.noData')}\n </span>\n )}\n\n {allowInput && !disabled ? (\n <Input\n {...omit(rest, omitPropsList)}\n onKeyPress={onKeyPress}\n ref={this.inputRef}\n value={value || ''}\n onChange={this.handleChange}\n placeholder={__(\n Array.isArray(result) && result.length\n ? inputPlaceholder\n : result\n ? ''\n : placeholder\n )}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n ) : null}\n\n {children}\n\n {clearable &&\n !disabled &&\n (Array.isArray(result) ? result.length : result) ? (\n <a\n onClick={this.clearValue}\n className={cx('ResultBox-clear', {\n 'ResultBox-clear-with-arrow': hasDropDownArrow\n })}\n >\n <div className={cx('ResultBox-clear-wrap')}>\n <Icon icon=\"input-clear\" className=\"icon\" />\n </div>\n </a>\n ) : null}\n {hasDropDownArrow && !mobileUI && (\n <span className={cx('ResultBox-pc-arrow')}>\n <Icon icon=\"right-arrow-bold\" className=\"icon\" />\n </span>\n )}\n {!allowInput && mobileUI ? (\n <span className={cx('ResultBox-arrow')}>\n <Icon icon=\"caret\" className=\"icon\" />\n </span>\n ) : null}\n </div>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(ResultBox, {\n value: 'onChange',\n result: 'onResultChange'\n })\n )\n);\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -61,8 +61,9 @@ var BaseResultTableSelection = /** @class */ (function (_super) {
|
|
61
61
|
return;
|
62
62
|
}
|
63
63
|
var _a = this.props, value = _a.value, onSearch = _a.onSearch;
|
64
|
-
var searchOptions = (value || [])
|
65
|
-
|
64
|
+
var searchOptions = (value || []).filter(function (item) {
|
65
|
+
return onSearch === null || onSearch === void 0 ? void 0 : onSearch(inputValue, item);
|
66
|
+
});
|
66
67
|
this.setState({
|
67
68
|
searching: true,
|
68
69
|
searchTableOptions: searchOptions
|
@@ -78,21 +79,19 @@ var BaseResultTableSelection = /** @class */ (function (_super) {
|
|
78
79
|
var _this = this;
|
79
80
|
var _a = this.props, cx = _a.classnames, className = _a.className, columns = _a.columns, cellRender = _a.cellRender, value = _a.value, disabled = _a.disabled, option2value = _a.option2value, onChange = _a.onChange, __ = _a.translate, placeholder = _a.placeholder;
|
80
81
|
var _b = this.state, searching = _b.searching, tableOptions = _b.tableOptions, searchTableOptions = _b.searchTableOptions;
|
81
|
-
return (react_1.default.createElement("div", { className: cx('ResultTableList', className) }, Array.isArray(value) && value.length ?
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
} }))
|
95
|
-
: (react_1.default.createElement("div", { className: cx('Selections-placeholder') }, __(placeholder)))));
|
82
|
+
return (react_1.default.createElement("div", { className: cx('ResultTableList', className) }, Array.isArray(value) && value.length ? (react_1.default.createElement(TableSelection_1.default, { columns: columns, options: !searching ? tableOptions : searchTableOptions, value: value, disabled: disabled, option2value: option2value, onChange: onChange, multiple: false, resultMode: true, cellRender: function (column, option, colIndex, rowIndex) {
|
83
|
+
var raw = cellRender(column, option, colIndex, rowIndex);
|
84
|
+
if (colIndex === columns.length - 1) {
|
85
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
86
|
+
raw,
|
87
|
+
react_1.default.createElement("span", { className: cx('ResultTableList-close-btn'), onClick: function (e) {
|
88
|
+
e.stopPropagation();
|
89
|
+
_this.handleCloseItem(option);
|
90
|
+
} },
|
91
|
+
react_1.default.createElement(icons_1.CloseIcon, null))));
|
92
|
+
}
|
93
|
+
return raw;
|
94
|
+
} })) : (react_1.default.createElement("div", { className: cx('Selections-placeholder') }, __(placeholder)))));
|
96
95
|
};
|
97
96
|
BaseResultTableSelection.prototype.render = function () {
|
98
97
|
var _a = this.props, cx = _a.classnames, className = _a.className, title = _a.title, searchable = _a.searchable, __ = _a.translate, _b = _a.placeholder, placeholder = _b === void 0 ? __('Transfer.searchKeyword') : _b;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/components/ResultTableList.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";AAAA;;GAEG;;;;AAEH,6DAA0B;AAE1B,yCAA8D;AAC9D,kCAAmC;AACnC,mCAAyC;AACzC,oDAAqD;AACrD,oCAAqC;AACrC,0CAAyC;AACzC,iFAA8C;AAE9C,iCAAkC;AAClC,iFAA8C;AA8B9C;IAA8C,
|
9
|
+
"mappings": ";AAAA;;GAEG;;;;AAEH,6DAA0B;AAE1B,yCAA8D;AAC9D,kCAAmC;AACnC,mCAAyC;AACzC,oDAAqD;AACrD,oCAAqC;AACrC,0CAAyC;AACzC,iFAA8C;AAE9C,iCAAkC;AAClC,iFAA8C;AA8B9C;IAA8C,yDAG7C;IAHD;QAAA,qEAsLC;QApKC,WAAK,GAA8B;YACjC,YAAY,EAAE,EAAE;YAChB,SAAS,EAAE,KAAK;YAChB,kBAAkB,EAAE,EAAE;SACvB,CAAC;;IAgKJ,CAAC;IA9JQ,iDAAwB,GAA/B,UAAgC,KAAgC;QACvD,IAAA,OAAO,GAAyB,KAAK,QAA9B,EAAE,KAAK,GAAkB,KAAK,MAAvB,EAAE,YAAY,GAAI,KAAK,aAAT,CAAU;QAC7C,IAAM,UAAU,GAAG,yBAAa,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC3E,OAAO;YACL,YAAY,EAAE,UAAU;SACzB,CAAC;IACJ,CAAC;IAGD,kDAAe,GAAf,UAAgB,MAAc;QACtB,IAAA,KAAqD,IAAI,CAAC,KAAK,EAA9D,KAAK,WAAA,EAAE,QAAQ,cAAA,EAAE,YAAY,kBAAA,EAAE,OAAO,aAAA,EAAE,QAAQ,cAAc,CAAC;QAEhE,IAAA,KAAkC,IAAI,CAAC,KAAK,EAA3C,SAAS,eAAA,EAAE,kBAAkB,wBAAc,CAAC;QAEnD,IAAI,QAAQ,IAAI,MAAM,CAAC,QAAQ,EAAE;YAC/B,OAAO;SACR;QAED,QAAQ;QACR,IAAI,UAAU,GAAG,yBAAa,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAEzE,IAAI,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QACrC,UAAU,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC1B,IAAI,QAAQ,GAA2B,YAAY;YACjD,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,UAAA,IAAI,IAAI,OAAA,YAAY,CAAC,IAAI,CAAC,EAAlB,CAAkB,CAAC;YAC5C,CAAC,CAAC,UAAU,CAAC;QACf,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC;QAE/B,IAAI,SAAS,EAAE;YACb,IAAM,WAAW,GAAG,yBAAa,CAAC,WAAW,CAC3C,kBAAkB,EAClB,OAAO,EACP,YAAY,CACb,CAAC;YACF,IAAM,SAAS,GAAG,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9C,kBAAkB,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YACxC,IAAI,CAAC,QAAQ,CAAC,EAAC,kBAAkB,oBAAA,EAAC,CAAC,CAAC;SACrC;IACH,CAAC;IAGD,yCAAM,GAAN,UAAO,UAAkB;QACvB,YAAY;QACZ,IAAI,CAAC,UAAU,EAAE;YACf,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;SACR;QAEK,IAAA,KAAoB,IAAI,CAAC,KAAK,EAA7B,KAAK,WAAA,EAAE,QAAQ,cAAc,CAAC;QACrC,IAAM,aAAa,GAAI,CAAC,KAAK,IAAI,EAAE,CAAa,CAAC,MAAM,CAAC,UAAA,IAAI;YAC1D,OAAA,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,UAAU,EAAE,IAAI,CAAC;QAA5B,CAA4B,CAC7B,CAAC;QAEF,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,IAAI;YACf,kBAAkB,EAAE,aAAa;SAClC,CAAC,CAAC;IACL,CAAC;IAGD,8CAAW,GAAX;QACE,IAAI,CAAC,QAAQ,CAAC;YACZ,SAAS,EAAE,KAAK;YAChB,kBAAkB,EAAE,EAAE;SACvB,CAAC,CAAC;IACL,CAAC;IAED,8CAAW,GAAX;QAAA,iBAiEC;QAhEO,IAAA,KAWF,IAAI,CAAC,KAAK,EAVA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,KAAK,WAAA,EACL,QAAQ,cAAA,EACR,YAAY,kBAAA,EACZ,QAAQ,cAAA,EACG,EAAE,eAAA,EACb,WAAW,iBACC,CAAC;QAET,IAAA,KAAgD,IAAI,CAAC,KAAK,EAAzD,SAAS,eAAA,EAAE,YAAY,kBAAA,EAAE,kBAAkB,wBAAc,CAAC;QAEjE,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,iBAAiB,EAAE,SAAS,CAAC,IAC7C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CACtC,8BAAC,wBAAc,IACb,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,kBAAkB,EACvD,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,YAAY,EAC1B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,KAAK,EACf,UAAU,EAAE,IAAI,EAChB,UAAU,EAAE,UACV,MAIC,EACD,MAAc,EACd,QAAgB,EAChB,QAAgB;gBAEhB,IAAM,GAAG,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;gBAC3D,IAAI,QAAQ,KAAK,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,OAAO,CACL;wBACG,GAAG;wBAEF,wCACE,SAAS,EAAE,EAAE,CAAC,2BAA2B,CAAC,EAC1C,OAAO,EAAE,UAAC,CAAoC;gCAC5C,CAAC,CAAC,eAAe,EAAE,CAAC;gCACpB,KAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;4BAC/B,CAAC;4BAED,8BAAC,iBAAS,OAAG,CACR,CAER,CACJ,CAAC;iBACH;gBACD,OAAO,GAAG,CAAC;YACb,CAAC,GACD,CACH,CAAC,CAAC,CAAC,CACF,uCAAK,SAAS,EAAE,EAAE,CAAC,wBAAwB,CAAC,IAAG,EAAE,CAAC,WAAW,CAAC,CAAO,CACtE,CACG,CACP,CAAC;IACJ,CAAC;IAED,yCAAM,GAAN;QACQ,IAAA,KAOF,IAAI,CAAC,KAAK,EANA,EAAE,gBAAA,EACd,SAAS,eAAA,EACT,KAAK,WAAA,EACL,UAAU,gBAAA,EACC,EAAE,eAAA,EACb,mBAA0C,EAA1C,WAAW,mBAAG,EAAE,CAAC,wBAAwB,CAAC,KAC9B,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,EAAE,CAAC,YAAY,EAAE,SAAS,CAAC;YACxC,KAAK,CAAC,CAAC,CAAC,uCAAK,SAAS,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAG,KAAK,CAAO,CAAC,CAAC,CAAC,IAAI;YACpE,UAAU,CAAC,CAAC,CAAC,CACZ,8BAAC,wBAAc,IACb,WAAW,EAAE,WAAW,EACxB,QAAQ,EAAE,IAAI,CAAC,MAAM,EACrB,cAAc,EAAE,IAAI,CAAC,WAAW,GAChC,CACH,CAAC,CAAC,CAAC,IAAI;YACP,IAAI,CAAC,WAAW,EAAE,CACf,CACP,CAAC;IACJ,CAAC;;IAjLM,qCAAY,mDACd,yBAAa,CAAC,YAAY,KAC7B,UAAU,EAAE,UACV,MAIC,EACD,MAAc,EACd,QAAgB,EAChB,QAAgB,IACb,OAAA,4CAAO,IAAA,6BAAe,EAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAQ,EAAnD,CAAmD,IACxD;IAiBF;QADC,iBAAQ;;0EACe,eAAM,oBAAN,eAAM;;mEA6B7B;IAGD;QADC,iBAAQ;;;;0DAiBR;IAGD;QADC,iBAAQ;;;;+DAMR;IA6FH,+BAAC;CAAA,AAtLD,CAA8C,yBAAa,GAsL1D;AAtLY,4DAAwB;AAwLrC,kBAAe,IAAA,iBAAS,EAAC,IAAA,mBAAU,EAAC,wBAAwB,CAAC,CAAC,CAAC",
|
10
10
|
"sourcesContent": [
|
11
|
-
"/**\n * 结果表格(暂时不支持结果排序)\n */\n\nimport React from 'react';\n\nimport {BaseSelection, BaseSelectionProps} from './Selection';\nimport {themeable} from '../theme';\nimport {Option, Options} from './Select';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {localeable} from '../locale';\nimport {autobind} from '../utils/helper';\nimport TransferSearch from './TransferSearch';\n\nimport {CloseIcon} from './icons';\nimport TableSelection from './TableSelection';\n\nexport interface ResultTableSelectionProps extends BaseSelectionProps {\n title?: string;\n placeholder?: string;\n searchable?: boolean;\n onSearch?: Function;\n columns: Array<{\n name: string;\n label: string;\n [propName: string]: any;\n }>;\n cellRender: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => JSX.Element;\n}\n\nexport interface ResultTableSelectionState {\n tableOptions: Options;\n searching: Boolean;\n searchTableOptions: Options;\n}\n\nexport class BaseResultTableSelection extends BaseSelection
|
11
|
+
"/**\n * 结果表格(暂时不支持结果排序)\n */\n\nimport React from 'react';\n\nimport {BaseSelection, BaseSelectionProps} from './Selection';\nimport {themeable} from '../theme';\nimport {Option, Options} from './Select';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {localeable} from '../locale';\nimport {autobind} from '../utils/helper';\nimport TransferSearch from './TransferSearch';\n\nimport {CloseIcon} from './icons';\nimport TableSelection from './TableSelection';\n\nexport interface ResultTableSelectionProps extends BaseSelectionProps {\n title?: string;\n placeholder?: string;\n searchable?: boolean;\n onSearch?: Function;\n columns: Array<{\n name: string;\n label: string;\n [propName: string]: any;\n }>;\n cellRender: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => JSX.Element;\n}\n\nexport interface ResultTableSelectionState {\n tableOptions: Options;\n searching: Boolean;\n searchTableOptions: Options;\n}\n\nexport class BaseResultTableSelection extends BaseSelection<\n ResultTableSelectionProps,\n ResultTableSelectionState\n> {\n static defaultProps = {\n ...BaseSelection.defaultProps,\n cellRender: (\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => <span>{resolveVariable(column.name, option)}</span>\n };\n\n state: ResultTableSelectionState = {\n tableOptions: [],\n searching: false,\n searchTableOptions: []\n };\n\n static getDerivedStateFromProps(props: ResultTableSelectionProps) {\n const {options, value, option2value} = props;\n const valueArray = BaseSelection.value2array(value, options, option2value);\n return {\n tableOptions: valueArray\n };\n }\n\n @autobind\n handleCloseItem(option: Option) {\n const {value, onChange, option2value, options, disabled} = this.props;\n\n const {searching, searchTableOptions} = this.state;\n\n if (disabled || option.disabled) {\n return;\n }\n\n // 删除普通值\n let valueArray = BaseSelection.value2array(value, options, option2value);\n\n let idx = valueArray.indexOf(option);\n valueArray.splice(idx, 1);\n let newValue: string | Array<Option> = option2value\n ? valueArray.map(item => option2value(item))\n : valueArray;\n onChange && onChange(newValue);\n\n if (searching) {\n const searchArray = BaseSelection.value2array(\n searchTableOptions,\n options,\n option2value\n );\n const searchIdx = searchArray.indexOf(option);\n searchTableOptions.splice(searchIdx, 1);\n this.setState({searchTableOptions});\n }\n }\n\n @autobind\n search(inputValue: string) {\n // 结果为空,直接清空\n if (!inputValue) {\n this.clearSearch();\n return;\n }\n\n const {value, onSearch} = this.props;\n const searchOptions = ((value || []) as Options).filter(item =>\n onSearch?.(inputValue, item)\n );\n\n this.setState({\n searching: true,\n searchTableOptions: searchOptions\n });\n }\n\n @autobind\n clearSearch() {\n this.setState({\n searching: false,\n searchTableOptions: []\n });\n }\n\n renderTable() {\n const {\n classnames: cx,\n className,\n columns,\n cellRender,\n value,\n disabled,\n option2value,\n onChange,\n translate: __,\n placeholder\n } = this.props;\n\n const {searching, tableOptions, searchTableOptions} = this.state;\n\n return (\n <div className={cx('ResultTableList', className)}>\n {Array.isArray(value) && value.length ? (\n <TableSelection\n columns={columns}\n options={!searching ? tableOptions : searchTableOptions}\n value={value}\n disabled={disabled}\n option2value={option2value}\n onChange={onChange}\n multiple={false}\n resultMode={true}\n cellRender={(\n column: {\n name: string;\n label: string;\n [propName: string]: any;\n },\n option: Option,\n colIndex: number,\n rowIndex: number\n ) => {\n const raw = cellRender(column, option, colIndex, rowIndex);\n if (colIndex === columns.length - 1) {\n return (\n <>\n {raw}\n {\n <span\n className={cx('ResultTableList-close-btn')}\n onClick={(e: React.SyntheticEvent<HTMLElement>) => {\n e.stopPropagation();\n this.handleCloseItem(option);\n }}\n >\n <CloseIcon />\n </span>\n }\n </>\n );\n }\n return raw;\n }}\n />\n ) : (\n <div className={cx('Selections-placeholder')}>{__(placeholder)}</div>\n )}\n </div>\n );\n }\n\n render() {\n const {\n classnames: cx,\n className,\n title,\n searchable,\n translate: __,\n placeholder = __('Transfer.searchKeyword')\n } = this.props;\n\n return (\n <div className={cx('Selections', className)}>\n {title ? <div className={cx('Selections-title')}>{title}</div> : null}\n {searchable ? (\n <TransferSearch\n placeholder={placeholder}\n onSearch={this.search}\n onCancelSearch={this.clearSearch}\n />\n ) : null}\n {this.renderTable()}\n </div>\n );\n }\n}\n\nexport default themeable(localeable(BaseResultTableSelection));\n"
|
12
12
|
]
|
13
13
|
}
|