UNPKG

fastlion-amis

Version:

一种MIS页面生成工具

67 lines (66 loc) 6.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.TransferDropDown = void 0; var tslib_1 = require("tslib"); var locale_1 = require("../locale"); var theme_1 = require("../theme"); var Transfer_1 = require("./Transfer"); var uncontrollable_1 = require("uncontrollable"); var react_1 = (0, tslib_1.__importDefault)(require("react")); var ResultBox_1 = (0, tslib_1.__importDefault)(require("./ResultBox")); var icons_1 = require("./icons"); var InputBox_1 = (0, tslib_1.__importDefault)(require("./InputBox")); var PopOverContainer_1 = (0, tslib_1.__importDefault)(require("./PopOverContainer")); var helper_1 = require("../utils/helper"); var antd_1 = require("antd"); var lodash_1 = require("lodash"); var TransferDropDown = /** @class */ (function (_super) { (0, tslib_1.__extends)(TransferDropDown, _super); function TransferDropDown() { return _super !== null && _super.apply(this, arguments) || this; } TransferDropDown.prototype.render = function () { var _this = this; var _a; var _b = this.props, cx = _b.classnames, value = _b.value, __ = _b.translate, disabled = _b.disabled, clearable = _b.clearable, className = _b.className, onSearch = _b.onSearch, multiple = _b.multiple, borderMode = _b.borderMode, useMobileUI = _b.useMobileUI, popOverContainer = _b.popOverContainer, placeholder = _b.placeholder, showCount = _b.showCount, labelTpl = _b.labelTpl, domicile = _b.domicile, label = _b.label, render = _b.render, onChange = _b.onChange; var _c = this.state, inputValue = _c.inputValue, searchResult = _c.searchResult; var mobileUI = useMobileUI && (0, helper_1.isMobile)(); return (react_1.default.createElement(PopOverContainer_1.default, { useMobileUI: useMobileUI, popOverContainer: popOverContainer, popOverClassName: cx('TransferDropDown-popover'), onActonClick: onChange, multiple: multiple, clearSearchValue: function () { return _this.setState({ inputValue: '', searchResult: null }); }, popOverRender: function (_a) { var onClose = _a.onClose; return (react_1.default.createElement("div", { className: cx('TransferDropDown-content', { 'is-mobile': mobileUI, 'is-borderTop': (_this.props.selectMode !== 'list' && !onSearch) }) }, onSearch ? (react_1.default.createElement("div", { className: cx('Transfer-search') }, react_1.default.createElement(InputBox_1.default, { value: inputValue, onChange: _this.handleSearch, placeholder: __('Transfer.searchKeyword'), clearable: false, onKeyDown: _this.handleSearchKeyDown }, searchResult !== null ? (react_1.default.createElement("a", { onClick: _this.handleSeachCancel, className: cx('Transfer-SeachCancel') }, react_1.default.createElement(icons_1.Icon, { icon: "close", className: "icon" }))) : (react_1.default.createElement(icons_1.Icon, { icon: "search", className: "icon" }))))) : null, searchResult !== null ? _this.renderSearchResult((0, tslib_1.__assign)((0, tslib_1.__assign)({}, _this.props), { value: value, onChange: multiple ? onChange : function (value) { onClose(); onChange === null || onChange === void 0 ? void 0 : onChange(value); }, multiple: multiple })) : _this.renderOptions((0, tslib_1.__assign)((0, tslib_1.__assign)({}, _this.props), { value: value, onChange: multiple ? onChange : function (value) { onClose(); (0, lodash_1.isEqual)(_this.props.value[0], value) ? onChange === null || onChange === void 0 ? void 0 : onChange([]) : onChange === null || onChange === void 0 ? void 0 : onChange(value); }, multiple: multiple })))); }, popOverHeat: react_1.default.createElement("div", { className: cx('TransferDropDown-header') }, (_a = label !== null && label !== void 0 ? label : domicile === null || domicile === void 0 ? void 0 : domicile.label) !== null && _a !== void 0 ? _a : ""), popOverfooter: function (onClose) { return react_1.default.createElement("div", { className: cx('TransferDropDown-footer'), style: { borderTop: '0.0625rem solid var(--ListMenu-divider-color)', padding: '8px 12px', textAlign: 'right' } }, react_1.default.createElement(antd_1.Button, { className: cx("PopUp-confirm"), size: mobileUI ? 'middle' : 'small', onClick: onClose, type: "primary", style: { borderRadius: '4px' } }, __('confirm'))); } }, function (_a) { var onClick = _a.onClick, isOpened = _a.isOpened, ref = _a.ref; return (react_1.default.createElement(ResultBox_1.default, { className: cx('TransferDropDown', className, isOpened ? 'is-active' : ''), borderMode: borderMode, allowInput: false, result: multiple ? value : (value === null || value === void 0 ? void 0 : value[0]) ? value === null || value === void 0 ? void 0 : value[0] : null, onResultChange: onChange, onResultClick: disabled ? null : onClick, placeholder: placeholder || __('Select.placeholder'), disabled: disabled, clearable: clearable, ref: ref, useMobileUI: useMobileUI, labelTpl: labelTpl, showCount: showCount, render: render }, !mobileUI ? (react_1.default.createElement("span", { className: cx('TransferDropDown-icon') }, react_1.default.createElement(icons_1.Icon, { symbol: true, icon: '#icon-tooltool_down', className: "icon" }))) : (react_1.default.createElement(react_1.default.Fragment, null)))); })); }; return TransferDropDown; }(Transfer_1.Transfer)); exports.TransferDropDown = TransferDropDown; exports.default = (0, theme_1.themeable)((0, locale_1.localeable)((0, uncontrollable_1.uncontrollable)(TransferDropDown, { value: 'onChange' }))); //# sourceMappingURL=./components/TransferDropDown.js.map