@beisen-phoenix/lookup
Version:
---
134 lines (121 loc) • 3.95 kB
JavaScript
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 };