Files
goTorrent/goTorrentWebUI/node_modules/react-bootstrap-table/lib/TableBody.js

802 lines
34 KiB
JavaScript

'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');
}();
;