mirror of
https://github.com/gosticks/react-table.git
synced 2025-10-16 11:55:36 +00:00
7 lines
9.6 KiB
JavaScript
7 lines
9.6 KiB
JavaScript
(function(f){if(typeof exports==="object"&&typeof module!=="undefined"){module.exports=f()}else if(typeof define==="function"&&define.amd){define([],f)}else{var g;if(typeof window!=="undefined"){g=window}else if(typeof global!=="undefined"){g=global}else if(typeof self!=="undefined"){g=self}else{g=this}g.reactTable = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||
!function(){"use strict";function e(){for(var r=[],o=0;o<arguments.length;o++){var f=arguments[o];if(f){var i=typeof f;if("string"===i||"number"===i)r.push(f);else if(Array.isArray(f))r.push(e.apply(null,f));else if("object"===i)for(var t in f)n.call(f,t)&&f[t]&&r.push(t)}}return r.join(" ")}var n={}.hasOwnProperty;"undefined"!=typeof module&&module.exports?module.exports=e:"function"==typeof define&&"object"==typeof define.amd&&define.amd?define("classnames",[],function(){return e}):window.classNames=e}();
|
||
},{}],2:[function(require,module,exports){
|
||
"use strict";function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function remove(e,t){return e.filter(function(a,n){var r=t(a);return!!r&&(e.splice(n,1),!0)})}function get(e,t){return isArray(t)&&(t=t.join(".")),t.replace("[",".").replace("]","").split(".").reduce(function(e,t){return e[t]},e)}function takeRight(e,t){var a=t>e.length?0:e.length-t;return e.slice(a)}function last(e){return e[e.length-1]}function range(e){for(var t=[],a=0;a<e;a++)t.push(e);return t}function orderBy(e,t,a){return e.sort(function(e,n){for(var r=0;r<t.length;r++){var s=t[r],i=s(e),o=s(n),c=a[r]===!1||"desc"===a[r];if(i>o)return c?-1:1;if(i<o)return c?1:-1}return 0})}function clone(e){return JSON.parse(JSON.stringify(e,function(e,t){return"function"==typeof t?t.toString():t}))}function isArray(e){return Array.isArray(e)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.ReactTableDefaults=void 0;var _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},_react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_={get:get,takeRight:takeRight,last:last,orderBy:orderBy,range:range,clone:clone,remove:remove},defaultButton=function(e){return _react2.default.createElement("button",_extends({},e,{className:"-btn"}),e.children)},ReactTableDefaults=exports.ReactTableDefaults={className:"-striped -highlight",pageSize:20,minRows:0,data:[],previousComponent:defaultButton,nextComponent:defaultButton,previousText:"Previous",nextText:"Next",loadingComponent:_react2.default.createElement("span",null,"Loading..."),column:{sortable:!0,show:!0}};exports.default=_react2.default.createClass({displayName:"src",getDefaultProps:function(){return ReactTableDefaults},getInitialState:function(){return{sorting:!1}},componentWillMount:function(){this.update(this.props)},componentWillReceiveProps:function(e){this.update(e)},update:function(e){var t={loading:!1,page:0,pages:-1};this.setState(t);var a=Object.assign({},this.state,t);this.isAsync="function"==typeof e.data,this.buildColumns(e,a),this.buildData(e,a)},buildColumns:function(e){var t=this;this.hasHeaderGroups=!1,e.columns.forEach(function(e){e.columns&&(t.hasHeaderGroups=!0)}),this.headerGroups=[],this.decoratedColumns=[];var a=[],n=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.headerGroups.push(Object.assign({},n,{columns:e})),a=[]},r=function(e){var a=Object.assign({},t.props.column,e);return"string"==typeof a.accessor&&!function(){a.id=a.id||a.accessor;var e=a.accessor;a.accessor=function(t){return _.get(t,e)}}(),a.id||console.warn("No column ID found for column: ",a),a.accessor||console.warn("No column accessor found for column: ",a),a};e.columns.forEach(function(e,s){e.columns?(e.columns.forEach(function(e){t.decoratedColumns.push(r(e))}),t.hasHeaderGroups&&(a.length>0&&n(a),n(_.takeRight(t.decoratedColumns,e.columns.length),e))):(t.decoratedColumns.push(r(e)),a.push(_.last(t.decoratedColumns)))}),this.hasHeaderGroups&&a.length>0&&n(a)},getInitSorting:function(){var e=this.decoratedColumns.filter(function(e){return"undefined"!=typeof e.sort}).map(function(e){return{id:e.id,asc:"asc"===e.sort}});return e.length?e:[{id:this.decoratedColumns[0].id,asc:!0}]},buildData:function(e,t){var a=this,n=t.sorting===!1?this.getInitSorting():t.sorting,r=function(e){a.setState({sorting:n,data:e,page:t.page,loading:!1})};if(this.isAsync){this.setState({loading:!0});var s=function(e){if(!e)return Promise.reject("Uh Oh! Nothing was returned in ReactTable's data callback!");e.pages&&a.setState({pages:e.pages});var t=a.accessData(e.rows);r(t)},i=e.data({sorting:n,page:t.page||0,pageSize:e.pageSize,pages:t.pages},s);i&&i.then&&i.then(s)}else{var o=this.accessData(e.data),c=this.sortData(o,n);r(c)}},accessData:function(e){var t=this;return e.map(function(e){var a={__original:e};return t.decoratedColumns.forEach(function(t){a[t.id]=t.accessor(e)}),a})},sortData:function(e,t){var a=t.length?t:this.getInitSorting();return _.orderBy(e,a.map(function(e){return function(t){return null===t[e.id]||void 0===t[e.id]?-(1/0):"string"==typeof t[e.id]?t[e.id].toLowerCase():t[e.id]}}),a.map(function(e){return e.asc?"asc":"desc"}))},setPage:function(e){return this.isAsync?this.buildData(this.props,Object.assign({},this.state,{page:e})):void this.setState({page:e})},render:function(){var e=this,t=this.state.data?this.state.data:[],a=this.isAsync?this.state.pages:Math.ceil(t.length/this.props.pageSize),n=this.props.pageSize*this.state.page,r=n+this.props.pageSize,s=this.isAsync?t.slice(0,this.props.pageSize):t.slice(n,r),i=a>1?_.range(this.props.pageSize-s.length):this.props.minRows?_.range(Math.max(this.props.minRows-s.length,0)):[],o=this.state.page>0,c=this.state.page+1<a,u=this.props.previousComponent,l=this.props.previousComponent;return _react2.default.createElement("div",{className:(0,_classnames2.default)(this.props.className,"ReactTable")},_react2.default.createElement("table",null,this.hasHeaderGroups&&_react2.default.createElement("thead",{className:"-headerGroups"},_react2.default.createElement("tr",null,this.headerGroups.map(function(t,a){return _react2.default.createElement("th",{key:a,colSpan:t.columns.length},_react2.default.createElement("div",{className:"-th-inner"},"function"==typeof t.header?_react2.default.createElement(t.header,{data:e.props.data,column:t}):t.header))}))),_react2.default.createElement("thead",null,_react2.default.createElement("tr",null,this.decoratedColumns.map(function(t,a){var n=e.state.sorting.find(function(e){return e.id===t.id}),r="function"==typeof t.show?t.show():t.show;return _react2.default.createElement("th",{key:a,className:(0,_classnames2.default)(n?n.asc?"sort-asc":"sort-desc":"",{"cursor-pointer":t.sortable,hidden:!r}),onClick:function(a){t.sortable&&e.sortColumn(t,a.shiftKey)}},_react2.default.createElement("div",{className:"-th-inner",style:{width:t.width+"px",minWidth:t.minWidth+"px"}},"function"==typeof t.header?_react2.default.createElement(t.header,{data:e.props.data,column:t}):t.header))}))),_react2.default.createElement("tbody",null,s.map(function(t,a){return _react2.default.createElement("tr",{key:a},e.decoratedColumns.map(function(e,n){var r=e.render,s="function"==typeof e.show?e.show():e.show;return _react2.default.createElement("td",{className:(0,_classnames2.default)({hidden:!s}),key:n},_react2.default.createElement("div",{className:"-td-inner",style:{width:e.width+"px",minWidth:e.minWidth+"px"}},"function"==typeof r?_react2.default.createElement(r,{value:t[e.id],row:t.__original,index:a}):"undefined"!=typeof r?r:t[e.id]))}))}),i.map(function(t,a){return _react2.default.createElement("tr",{key:a},e.decoratedColumns.map(function(e,t){var a="function"==typeof e.show?e.show():e.show;return _react2.default.createElement("td",{className:(0,_classnames2.default)({hidden:!a}),key:t},_react2.default.createElement("div",{className:"-td-inner",style:{width:e.width+"px",minWidth:e.minWidth+"px"}}," "))}))}))),a>1&&_react2.default.createElement("div",{className:"-pagination"},_react2.default.createElement("div",{className:"-left"},_react2.default.createElement(u,{onClick:o&&function(t){return e.previousPage(t)},disabled:!o},this.props.previousText)),_react2.default.createElement("div",{className:"-center"},"Page ",this.state.page+1," of ",a),_react2.default.createElement("div",{className:"-right"},_react2.default.createElement(l,{onClick:c&&function(t){return e.nextPage(t)},disabled:!c},this.props.nextText))),_react2.default.createElement("div",{className:(0,_classnames2.default)("-loading",{"-active":this.state.loading})},_react2.default.createElement("div",{className:"-loading-inner"},this.props.loadingComponent)))},sortColumn:function(e,t){var a=this.state.sorting||[],n=_.clone(this.state.sorting||[]),r=n.findIndex(function(t){return t.id===e.id});if(r>-1){var s=n[r];s.asc?(s.asc=!1,t||(n=[s])):t?n.splice(r,1):(s.asc=!0,n=[s])}else t?n.push({id:e.id,asc:!0}):n=[{id:e.id,asc:!0}];var i=0===r||!a.length&&n.length||!t?0:this.state.page;this.buildData(this.props,Object.assign({},this.state,{page:i,sorting:n}))},nextPage:function(e){e.preventDefault(),this.setPage(this.state.page+1)},previousPage:function(e){e.preventDefault(),this.setPage(this.state.page-1)}});
|
||
|
||
},{"classnames":1,"react":undefined}]},{},[2])(2)
|
||
}); |