UNPKG

shineout

Version:

Shein 前端组件库

127 lines (99 loc) 4.44 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); exports.__esModule = true; exports.default = void 0; var _inheritsLoose2 = _interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose")); var _assertThisInitialized2 = _interopRequireDefault(require("@babel/runtime/helpers/assertThisInitialized")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _react = _interopRequireDefault(require("react")); var _uid = require("../utils/uid"); var _Button = _interopRequireDefault(require("../Button")); var _component = require("../component"); var _styles = require("./styles"); var _icons = _interopRequireDefault(require("../icons")); var _config = require("../config"); var Btns = /*#__PURE__*/ function (_Component) { (0, _inheritsLoose2.default)(Btns, _Component); function Btns(props) { var _this; _this = _Component.call(this, props) || this; (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "toSource", void 0); (0, _defineProperty2.default)((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), "toTarget", void 0); _this.toSource = _this.change.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), 0); _this.toTarget = _this.change.bind((0, _assertThisInitialized2.default)((0, _assertThisInitialized2.default)(_this)), 1); return _this; } var _proto = Btns.prototype; _proto.getDataMap = function getDataMap() { var _this$props = this.props, data = _this$props.data, keygen = _this$props.keygen; var dataMap = new Map(); for (var i = 0; i < data.length; i++) { dataMap.set((0, _uid.getKey)(data[i], keygen, i), data[i]); } return dataMap; }; _proto.change = function change(index) { var _this$props2 = this.props, setSelecteds = _this$props2.setSelecteds, selecteds = _this$props2.selecteds, datum = _this$props2.datum; var dataMap = this.getDataMap(); var newValue = selecteds[1 - index].map(function (c) { return dataMap.get(c); }); // const newValue = selecteds[1 - index].map(c => data.find((d, i) => getKey(d, keygen, i) === c)) setSelecteds(1 - index, []); datum[index ? 'add' : 'remove'](newValue, undefined, undefined, true); }; _proto.renderButtonText = function renderButtonText(mode) { if (mode === void 0) { mode = 'left'; } var _this$props3 = this.props, operations = _this$props3.operations, operationIcon = _this$props3.operationIcon; if (mode === 'left') { var left = [_react.default.createElement(_react.default.Fragment, { key: "operationIcon" }, operationIcon && _icons.default.AngleLeft), _react.default.createElement(_react.default.Fragment, { key: "operations" }, operations[1])]; if ((0, _config.isRTL)()) return left.reverse(); return left; } var right = [_react.default.createElement(_react.default.Fragment, { key: "operationIcon" }, operationIcon && _icons.default.AngleRight), _react.default.createElement(_react.default.Fragment, { key: "operations" }, operations[0])]; if ((0, _config.isRTL)()) return right.reverse(); return right; }; _proto.render = function render() { var _this$props4 = this.props, selecteds = _this$props4.selecteds, disabled = _this$props4.disabled; var disable = disabled === true; return _react.default.createElement("div", { className: (0, _styles.transferClass)('btns') }, _react.default.createElement("div", null, _react.default.createElement(_Button.default, { type: "primary", disabled: disable || !selecteds[0].length, size: "small", className: (0, _styles.transferClass)('btns-button', 'btns-bottom'), onClick: this.toTarget }, this.renderButtonText('right')), _react.default.createElement("br", null), _react.default.createElement(_Button.default, { type: "primary", disabled: disable || !selecteds[1].length, size: "small", className: (0, _styles.transferClass)('btns-button'), onClick: this.toSource }, this.renderButtonText('left')))); }; return Btns; }(_component.Component); var _default = Btns; exports.default = _default;