@beisen-phoenix/lookup
Version:
---
156 lines (128 loc) • 4.7 kB
JavaScript
"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
};