react-bootstrap-table-next
Version:
Next generation of react-bootstrap-table
1,390 lines (1,068 loc) • 810 kB
JavaScript
(function webpackUniversalModuleDefinition(root, factory) {
if(typeof exports === 'object' && typeof module === 'object')
module.exports = factory(require("react"), require("react-dom"));
else if(typeof define === 'function' && define.amd)
define(["react", "react-dom"], factory);
else if(typeof exports === 'object')
exports["ReactBootstrapTable2"] = factory(require("react"), require("react-dom"));
else
root["ReactBootstrapTable2"] = factory(root["React"], root["ReactDOM"]);
})(this, function(__WEBPACK_EXTERNAL_MODULE_0__, __WEBPACK_EXTERNAL_MODULE_20__) {
return /******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId]) {
/******/ return installedModules[moduleId].exports;
/******/ }
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ i: moduleId,
/******/ l: false,
/******/ exports: {}
/******/ };
/******/
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/
/******/ // Flag the module as loaded
/******/ module.l = true;
/******/
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/
/******/
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/
/******/ // define getter function for harmony exports
/******/ __webpack_require__.d = function(exports, name, getter) {
/******/ if(!__webpack_require__.o(exports, name)) {
/******/ Object.defineProperty(exports, name, {
/******/ configurable: false,
/******/ enumerable: true,
/******/ get: getter
/******/ });
/******/ }
/******/ };
/******/
/******/ // getDefaultExport function for compatibility with non-harmony modules
/******/ __webpack_require__.n = function(module) {
/******/ var getter = module && module.__esModule ?
/******/ function getDefault() { return module['default']; } :
/******/ function getModuleExports() { return module; };
/******/ __webpack_require__.d(getter, 'a', getter);
/******/ return getter;
/******/ };
/******/
/******/ // Object.prototype.hasOwnProperty.call
/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
/******/
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "";
/******/
/******/ // Load entry module and return exports
/******/ return __webpack_require__(__webpack_require__.s = 26);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ (function(module, exports) {
module.exports = __WEBPACK_EXTERNAL_MODULE_0__;
/***/ }),
/* 1 */
/***/ (function(module, exports, __webpack_require__) {
/**
* Copyright (c) 2013-present, Facebook, Inc.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
if (false) {
var ReactIs = require('react-is');
// By explicitly using `prop-types` you are opting into new development behavior.
// http://fb.me/prop-types-in-prod
var throwOnDirectAccess = true;
module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);
} else {
// By explicitly using `prop-types` you are opting into new production behavior.
// http://fb.me/prop-types-in-prod
module.exports = __webpack_require__(28)();
}
/***/ }),
/* 2 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _underscore = __webpack_require__(34);
var _underscore2 = _interopRequireDefault(_underscore);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
function splitNested(str) {
return [str].join('.').replace(/\[/g, '.').replace(/\]/g, '').split('.');
} /* eslint no-empty: 0 */
/* eslint no-param-reassign: 0 */
/* eslint prefer-rest-params: 0 */
function contains(list, value) {
if (_underscore2.default.includes) {
return _underscore2.default.includes(list, value);
}
return list.indexOf(value) > -1;
}
function get(target, field) {
var directGet = target[field];
if (directGet !== undefined && directGet !== null) {
return directGet;
}
var pathArray = splitNested(field);
var result = void 0;
try {
result = pathArray.reduce(function (curr, path) {
return curr[path];
}, target);
} catch (e) {}
return result;
}
function set(target, field, value) {
var safe = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
var pathArray = splitNested(field);
var level = 0;
pathArray.reduce(function (a, b) {
level += 1;
if (typeof a[b] === 'undefined') {
if (!safe) throw new Error(a + '.' + b + ' is undefined');
a[b] = {};
return a[b];
}
if (level === pathArray.length) {
a[b] = value;
return value;
}
return a[b];
}, target);
}
function isEmptyObject(obj) {
if (!_underscore2.default.isObject(obj)) return false;
var hasOwnProperty = Object.prototype.hasOwnProperty;
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i += 1) {
if (hasOwnProperty.call(obj, keys[i])) return false;
}
return true;
}
function isDefined(value) {
return typeof value !== 'undefined' && value !== null;
}
function sleep(fn, ms) {
return setTimeout(function () {
return fn();
}, ms);
}
function debounce(func, wait, immediate) {
var _this = this,
_arguments = arguments;
var timeout = void 0;
return function () {
var later = function later() {
timeout = null;
if (!immediate) {
func.apply(_this, _arguments);
}
};
var callNow = immediate && !timeout;
clearTimeout(timeout);
timeout = setTimeout(later, wait || 0);
if (callNow) {
func.apply(_this, _arguments);
}
};
}
exports.default = Object.assign(_underscore2.default, {
get: get,
set: set,
isDefined: isDefined,
isEmptyObject: isEmptyObject,
sleep: sleep,
debounce: debounce,
contains: contains
});
/***/ }),
/* 3 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = {
SORT_ASC: 'asc',
SORT_DESC: 'desc',
ROW_SELECT_SINGLE: 'radio',
ROW_SELECT_MULTIPLE: 'checkbox',
ROW_SELECT_DISABLED: 'ROW_SELECT_DISABLED',
CHECKBOX_STATUS_CHECKED: 'checked',
CHECKBOX_STATUS_INDETERMINATE: 'indeterminate',
CHECKBOX_STATUS_UNCHECKED: 'unchecked',
INDICATOR_POSITION_LEFT: 'left',
INDICATOR_POSITION_RIGHT: 'right',
TYPE_STRING: 'string',
TYPE_NUMBER: 'number',
TYPE_BOOLEAN: 'bool',
TYPE_DATE: 'date',
FILTERS_POSITION_INLINE: 'inline',
FILTERS_POSITION_TOP: 'top',
FILTERS_POSITION_BOTTOM: 'bottom'
};
/***/ }),
/* 4 */
/***/ (function(module, exports, __webpack_require__) {
var __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;/*!
Copyright (c) 2016 Jed Watson.
Licensed under the MIT License (MIT), see
http://jedwatson.github.io/classnames
*/
/* global define */
(function () {
'use strict';
var hasOwn = {}.hasOwnProperty;
function classNames () {
var classes = [];
for (var i = 0; i < arguments.length; i++) {
var arg = arguments[i];
if (!arg) continue;
var argType = typeof arg;
if (argType === 'string' || argType === 'number') {
classes.push(arg);
} else if (Array.isArray(arg)) {
classes.push(classNames.apply(null, arg));
} else if (argType === 'object') {
for (var key in arg) {
if (hasOwn.call(arg, key) && arg[key]) {
classes.push(key);
}
}
}
}
return classes.join(' ');
}
if (typeof module !== 'undefined' && module.exports) {
module.exports = classNames;
} else if (true) {
// register as 'classnames', consistent with npm package name
!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_RESULT__ = function () {
return classNames;
}.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__),
__WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));
} else {
window.classNames = classNames;
}
}());
/***/ }),
/* 5 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.BootstrapContext = undefined;
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var BootstrapContext = exports.BootstrapContext = _react2.default.createContext({
bootstrap4: false
});
/***/ }),
/* 6 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getRowByRowId = exports.matchRow = undefined;
var _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var matchRow = exports.matchRow = function matchRow(keyField, id) {
return function (row) {
return _utils2.default.get(row, keyField) === id;
};
};
var getRowByRowId = exports.getRowByRowId = function getRowByRowId(data, keyField, id) {
return data.find(matchRow(keyField, id));
};
/***/ }),
/* 7 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["a"] = _objectWithoutPropertiesLoose;
function _objectWithoutPropertiesLoose(source, excluded) {
if (source == null) return {};
var target = {};
var sourceKeys = Object.keys(source);
var key, i;
for (i = 0; i < sourceKeys.length; i++) {
key = sourceKeys[i];
if (excluded.indexOf(key) >= 0) continue;
target[key] = source[key];
}
return target;
}
/***/ }),
/* 8 */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
/* harmony export (immutable) */ __webpack_exports__["a"] = _inheritsLoose;
function _inheritsLoose(subClass, superClass) {
subClass.prototype = Object.create(superClass.prototype);
subClass.prototype.constructor = subClass;
subClass.__proto__ = superClass;
}
/***/ }),
/* 9 */
/***/ (function(module, exports, __webpack_require__) {
"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 _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 _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
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 events = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseLeave', 'onContextMenu', 'onAuxClick'];
exports.default = function (ExtendBase) {
return function (_ExtendBase) {
_inherits(CellEventDelegater, _ExtendBase);
function CellEventDelegater(props) {
_classCallCheck(this, CellEventDelegater);
var _this = _possibleConstructorReturn(this, (CellEventDelegater.__proto__ || Object.getPrototypeOf(CellEventDelegater)).call(this, props));
_this.createDefaultEventHandler = _this.createDefaultEventHandler.bind(_this);
return _this;
}
_createClass(CellEventDelegater, [{
key: 'createDefaultEventHandler',
value: function createDefaultEventHandler(cb) {
var _this2 = this;
return function (e) {
var _props = _this2.props,
column = _props.column,
columnIndex = _props.columnIndex,
index = _props.index;
cb(e, column, typeof columnIndex !== 'undefined' ? columnIndex : index);
};
}
}, {
key: 'delegate',
value: function delegate() {
var _this3 = this;
var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var newAttrs = _extends({}, attrs);
Object.keys(attrs).forEach(function (attr) {
if (_utils2.default.contains(events, attr)) {
newAttrs[attr] = _this3.createDefaultEventHandler(attrs[attr]);
}
});
return newAttrs;
}
}]);
return CellEventDelegater;
}(ExtendBase);
};
/***/ }),
/* 10 */
/***/ (function(module, exports, __webpack_require__) {
"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 _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 = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _const = __webpack_require__(3);
var _const2 = _interopRequireDefault(_const);
var _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
var _operators = __webpack_require__(11);
var _operators2 = _interopRequireDefault(_operators);
var _selection = __webpack_require__(13);
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 _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; } /* eslint camelcase: 0 */
/* eslint react/prop-types: 0 */
var SelectionContext = _react2.default.createContext();
var SelectionProvider = function (_React$Component) {
_inherits(SelectionProvider, _React$Component);
function SelectionProvider(props) {
_classCallCheck(this, SelectionProvider);
var _this = _possibleConstructorReturn(this, (SelectionProvider.__proto__ || Object.getPrototypeOf(SelectionProvider)).call(this, props));
_this.handleRowSelect = function (rowKey, checked, rowIndex, e) {
var _this$props = _this.props,
data = _this$props.data,
keyField = _this$props.keyField,
_this$props$selectRow = _this$props.selectRow,
mode = _this$props$selectRow.mode,
onSelect = _this$props$selectRow.onSelect;
var ROW_SELECT_SINGLE = _const2.default.ROW_SELECT_SINGLE;
var currSelected = [].concat(_toConsumableArray(_this.selected));
var result = true;
if (onSelect) {
var row = _operators2.default.getRowByRowId(data, keyField, rowKey);
result = onSelect(row, checked, rowIndex, e);
}
if (result === true || result === undefined) {
if (mode === ROW_SELECT_SINGLE) {
// when select mode is radio
currSelected = [rowKey];
} else if (checked) {
// when select mode is checkbox
currSelected.push(rowKey);
} else {
currSelected = currSelected.filter(function (value) {
return value !== rowKey;
});
}
}
_this.selected = currSelected;
_this.forceUpdate();
};
_this.handleAllRowsSelect = function (e, isUnSelect) {
var _this$props2 = _this.props,
data = _this$props2.data,
keyField = _this$props2.keyField,
_this$props2$selectRo = _this$props2.selectRow,
onSelectAll = _this$props2$selectRo.onSelectAll,
nonSelectable = _this$props2$selectRo.nonSelectable;
var selected = _this.selected;
var currSelected = void 0;
if (!isUnSelect) {
currSelected = selected.concat(_operators2.default.selectableKeys(data, keyField, nonSelectable));
} else {
currSelected = selected.filter(function (s) {
return typeof data.find(function (d) {
return _utils2.default.get(d, keyField) === s;
}) === 'undefined';
});
}
var result = void 0;
if (onSelectAll) {
result = onSelectAll(!isUnSelect, _operators2.default.getSelectedRows(data, keyField, isUnSelect ? selected : currSelected), e);
if (Array.isArray(result)) {
currSelected = result;
}
}
_this.selected = currSelected;
_this.forceUpdate();
};
_this.selected = props.selectRow.selected || [];
return _this;
}
// exposed API
_createClass(SelectionProvider, [{
key: 'getSelected',
value: function getSelected() {
return this.selected;
}
}, {
key: 'UNSAFE_componentWillReceiveProps',
value: function UNSAFE_componentWillReceiveProps(nextProps) {
if (nextProps.selectRow) {
this.selected = nextProps.selectRow.selected || this.selected;
}
}
}, {
key: 'render',
value: function render() {
var _getSelectionSummary = (0, _selection.getSelectionSummary)(this.props.data, this.props.keyField, this.selected),
allRowsSelected = _getSelectionSummary.allRowsSelected,
allRowsNotSelected = _getSelectionSummary.allRowsNotSelected;
var checkedStatus = void 0;
// checkbox status depending on selected rows counts
if (allRowsSelected) checkedStatus = _const2.default.CHECKBOX_STATUS_CHECKED;else if (allRowsNotSelected) checkedStatus = _const2.default.CHECKBOX_STATUS_UNCHECKED;else checkedStatus = _const2.default.CHECKBOX_STATUS_INDETERMINATE;
return _react2.default.createElement(
SelectionContext.Provider,
{
value: _extends({}, this.props.selectRow, {
selected: this.selected,
onRowSelect: this.handleRowSelect,
onAllRowsSelect: this.handleAllRowsSelect,
allRowsSelected: allRowsSelected,
allRowsNotSelected: allRowsNotSelected,
checkedStatus: checkedStatus
})
},
this.props.children
);
}
}]);
return SelectionProvider;
}(_react2.default.Component);
SelectionProvider.propTypes = {
children: _propTypes2.default.node.isRequired,
data: _propTypes2.default.array.isRequired,
keyField: _propTypes2.default.string.isRequired
};
exports.default = {
Provider: SelectionProvider,
Consumer: SelectionContext.Consumer
};
/***/ }),
/* 11 */
/***/ (function(module, exports, __webpack_require__) {
"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 _rows = __webpack_require__(6);
var rows = _interopRequireWildcard(_rows);
var _selection = __webpack_require__(13);
var selection = _interopRequireWildcard(_selection);
var _expand = __webpack_require__(40);
var expand = _interopRequireWildcard(_expand);
var _mutate = __webpack_require__(41);
var mutate = _interopRequireWildcard(_mutate);
var _sort = __webpack_require__(42);
var sort = _interopRequireWildcard(_sort);
var _type = __webpack_require__(43);
var type = _interopRequireWildcard(_type);
function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key]; } } newObj.default = obj; return newObj; } }
exports.default = _extends({}, rows, selection, expand, mutate, sort, type);
/***/ }),
/* 12 */
/***/ (function(module, exports, __webpack_require__) {
"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 _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 = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _operators = __webpack_require__(11);
var _operators2 = _interopRequireDefault(_operators);
var _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
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 _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; } /* eslint camelcase: 0 */
/* eslint react/prop-types: 0 */
var RowExpandContext = _react2.default.createContext();
var RowExpandProvider = function (_React$Component) {
_inherits(RowExpandProvider, _React$Component);
function RowExpandProvider() {
var _ref;
var _temp, _this, _ret;
_classCallCheck(this, RowExpandProvider);
for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
args[_key] = arguments[_key];
}
return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = RowExpandProvider.__proto__ || Object.getPrototypeOf(RowExpandProvider)).call.apply(_ref, [this].concat(args))), _this), _this.state = { expanded: _this.props.expandRow.expanded || [],
isClosing: _this.props.expandRow.isClosing || [] }, _this.onClosed = function (closedRow) {
_this.setState({ isClosing: _this.state.isClosing.filter(function (value) {
return value !== closedRow;
}) });
}, _this.handleRowExpand = function (rowKey, expanded, rowIndex, e) {
var _this$props = _this.props,
data = _this$props.data,
keyField = _this$props.keyField,
_this$props$expandRow = _this$props.expandRow,
onExpand = _this$props$expandRow.onExpand,
onlyOneExpanding = _this$props$expandRow.onlyOneExpanding,
nonExpandable = _this$props$expandRow.nonExpandable;
if (nonExpandable && _utils2.default.contains(nonExpandable, rowKey)) {
return;
}
var currExpanded = [].concat(_toConsumableArray(_this.state.expanded));
var isClosing = [].concat(_toConsumableArray(_this.state.isClosing));
if (expanded) {
if (onlyOneExpanding) {
isClosing = isClosing.concat(currExpanded);
currExpanded = [rowKey];
} else currExpanded.push(rowKey);
} else {
isClosing.push(rowKey);
currExpanded = currExpanded.filter(function (value) {
return value !== rowKey;
});
}
if (onExpand) {
var row = _operators2.default.getRowByRowId(data, keyField, rowKey);
onExpand(row, expanded, rowIndex, e);
}
_this.setState(function () {
return { expanded: currExpanded, isClosing: isClosing };
});
}, _this.handleAllRowExpand = function (e, expandAll) {
var _this$props2 = _this.props,
data = _this$props2.data,
keyField = _this$props2.keyField,
_this$props2$expandRo = _this$props2.expandRow,
onExpandAll = _this$props2$expandRo.onExpandAll,
nonExpandable = _this$props2$expandRo.nonExpandable;
var expanded = _this.state.expanded;
var currExpanded = void 0;
if (expandAll) {
currExpanded = expanded.concat(_operators2.default.expandableKeys(data, keyField, nonExpandable));
} else {
currExpanded = expanded.filter(function (s) {
return typeof data.find(function (d) {
return _utils2.default.get(d, keyField) === s;
}) === 'undefined';
});
}
if (onExpandAll) {
onExpandAll(expandAll, _operators2.default.getExpandedRows(data, keyField, currExpanded), e);
}
_this.setState(function () {
return { expanded: currExpanded };
});
}, _temp), _possibleConstructorReturn(_this, _ret);
}
_createClass(RowExpandProvider, [{
key: 'UNSAFE_componentWillReceiveProps',
value: function UNSAFE_componentWillReceiveProps(nextProps) {
var _this2 = this;
if (nextProps.expandRow) {
var nextExpanded = [].concat(_toConsumableArray(nextProps.expandRow.expanded || this.state.expanded));
var _nextProps$expandRow$ = nextProps.expandRow.nonExpandable,
nonExpandable = _nextProps$expandRow$ === undefined ? [] : _nextProps$expandRow$;
nextExpanded = nextExpanded.filter(function (rowId) {
return !_utils2.default.contains(nonExpandable, rowId);
});
var isClosing = this.state.expanded.reduce(function (acc, cur) {
if (!_utils2.default.contains(nextExpanded, cur)) {
acc.push(cur);
}
return acc;
}, []);
this.setState(function () {
return {
expanded: nextExpanded,
isClosing: isClosing
};
});
} else {
this.setState(function () {
return {
expanded: _this2.state.expanded
};
});
}
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
data = _props.data,
keyField = _props.keyField;
return _react2.default.createElement(
RowExpandContext.Provider,
{
value: _extends({}, this.props.expandRow, {
nonExpandable: this.props.expandRow.nonExpandable,
expanded: this.state.expanded,
isClosing: this.state.isClosing,
onClosed: this.onClosed,
isAnyExpands: _operators2.default.isAnyExpands(data, keyField, this.state.expanded),
onRowExpand: this.handleRowExpand,
onAllRowExpand: this.handleAllRowExpand
})
},
this.props.children
);
}
}]);
return RowExpandProvider;
}(_react2.default.Component);
RowExpandProvider.propTypes = {
children: _propTypes2.default.node.isRequired,
data: _propTypes2.default.array.isRequired,
keyField: _propTypes2.default.string.isRequired
};
exports.default = {
Provider: RowExpandProvider,
Consumer: RowExpandContext.Consumer
};
/***/ }),
/* 13 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.getSelectedRows = exports.unSelectableKeys = exports.selectableKeys = exports.getSelectionSummary = undefined;
var _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
var _rows = __webpack_require__(6);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
var getSelectionSummary = exports.getSelectionSummary = function getSelectionSummary() {
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var keyField = arguments[1];
var selected = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
var allRowsSelected = data.length > 0;
var allRowsNotSelected = true;
var rowKeys = data.map(function (d) {
return _utils2.default.get(d, keyField);
});
var _loop = function _loop(i) {
var curr = rowKeys[i];
if (typeof selected.find(function (x) {
return x === curr;
}) === 'undefined') {
allRowsSelected = false;
} else {
allRowsNotSelected = false;
}
};
for (var i = 0; i < rowKeys.length; i += 1) {
_loop(i);
}
return {
allRowsSelected: allRowsSelected,
allRowsNotSelected: allRowsNotSelected
};
};
var selectableKeys = exports.selectableKeys = function selectableKeys() {
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var keyField = arguments[1];
var skips = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
if (skips.length === 0) {
return data.map(function (row) {
return _utils2.default.get(row, keyField);
});
}
return data.filter(function (row) {
return !_utils2.default.contains(skips, _utils2.default.get(row, keyField));
}).map(function (row) {
return _utils2.default.get(row, keyField);
});
};
var unSelectableKeys = exports.unSelectableKeys = function unSelectableKeys(selected) {
var skips = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
if (skips.length === 0) {
return [];
}
return selected.filter(function (x) {
return _utils2.default.contains(skips, x);
});
};
var getSelectedRows = exports.getSelectedRows = function getSelectedRows() {
var data = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
var keyField = arguments[1];
var selected = arguments[2];
return selected.map(function (k) {
return (0, _rows.getRowByRowId)(data, keyField, k);
}).filter(function (x) {
return !!x;
});
};
/***/ }),
/* 14 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
var _react = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _propTypes = __webpack_require__(1);
var _propTypes2 = _interopRequireDefault(_propTypes);
var _const = __webpack_require__(3);
var _const2 = _interopRequireDefault(_const);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
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; } /* eslint react/require-default-props: 0 */
var RowTemplate = function RowTemplate(props) {
var renderContent = props.renderContent,
selectRow = props.selectRow,
expandRow = props.expandRow,
cellEl = props.cellEl,
rest = _objectWithoutProperties(props, ['renderContent', 'selectRow', 'expandRow', 'cellEl']);
var isRenderFunctionColumnInLeft = function isRenderFunctionColumnInLeft() {
var position = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _const2.default.INDICATOR_POSITION_LEFT;
return position === _const2.default.INDICATOR_POSITION_LEFT;
};
var childrens = renderContent() || [];
if (selectRow && selectRow.hideSelectColumn !== true) {
if (isRenderFunctionColumnInLeft(selectRow.selectColumnPosition)) {
childrens.unshift(_react2.default.createElement(cellEl, { key: 'selection' }));
} else {
childrens.push(_react2.default.createElement(cellEl, { key: 'selection' }));
}
}
if (expandRow.showExpandColumn) {
if (isRenderFunctionColumnInLeft(expandRow.expandColumnPosition)) {
childrens.unshift(_react2.default.createElement(cellEl, { key: 'expansion' }));
} else {
childrens.push(_react2.default.createElement(cellEl, { key: 'expansion' }));
}
}
return _react2.default.createElement(
'tr',
rest,
childrens
);
};
RowTemplate.propTypes = {
renderContent: _propTypes2.default.func.isRequired,
cellEl: _propTypes2.default.string.isRequired,
selectRow: _propTypes2.default.object,
expandRow: _propTypes2.default.object
};
exports.default = RowTemplate;
/***/ }),
/* 15 */
/***/ (function(module, exports, __webpack_require__) {
"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 _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 = __webpack_require__(0);
var _react2 = _interopRequireDefault(_react);
var _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
var _cell = __webpack_require__(50);
var _cell2 = _interopRequireDefault(_cell);
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; } /* eslint react/prop-types: 0 */
/* eslint react/no-array-index-key: 0 */
/* eslint no-plusplus: 0 */
var RowPureContent = function (_React$Component) {
_inherits(RowPureContent, _React$Component);
function RowPureContent() {
_classCallCheck(this, RowPureContent);
return _possibleConstructorReturn(this, (RowPureContent.__proto__ || Object.getPrototypeOf(RowPureContent)).apply(this, arguments));
}
_createClass(RowPureContent, [{
key: 'shouldComponentUpdate',
value: function shouldComponentUpdate(nextProps) {
if (typeof nextProps.shouldUpdate !== 'undefined') {
return nextProps.shouldUpdate;
}
return true;
}
}, {
key: 'render',
value: function render() {
var _props = this.props,
row = _props.row,
keyField = _props.keyField,
columns = _props.columns,
rowIndex = _props.rowIndex,
editable = _props.editable,
editingRowIdx = _props.editingRowIdx,
editingColIdx = _props.editingColIdx,
onStart = _props.onStart,
clickToEdit = _props.clickToEdit,
dbclickToEdit = _props.dbclickToEdit,
EditingCellComponent = _props.EditingCellComponent,
tabIndexStart = _props.tabIndexStart;
var tabIndex = tabIndexStart;
return columns.map(function (column, index) {
var dataField = column.dataField;
var content = _utils2.default.get(row, dataField);
if (rowIndex === editingRowIdx && index === editingColIdx) {
return _react2.default.createElement(EditingCellComponent, {
key: content + '-' + index + '-editing',
row: row,
rowIndex: rowIndex,
column: column,
columnIndex: index
});
}
// render cell
var cellTitle = void 0;
var cellStyle = {};
var cellAttrs = _extends({}, _utils2.default.isFunction(column.attrs) ? column.attrs(content, row, rowIndex, index) : column.attrs);
if (column.events) {
var events = Object.assign({}, column.events);
Object.keys(Object.assign({}, column.events)).forEach(function (key) {
var originFn = events[key];
events[key] = function () {
for (var _len = arguments.length, rest = Array(_len), _key = 0; _key < _len; _key++) {
rest[_key] = arguments[_key];
}
return originFn.apply(undefined, rest.concat([row, rowIndex]));
};
});
cellAttrs = _extends({}, cellAttrs, events);
}
var cellClasses = _utils2.default.isFunction(column.classes) ? column.classes(content, row, rowIndex, index) : column.classes;
if (column.style) {
cellStyle = _utils2.default.isFunction(column.style) ? column.style(content, row, rowIndex, index) : column.style;
cellStyle = Object.assign({}, cellStyle) || {};
}
if (column.title) {
cellTitle = _utils2.default.isFunction(column.title) ? column.title(content, row, rowIndex, index) : content;
cellAttrs.title = cellTitle;
}
if (column.align) {
cellStyle.textAlign = _utils2.default.isFunction(column.align) ? column.align(content, row, rowIndex, index) : column.align;
}
if (cellClasses) cellAttrs.className = cellClasses;
if (!_utils2.default.isEmptyObject(cellStyle)) cellAttrs.style = cellStyle;
var editableCell = _utils2.default.isDefined(column.editable) ? column.editable : true;
if (column.dataField === keyField || !editable) editableCell = false;
if (_utils2.default.isFunction(column.editable)) {
editableCell = column.editable(content, row, rowIndex, index);
}
if (tabIndexStart !== -1) {
cellAttrs.tabIndex = tabIndex++;
}
return _react2.default.createElement(_cell2.default, _extends({
key: content + '-' + index,
row: row,
editable: editableCell,
rowIndex: rowIndex,
columnIndex: index,
column: column,
onStart: onStart,
clickToEdit: clickToEdit,
dbclickToEdit: dbclickToEdit
}, cellAttrs));
});
}
}]);
return RowPureContent;
}(_react2.default.Component);
exports.default = RowPureContent;
/***/ }),
/* 16 */
/***/ (function(module, exports, __webpack_require__) {
"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 _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 _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
var _const = __webpack_require__(3);
var _const2 = _interopRequireDefault(_const);
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 events = ['onClick', 'onDoubleClick', 'onMouseEnter', 'onMouseLeave', 'onContextMenu', 'onAuxClick'];
exports.default = function (ExtendBase) {
return function (_ExtendBase) {
_inherits(RowEventDelegater, _ExtendBase);
function RowEventDelegater(props) {
_classCallCheck(this, RowEventDelegater);
var _this = _possibleConstructorReturn(this, (RowEventDelegater.__proto__ || Object.getPrototypeOf(RowEventDelegater)).call(this, props));
_this.clickNum = 0;
_this.createDefaultEventHandler = _this.createDefaultEventHandler.bind(_this);
_this.createClickEventHandler = _this.createClickEventHandler.bind(_this);
return _this;
}
_createClass(RowEventDelegater, [{
key: 'createClickEventHandler',
value: function createClickEventHandler(cb) {
var _this2 = this;
return function (e) {
var _props = _this2.props,
row = _props.row,
selected = _props.selected,
keyField = _props.keyField,
selectable = _props.selectable,
expandable = _props.expandable,
rowIndex = _props.rowIndex,
expanded = _props.expanded,
expandRow = _props.expandRow,
selectRow = _props.selectRow,
DELAY_FOR_DBCLICK = _props.DELAY_FOR_DBCLICK;
var clickFn = function clickFn() {
if (cb) {
cb(e, row, rowIndex);
}
var key = _utils2.default.get(row, keyField);
if (expandRow && expandable && !expandRow.expandByColumnOnly) {
if (selectRow.mode !== _const2.default.ROW_SELECT_DISABLED && selectRow.clickToExpand || selectRow.mode === _const2.default.ROW_SELECT_DISABLED) {
expandRow.onRowExpand(key, !expanded, rowIndex, e);
}
}
if (selectRow.clickToSelect && selectable) {
selectRow.onRowSelect(key, !selected, rowIndex, e);
}
};
if (DELAY_FOR_DBCLICK) {
_this2.clickNum += 1;
_utils2.default.debounce(function () {
if (_this2.clickNum === 1) {
clickFn();
}
_this2.clickNum = 0;
}, DELAY_FOR_DBCLICK)();
} else {
clickFn();
}
};
}
}, {
key: 'createDefaultEventHandler',
value: function createDefaultEventHandler(cb) {
var _this3 = this;
return function (e) {
var _props2 = _this3.props,
row = _props2.row,
rowIndex = _props2.rowIndex;
cb(e, row, rowIndex);
};
}
}, {
key: 'delegate',
value: function delegate() {
var _this4 = this;
var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
var newAttrs = _extends({}, attrs);
Object.keys(attrs).forEach(function (attr) {
if (_utils2.default.contains(events, attr)) {
newAttrs[attr] = _this4.createDefaultEventHandler(attrs[attr]);
}
});
return newAttrs;
}
}]);
return RowEventDelegater;
}(ExtendBase);
};
/***/ }),
/* 17 */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
Object.defineProperty(exports, "__esModule", {
value: true
});
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 _utils = __webpack_require__(2);
var _utils2 = _interopRequireDefault(_utils);
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; } /* eslint react/prop-types: 0 */
exports.default = function (ExtendBase) {
return function (_ExtendBase) {
_i