UNPKG

ac-gridcn

Version:
1,122 lines (978 loc) 42.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _react = require("react"); var _react2 = _interopRequireDefault(_react); var _beeComplexGrid = require("bee-complex-grid"); var _beeComplexGrid2 = _interopRequireDefault(_beeComplexGrid); var _acBtns = require("ac-btns"); var _acBtns2 = _interopRequireDefault(_acBtns); var _beeButtonGroup = require("bee-button-group"); var _beeButtonGroup2 = _interopRequireDefault(_beeButtonGroup); var _lodash = require("lodash.clonedeep"); var _lodash2 = _interopRequireDefault(_lodash); var _beeTooltip = require("bee-tooltip"); var _beeTooltip2 = _interopRequireDefault(_beeTooltip); var _beeIcon = require("bee-icon"); var _beeIcon2 = _interopRequireDefault(_beeIcon); var _beeModal = require("bee-modal"); var _beeModal2 = _interopRequireDefault(_beeModal); var _lodash3 = require("lodash.isequal"); var _lodash4 = _interopRequireDefault(_lodash3); var _FieldModel = require("./FieldModel"); var _FieldModel2 = _interopRequireDefault(_FieldModel); var _TextField = require("./RowField/TextField"); var _TextField2 = _interopRequireDefault(_TextField); var _SelectField = require("./RowField/SelectField"); var _SelectField2 = _interopRequireDefault(_SelectField); var _NumberField = require("./RowField/NumberField"); var _NumberField2 = _interopRequireDefault(_NumberField); var _YearField = require("./RowField/YearField"); var _YearField2 = _interopRequireDefault(_YearField); var _DateField = require("./RowField/DateField"); var _DateField2 = _interopRequireDefault(_DateField); var _acTips = require("ac-tips"); var _acTips2 = _interopRequireDefault(_acTips); var _classnames = require("classnames"); var _classnames2 = _interopRequireDefault(_classnames); var _defaultProps = require("./defaultProps"); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; } function _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } } function _objectWithoutProperties(obj, keys) { var target = {}; for (var i in obj) { if (keys.indexOf(i) >= 0) continue; if (!Object.prototype.hasOwnProperty.call(obj, i)) continue; target[i] = obj[i]; } return target; } function _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; } function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; } function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } function _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return call && (typeof call === "object" || typeof call === "function") ? call : self; } function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function, not " + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); } //文本输入组件 //下拉选择组件 //数值选择组件 //年份选择组件 //日期组件 var defaultProps = { data: [], excludeKeys: [], delRow: function delRow() {}, //删除回调 getSelectedDataFunc: function getSelectedDataFunc() {}, //选中回调 save: function save() {}, //保存回调 clsfix: 'ac-gridcn', onChange: function onChange() {}, //数据改变回调 hideSave: false, //是否隐藏保存按钮 isEdit: false, //是否需要表格编辑 powerBtns: ['addRow', 'update', 'delRow', 'copyRow', 'export', 'min', 'max', 'cancel', 'save', 'copyToEnd'], forcePowerBtns: ['cancel', 'save'] //不受按钮权限控制的按钮 }; var Grid = function (_Component) { _inherits(Grid, _Component); function Grid(props) { var _this$state; _classCallCheck(this, Grid); var _this = _possibleConstructorReturn(this, _Component.call(this, props)); _initialiseProps.call(_this); _this.state = (_this$state = { copying: false, //是否正在拷贝 open: props.defaultOpen != undefined ? props.defaultValue : true, //默认展开收起 isMax: false, //是否最大化了 columns: props.columns, data: props.data, defaultValueKeyValue: {} }, _defineProperty(_this$state, "isMax", false), _defineProperty(_this$state, "selectData", []), _defineProperty(_this$state, "allEditing", false), _defineProperty(_this$state, "adding", false), _defineProperty(_this$state, "addNum", 0), _defineProperty(_this$state, "canExport", false), _defineProperty(_this$state, "pasting", false), _defineProperty(_this$state, "rowField", { show: false }), _this$state); _this.oldColumns = props.columns; _this.selectList = []; //选中的数据 _this.allData = []; //表格所有数据 _this.errors = {}; //整个表格的校验错误信息 _this.selectKeyData = {}; //存select类型字段 key:data(下拉列表) return _this; } /** *获取保存的column和table上的属性 * */ /** * * 重置grid的columns */ Grid.prototype.componentWillMount = function componentWillMount() { this.setColumn(this.props.columns); this.setData(this.props.data, this.props.exportData); }; Grid.prototype.componentWillReceiveProps = function componentWillReceiveProps(nextProps) { if ('data' in nextProps && !(0, _lodash4["default"])(nextProps.data, this.state.data)) { this.setData(nextProps.data, nextProps.exportData); } }; //校验选中数据 //增行 //弹框后新增 //取消新增 //修改 //删除行 //复制行 //保存数据 //取消复制 //粘贴至末行 //粘贴至此处 //取消粘贴 //最大化、最小化 //修改取消 //全不选 //行hover //粘贴至此处按钮 //数据选择回调 //打开关闭 //编辑表格导出数据select类型单独处理 Grid.prototype.render = function render() { var rowField = this.state.rowField; return _react2["default"].createElement( "span", null, this.state.isMax ? ReactDOM.createPortal(this.renderDom(), document.querySelector('body')) : this.renderDom(), rowField.show ? _react2["default"].createElement(_FieldModel2["default"], rowField) : null ); }; return Grid; }(_react.Component); var _initialiseProps = function _initialiseProps() { var _this2 = this; this.getColumnsAndTablePros = function () { return _this2.grid.getColumnsAndTablePros(); }; this.resetColumns = function () { _this2.grid.resetColumns(_this2.oldColumns); }; this.exportExcel = function () { _this2.grid.exportExcel(); }; this.getValue = function (text, props) { var renderType = props.renderType, fieldProps = props.fieldProps; var _fieldProps$data = fieldProps.data, data = _fieldProps$data === undefined ? [] : _fieldProps$data, defaultValue = fieldProps.defaultValue; var value = defaultValue != undefined ? defaultValue : ''; if (renderType && renderType == 'select') { data.forEach(function (item) { if (item.value == text) { value = item.key; } }); } else { value = text; } return value; }; this.setColumn = function (cl) { var columns = (0, _lodash2["default"])(cl); var defaultValueKeyValue = {}; columns.forEach(function (item) { var renderType = item.renderType, _item$fieldProps = item.fieldProps, fieldProps = _item$fieldProps === undefined ? {} : _item$fieldProps, dataIndex = item.dataIndex, oldRender = item.render, component = item.component, other = _objectWithoutProperties(item, ["renderType", "fieldProps", "dataIndex", "render", "component"]); if (!oldRender) oldRender = function oldRender(text) { return text; }; if (renderType) { if (item.required) { item.className = "required"; } if (fieldProps.defaultValue != undefined) { defaultValueKeyValue[dataIndex] = fieldProps.defaultValue; } else { defaultValueKeyValue[dataIndex] = ''; } switch (renderType) { case 'input': item.render = function (text, record, index) { return record._edit ? _react2["default"].createElement(_TextField2["default"], _extends({}, other, { fieldProps: fieldProps, index: index, value: oldRender && oldRender(text, record, index), field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) : _react2["default"].createElement( "div", null, oldRender && oldRender(text, record, index) ); }; break; case 'inputNumber': item.render = function (text, record, index) { var value = text; return record._edit ? _react2["default"].createElement(_NumberField2["default"], _extends({}, other, { fieldProps: fieldProps, index: index, value: value, field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) : _react2["default"].createElement( "div", null, oldRender && oldRender(value, record, index) ); }; break; case 'select': item.render = function (text, record, index) { var value = _this2.getValue(text, item); if (index == 0 && !_this2.selectKeyData[item.dataIndex]) { _this2.selectKeyData[item.dataIndex] = fieldProps.data; } return record._edit ? _react2["default"].createElement(_SelectField2["default"], _extends({}, other, { fieldProps: fieldProps, index: index, value: text + '', field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) : _react2["default"].createElement( "div", null, oldRender && oldRender(value, record, index) ); }; break; case 'datepicker': item.render = function (text, record, index) { return record._edit ? _react2["default"].createElement(_DateField2["default"], _extends({}, other, { fieldProps: fieldProps, index: index, value: oldRender && oldRender(text, record, index), field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) : _react2["default"].createElement( "div", null, oldRender && oldRender(text, record, index) ); }; break; case 'year': item.render = function (text, record, index) { return record._edit ? _react2["default"].createElement(_YearField2["default"], _extends({}, other, { fieldProps: fieldProps, index: index, value: oldRender && oldRender(text, record, index), field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) : _react2["default"].createElement( "div", null, oldRender && oldRender(text, record, index) ); }; break; case 'refer': item.render = function (text, record, index) { var displayname = fieldProps['displayname']; //'name'; displayname = displayname ? displayname : 'name'; var _text = text; if (!record._edit) { _text = text instanceof Array ? text.map(function (da) { return da[displayname]; }) : null; _text = !_text && text instanceof Object ? [text[displayname]] : _text; _text = _text ? _text.join(",") : null; } return record._edit ? _react2["default"].createElement( "span", null, _react2["default"].cloneElement(component, _extends({}, other, fieldProps, { index: index, value: text, field: item.dataIndex, onChange: _this2.onChange, status: record._status, onValidate: _this2.onValidate })) ) : _react2["default"].createElement( _beeTooltip2["default"], { inverse: true, overlay: _text }, _react2["default"].createElement( "div", null, _text ) ); }; //参照需要根据valueField 来显示内容 if (fieldProps.defaultValue != undefined && _this2.props.rowFieldPop) { defaultValueKeyValue[dataIndex] = fieldProps.defaultValue[fieldProps.valueField]; } break; } } }); _this2.setState({ columns: columns, defaultValueKeyValue: defaultValueKeyValue }); _this2.oldColumns = columns; }; this.setData = function (da, exportData) { var data = (0, _lodash2["default"])(da); var selectData = []; data.forEach(function (item, index) { item._index = index; if (item._checked) selectData.push(item); }); _this2.allData = data; _this2.selectList = selectData; _this2.setState({ data: data, selectData: selectData, canExport: false }, function () { if (exportData && (0, _lodash4["default"])(_this2.props.exportData, exportData)) {} else if (exportData && !(0, _lodash4["default"])(_this2.props.exportData, exportData)) { _this2.getExportData(exportData); } else if (!exportData) { _this2.getExportData(data); } }); }; this.onValidate = function (filed, errors, index) { if (filed == '_delete') { delete _this2.errors[index]; } var current = _this2.errors[index] || {}; if (errors) { current[filed] = errors[filed][0].message; } else { delete current[filed]; } if (Object.keys(current).length == 0) { delete _this2.errors[index]; } else { _this2.errors[index] = current; } }; this.validate = function () { if (Object.keys(_this2.errors).length) { return _this2.errors; } else { return null; } }; this.validateSelect = function () { if (Object.keys(_this2.errors).length) { var newError = {}; _this2.selectList.forEach(function (item) { if (_this2.errors[item._index]) { newError[item._index] = _this2.errors[item._index]; } }); if (Object.keys(newError).length) { return newError; } else { return null; } } else { return null; } }; this.onChange = function (field, value, index) { if (!(0, _lodash4["default"])(_this2.allData[index][field], value)) { _this2.allData[index]._checked = true; _this2.allData[index][field] = value; var selectList = []; _this2.allData.forEach(function (item) { if (item._checked) selectList.push(item); }); _this2.setState({ data: _this2.allData, selectData: selectList }); _this2.props.onChange(_this2.allData, field, value, index); } }; this.addRow = function () { var _props = _this2.props, rowFieldPop = _props.rowFieldPop, rowFieldRow = _props.rowFieldRow, rowFieldDialog = _props.rowFieldDialog; var defaultValueKeyValue = _this2.state.defaultValueKeyValue; var data = (0, _lodash2["default"])(_this2.state.data); var item = (0, _lodash2["default"])(defaultValueKeyValue); item._edit = true; item._status = 'edit'; item._checked = true; if (rowFieldPop) { _this2.setState({ rowField: { show: true, title: '增行', columns: _this2.props.columns, itemDate: item, clsfix: _this2.props.clsfix, rowFieldRow: rowFieldRow ? rowFieldRow : 3, rowFieldDialog: rowFieldDialog, // className:this.props.className, cancel: function cancel(_item) { _this2.rowFieldCancel(_item, data); } } }); return; } data.unshift(item); var selectList = []; data.forEach(function (item, index) { if (item._checked) selectList.push(item); item._index = index; }); _this2.setState({ data: data, adding: true, addNum: _this2.state.addNum + 1, selectData: selectList }); _this2.selectList = selectList; _this2.allData = data; _this2.props.onChange(data); }; this.rowFieldCancel = function (_item, data) { _this2.state.rowField.show = false; _this2.setState({ rowField: _extends({}, rowField) }); if (!_item) return; var _state = _this2.state, selectData = _state.selectData, addNum = _state.addNum, rowField = _state.rowField; _item._edit = true; _item._status = 'edit'; _item._checked = true; selectData.push(_item); if (_item) { data.unshift(_item); } _this2.setState({ data: data, selectData: selectData, adding: true, addNum: addNum + 1, rowField: _extends({}, rowField) }); _this2.props.onChange(data); _this2.allData = data; }; this.cancelAdd = function () { _beeModal2["default"].confirm({ // title:'温馨提示', keyword: '警告', content: "数据未保存,确定离开 ?", onOk: function onOk() { var data = (0, _lodash2["default"])(_this2.state.data); data.splice(0, _this2.state.addNum); for (var i = 0; i < _this2.state.addNum; i++) { delete _this2.errors[i]; }_this2.setState({ data: data, adding: false, addNum: 0, selectData: [] }); _this2.selectList = []; _this2.props.onChange(data); }, onCancel: function onCancel() {}, confirmType: 'two' }); }; this.updateAll = function () { var data = (0, _lodash2["default"])(_this2.state.data); data.forEach(function (item) { item._edit = true; //是否编辑态 item._status = 'edit'; //是否编辑态,用于显示是否编辑过 item._checked = false; }); _this2.setState({ data: data, allEditing: true, selectData: [] }); // this.props.onChange(data) _this2.allData = data; }; this.delRow = function () { if (_this2.selectList.length <= 0) { _acTips2["default"].create({ type: 'warning', content: "请先选择数据" }); } else { _beeModal2["default"].confirm({ // title:'温馨提示', keyword: '删除', content: "单据删除后将不能恢复。", onOk: function onOk() { var data = (0, _lodash2["default"])(_this2.state.data); _this2.selectList.forEach(function (item, index) { data.splice(item._index - index, 1); _this2.onValidate('_delete', '', item._index); }); data = _this2.resetChecked(data, true); _this2.allData = data; _this2.props.onChange(data); _this2.setState({ data: data }, function () { _this2.props.delRow(_this2.selectList, data); }); }, onCancel: function onCancel() {}, confirmType: 'two' }); } }; this.copyRow = function () { if (_this2.selectList.length <= 0) { _acTips2["default"].create({ type: 'warning', content: "请先选择数据" }); } else { var copyData = []; var data = (0, _lodash2["default"])(_this2.state.data); data.forEach(function (item) { if (item._checked) copyData.push(item); }); _this2.setState({ copying: true, selectData: copyData }); } }; this.save = function () { var selectList = []; _this2.allData.forEach(function (item) { if (item._checked) selectList.push(item); }); if (selectList.length <= 0) { _acTips2["default"].create({ type: 'warning', content: "请先选择数据" }); } else if (_this2.validate()) { _acTips2["default"].create({ type: 'warning', content: "数据校验失败" }); console.log(_this2.errors); } else { var saveData = _this2.props.save(selectList); if (saveData !== false) { var data = (0, _lodash2["default"])(_this2.state.data); data.forEach(function (item) { item._edit = false; //是否编辑态 item._status = ''; //是否编辑态,用于显示是否编辑过 item._checked = false; }); _this2.setState({ data: data, adding: false, allEditing: false, selectData: [], addNum: 0, pasting: false }); _this2.allData = data; } // this.props.onChange(data) } }; this.cancelCopy = function () { _this2.setState({ copying: false, selectData: [] }); }; this.copyToEnd = function () { var data = _this2.state.data; var selectData = _this2.selectList; selectData.forEach(function (item, index) { item._edit = true; item._status = 'edit'; item._checked = true; item._needChecked = true; _this2.props.excludeKeys.forEach(function (it) { delete item[it]; }); }); data = data.concat(selectData); data = _this2.resetChecked(data, true); _this2.setState({ data: data, copying: false, selectData: selectData, pasting: true, pasteOldData: _this2.state.data }); _this2.props.onChange(data); _this2.allData = data; }; this.copyToHere = function () { var _data; var currentIndex = _this2.currentIndex; //从0开始 var data = (0, _lodash2["default"])(_this2.state.data); var selectData = _this2.selectList; selectData.forEach(function (item, index) { item._edit = true; item._status = 'edit'; item._checked = true; item._needChecked = true; _this2.props.excludeKeys.forEach(function (it) { delete item[it]; }); }); (_data = data).splice.apply(_data, [currentIndex, 0].concat(_toConsumableArray(selectData))); data = _this2.resetChecked(data, true); _this2.setState({ data: data, copying: false, pasting: true, pasteOldData: _this2.state.data }); _this2.props.onChange(data); _this2.allData = data; }; this.cancelPaste = function () { var data = _this2.state.pasteOldData; _this2.setState({ data: data, copying: false, pasting: false }); _this2.allData = data; }; this.max = function () { if (!_this2.state.isMax) { window.scrollTo(0, 0); } _this2.setState({ isMax: !_this2.state.isMax }); }; this.cancelEdit = function () { _beeModal2["default"].confirm({ // title:'温馨提示', keyword: '警告', content: "数据未保存,确定离开?", onOk: function onOk() { // let data = cloneDeep(this.state.data); var data = (0, _lodash2["default"])(_this2.props.data); // 取消时取props中的data重置数据 data.forEach(function (item) { item._edit = false; //是否编辑态 item._status = ''; //是否编辑态,用于显示是否编辑过 item._checked = false; }); _this2.setState({ data: data, allEditing: false, selectData: [], errors: {} }); // this.props.onChange(data) _this2.allData = data; _this2.errors = {}; _this2.selectList = []; }, onCancel: function onCancel() {}, confirmType: 'two' }); }; this.resetChecked = function (dataValue, needIndex) { var data = (0, _lodash2["default"])(dataValue); data.forEach(function (item, index) { if (item._needChecked) { delete item._needChecked; } else { item._checked = false; } if (needIndex) item._index = index; }); // this.props.onChange(data) return data; }; this.onRowHover = function (index, record) { _this2.currentIndex = index; }; this.hoverContent = function () { if (_this2.state.copying) { return _react2["default"].createElement(_acBtns2["default"], { btns: { copyToHere: { onClick: _this2.copyToHere } } }); } else { return ''; } }; this.getSelectedDataFunc = function (selectList, record, index, newData) { _this2.selectList = selectList; var data = (0, _lodash2["default"])(_this2.state.data); if (index != undefined) { data[index]['_checked'] = !data[index]['_checked']; } else { //点击了全选 if (selectList.length > 0) { //全选 data.map(function (item) { if (!item['_disabled']) { item['_checked'] = true; } }); } else { //反选 data.map(function (item) { if (!item['_disabled']) { item['_checked'] = false; } }); } } _this2.setState({ data: data, selectData: selectList }); _this2.allData = data; _this2.props.getSelectedDataFunc(selectList, record, index, newData); }; this.open = function () { _this2.setState({ open: !_this2.state.open }); }; this.getExportData = function (data) { var exportData = (0, _lodash2["default"])(data); exportData.forEach(function (item) { for (var attr in _this2.selectKeyData) { item[attr] = _this2.getValue(item[attr], { renderType: 'select', fieldProps: { data: _this2.selectKeyData[attr] } }); } }); _this2.exportData = exportData; _this2.setState({ canExport: true }); }; this.renderDom = function () { var _state2 = _this2.state, copying = _state2.copying, isMax = _state2.isMax, columns = _state2.columns, data = _state2.data, allEditing = _state2.allEditing, adding = _state2.adding, open = _state2.open, selectData = _state2.selectData, canExport = _state2.canExport, pasting = _state2.pasting; var _props2 = _this2.props, clsfix = _props2.clsfix, paginationObj = _props2.paginationObj, exportData = _props2.exportData, disabled = _props2.disabled, title = _props2.title, hideSave = _props2.hideSave, isEdit = _props2.isEdit, powerBtns = _props2.powerBtns, forcePowerBtns = _props2.forcePowerBtns, otherProps = _objectWithoutProperties(_props2, ["clsfix", "paginationObj", "exportData", "disabled", "title", "hideSave", "isEdit", "powerBtns", "forcePowerBtns"]); var _paginationObj = 'none'; if (paginationObj != 'none') { _paginationObj = _extends({}, _defaultProps.paginationDefaultProps, paginationObj); _paginationObj.disabled = paginationObj.disabled !== undefined ? paginationObj.disabled : data.length === 0 || allEditing || copying || adding; if (data.length === 0 || allEditing || copying || adding) { _paginationObj.disabled = true; } } var btns1 = {}; var btnSave = {}; btns1 = { addRow: { onClick: _this2.addRow, disabled: copying || allEditing || pasting || disabled }, update: { onClick: _this2.updateAll, disabled: data.length == 0 || copying || allEditing || adding || pasting || disabled }, delRow: { onClick: _this2.delRow, disabled: pasting || copying || selectData.length == 0 || disabled }, copyRow: { onClick: _this2.copyRow, disabled: copying || adding || pasting || allEditing || selectData.length == 0 || disabled } }; var btnsObj = { min: { onClick: _this2.max } }; if (!isMax) { delete btnsObj.min; btnsObj.max = { onClick: _this2.max }; } if (allEditing) { if (!hideSave) { btnSave.save = { onClick: _this2.save, disabled: selectData.length == 0 || disabled }; } btnSave.cancel = { onClick: _this2.cancelEdit }; } else if (adding) { if (!hideSave) { btnSave.save = { onClick: _this2.save, disabled: selectData.length == 0 || disabled }; } btnSave.cancel = { onClick: _this2.cancelAdd }; } else if (copying) { delete btns1.copyRow; btns1.copyToEnd = { onClick: _this2.copyToEnd }; btnSave = { cancel: { onClick: _this2.cancelCopy } }; } else if (pasting) { if (!hideSave) { btnSave.save = { onClick: _this2.save, disabled: selectData.length == 0 || disabled }; } btnSave.cancel = { onClick: _this2.cancelPaste }; } var gridOptions = _extends({ syncHover: true, autoCheckedByClickRows: false, multiSelect: { type: "checkbox" }, showFilterMenu: false }, otherProps, { data: data, columns: columns, exportData: _this2.exportData, paginationObj: _paginationObj, ref: function ref(el) { return _this2.grid = el; }, hoverContent: _this2.hoverContent, getSelectedDataFunc: _this2.getSelectedDataFunc, onRowHover: _this2.onRowHover }); gridOptions = _extends(_defaultProps.gridDefalutProps, gridOptions); return _react2["default"].createElement( _react.Fragment, null, _react2["default"].createElement( "div", { className: clsfix + " " + (disabled ? 'disabled' : '') + " " + (gridOptions.headerScroll ? 'header-scroll' : '') + " " + (isMax ? 'max' : '') + " " + (adding || allEditing || copying || pasting ? 'isEdit' : '') }, typeof title == 'string' ? _react2["default"].createElement( "div", { className: clsfix + "-panel " + (open ? '' : 'close') }, _react2["default"].createElement( "span", { onClick: _this2.open, className: clsfix + "-panel-header" }, _react2["default"].createElement( "span", { className: clsfix + "-panel-icon" }, open ? _react2["default"].createElement(_beeIcon2["default"], { type: "uf-triangle-down" }) : _react2["default"].createElement(_beeIcon2["default"], { type: "uf-triangle-right" }) ), _react2["default"].createElement( "span", { className: clsfix + "-panel-title" }, title ) ), open ? _react2["default"].createElement( "div", { className: clsfix + "-panel-btns" }, _react2["default"].createElement( _beeButtonGroup2["default"], null, _react2["default"].createElement(_acBtns2["default"], { btns: btns1, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }) ), _react2["default"].createElement(_acBtns2["default"], { btns: btnSave, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }), _react2["default"].createElement(_acBtns2["default"], { btns: { "export": { onClick: function onClick() { _this2.grid.exportExcel(); }, disabled: !canExport || allEditing || adding || disabled } }, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }), _react2["default"].createElement(_acBtns2["default"], { btns: btnsObj, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }) ) : '' ) : _react2["default"].createElement( "div", { className: clsfix + "-panel" }, _react2["default"].createElement("div", null), _react2["default"].createElement( "div", { className: "ac-gridcn-panel-btns" }, _react2["default"].createElement( _beeButtonGroup2["default"], null, _react2["default"].createElement(_acBtns2["default"], { btns: btns1, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }) ), _react2["default"].createElement(_acBtns2["default"], { btns: btnSave, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }), _react2["default"].createElement(_acBtns2["default"], { btns: { "export": { onClick: function onClick() { _this2.grid.exportExcel(); }, disabled: !canExport || allEditing || adding || disabled } }, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }), _react2["default"].createElement(_acBtns2["default"], { btns: btnsObj, powerBtns: powerBtns, forcePowerBtns: forcePowerBtns }) ) ), typeof title == 'string' ? _react2["default"].createElement( "div", { className: clsfix + "-inner " + (open ? 'show' : 'hide') + " " + (isMax ? 'max' : '') }, _react2["default"].createElement(_beeComplexGrid2["default"], gridOptions) ) : _react2["default"].createElement(_beeComplexGrid2["default"], gridOptions) ) ); }; }; Grid.defaultProps = defaultProps; exports["default"] = Grid; module.exports = exports["default"];