UNPKG

20.5 kBJavaScriptView Raw
1/*! react-paginations v0.5.5 | (c) 2017 Trend Micro Inc. | MIT | https://github.com/trendmicro-frontend/react-paginations */
2module.exports =
3/******/ (function(modules) { // webpackBootstrap
4/******/ // The module cache
5/******/ var installedModules = {};
6/******/
7/******/ // The require function
8/******/ function __webpack_require__(moduleId) {
9/******/
10/******/ // Check if module is in cache
11/******/ if(installedModules[moduleId])
12/******/ return installedModules[moduleId].exports;
13/******/
14/******/ // Create a new module (and put it into the cache)
15/******/ var module = installedModules[moduleId] = {
16/******/ i: moduleId,
17/******/ l: false,
18/******/ exports: {}
19/******/ };
20/******/
21/******/ // Execute the module function
22/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
23/******/
24/******/ // Flag the module as loaded
25/******/ module.l = true;
26/******/
27/******/ // Return the exports of the module
28/******/ return module.exports;
29/******/ }
30/******/
31/******/
32/******/ // expose the modules object (__webpack_modules__)
33/******/ __webpack_require__.m = modules;
34/******/
35/******/ // expose the module cache
36/******/ __webpack_require__.c = installedModules;
37/******/
38/******/ // identity function for calling harmony imports with the correct context
39/******/ __webpack_require__.i = function(value) { return value; };
40/******/
41/******/ // define getter function for harmony exports
42/******/ __webpack_require__.d = function(exports, name, getter) {
43/******/ if(!__webpack_require__.o(exports, name)) {
44/******/ Object.defineProperty(exports, name, {
45/******/ configurable: false,
46/******/ enumerable: true,
47/******/ get: getter
48/******/ });
49/******/ }
50/******/ };
51/******/
52/******/ // getDefaultExport function for compatibility with non-harmony modules
53/******/ __webpack_require__.n = function(module) {
54/******/ var getter = module && module.__esModule ?
55/******/ function getDefault() { return module['default']; } :
56/******/ function getModuleExports() { return module; };
57/******/ __webpack_require__.d(getter, 'a', getter);
58/******/ return getter;
59/******/ };
60/******/
61/******/ // Object.prototype.hasOwnProperty.call
62/******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };
63/******/
64/******/ // __webpack_public_path__
65/******/ __webpack_require__.p = "";
66/******/
67/******/ // Load entry module and return exports
68/******/ return __webpack_require__(__webpack_require__.s = 6);
69/******/ })
70/************************************************************************/
71/******/ ([
72/* 0 */
73/***/ (function(module, exports, __webpack_require__) {
74
75"use strict";
76
77
78Object.defineProperty(exports, "__esModule", {
79 value: true
80});
81
82var _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; };
83
84var _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; }; }();
85
86var _class, _temp2; /* eslimt react/no-set-state: 0 */
87
88
89var _reactAnchor = __webpack_require__(2);
90
91var _reactAnchor2 = _interopRequireDefault(_reactAnchor);
92
93var _classnames = __webpack_require__(3);
94
95var _classnames2 = _interopRequireDefault(_classnames);
96
97var _react = __webpack_require__(4);
98
99var _react2 = _interopRequireDefault(_react);
100
101var _reactInputAutosize = __webpack_require__(5);
102
103var _reactInputAutosize2 = _interopRequireDefault(_reactInputAutosize);
104
105var _index = __webpack_require__(1);
106
107var _index2 = _interopRequireDefault(_index);
108
109function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
110
111function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
112
113function _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; }
114
115function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
116
117function _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; }
118
119function _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; }
120
121// Normalize the value by bringing it within the range.
122// If value is greater than max, max will be returned.
123// If value is less than min, min will be returned.
124// Otherwise, value is returned unaltered. Both ends of this range are inclusive.
125var limit = function limit(value, min, max) {
126 return Math.max(min, Math.min(max, value));
127};
128
129var TablePagination = (_temp2 = _class = function (_Component) {
130 _inherits(TablePagination, _Component);
131
132 function TablePagination() {
133 var _ref;
134
135 var _temp, _this, _ret;
136
137 _classCallCheck(this, TablePagination);
138
139 for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
140 args[_key] = arguments[_key];
141 }
142
143 return _ret = (_temp = (_this = _possibleConstructorReturn(this, (_ref = TablePagination.__proto__ || Object.getPrototypeOf(TablePagination)).call.apply(_ref, [this].concat(args))), _this), _this.state = {
144 shouldOpenDropdownMenu: false,
145 page: _this.props.page
146 }, _this.actions = {
147 toggleDropdownMenu: function toggleDropdownMenu() {
148 _this.setState({ shouldOpenDropdownMenu: !_this.state.shouldOpenDropdownMenu });
149 },
150 closeDropdownMenu: function closeDropdownMenu() {
151 _this.setState({ shouldOpenDropdownMenu: false });
152 },
153 changePage: function changePage(options) {
154 var totalRecords = _this.props.totalRecords;
155
156 var _options = _extends({}, options),
157 _options$page = _options.page,
158 page = _options$page === undefined ? _this.props.page : _options$page,
159 _options$pageLength = _options.pageLength,
160 pageLength = _options$pageLength === undefined ? _this.props.pageLength : _options$pageLength;
161
162 var pageMin = 1;
163 var pageMax = Math.max(Math.ceil(totalRecords / pageLength), 1);
164 _this.props.onPageChange({
165 page: limit(page, pageMin, pageMax),
166 pageLength: pageLength
167 });
168 }
169 }, _temp), _possibleConstructorReturn(_this, _ret);
170 }
171
172 _createClass(TablePagination, [{
173 key: 'componentWillReceiveProps',
174 value: function componentWillReceiveProps(nextProps) {
175 if (nextProps.page !== this.state.page) {
176 this.setState({ page: Number(nextProps.page) });
177 }
178 }
179 }, {
180 key: 'render',
181 value: function render() {
182 var _this2 = this;
183
184 var _props = this.props,
185 type = _props.type,
186 _props$totalRecords = _props.totalRecords,
187 totalRecords = _props$totalRecords === undefined ? 0 : _props$totalRecords,
188 pageLengthMenu = _props.pageLengthMenu,
189 prevPageRenderer = _props.prevPageRenderer,
190 nextPageRenderer = _props.nextPageRenderer,
191 pageRecordsRenderer = _props.pageRecordsRenderer,
192 pageLengthRenderer = _props.pageLengthRenderer,
193 className = _props.className,
194 props = _objectWithoutProperties(_props, ['type', 'totalRecords', 'pageLengthMenu', 'prevPageRenderer', 'nextPageRenderer', 'pageRecordsRenderer', 'pageLengthRenderer', 'className']);
195
196 var pageLength = this.props.pageLength || pageLengthMenu[0] || 10;
197 var totalPages = totalRecords > 0 ? Math.ceil(totalRecords / pageLength) : 1;
198 var page = limit(this.props.page, 1, totalPages);
199 var from = limit((page - 1) * pageLength + 1, 1, totalRecords);
200 var to = limit((page - 1) * pageLength + pageLength, 1, totalRecords);
201 var prevPageDisabled = page <= 1;
202 var nextPageDisabled = page >= totalPages;
203
204 delete props.pageLength;
205 delete props.page;
206 delete props.onPageChange;
207
208 return _react2.default.createElement(
209 'div',
210 _extends({}, props, {
211 className: (0, _classnames2.default)(className, _index2.default.tablePagination)
212 }),
213 _react2.default.createElement(
214 'div',
215 { className: _index2.default.tablePaginationBlock },
216 _react2.default.createElement(
217 'div',
218 { className: _index2.default.paginationRecords },
219 pageRecordsRenderer({ totalRecords: totalRecords, from: from, to: to })
220 ),
221 type !== 'minor' && _react2.default.createElement(
222 'div',
223 {
224 className: (0, _classnames2.default)(_index2.default.dropdown, _defineProperty({}, _index2.default.open, this.state.shouldOpenDropdownMenu))
225 },
226 _react2.default.createElement(
227 'button',
228 {
229 type: 'button',
230 className: (0, _classnames2.default)(_index2.default.btn, _index2.default.dropdownToggle),
231 onClick: this.actions.toggleDropdownMenu,
232 onBlur: this.actions.closeDropdownMenu
233 },
234 pageLengthRenderer({ pageLength: pageLength })
235 ),
236 _react2.default.createElement(
237 'ul',
238 { className: _index2.default.dropdownMenu },
239 pageLengthMenu.map(function (val) {
240 return _react2.default.createElement(
241 'li',
242 {
243 key: val,
244 className: (0, _classnames2.default)(_defineProperty({}, _index2.default.selected, pageLength === val)),
245 onMouseDown: function onMouseDown() {
246 _this2.actions.changePage({
247 page: val !== pageLength ? 1 : page,
248 pageLength: val
249 });
250 }
251 },
252 _react2.default.createElement(
253 _reactAnchor2.default,
254 null,
255 val
256 )
257 );
258 })
259 )
260 ),
261 type !== 'reduced' && type !== 'minor' && _react2.default.createElement(
262 'div',
263 { className: _index2.default.paginationInput },
264 _react2.default.createElement(_reactInputAutosize2.default, {
265 value: this.state.page,
266 onChange: function onChange(event) {
267 var page = Number(event.target.value);
268 if (isNaN(page)) {
269 return;
270 }
271 _this2.setState({ page: limit(page, 1, totalPages) });
272 },
273 onKeyPress: function onKeyPress(event) {
274 if (event.key !== 'Enter') {
275 return;
276 }
277
278 var page = _this2.state.page;
279
280 page = limit(page, 1, totalPages);
281
282 if (page !== _this2.state.page) {
283 _this2.setState({ page: page });
284 }
285
286 _this2.actions.changePage({ page: page });
287 }
288 }),
289 '\xA0 / \xA0',
290 totalPages
291 ),
292 _react2.default.createElement(
293 'div',
294 null,
295 _react2.default.createElement(
296 'ul',
297 { className: _index2.default.pagination },
298 _react2.default.createElement(
299 'li',
300 {
301 className: (0, _classnames2.default)(_defineProperty({}, _index2.default.disabled, prevPageDisabled))
302 },
303 _react2.default.createElement(
304 _reactAnchor2.default,
305 {
306 disabled: prevPageDisabled,
307 onClick: function onClick(event) {
308 var prevPage = page > 1 ? page - 1 : page;
309
310 if (prevPage !== _this2.state.page) {
311 _this2.setState({ page: prevPage });
312 }
313
314 _this2.actions.changePage({ page: prevPage });
315 }
316 },
317 prevPageRenderer()
318 )
319 ),
320 _react2.default.createElement(
321 'li',
322 {
323 className: (0, _classnames2.default)(_defineProperty({}, _index2.default.disabled, nextPageDisabled))
324 },
325 _react2.default.createElement(
326 _reactAnchor2.default,
327 {
328 disabled: nextPageDisabled,
329 onClick: function onClick(event) {
330 var nextPage = page < totalPages ? page + 1 : page;
331
332 if (nextPage !== _this2.state.page) {
333 _this2.setState({ page: nextPage });
334 }
335
336 _this2.actions.changePage({ page: nextPage });
337 }
338 },
339 nextPageRenderer()
340 )
341 )
342 )
343 )
344 )
345 );
346 }
347 }]);
348
349 return TablePagination;
350}(_react.Component), _class.propTypes = {
351 type: _react.PropTypes.oneOf(['full', 'reduced', 'minor']),
352 page: _react.PropTypes.number,
353 pageLength: _react.PropTypes.number,
354 pageLengthMenu: _react.PropTypes.array,
355 totalRecords: _react.PropTypes.number,
356 onPageChange: _react.PropTypes.func,
357 prevPageRenderer: _react.PropTypes.func,
358 nextPageRenderer: _react.PropTypes.func,
359 pageRecordsRenderer: _react.PropTypes.func,
360 pageLengthRenderer: _react.PropTypes.func
361}, _class.defaultProps = {
362 type: 'full',
363 page: 1,
364 pageLength: 10,
365 pageLengthMenu: [10, 25, 50, 100],
366 totalRecords: 0,
367 onPageChange: function onPageChange() {},
368 prevPageRenderer: function prevPageRenderer() {
369 return '‹';
370 },
371 nextPageRenderer: function nextPageRenderer() {
372 return '›';
373 },
374 pageRecordsRenderer: function pageRecordsRenderer(_ref2) {
375 var totalRecords = _ref2.totalRecords,
376 from = _ref2.from,
377 to = _ref2.to;
378
379 if (totalRecords > 0) {
380 return 'Records: ' + from + ' - ' + to + ' / ' + totalRecords;
381 }
382
383 return 'Records: ' + totalRecords;
384 },
385 pageLengthRenderer: function pageLengthRenderer(_ref3) {
386 var pageLength = _ref3.pageLength;
387
388 return _react2.default.createElement(
389 'span',
390 null,
391 pageLength + ' per page',
392 _react2.default.createElement('i', { className: _index2.default.caret })
393 );
394 }
395}, _temp2);
396exports.default = TablePagination;
397
398/***/ }),
399/* 1 */
400/***/ (function(module, exports) {
401
402// removed by extract-text-webpack-plugin
403module.exports = {"pagination":"paginations---pagination---2Rb5b","fa":"paginations---fa---2RjFS","active":"paginations---active---2-a32","disabled":"paginations---disabled---eCY9b","table-pagination":"paginations---table-pagination---41TU-","tablePagination":"paginations---table-pagination---41TU-","pull-right":"paginations---pull-right---2juGH","pullRight":"paginations---pull-right---2juGH","table-pagination-block":"paginations---table-pagination-block---Cx6IH","tablePaginationBlock":"paginations---table-pagination-block---Cx6IH","pagination-records":"paginations---pagination-records---YOUAz","paginationRecords":"paginations---pagination-records---YOUAz","dropdown":"paginations---dropdown---1yvIZ","btn":"paginations---btn---2jZHN","caret":"paginations---caret---3CkEt","dropdown-menu":"paginations---dropdown-menu---1fkH0","dropdownMenu":"paginations---dropdown-menu---1fkH0","pagination-input":"paginations---pagination-input---2C8oD","paginationInput":"paginations---pagination-input---2C8oD","open":"paginations---open---1ju75","selected":"paginations---selected---1EK3y"};
404
405/***/ }),
406/* 2 */
407/***/ (function(module, exports) {
408
409module.exports = require("@trendmicro/react-anchor");
410
411/***/ }),
412/* 3 */
413/***/ (function(module, exports) {
414
415module.exports = require("classnames");
416
417/***/ }),
418/* 4 */
419/***/ (function(module, exports) {
420
421module.exports = require("react");
422
423/***/ }),
424/* 5 */
425/***/ (function(module, exports) {
426
427module.exports = require("react-input-autosize");
428
429/***/ }),
430/* 6 */
431/***/ (function(module, exports, __webpack_require__) {
432
433"use strict";
434
435
436Object.defineProperty(exports, "__esModule", {
437 value: true
438});
439exports.TablePagination = undefined;
440
441var _TablePagination2 = __webpack_require__(0);
442
443var _TablePagination3 = _interopRequireDefault(_TablePagination2);
444
445function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
446
447exports.TablePagination = _TablePagination3.default;
448
449/***/ })
450/******/ ]);
451//# sourceMappingURL=index.js.map
\No newline at end of file