@beisen/ethos
Version:
beisencloud pc react components
131 lines (102 loc) • 4.67 kB
JavaScript
'use strict';
var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
var _classCallCheck2 = require('babel-runtime/helpers/classCallCheck');
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _createClass2 = require('babel-runtime/helpers/createClass');
var _createClass3 = _interopRequireDefault(_createClass2);
var _possibleConstructorReturn2 = require('babel-runtime/helpers/possibleConstructorReturn');
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = require('babel-runtime/helpers/inherits');
var _inherits3 = _interopRequireDefault(_inherits2);
var _react = require('react');
var _react2 = _interopRequireDefault(_react);
var _toolTip = require('../tool-tip');
var _toolTip2 = _interopRequireDefault(_toolTip);
var _commonFunc = require('../common-func');
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var RadioItem = function (_Component) {
(0, _inherits3.default)(RadioItem, _Component);
function RadioItem(props) {
(0, _classCallCheck3.default)(this, RadioItem);
var _this = (0, _possibleConstructorReturn3.default)(this, (RadioItem.__proto__ || (0, _getPrototypeOf2.default)(RadioItem)).call(this, props));
_this._onChange = function (event) {
event.stopPropagation();
var node = event.target;
var _id = parseInt(node.getAttribute('data-id'));
var _name = node.getAttribute('data-name');
if (!_this.props.isChecked) {
_this.props.setResultsData([{
id: _id,
province: _this.props.province,
area: _this.props.area,
name: _name,
pIndex: _this.props.pIndex
}]);
} else {
_this.props.clearRSDataFromList(_id, _this.props.pIndex);
}
};
_this._goNextLevel = function (event) {
if (!_this.props.isMore) return;
_this.props.goNextLevel(_this.props.name, parseInt(_this.props.id), _this.props.pIndex);
if (!_this.props.hiddenTip) {
_this.props.clearToolTipDom();
}
};
return _this;
}
// radio onchange handler
// 子级跳转
(0, _createClass3.default)(RadioItem, [{
key: 'render',
value: function render() {
var _props = this.props,
name = _props.name,
id = _props.id,
isChecked = _props.isChecked,
index = _props.index,
isMore = _props.isMore,
options = _props.options,
hiddenTip = _props.hiddenTip,
sideTip = _props.sideTip;
var _isMoreClass = isMore ? 'pc-sys-arrowright-active-svg' : '';
var _name = (0, _commonFunc.decode)(name);
return _react2.default.createElement(
'span',
{ className: 'u-radio' },
_react2.default.createElement('input', { type: 'radio',
id: 'radio' + index,
ref: 'radio' + index,
'data-id': id,
'data-name': name,
name: options,
checked: isChecked,
defaultChecked: isChecked,
onChange: this._onChange
}),
_react2.default.createElement(
'label',
{ htmlFor: 'radio' + index, className: 'u-radio__label' },
_react2.default.createElement('i', { className: 'u-icon u-radio__icon' })
),
_react2.default.createElement(
'span',
{ className: 'area-select__label', onClick: this._goNextLevel },
_react2.default.createElement(
_toolTip2.default,
{ title: name, hidden: hiddenTip, side: sideTip },
_react2.default.createElement(
'span',
{ className: "area-select__text" + (isMore ? '' : ' area-select__text_is-nomore') },
_name
)
),
_react2.default.createElement('i', { className: 'u-icon ' + _isMoreClass })
)
);
}
}]);
return RadioItem;
}(_react.Component);
module.exports = RadioItem;