UNPKG

react-bootstrap-table-next

Version:
1,390 lines (1,068 loc) 810 kB
(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