react-table/react-table.js
2016-10-20 15:08:27 -06:00

10 lines
10 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

(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}}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 s in a)Object.prototype.hasOwnProperty.call(a,s)&&(e[s]=a[s])}return e},_react=require("react"),_react2=_interopRequireDefault(_react),_classnames=require("classnames"),_classnames2=_interopRequireDefault(_classnames),_utils=require("./utils"),_utils2=_interopRequireDefault(_utils),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.component({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=[],s=function(e){var s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};t.headerGroups.push(Object.assign({},s,{columns:e})),a=[]},n=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 _utils2.default.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,r){e.columns?(e.columns.forEach(function(e){t.decoratedColumns.push(n(e))}),t.hasHeaderGroups&&(a.length>0&&s(a),s(_utils2.default.takeRight(t.decoratedColumns,e.columns.length),e))):(t.decoratedColumns.push(n(e)),a.push(_utils2.default.last(t.decoratedColumns)))}),this.hasHeaderGroups&&a.length>0&&s(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,s=t.sorting===!1?this.getInitSorting():t.sorting,n=function(e){a.setState({sorting:s,data:e,page:t.page,loading:!1})};if(this.isAsync){this.setState({loading:!0});var r=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);n(t)},i=e.data({sorting:s,page:t.page||0,pageSize:e.pageSize,pages:t.pages},r);i&&i.then&&i.then(r)}else{var o=this.accessData(e.data),c=this.sortData(o,s);n(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 _utils2.default.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),s=this.props.pageSize*this.state.page,n=s+this.props.pageSize,r=this.isAsync?t.slice(0,this.props.pageSize):t.slice(s,n),i=a>1?_utils2.default.range(this.props.pageSize-r.length):this.props.minRows?_utils2.default.range(Math.max(this.props.minRows-r.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 s=e.state.sorting.find(function(e){return e.id===t.id}),n="function"==typeof t.show?t.show():t.show;return _react2.default.createElement("th",{key:a,className:(0,_classnames2.default)(s?s.asc?"sort-asc":"sort-desc":"",{"cursor-pointer":t.sortable,hidden:!n}),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,r.map(function(t,a){return _react2.default.createElement("tr",{key:a},e.decoratedColumns.map(function(e,s){var n=e.render,r="function"==typeof e.show?e.show():e.show;return _react2.default.createElement("td",{className:(0,_classnames2.default)({hidden:!r}),key:s},_react2.default.createElement("div",{className:"-td-inner",style:{width:e.width+"px",minWidth:e.minWidth+"px"}},"function"==typeof n?_react2.default.createElement(n,{value:t[e.id],row:t.__original,index:a}):"undefined"!=typeof n?n: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||[],s=_utils2.default.clone(this.state.sorting||[]),n=s.findIndex(function(t){return t.id===e.id});if(n>-1){var r=s[n];r.asc?(r.asc=!1,t||(_utils2.default.remove(s,function(e){return e}),s.push(r))):t?s.splice(n,1):r.asc=!0}else t?s.push({id:e.id,asc:!0}):(_utils2.default.remove(s,function(e){return e}),s.push({id:e.id,asc:!0}));var i=0===n||!a.length&&s.length?0:this.state.page;this.buildData(this.props,Object.assign({},this.state,{page:i,sorting:s}))},nextPage:function(e){e.preventDefault(),this.setPage(this.state.page+1)},previousPage:function(e){e.preventDefault(),this.setPage(this.state.page-1)}});
},{"./utils":3,"classnames":1,"react":"react"}],3:[function(require,module,exports){
"use strict";function remove(r,e){return r.filter(function(t,n){var u=e(t);return!!u&&(r.splice(n,1),!0)})}function get(r,e){return isArray(e)&&(e=e.join(".")),e.replace("[",".").replace("]","").split(".").reduce(function(r,e){return r[e]},r)}function takeRight(r,e){var t=e>r.length?0:r.length-e;return r.slice(t)}function last(r){return r[r.length-1]}function range(r){for(var e=[],t=0;t<r;t++)e.push(r);return e}function orderBy(r,e){return r.sort(function(r,t){for(var n=0;n<e.length;n++){var u=e[n],o=u(r),i=u(t);if(o>i)return 1;if(o<i)return-1}return 0})}function clone(r){return JSON.parse(JSON.stringify(r,function(r,e){return"function"==typeof e?e.toString():e}))}function isArray(r){return Array.isArray(r)}Object.defineProperty(exports,"__esModule",{value:!0}),exports.default={get:get,takeRight:takeRight,last:last,orderBy:orderBy,range:range,clone:clone,remove:remove};
},{}]},{},[2])(2)
});