'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 _typeof = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); var _react = require('react'); var _react2 = _interopRequireDefault(_react); var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _util = require('./util'); var _util2 = _interopRequireDefault(_util); var _Const = require('./Const'); var _Const2 = _interopRequireDefault(_Const); var _TableRow = require('./TableRow'); var _TableRow2 = _interopRequireDefault(_TableRow); var _TableColumn = require('./TableColumn'); var _TableColumn2 = _interopRequireDefault(_TableColumn); var _TableEditColumn = require('./TableEditColumn'); var _TableEditColumn2 = _interopRequireDefault(_TableEditColumn); var _classnames = require('classnames'); var _classnames2 = _interopRequireDefault(_classnames); var _ExpandComponent = require('./ExpandComponent'); var _ExpandComponent2 = _interopRequireDefault(_ExpandComponent); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: 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) : subClass.__proto__ = superClass; } var TableBody = function (_Component) { _inherits(TableBody, _Component); function TableBody(props) { _classCallCheck(this, TableBody); var _this = _possibleConstructorReturn(this, (TableBody.__proto__ || Object.getPrototypeOf(TableBody)).call(this, props)); _this.handleCellKeyDown = function () { return _this.__handleCellKeyDown__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleRowMouseOut = function () { return _this.__handleRowMouseOut__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleRowMouseOver = function () { return _this.__handleRowMouseOver__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleRowClick = function () { return _this.__handleRowClick__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleRowDoubleClick = function () { return _this.__handleRowDoubleClick__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleSelectRow = function () { return _this.__handleSelectRow__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleSelectRowColumChange = function () { return _this.__handleSelectRowColumChange__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleClickCell = function () { return _this.__handleClickCell__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleEditCell = function () { return _this.__handleEditCell__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.nextEditableCell = function () { return _this.__nextEditableCell__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleCompleteEditCell = function () { return _this.__handleCompleteEditCell__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.cancelEditCell = function () { return _this.__cancelEditCell__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.handleClickonSelectColumn = function () { return _this.__handleClickonSelectColumn__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.getHeaderColGrouop = function () { return _this.__getHeaderColGrouop__REACT_HOT_LOADER__.apply(_this, arguments); }; _this.state = { currEditCell: null }; return _this; } _createClass(TableBody, [{ key: '__getHeaderColGrouop__REACT_HOT_LOADER__', value: function __getHeaderColGrouop__REACT_HOT_LOADER__() { return this.__getHeaderColGrouop__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleClickonSelectColumn__REACT_HOT_LOADER__', value: function __handleClickonSelectColumn__REACT_HOT_LOADER__() { return this.__handleClickonSelectColumn__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__cancelEditCell__REACT_HOT_LOADER__', value: function __cancelEditCell__REACT_HOT_LOADER__() { return this.__cancelEditCell__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleCompleteEditCell__REACT_HOT_LOADER__', value: function __handleCompleteEditCell__REACT_HOT_LOADER__() { return this.__handleCompleteEditCell__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__nextEditableCell__REACT_HOT_LOADER__', value: function __nextEditableCell__REACT_HOT_LOADER__() { return this.__nextEditableCell__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleEditCell__REACT_HOT_LOADER__', value: function __handleEditCell__REACT_HOT_LOADER__() { return this.__handleEditCell__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleClickCell__REACT_HOT_LOADER__', value: function __handleClickCell__REACT_HOT_LOADER__() { return this.__handleClickCell__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleSelectRowColumChange__REACT_HOT_LOADER__', value: function __handleSelectRowColumChange__REACT_HOT_LOADER__() { return this.__handleSelectRowColumChange__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleSelectRow__REACT_HOT_LOADER__', value: function __handleSelectRow__REACT_HOT_LOADER__() { return this.__handleSelectRow__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleRowDoubleClick__REACT_HOT_LOADER__', value: function __handleRowDoubleClick__REACT_HOT_LOADER__() { return this.__handleRowDoubleClick__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleRowClick__REACT_HOT_LOADER__', value: function __handleRowClick__REACT_HOT_LOADER__() { return this.__handleRowClick__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleRowMouseOver__REACT_HOT_LOADER__', value: function __handleRowMouseOver__REACT_HOT_LOADER__() { return this.__handleRowMouseOver__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleRowMouseOut__REACT_HOT_LOADER__', value: function __handleRowMouseOut__REACT_HOT_LOADER__() { return this.__handleRowMouseOut__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: '__handleCellKeyDown__REACT_HOT_LOADER__', value: function __handleCellKeyDown__REACT_HOT_LOADER__() { return this.__handleCellKeyDown__REACT_HOT_LOADER__.apply(this, arguments); } }, { key: 'render', value: function render() { var _this2 = this; var _props = this.props, cellEdit = _props.cellEdit, beforeShowError = _props.beforeShowError, x = _props.x, y = _props.y, keyBoardNav = _props.keyBoardNav, trStyle = _props.trStyle, version = _props.version; var customTableClasses = { 'table-striped': this.props.striped, 'table-bordered': this.props.bordered, 'table-hover': this.props.hover }; if (this.props.condensed) { if (_util2.default.isBootstrap4(version)) customTableClasses['table-sm'] = true;else customTableClasses['table-condensed'] = true; } var tableClasses = (0, _classnames2.default)('table', customTableClasses, this.props.tableBodyClass); var noneditableRows = cellEdit.nonEditableRows && cellEdit.nonEditableRows() || []; var unselectable = this.props.selectRow.unselectable || []; var isSelectRowDefined = _util2.default.isSelectRowDefined(this.props.selectRow.mode); var tableHeader = _util2.default.renderColGroup(this.props.columns, this.props.selectRow, this.props.expandColumnOptions, version); var inputType = this.props.selectRow.mode === _Const2.default.ROW_SELECT_SINGLE ? 'radio' : 'checkbox'; var CustomComponent = this.props.selectRow.customComponent; var enableKeyBoardNav = keyBoardNav === true || (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object'; var customEditAndNavStyle = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.customStyleOnEditCell : null; var customNavStyle = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.customStyle : null; var ExpandColumnCustomComponent = this.props.expandColumnOptions.expandColumnComponent; var expandColSpan = this.props.columns.filter(function (col) { return col && !col.hidden; }).length; if (isSelectRowDefined && !this.props.selectRow.hideSelectColumn) { expandColSpan += 1; } var tabIndex = 1; if (this.props.expandColumnOptions.expandColumnVisible) { expandColSpan += 1; } var tableRows = this.props.data.map(function (data, r) { var tableColumns = this.props.columns.filter(function (_) { return _ != null; }).map(function (column, i) { var fieldValue = data[column.name]; var isFocusCell = r === y && i === x; if (column.name !== this.props.keyField && // Key field can't be edit column.editable && // column is editable? default is true, user can set it false column.editable.readOnly !== true && this.state.currEditCell !== null && this.state.currEditCell.rid === r && this.state.currEditCell.cid === i && noneditableRows.indexOf(data[this.props.keyField]) === -1) { var editable = column.editable; var format = column.format ? function (value) { return column.format(value, data, column.formatExtraData, r).replace(/<.*?>/g, ''); } : false; if (_util2.default.isFunction(column.editable)) { editable = column.editable(fieldValue, data, r, i); } return _react2.default.createElement(_TableEditColumn2.default, { completeEdit: this.handleCompleteEditCell // add by bluespring for column editor customize , editable: editable, attrs: column.editAttrs, customEditor: column.customEditor, format: column.format ? format : false, key: i, blurToSave: cellEdit.blurToSave, blurToEscape: cellEdit.blurToEscape, onTab: this.handleEditCell, rowIndex: r, colIndex: i, row: data, fieldValue: fieldValue, className: column.editClassName, invalidColumnClassName: column.invalidEditColumnClassName, beforeShowError: beforeShowError, isFocus: isFocusCell, customStyleWithNav: customEditAndNavStyle }); } else { // add by bluespring for className customize var formattedValue = void 0; var columnChild = fieldValue && fieldValue.toString(); var columnTitle = null; var tdClassName = column.className; var tdStyles = column.style; if (_util2.default.isFunction(column.className)) { tdClassName = column.className(fieldValue, data, r, i); } if (_util2.default.isFunction(column.style)) { tdStyles = column.style(fieldValue, data, r, i); } if (typeof column.format !== 'undefined') { formattedValue = column.format(fieldValue, data, column.formatExtraData, r); if (!_react2.default.isValidElement(formattedValue)) { columnChild = _react2.default.createElement('div', { dangerouslySetInnerHTML: { __html: formattedValue } }); } else { columnChild = formattedValue; } } if (_util2.default.isFunction(column.columnTitle)) { columnTitle = column.columnTitle(fieldValue, data, r, i); } else if (typeof column.columnTitle === 'string') { columnTitle = column.columnTitle; } else if (column.columnTitle) { if (formattedValue) columnTitle = formattedValue.toString();else if (fieldValue) columnTitle = fieldValue.toString(); } return _react2.default.createElement( _TableColumn2.default, { key: i, cIndex: i, rIndex: r, dataAlign: column.align, className: tdClassName, columnTitle: columnTitle, cellEdit: cellEdit, hidden: column.hidden, onEdit: this.handleEditCell, width: column.width, onClick: this.handleClickCell, attrs: column.attrs, style: tdStyles, tabIndex: tabIndex++ + '', isFocus: isFocusCell, keyBoardNav: enableKeyBoardNav, onKeyDown: this.handleCellKeyDown, customNavStyle: customNavStyle, row: data, withoutTabIndex: this.props.withoutTabIndex }, columnChild ); } }, this); var key = data[this.props.keyField]; var disable = unselectable.indexOf(key) !== -1; var selected = this.props.selectedRowKeys.indexOf(key) !== -1; var selectRowColumn = isSelectRowDefined && !this.props.selectRow.hideSelectColumn ? this.renderSelectRowColumn(selected, inputType, disable, CustomComponent, r, data) : null; var expandedRowColumn = this.renderExpandRowColumn(this.props.expandableRow && this.props.expandableRow(data), this.props.expanding.indexOf(key) > -1, ExpandColumnCustomComponent, r); var haveExpandContent = this.props.expandableRow && this.props.expandableRow(data); var isExpanding = haveExpandContent && this.props.expanding.indexOf(key) > -1; var hideRowOnExpand = this.props.hideRowOnExpand; // add by bluespring for className customize var trClassName = this.props.trClassName; if (_util2.default.isFunction(this.props.trClassName)) { trClassName = this.props.trClassName(data, r); } if (isExpanding && this.props.expandParentClass) { trClassName += _util2.default.isFunction(this.props.expandParentClass) ? ' ' + this.props.expandParentClass(data, r) : ' ' + this.props.expandParentClass; } var result = [_react2.default.createElement( _TableRow2.default, { isSelected: selected, key: key, className: trClassName, index: r, row: data, selectRow: isSelectRowDefined ? this.props.selectRow : undefined, enableCellEdit: cellEdit.mode !== _Const2.default.CELL_EDIT_NONE, onRowClick: this.handleRowClick, onRowDoubleClick: this.handleRowDoubleClick, onRowMouseOver: this.handleRowMouseOver, onRowMouseOut: this.handleRowMouseOut, onSelectRow: this.handleSelectRow, onExpandRow: this.handleClickCell, unselectableRow: disable, style: trStyle, hidden: isExpanding && hideRowOnExpand, dbClickToEdit: cellEdit.mode === _Const2.default.CELL_EDIT_DBCLICK }, this.props.expandColumnOptions.expandColumnVisible && this.props.expandColumnOptions.expandColumnBeforeSelectColumn && expandedRowColumn, selectRowColumn, this.props.expandColumnOptions.expandColumnVisible && !this.props.expandColumnOptions.expandColumnBeforeSelectColumn && expandedRowColumn, tableColumns )]; if (haveExpandContent) { var expandBodyClass = _util2.default.isFunction(this.props.expandBodyClass) ? this.props.expandBodyClass(data, r, isExpanding) : this.props.expandBodyClass; result.push(_react2.default.createElement( _ExpandComponent2.default, { key: key + '-expand', row: data, className: expandBodyClass, bgColor: this.props.expandRowBgColor || this.props.selectRow.bgColor || undefined, hidden: !isExpanding, colSpan: expandColSpan, width: "100%" }, this.props.expandComponent(data) )); } return result; }, this); if (tableRows.length === 0 && !this.props.withoutNoDataText) { var colSpan = this.props.columns.filter(function (c) { return !c.hidden; }).length + (isSelectRowDefined && !this.props.selectRow.hideSelectColumn ? 1 : 0) + (this.props.expandColumnOptions.expandColumnVisible ? 1 : 0); tableRows = [_react2.default.createElement( _TableRow2.default, { key: '##table-empty##', style: trStyle }, _react2.default.createElement( 'td', { 'data-toggle': 'collapse', colSpan: colSpan, className: 'react-bs-table-no-data' }, this.props.noDataText || _Const2.default.NO_DATA_TEXT ) )]; } return _react2.default.createElement( 'div', { ref: function ref(node) { return _this2.container = node; }, className: (0, _classnames2.default)('react-bs-container-body', this.props.bodyContainerClass), style: this.props.style }, _react2.default.createElement( 'table', { className: tableClasses }, _react2.default.cloneElement(tableHeader, { ref: function ref(node) { return _this2.header = node; } }), _react2.default.createElement( 'tbody', { ref: function ref(node) { return _this2.tbody = node; } }, tableRows ) ) ); } }, { key: '__handleCellKeyDown__REACT_HOT_LOADER__', value: function __handleCellKeyDown__REACT_HOT_LOADER__(e, lastEditCell) { e.preventDefault(); var _props2 = this.props, keyBoardNav = _props2.keyBoardNav, onNavigateCell = _props2.onNavigateCell, cellEdit = _props2.cellEdit, selectedRowKeys = _props2.selectedRowKeys; var offset = void 0; if (e.keyCode === 37) { offset = { x: -1, y: 0 }; } else if (e.keyCode === 38) { offset = { x: 0, y: -1 }; } else if (e.keyCode === 39 || e.keyCode === 9) { offset = { x: 1, y: 0 }; if (e.keyCode === 9 && lastEditCell) { offset = _extends({}, offset, { lastEditCell: lastEditCell }); } } else if (e.keyCode === 40) { offset = { x: 0, y: 1 }; } else if (e.keyCode === 13) { var rowIndex = e.target.parentElement.rowIndex + 1; var enterToEdit = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.enterToEdit : false; var enterToExpand = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.enterToExpand : false; var enterToSelect = (typeof keyBoardNav === 'undefined' ? 'undefined' : _typeof(keyBoardNav)) === 'object' ? keyBoardNav.enterToSelect : false; if (cellEdit && enterToEdit) { this.handleEditCell(rowIndex, e.currentTarget.cellIndex, '', e); } if (enterToExpand) { this.handleClickCell(e, this.props.y + 1, this.props.x); } if (enterToSelect) { var isSelected = selectedRowKeys.indexOf(this.props.data[rowIndex - 1][this.props.keyField]) !== -1; this.handleSelectRow(rowIndex, !isSelected, e); } } if (offset && keyBoardNav) { onNavigateCell(offset); } } }, { key: '__handleRowMouseOut__REACT_HOT_LOADER__', value: function __handleRowMouseOut__REACT_HOT_LOADER__(rowIndex, event) { var targetRow = this.props.data[rowIndex]; this.props.onRowMouseOut(targetRow, event); } }, { key: '__handleRowMouseOver__REACT_HOT_LOADER__', value: function __handleRowMouseOver__REACT_HOT_LOADER__(rowIndex, event) { var targetRow = this.props.data[rowIndex]; this.props.onRowMouseOver(targetRow, event); } }, { key: '__handleRowClick__REACT_HOT_LOADER__', value: function __handleRowClick__REACT_HOT_LOADER__(rowIndex, cellIndex, event) { var _props3 = this.props, onRowClick = _props3.onRowClick, selectRow = _props3.selectRow; if (_util2.default.isSelectRowDefined(selectRow.mode)) cellIndex--; if (this._isExpandColumnVisible()) cellIndex--; onRowClick(this.props.data[rowIndex - 1], rowIndex - 1, cellIndex, event); } }, { key: '__handleRowDoubleClick__REACT_HOT_LOADER__', value: function __handleRowDoubleClick__REACT_HOT_LOADER__(rowIndex, event) { var onRowDoubleClick = this.props.onRowDoubleClick; var targetRow = this.props.data[rowIndex]; onRowDoubleClick(targetRow, event); } }, { key: '__handleSelectRow__REACT_HOT_LOADER__', value: function __handleSelectRow__REACT_HOT_LOADER__(rowIndex, isSelected, e) { var selectedRow = void 0; var _props4 = this.props, data = _props4.data, onSelectRow = _props4.onSelectRow; data.forEach(function (row, i) { if (i === rowIndex - 1) { selectedRow = row; return false; } }); onSelectRow(selectedRow, isSelected, e, rowIndex - 1); } }, { key: '__handleSelectRowColumChange__REACT_HOT_LOADER__', value: function __handleSelectRowColumChange__REACT_HOT_LOADER__(e, rowIndex) { if (!this.props.selectRow.clickToSelect || !this.props.selectRow.clickToSelectAndEditCell) { this.handleSelectRow(rowIndex + 1, e.currentTarget.checked, e); } } }, { key: '__handleClickCell__REACT_HOT_LOADER__', value: function __handleClickCell__REACT_HOT_LOADER__(event, rowIndex) { var columnIndex = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : -1; var _props5 = this.props, columns = _props5.columns, keyField = _props5.keyField, expandBy = _props5.expandBy, expandableRow = _props5.expandableRow, _props5$selectRow = _props5.selectRow, mode = _props5$selectRow.mode, clickToExpand = _props5$selectRow.clickToExpand, hideSelectColumn = _props5$selectRow.hideSelectColumn, onlyOneExpanding = _props5.onlyOneExpanding; var isSelectRowDefined = _util2.default.isSelectRowDefined(mode); var selectRowAndExpand = isSelectRowDefined && !clickToExpand ? false : true; columnIndex = isSelectRowDefined && !hideSelectColumn ? columnIndex - 1 : columnIndex; columnIndex = this._isExpandColumnVisible() ? columnIndex - 1 : columnIndex; if (expandableRow && selectRowAndExpand && (expandBy === _Const2.default.EXPAND_BY_ROW || /* Below will allow expanding trigger by clicking on selection column if configure as expanding by column */ expandBy === _Const2.default.EXPAND_BY_COL && columnIndex < 0 || expandBy === _Const2.default.EXPAND_BY_COL && columns[columnIndex].expandable)) { var expanding = this.props.expanding; var rowKey = this.props.data[rowIndex - 1][keyField]; var isRowExpanding = expanding.indexOf(rowKey) > -1; if (isRowExpanding) { // collapse expanding = expanding.filter(function (k) { return k !== rowKey; }); } else { // expand if (onlyOneExpanding) expanding = [rowKey];else expanding.push(rowKey); } this.props.onExpand(expanding, rowKey, isRowExpanding, event); } } }, { key: '__handleEditCell__REACT_HOT_LOADER__', value: function __handleEditCell__REACT_HOT_LOADER__(rowIndex, columnIndex, action, e) { var selectRow = this.props.selectRow; var defineSelectRow = _util2.default.isSelectRowDefined(selectRow.mode); var expandColumnVisible = this._isExpandColumnVisible(); if (defineSelectRow) { columnIndex--; if (selectRow.hideSelectColumn) columnIndex++; } if (expandColumnVisible) { columnIndex--; } rowIndex--; if (action === 'tab') { if (defineSelectRow && !selectRow.hideSelectColumn) columnIndex++; if (expandColumnVisible) columnIndex++; this.handleCompleteEditCell(e.target.value, rowIndex, columnIndex - 1); if (columnIndex >= this.props.columns.length) { this.handleCellKeyDown(e, true); } else { this.handleCellKeyDown(e); } var _nextEditableCell = this.nextEditableCell(rowIndex, columnIndex), nextRIndex = _nextEditableCell.nextRIndex, nextCIndex = _nextEditableCell.nextCIndex; rowIndex = nextRIndex; columnIndex = nextCIndex; } var stateObj = { currEditCell: { rid: rowIndex, cid: columnIndex } }; if (this.props.selectRow.clickToSelectAndEditCell && this.props.cellEdit.mode !== _Const2.default.CELL_EDIT_DBCLICK) { var selected = this.props.selectedRowKeys.indexOf(this.props.data[rowIndex][this.props.keyField]) !== -1; this.handleSelectRow(rowIndex + 1, !selected, e); } this.setState(function () { return stateObj; }); } }, { key: '__nextEditableCell__REACT_HOT_LOADER__', value: function __nextEditableCell__REACT_HOT_LOADER__(rIndex, cIndex) { var keyField = this.props.keyField; var nextRIndex = rIndex; var nextCIndex = cIndex; var row = void 0; var column = void 0; do { if (nextCIndex >= this.props.columns.length) { nextRIndex++; nextCIndex = 0; } row = this.props.data[nextRIndex]; column = this.props.columns[nextCIndex]; if (!row) break; var editable = column.editable; if (_util2.default.isFunction(column.editable)) { editable = column.editable(column, row, nextRIndex, nextCIndex); } if (editable && editable.readOnly !== true && !column.hidden && keyField !== column.name) { break; } else { nextCIndex++; } } while (row); return { nextRIndex: nextRIndex, nextCIndex: nextCIndex }; } }, { key: '__handleCompleteEditCell__REACT_HOT_LOADER__', value: function __handleCompleteEditCell__REACT_HOT_LOADER__(newVal, rowIndex, columnIndex) { if (newVal !== null) { var result = this.props.onEditCell(newVal, rowIndex, columnIndex); if (result !== _Const2.default.AWAIT_BEFORE_CELL_EDIT) { this.setState(function () { return { currEditCell: null }; }); } } else { this.setState(function () { return { currEditCell: null }; }); } } }, { key: '__cancelEditCell__REACT_HOT_LOADER__', value: function __cancelEditCell__REACT_HOT_LOADER__() { this.setState(function () { return { currEditCell: null }; }); } }, { key: '__handleClickonSelectColumn__REACT_HOT_LOADER__', value: function __handleClickonSelectColumn__REACT_HOT_LOADER__(e, isSelect, rowIndex, row) { e.stopPropagation(); if (e.target.tagName === 'TD' && (this.props.selectRow.clickToSelect || this.props.selectRow.clickToSelectAndEditCell)) { var unselectable = this.props.selectRow.unselectable || []; if (unselectable.indexOf(row[this.props.keyField]) === -1) { this.handleSelectRow(rowIndex + 1, isSelect, e); this.handleClickCell(e, rowIndex + 1); } } } }, { key: 'renderSelectRowColumn', value: function renderSelectRowColumn(selected, inputType, disabled) { var CustomComponent = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var _this3 = this; var rowIndex = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : null; var row = arguments[5]; return _react2.default.createElement( 'td', { onClick: function onClick(e) { _this3.handleClickonSelectColumn(e, !selected, rowIndex, row); }, style: { textAlign: 'center' } }, CustomComponent ? _react2.default.createElement(CustomComponent, { type: inputType, checked: selected, disabled: disabled, rowIndex: rowIndex, onChange: function onChange(e) { return _this3.handleSelectRowColumChange(e, rowIndex); } }) : _react2.default.createElement('input', { type: inputType, checked: selected, disabled: disabled, onChange: function onChange(e) { return _this3.handleSelectRowColumChange(e, rowIndex); } }) ); } }, { key: 'renderExpandRowColumn', value: function renderExpandRowColumn(isExpandableRow, isExpanded, CustomComponent) { var _this4 = this; var rowIndex = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; var content = null; if (CustomComponent) { content = _react2.default.createElement(CustomComponent, { isExpandableRow: isExpandableRow, isExpanded: isExpanded }); } else if (isExpandableRow) { content = isExpanded ? _react2.default.createElement('span', { className: 'fa fa-minus glyphicon glyphicon-minus' }) : _react2.default.createElement('span', { className: 'fa fa-plus glyphicon glyphicon-plus' }); } else { content = ' '; } return _react2.default.createElement( 'td', { className: 'react-bs-table-expand-cell', onClick: function onClick(e) { return _this4.handleClickCell(e, rowIndex + 1); } }, content ); } }, { key: '_isExpandColumnVisible', value: function _isExpandColumnVisible() { return this.props.expandColumnOptions.expandColumnVisible; } }, { key: '__getHeaderColGrouop__REACT_HOT_LOADER__', value: function __getHeaderColGrouop__REACT_HOT_LOADER__() { return this.header.childNodes; } }]); return TableBody; }(_react.Component); TableBody.propTypes = { version: _propTypes2.default.string, data: _propTypes2.default.array, columns: _propTypes2.default.array, striped: _propTypes2.default.bool, bordered: _propTypes2.default.bool, hover: _propTypes2.default.bool, condensed: _propTypes2.default.bool, keyField: _propTypes2.default.string, selectedRowKeys: _propTypes2.default.array, onRowClick: _propTypes2.default.func, onRowDoubleClick: _propTypes2.default.func, onSelectRow: _propTypes2.default.func, noDataText: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.object]), withoutNoDataText: _propTypes2.default.bool, style: _propTypes2.default.object, tableBodyClass: _propTypes2.default.string, bodyContainerClass: _propTypes2.default.string, expandableRow: _propTypes2.default.func, expandComponent: _propTypes2.default.func, expandRowBgColor: _propTypes2.default.string, expandBy: _propTypes2.default.string, expanding: _propTypes2.default.array, onExpand: _propTypes2.default.func, expandBodyClass: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]), expandParentClass: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.func]), onlyOneExpanding: _propTypes2.default.bool, beforeShowError: _propTypes2.default.func, keyBoardNav: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.object]), x: _propTypes2.default.number, y: _propTypes2.default.number, onNavigateCell: _propTypes2.default.func, withoutTabIndex: _propTypes2.default.bool, hideRowOnExpand: _propTypes2.default.bool }; var _default = TableBody; exports.default = _default; ; var _temp = function () { if (typeof __REACT_HOT_LOADER__ === 'undefined') { return; } __REACT_HOT_LOADER__.register(TableBody, 'TableBody', '/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js'); __REACT_HOT_LOADER__.register(_default, 'default', '/Users/allen/Node/react-bootstrap-table-new/react-bootstrap-table/src/TableBody.js'); }(); ;