UNPKG

react-bootstrap-table2-toolkit

Version:
1,468 lines (1,165 loc) 121 kB
(function webpackUniversalModuleDefinition(root, factory) { if(typeof exports === 'object' && typeof module === 'object') module.exports = factory(require("react")); else if(typeof define === 'function' && define.amd) define(["react"], factory); else if(typeof exports === 'object') exports["ReactBootstrapTable2Toolkit"] = factory(require("react")); else root["ReactBootstrapTable2Toolkit"] = factory(root["React"]); })(this, function(__WEBPACK_EXTERNAL_MODULE_0__) { 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 = 3); /******/ }) /************************************************************************/ /******/ ([ /* 0 */ /***/ (function(module, exports) { module.exports = __WEBPACK_EXTERNAL_MODULE_0__; /***/ }), /* 1 */ /***/ (function(module, exports, __webpack_require__) { /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ if (false) { var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' && Symbol.for && Symbol.for('react.element')) || 0xeac7; var isValidElement = function(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; }; // 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')(isValidElement, 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__(6)(); } /***/ }), /* 2 */ /***/ (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 _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 = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); var _statelessOp = __webpack_require__(15); var _statelessOp2 = _interopRequireDefault(_statelessOp); var _context = __webpack_require__(21); var _context2 = _interopRequireDefault(_context); 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 no-param-reassign: 0 */ var ToolkitContext = _react2.default.createContext(); var ToolkitProvider = function (_statelessDecorator) { _inherits(ToolkitProvider, _statelessDecorator); function ToolkitProvider(props) { _classCallCheck(this, ToolkitProvider); var _this = _possibleConstructorReturn(this, (ToolkitProvider.__proto__ || Object.getPrototypeOf(ToolkitProvider)).call(this, props)); var state = {}; _this._ = null; _this.onClear = _this.onClear.bind(_this); _this.onSearch = _this.onSearch.bind(_this); _this.onColumnToggle = _this.onColumnToggle.bind(_this); _this.setDependencyModules = _this.setDependencyModules.bind(_this); if (props.columnToggle) { state.columnToggle = props.columns.reduce(function (obj, column) { obj[column.dataField] = !column.hidden; return obj; }, {}); } state.searchText = _typeof(props.search) === 'object' ? props.search.defaultSearch || '' : ''; _this.state = state; return _this; } // eslint-disable-next-line camelcase _createClass(ToolkitProvider, [{ key: 'UNSAFE_componentWillReceiveProps', value: function UNSAFE_componentWillReceiveProps(nextProps) { var columnToggle = this.state.columnToggle; if (nextProps.columnToggle) { columnToggle = nextProps.columns.reduce(function (obj, column) { obj[column.dataField] = !column.hidden; return obj; }, {}); } else { columnToggle = null; } this.setState(_extends({}, this.state, { columnToggle: columnToggle })); } }, { key: 'onSearch', value: function onSearch(searchText) { if (searchText !== this.state.searchText) { this.setState({ searchText: searchText }); } } }, { key: 'onClear', value: function onClear() { this.setState({ searchText: '' }); } }, { key: 'onColumnToggle', value: function onColumnToggle(dataField) { var columnToggle = this.state.columnToggle; columnToggle[dataField] = !columnToggle[dataField]; this.setState(_extends({}, this.state, { columnToggle: columnToggle })); } /** * * @param {*} _ * this function will be called only one time when table render * react-bootstrap-table-next/src/context/index.js will call this cb for passing the _ module * Please consider to extract a common module to handle _ module. * this is just a quick fix */ }, { key: 'setDependencyModules', value: function setDependencyModules(_) { this._ = _; } }, { key: 'render', value: function render() { var baseProps = { keyField: this.props.keyField, columns: this.props.columns, data: this.props.data, bootstrap4: this.props.bootstrap4, setDependencyModules: this.setDependencyModules, registerExposedAPI: this.registerExposedAPI }; if (this.props.search) { baseProps.search = { searchContext: (0, _context2.default)(this.props.search), searchText: this.state.searchText }; } if (this.props.columnToggle) { baseProps.columnToggle = { toggles: this.state.columnToggle }; } return _react2.default.createElement( ToolkitContext.Provider, { value: { searchProps: { searchText: this.state.searchText, onSearch: this.onSearch, onClear: this.onClear }, csvProps: { onExport: this.handleExportCSV }, columnToggleProps: { columns: this.props.columns, toggles: this.state.columnToggle, onColumnToggle: this.onColumnToggle }, baseProps: baseProps } }, this.props.children ); } }]); return ToolkitProvider; }((0, _statelessOp2.default)(_react2.default.Component)); ToolkitProvider.propTypes = { keyField: _propTypes2.default.string.isRequired, data: _propTypes2.default.array.isRequired, columns: _propTypes2.default.array.isRequired, children: _propTypes2.default.node.isRequired, bootstrap4: _propTypes2.default.bool, search: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.shape({ defaultSearch: _propTypes2.default.string, searchFormatted: _propTypes2.default.bool })]), exportCSV: _propTypes2.default.oneOfType([_propTypes2.default.bool, _propTypes2.default.shape({ fileName: _propTypes2.default.string, separator: _propTypes2.default.string, ignoreHeader: _propTypes2.default.bool, ignoreFooter: _propTypes2.default.bool, noAutoBOM: _propTypes2.default.bool, blobType: _propTypes2.default.string, exportAll: _propTypes2.default.bool, onlyExportFiltered: _propTypes2.default.bool, onlyExportSelection: _propTypes2.default.bool })]) }; ToolkitProvider.defaultProps = { search: false, exportCSV: false, bootstrap4: false }; exports.default = { Provider: ToolkitProvider, Consumer: ToolkitContext.Consumer }; /***/ }), /* 3 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.ColumnToggle = exports.CSVExport = exports.Search = exports.ToolkitContext = undefined; var _search = __webpack_require__(4); Object.defineProperty(exports, 'Search', { enumerable: true, get: function get() { return _interopRequireDefault(_search).default; } }); var _csv = __webpack_require__(11); Object.defineProperty(exports, 'CSVExport', { enumerable: true, get: function get() { return _interopRequireDefault(_csv).default; } }); var _columnToggle = __webpack_require__(13); Object.defineProperty(exports, 'ColumnToggle', { enumerable: true, get: function get() { return _interopRequireDefault(_columnToggle).default; } }); var _context = __webpack_require__(2); var _context2 = _interopRequireDefault(_context); var _provider = __webpack_require__(22); var _provider2 = _interopRequireDefault(_provider); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = _provider2.default; var ToolkitContext = exports.ToolkitContext = _context2.default; /***/ }), /* 4 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _SearchBar = __webpack_require__(5); var _SearchBar2 = _interopRequireDefault(_SearchBar); var _clearButton = __webpack_require__(10); var _clearButton2 = _interopRequireDefault(_clearButton); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { SearchBar: _SearchBar2.default, ClearSearchButton: _clearButton2.default }; /***/ }), /* 5 */ /***/ (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 _arguments = arguments; /* eslint camelcase: 0 */ /* eslint no-return-assign: 0 */ var _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); 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 handleDebounce = function handleDebounce(func, wait, immediate) { var timeout = void 0; return function () { var later = function later() { timeout = null; if (!immediate) { func.apply(undefined, _arguments); } }; var callNow = immediate && !timeout; clearTimeout(timeout); timeout = setTimeout(later, wait || 0); if (callNow) { func.appy(undefined, _arguments); } }; }; var SearchBar = function (_React$Component) { _inherits(SearchBar, _React$Component); function SearchBar(props) { _classCallCheck(this, SearchBar); var _this = _possibleConstructorReturn(this, (SearchBar.__proto__ || Object.getPrototypeOf(SearchBar)).call(this, props)); _this.onChangeValue = function (e) { _this.setState({ value: e.target.value }); }; _this.onKeyup = function () { var _this$props = _this.props, delay = _this$props.delay, onSearch = _this$props.onSearch; var debounceCallback = handleDebounce(function () { onSearch(_this.input.value); }, delay); debounceCallback(); }; _this.state = { value: props.searchText }; return _this; } _createClass(SearchBar, [{ key: 'UNSAFE_componentWillReceiveProps', value: function UNSAFE_componentWillReceiveProps(nextProps) { this.setState({ value: nextProps.searchText }); } }, { key: 'render', value: function render() { var _this2 = this; var _props = this.props, className = _props.className, style = _props.style, placeholder = _props.placeholder, tableId = _props.tableId, srText = _props.srText; return _react2.default.createElement( 'label', { htmlFor: 'search-bar-' + tableId, className: 'search-label' }, _react2.default.createElement( 'span', { id: 'search-bar-' + tableId + '-label', className: 'sr-only' }, srText ), _react2.default.createElement('input', { ref: function ref(n) { return _this2.input = n; }, id: 'search-bar-' + tableId, type: 'text', style: style, 'aria-labelledby': 'search-bar-' + tableId + '-label', onKeyUp: function onKeyUp() { return _this2.onKeyup(); }, onChange: this.onChangeValue, className: 'form-control ' + className, value: this.state.value, placeholder: placeholder || SearchBar.defaultProps.placeholder }) ); } }]); return SearchBar; }(_react2.default.Component); SearchBar.propTypes = { onSearch: _propTypes2.default.func.isRequired, className: _propTypes2.default.string, placeholder: _propTypes2.default.string, style: _propTypes2.default.object, delay: _propTypes2.default.number, searchText: _propTypes2.default.string, tableId: _propTypes2.default.string, srText: _propTypes2.default.string }; SearchBar.defaultProps = { className: '', style: {}, placeholder: 'Search', delay: 250, searchText: '', tableId: '0', srText: 'Search this table' }; exports.default = SearchBar; /***/ }), /* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ var emptyFunction = __webpack_require__(7); var invariant = __webpack_require__(8); var ReactPropTypesSecret = __webpack_require__(9); module.exports = function() { function shim(props, propName, componentName, location, propFullName, secret) { if (secret === ReactPropTypesSecret) { // It is still safe when called from React. return; } invariant( false, 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use PropTypes.checkPropTypes() to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); }; shim.isRequired = shim; function getShim() { return shim; }; // Important! // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`. var ReactPropTypes = { array: shim, bool: shim, func: shim, number: shim, object: shim, string: shim, symbol: shim, any: shim, arrayOf: getShim, element: shim, instanceOf: getShim, node: shim, objectOf: getShim, oneOf: getShim, oneOfType: getShim, shape: getShim }; ReactPropTypes.checkPropTypes = emptyFunction; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /* 7 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * 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. * * */ function makeEmptyFunction(arg) { return function () { return arg; }; } /** * This function accepts and discards inputs; it has no side effects. This is * primarily useful idiomatically for overridable function endpoints which * always need to be callable, since JS lacks a null-call idiom ala Cocoa. */ var emptyFunction = function emptyFunction() {}; emptyFunction.thatReturns = makeEmptyFunction; emptyFunction.thatReturnsFalse = makeEmptyFunction(false); emptyFunction.thatReturnsTrue = makeEmptyFunction(true); emptyFunction.thatReturnsNull = makeEmptyFunction(null); emptyFunction.thatReturnsThis = function () { return this; }; emptyFunction.thatReturnsArgument = function (arg) { return arg; }; module.exports = emptyFunction; /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * 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. * */ /** * Use invariant() to assert state which your program assumes to be true. * * Provide sprintf-style format (only %s is supported) and arguments * to provide information about what broke and what you were * expecting. * * The invariant message will be stripped in production, but the invariant * will remain to ensure logic does not differ in production. */ var validateFormat = function validateFormat(format) {}; if (false) { validateFormat = function validateFormat(format) { if (format === undefined) { throw new Error('invariant requires an error message argument'); } }; } function invariant(condition, format, a, b, c, d, e, f) { validateFormat(format); if (!condition) { var error; if (format === undefined) { error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.'); } else { var args = [a, b, c, d, e, f]; var argIndex = 0; error = new Error(format.replace(/%s/g, function () { return args[argIndex++]; })); error.name = 'Invariant Violation'; } error.framesToPop = 1; // we don't care about invariant's own frame throw error; } } module.exports = invariant; /***/ }), /* 9 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; /** * Copyright 2013-present, Facebook, Inc. * All rights reserved. * * This source code is licensed under the BSD-style license found in the * LICENSE file in the root directory of this source tree. An additional grant * of patent rights can be found in the PATENTS file in the same directory. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /* 10 */ /***/ (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); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ClearButton = function ClearButton(_ref) { var onClear = _ref.onClear, text = _ref.text, className = _ref.className; return _react2.default.createElement( 'button', { className: 'btn btn-default ' + className, onClick: onClear }, text ); }; ClearButton.propTypes = { onClear: _propTypes2.default.func.isRequired, className: _propTypes2.default.string, text: _propTypes2.default.string }; ClearButton.defaultProps = { text: 'Clear', className: '' }; exports.default = ClearButton; /***/ }), /* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _button = __webpack_require__(12); var _button2 = _interopRequireDefault(_button); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { ExportCSVButton: _button2.default }; /***/ }), /* 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 _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); 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; } var ExportCSVButton = function ExportCSVButton(props) { var onExport = props.onExport, children = props.children, className = props.className, rest = _objectWithoutProperties(props, ['onExport', 'children', 'className']); return _react2.default.createElement( 'button', _extends({ type: 'button', className: 'react-bs-table-csv-btn btn btn-default ' + className, onClick: function onClick() { return onExport(); } }, rest), children ); }; ExportCSVButton.propTypes = { children: _propTypes2.default.node.isRequired, onExport: _propTypes2.default.func.isRequired, className: _propTypes2.default.string, style: _propTypes2.default.object }; ExportCSVButton.defaultProps = { className: '', style: {} }; exports.default = ExportCSVButton; /***/ }), /* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _toggleList = __webpack_require__(14); var _toggleList2 = _interopRequireDefault(_toggleList); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { ToggleList: _toggleList2.default }; /***/ }), /* 14 */ /***/ (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 _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var ToggleList = function ToggleList(_ref) { var columns = _ref.columns, onColumnToggle = _ref.onColumnToggle, toggles = _ref.toggles, contextual = _ref.contextual, className = _ref.className, btnClassName = _ref.btnClassName; return _react2.default.createElement( 'div', { className: 'btn-group btn-group-toggle ' + className, 'data-toggle': 'buttons' }, columns.map(function (column) { return _extends({}, column, { toggle: toggles[column.dataField] }); }).map(function (column) { return _react2.default.createElement( 'button', { type: 'button', key: column.dataField, className: btnClassName + ' btn btn-' + contextual + ' ' + (column.toggle ? 'active' : ''), 'data-toggle': 'button', 'aria-pressed': column.toggle ? 'true' : 'false', onClick: function onClick() { return onColumnToggle(column.dataField); } }, column.text ); }) ); }; ToggleList.propTypes = { columns: _propTypes2.default.array.isRequired, toggles: _propTypes2.default.object.isRequired, onColumnToggle: _propTypes2.default.func.isRequired, btnClassName: _propTypes2.default.string, className: _propTypes2.default.string, contextual: _propTypes2.default.string }; ToggleList.defaultProps = { btnClassName: '', className: '', contextual: 'primary' }; exports.default = ToggleList; /***/ }), /* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _op = __webpack_require__(16); var _op2 = _interopRequireDefault(_op); 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; } exports.default = function (Base) { return function (_Operation$csvOperati) { _inherits(StatelessOperation, _Operation$csvOperati); function StatelessOperation() { var _ref; var _temp, _this, _ret; _classCallCheck(this, StatelessOperation); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = StatelessOperation.__proto__ || Object.getPrototypeOf(StatelessOperation)).call.apply(_ref, [this].concat(args))), _this), _this.registerExposedAPI = function (tableExposedAPIEmitter) { _this.tableExposedAPIEmitter = tableExposedAPIEmitter; }, _temp), _possibleConstructorReturn(_this, _ret); } return StatelessOperation; }(_op2.default.csvOperation(Base)); }; /***/ }), /* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); var _csv = __webpack_require__(17); var _csv2 = _interopRequireDefault(_csv); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } exports.default = { csvOperation: _csv2.default }; /***/ }), /* 17 */ /***/ (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 _exporter = __webpack_require__(18); 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 csvDefaultOptions = { fileName: 'spreadsheet.csv', separator: ',', ignoreHeader: false, ignoreFooter: true, noAutoBOM: true, blobType: 'text/plain;charset=utf-8', exportAll: true, onlyExportSelection: false }; exports.default = function (Base) { return function (_Base) { _inherits(CSVOperation, _Base); function CSVOperation() { var _ref; var _temp, _this, _ret; _classCallCheck(this, CSVOperation); for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) { args[_key] = arguments[_key]; } return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = CSVOperation.__proto__ || Object.getPrototypeOf(CSVOperation)).call.apply(_ref, [this].concat(args))), _this), _this.handleExportCSV = function (source) { var _this$props = _this.props, columns = _this$props.columns, exportCSV = _this$props.exportCSV, keyField = _this$props.keyField; var meta = (0, _exporter.getMetaInfo)(columns); var options = exportCSV === true ? csvDefaultOptions : _extends({}, csvDefaultOptions, exportCSV); // get data for csv export var data = void 0; if (typeof source !== 'undefined') { data = source; } else if (options.exportAll) { data = _this.props.data; } else if (options.onlyExportFiltered) { var payload = {}; _this.tableExposedAPIEmitter.emit('get.filtered.rows', payload); data = payload.result; } else { var _payload = {}; _this.tableExposedAPIEmitter.emit('get.table.data', _payload); data = _payload.result; } // filter data by row selection if (options.onlyExportSelection) { var _payload2 = {}; _this.tableExposedAPIEmitter.emit('get.selected.rows', _payload2); var selections = _payload2.result; data = data.filter(function (row) { return !!selections.find(function (sel) { return row[keyField] === sel; }); }); } var content = (0, _exporter.transform)(data, meta, columns, _this._, options); (0, _exporter.save)(content, options); }, _temp), _possibleConstructorReturn(_this, _ret); } return CSVOperation; }(Base); }; /***/ }), /* 18 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.save = exports.transform = exports.getMetaInfo = undefined; var _fileSaver = __webpack_require__(19); var _fileSaver2 = _interopRequireDefault(_fileSaver); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var getMetaInfo = exports.getMetaInfo = function getMetaInfo(columns) { return columns.map(function (column) { return { field: column.dataField, type: column.csvType || String, formatter: column.csvFormatter, formatExtraData: column.formatExtraData, header: column.csvText || column.text, export: column.csvExport === false ? false : true, row: Number(column.row) || 0, rowSpan: Number(column.rowSpan) || 1, colSpan: Number(column.colSpan) || 1, footer: column.footer, footerFormatter: column.footerFormatter }; }).filter(function (_) { return _.export; }); }; /* eslint no-unneeded-ternary: 0 */ var transform = exports.transform = function transform(data, meta, columns, _, _ref) { var separator = _ref.separator, ignoreHeader = _ref.ignoreHeader, ignoreFooter = _ref.ignoreFooter; var visibleColumns = meta.filter(function (m) { return m.export; }); var content = ''; // extract csv header if (!ignoreHeader) { content += visibleColumns.map(function (m) { return '"' + m.header + '"'; }).join(separator); content += '\n'; } // extract csv body if (data.length === 0) return content; content += data.map(function (row, rowIndex) { return visibleColumns.map(function (m) { var cellContent = _.get(row, m.field); if (m.formatter) { cellContent = m.formatter(cellContent, row, rowIndex, m.formatExtraData); } if (m.type === String) { return '"' + ('' + cellContent).replace(/"/g, '""') + '"'; } return cellContent; }).join(separator); }).join('\n'); if (!ignoreFooter) { content += '\n'; content += visibleColumns.map(function (m, i) { if (typeof m.footer === 'function') { var columnData = _.pluck(data, columns[i].dataField); return '"' + m.footer(columnData, columns[i], i) + '"'; } else if (m.footerFormatter) { return '"' + m.footerFormatter(columns[i], i) + '"'; } return '"' + m.footer + '"'; }).join(separator); } return content; }; var save = exports.save = function save(content, _ref2) { var noAutoBOM = _ref2.noAutoBOM, fileName = _ref2.fileName, blobType = _ref2.blobType; _fileSaver2.default.saveAs(new Blob([content], { type: blobType }), fileName, noAutoBOM); }; /***/ }), /* 19 */ /***/ (function(module, exports, __webpack_require__) { /* WEBPACK VAR INJECTION */(function(global) {var __WEBPACK_AMD_DEFINE_FACTORY__, __WEBPACK_AMD_DEFINE_ARRAY__, __WEBPACK_AMD_DEFINE_RESULT__;(function(a,b){if(true)!(__WEBPACK_AMD_DEFINE_ARRAY__ = [], __WEBPACK_AMD_DEFINE_FACTORY__ = (b), __WEBPACK_AMD_DEFINE_RESULT__ = (typeof __WEBPACK_AMD_DEFINE_FACTORY__ === 'function' ? (__WEBPACK_AMD_DEFINE_FACTORY__.apply(exports, __WEBPACK_AMD_DEFINE_ARRAY__)) : __WEBPACK_AMD_DEFINE_FACTORY__), __WEBPACK_AMD_DEFINE_RESULT__ !== undefined && (module.exports = __WEBPACK_AMD_DEFINE_RESULT__));else if("undefined"!=typeof exports)b();else{b(),a.FileSaver={exports:{}}.exports}})(this,function(){"use strict";function b(a,b){return"undefined"==typeof b?b={autoBom:!1}:"object"!=typeof b&&(console.warn("Deprecated: Expected third argument to be a object"),b={autoBom:!b}),b.autoBom&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(a.type)?new Blob(["\uFEFF",a],{type:a.type}):a}function c(b,c,d){var e=new XMLHttpRequest;e.open("GET",b),e.responseType="blob",e.onload=function(){a(e.response,c,d)},e.onerror=function(){console.error("could not download file")},e.send()}function d(a){var b=new XMLHttpRequest;b.open("HEAD",a,!1);try{b.send()}catch(a){}return 200<=b.status&&299>=b.status}function e(a){try{a.dispatchEvent(new MouseEvent("click"))}catch(c){var b=document.createEvent("MouseEvents");b.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),a.dispatchEvent(b)}}var f="object"==typeof window&&window.window===window?window:"object"==typeof self&&self.self===self?self:"object"==typeof global&&global.global===global?global:void 0,a=f.saveAs||("object"!=typeof window||window!==f?function(){}:"download"in HTMLAnchorElement.prototype?function(b,g,h){var i=f.URL||f.webkitURL,j=document.createElement("a");g=g||b.name||"download",j.download=g,j.rel="noopener","string"==typeof b?(j.href=b,j.origin===location.origin?e(j):d(j.href)?c(b,g,h):e(j,j.target="_blank")):(j.href=i.createObjectURL(b),setTimeout(function(){i.revokeObjectURL(j.href)},4E4),setTimeout(function(){e(j)},0))}:"msSaveOrOpenBlob"in navigator?function(f,g,h){if(g=g||f.name||"download","string"!=typeof f)navigator.msSaveOrOpenBlob(b(f,h),g);else if(d(f))c(f,g,h);else{var i=document.createElement("a");i.href=f,i.target="_blank",setTimeout(function(){e(i)})}}:function(a,b,d,e){if(e=e||open("","_blank"),e&&(e.document.title=e.document.body.innerText="downloading..."),"string"==typeof a)return c(a,b,d);var g="application/octet-stream"===a.type,h=/constructor/i.test(f.HTMLElement)||f.safari,i=/CriOS\/[\d]+/.test(navigator.userAgent);if((i||g&&h)&&"object"==typeof FileReader){var j=new FileReader;j.onloadend=function(){var a=j.result;a=i?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),e?e.location.href=a:location=a,e=null},j.readAsDataURL(a)}else{var k=f.URL||f.webkitURL,l=k.createObjectURL(a);e?e.location=l:location.href=l,e=null,setTimeout(function(){k.revokeObjectURL(l)},4E4)}});f.saveAs=a.saveAs=a,"undefined"!=typeof module&&(module.exports=a)}); //# sourceMappingURL=FileSaver.min.js.map /* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(20))) /***/ }), /* 20 */ /***/ (function(module, exports) { var g; // This works in non-strict mode g = (function() { return this; })(); try { // This works if eval is allowed (see CSP) g = g || Function("return this")() || (1,eval)("this"); } catch(e) { // This works if the window reference is available if(typeof window === "object") g = window; } // g can still be undefined, but nothing to do about it... // We return undefined, instead of nothing here, so it's // easier to handle this case. if(!global) { ...} module.exports = g; /***/ }), /* 21 */ /***/ (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 _react = __webpack_require__(0); var _react2 = _interopRequireDefault(_react); var _propTypes = __webpack_require__(1); var _propTypes2 = _interopRequireDefault(_propTypes); 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/require-default-props: 0 */ /* eslint no-continue: 0 */ /* eslint no-lonely-if: 0 */ /* eslint class-methods-use-this: 0 */ /* eslint camelcase: 0 */ exports.default = function () { var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { searchFormatted: false, afterSearch: null, onColumnMatch: null }; return function (_, isRemoteSearch, handleRemoteSearchChange) { var SearchContext = _react2.default.createContext(); var SearchProvider = function (_React$Component) { _inherits(SearchProvider, _React$Component); function SearchProvider(props) { _classCallCheck(this, SearchProvider); var _this = _possibleConstructorReturn(this, (SearchProvider.__proto__ || Object.getPrototypeOf(SearchProvider)).call(this, props)); var initialData = props.data; if (isRemoteSearch() && _this.props.searchText !== '') { handleRemoteSearchChange(_this.props.searchText); } else { initialData = _this.search(props); _this.triggerListener(initialData, true); } _this.state = { data: initialData }; return _this; } _createClass(SearchProvider, [{ key: 'getSearched', value: function getSearched() { return this.state.data; } }, { key: 'triggerListener', value: function triggerListener(result, skipInit) { if (options.afterSearch && !skipInit) { options.afterSearch(result); } if (this.props.dataChangeListener) { this.props.dataChangeListener.emit('filterChanged', result.length); } } }, { key: 'UNSAFE_componentWillReceiveProps', value: function UNSAFE_componentWillReceiveProps(nextProps) { if (nextProps.searchText !== this.props.searchText) { if (isRemoteSearch()) { handleRemoteSearchChange(nextProps.searchText); } else { var result = this.search(nextProps); this.triggerListener(result); this.setState({ data: result }); } } else { if (isRemoteSearch()) { this.setState({ data: nextProps.data }); } else if (!_.isEqual(nextProps.data, this.props.data)) { var _result = this.search(nextProps); this.triggerListener(_result); this.setState({ data: _result }); } } } }, { key: 'search', value: function search(props) { var data = props.data, columns = props.columns; var searchText = props.searchText.toLowerCase(); return data.filter(function (row, ridx) { for (var cidx = 0; cidx < columns.length; cidx += 1) { var column = columns[cidx]; if (column.searchable === false) continue; var targetValue = _.get(row, column.dataField); if (column.formatter && options.searchFormatted) { targetValue = column.formatter(targetValue, row, ridx, column.formatExtraData); } else if (column.filterValue) { targetValue = column.filterValue(targetValue, row); } if (options.onColumnMatch) { if (options.onColumnMatch({ searchText: searchText, value: targetValue, column: column, row: row })) { return true; } } else { if (targetValue !== null && typeof targetValue !== 'undefined') { targetValue = targetValue.toString().toLowerCase(); if (targetValue.indexOf(searchText) > -1) { return true; } } } } return false; }); } }, { key: 'render', value: function render() { return _react2.default.createElement( SearchContext.Provider, { value: { data: this.state.data } }, this.props.children ); } }]); return SearchProvider; }(_react2.default.Component); SearchProvider.propTypes = { data: _propTypes2.default.array.isRequired, columns: _propTypes2.default.array.isRequired, searchText: _propTypes2.default.string, dataChangeListener: _propTypes2.default.object }; return { Provider: SearchProvider, Consumer: SearchContext.Consumer }; }; }; /***/ }), /* 22 */ /***/ (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 _context = __webpack_require__(2); var _context2 = _interopRequireDefault(_context); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } var Toolkitprovider = function Toolkitprovider(props) { return _react2.default.createElement( _context2.default.Provider, props, _react2.default.createElement( _context2.default.Consumer, null, function (tookKitProps) { return props.children(tookKitProps); } ) ); }; Toolkitprovider.propTypes = { children: _propTypes2.default.func.isRequired }; exports.default = Toolkitprovider; /***/ }) /******/ ]); }); //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly8vd2VicGFjay91bml2ZXJzYWxNb2R1bGVEZWZpbml0aW9uIiwid2VicGFjazovLy93ZWJwYWNrL2Jvb3RzdHJhcCA0NjkzMjA5YTQwZjkyMGQ4ZjYwZiIsI