UNPKG

@beisen-phoenix/lookup

Version:

---

134 lines (121 loc) 3.95 kB
import "core-js/modules/es6.object.assign"; import _extends from "@babel/runtime/helpers/extends"; import _classCallCheck from "@babel/runtime/helpers/classCallCheck"; import _createClass from "@babel/runtime/helpers/createClass"; import _possibleConstructorReturn from "@babel/runtime/helpers/possibleConstructorReturn"; import _getPrototypeOf from "@babel/runtime/helpers/getPrototypeOf"; import _inherits from "@babel/runtime/helpers/inherits"; import * as React from 'react'; import Avatar, { Size } from '@beisen-phoenix/avatar'; import Checkbox from '@beisen-phoenix/checkbox'; import utils from '@beisen-phoenix/common-utils'; import HighLight from 'react-highlight-words'; var classes = utils.BEMClass('lookup-list'); import './index.css'; var Item = /*#__PURE__*/ function (_React$Component) { _inherits(Item, _React$Component); // 默认配置 function Item(props) { var _this; _classCallCheck(this, Item); _this = _possibleConstructorReturn(this, _getPrototypeOf(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, _extends({}, avator, { size: 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, { 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(HighLight, { 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; } _createClass(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); Item.defaultProps = { isAvator: false, multiple: false, isSelected: false }; export { Item as default };