UNPKG

@beisen/ethos

Version:

beisencloud pc react components

144 lines (110 loc) 4.91 kB
'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = undefined; var _extends2 = require('babel-runtime/helpers/extends'); var _extends3 = _interopRequireDefault(_extends2); var _stringify = require('babel-runtime/core-js/json/stringify'); var _stringify2 = _interopRequireDefault(_stringify); 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 _treeItem = require('./treeItem'); var _treeItem2 = _interopRequireDefault(_treeItem); var _search = require('../search'); var _search2 = _interopRequireDefault(_search); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var TreeDnd = function (_Component) { (0, _inherits3.default)(TreeDnd, _Component); function TreeDnd(props) { (0, _classCallCheck3.default)(this, TreeDnd); var _this = (0, _possibleConstructorReturn3.default)(this, (TreeDnd.__proto__ || (0, _getPrototypeOf2.default)(TreeDnd)).call(this, props)); _this.state = { listData: _this.props.data, isSearch: false }; return _this; } (0, _createClass3.default)(TreeDnd, [{ key: 'componentWillReceiveProps', value: function componentWillReceiveProps(nextProps) { var isSearch = this.state.isSearch; if (nextProps.data !== this.state.listData) { if (isSearch) { this.searchChange(this.state.searchValue); } else { this.setState({ listData: nextProps.data || [] }); } } } }, { key: 'fitSearchData', value: function fitSearchData(listData, value) { return listData.filter(function (k) { return k.text.indexOf(value) > -1; }); } }, { key: 'searchChange', value: function searchChange(val) { var listData = JSON.parse((0, _stringify2.default)(this.props.treeModeDefault())); listData[0].Children = this.fitSearchData(listData[0].Children, val); listData[1].Children = this.fitSearchData(listData[1].Children, val); this.setState({ listData: listData, isSearch: val == '' ? false : true, searchValue: val }); } }, { key: 'render', value: function render() { var _this2 = this; var self = this; var _state = this.state, listData = _state.listData, isSearch = _state.isSearch, searchValue = _state.searchValue; var List = listData.map(function (item, index) { return _react2.default.createElement(_treeItem2.default, (0, _extends3.default)({}, _this2.props, { data: item, children: item.Children || [], index: index, isSearch: isSearch })); }); var option = { "placeholder": "搜索" /**没有值的时候显示的内容(string)**/ , "iconName": "sys-icon-sousuo" /**IconName 文字前面的图标**/ , "hasIcon": false // 是否显示icon , "value": searchValue //搜索框中的默认值 , "active": false //input框激活--初始状态 , "hidden": false //设置隐藏 , "readonly": false //设置只读 , "disabled": false //不可用状态 , "onChange": function onChange(val) { self.searchChange(val.value); } }; return _react2.default.createElement( 'div', { className: 'tree-dnd-panel' }, _react2.default.createElement(_search2.default, option), _react2.default.createElement( 'ul', { className: 'ul-list' }, List ) ); } }]); return TreeDnd; }(_react.Component); /* eslint-disable */ exports.default = TreeDnd; module.exports = exports['default'];