UNPKG

@beisen-phoenix/lookup

Version:

---

156 lines (128 loc) 4.7 kB
"use strict"; var _interopRequireWildcard = require("@babel/runtime/helpers/interopRequireWildcard"); var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; require("core-js/modules/es6.object.assign"); var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var React = _interopRequireWildcard(require("react")); var _avatar = _interopRequireWildcard(require("@beisen-phoenix/avatar")); var _checkbox = _interopRequireDefault(require("@beisen-phoenix/checkbox")); var _commonUtils = _interopRequireDefault(require("@beisen-phoenix/common-utils")); var _reactHighlightWords = _interopRequireDefault(require("react-highlight-words")); require("./index.css"); var classes = _commonUtils.default.BEMClass('lookup-list'); var Item = /*#__PURE__*/ function (_React$Component) { (0, _inherits2.default)(Item, _React$Component); // 默认配置 function Item(props) { var _this; (0, _classCallCheck2.default)(this, Item); _this = (0, _possibleConstructorReturn2.default)(this, (0, _getPrototypeOf2.default)(Item).call(this, props)); _this.renderAvatar = function () { var _this$props = _this.props, isAvator = _this$props.isAvator, avator = _this$props.avator; return isAvator ? React.createElement("div", { className: classes({ element: 'item__avatar' }) }, React.createElement(_avatar.default, (0, _extends2.default)({}, avator, { size: _avatar.Size.xxsm }))) : null; }; _this.renderCheckBox = function () { var _this$props2 = _this.props, multiple = _this$props2.multiple, isAvator = _this$props2.isAvator, isSelected = _this$props2.isSelected; return multiple ? React.createElement("div", { className: classes({ element: 'item__checkbox', modifiers: { 'top': isAvator, 'top2': !isAvator } }) }, React.createElement(_checkbox.default, { checked: isSelected, extraCls: classes({ element: 'item__checkbox__width' }) })) : null; }; _this.renderLabel = function () { var _this$props3 = _this.props, label = _this$props3.label, sublabel = _this$props3.sublabel, searchWord = _this$props3.searchWord; return React.createElement("div", { className: classes({ element: 'item__content' }) }, React.createElement("div", { className: classes({ element: 'item__content__label' }) }, React.createElement(_reactHighlightWords.default, { textToHighlight: label || '--', autoEscape: true, highlightClassName: classes({ element: 'item__content__highLightCls' }), searchWords: [searchWord] })), React.createElement("div", { className: classes({ element: 'item__content__sublabel' }) }, sublabel || '--')); }; _this.onClick = function (e, isSelected) { var onClick = _this.props.onClick; if (onClick) { onClick(Object.assign(e, { isSelected: !isSelected })); } }; _this.state = {}; return _this; } (0, _createClass2.default)(Item, [{ key: "render", value: function render() { var avatar = this.renderAvatar(); var checkbox = this.renderCheckBox(); var label = this.renderLabel(); var _this$props4 = this.props, isSelected = _this$props4.isSelected, multiple = _this$props4.multiple; var srcValue = this.props.srcValue; return React.createElement("div", { className: classes({ element: 'item', modifiers: { 'select': !multiple && isSelected } }), onClick: this.onClick.bind(this, srcValue, isSelected) }, checkbox, avatar, label); } }]); return Item; }(React.Component); exports.default = Item; Item.defaultProps = { isAvator: false, multiple: false, isSelected: false };