UNPKG

react-data-table

Version:

A very simple DataTable component for React that takes data via ajax (made for Laravel paginate).

111 lines (98 loc) 3.71 kB
"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; }; })(); function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } } var DEFAULT_MAX_LISTENERS = 100; function error(message) { for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { args[_key - 1] = arguments[_key]; } console.error.apply(console, [message].concat(args)); console.trace(); } var EventEmitter = (function () { function EventEmitter() { _classCallCheck(this, EventEmitter); this._maxListeners = DEFAULT_MAX_LISTENERS; this._events = {}; } _createClass(EventEmitter, [{ key: "on", value: function on(type, listener) { if (typeof listener != "function") { throw new TypeError(); } var listeners = this._events[type] || (this._events[type] = []); if (listeners.indexOf(listener) != -1) { return this; } listeners.push(listener); if (listeners.length > this._maxListeners) { error("possible memory leak, added %i %s listeners, " + "use EventEmitter#setMaxListeners(number) if you " + "want to increase the limit (%i now)", listeners.length, type, this._maxListeners); } return this; } }, { key: "once", value: function once(type, listener) { var eventsInstance = this; function onceCallback() { eventsInstance.off(type, onceCallback); listener.apply(null, arguments); } return this.on(type, onceCallback); } }, { key: "off", value: function off(type) { for (var _len2 = arguments.length, args = Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) { args[_key2 - 1] = arguments[_key2]; } if (args.length == 0) { this._events[type] = null; } var listener = args[0]; if (typeof listener != "function") { throw new TypeError(); } var listeners = this._events[type]; if (!listeners || !listeners.length) { return this; } var indexOfListener = listeners.indexOf(listener); if (indexOfListener == -1) { return this; } listeners.splice(indexOfListener, 1); return this; } }, { key: "emit", value: function emit(type) { for (var _len3 = arguments.length, args = Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) { args[_key3 - 1] = arguments[_key3]; } var listeners = this._events[type]; if (!listeners || !listeners.length) { return false; } listeners.forEach(function (fn) { return fn.apply(null, args); }); return true; } }, { key: "setMaxListeners", value: function setMaxListeners(newMaxListeners) { if (parseInt(newMaxListeners) !== newMaxListeners) { throw new TypeError(); } this._maxListeners = newMaxListeners; } }]); return EventEmitter; })(); exports["default"] = EventEmitter; module.exports = exports["default"];