{"version":3,"file":"pagination2.js","sources":["../../node_modules/paginationjs/dist/pagination.js"],"sourcesContent":["/*\n * pagination.js 2.6.0\n * A jQuery plugin to provide simple yet fully customisable pagination.\n * https://github.com/superRaytin/paginationjs\n *\n * Homepage: http://pagination.js.org\n *\n * Copyright 2014-2100, superRaytin\n * Released under the MIT license.\n */\n\n(function(global, $) {\n\n if (typeof $ === 'undefined') {\n throwError('Pagination requires jQuery.');\n }\n\n var pluginName = 'pagination';\n\n var pluginHookMethod = 'addHook';\n\n var eventPrefix = '__pagination-';\n\n if ($.fn.pagination) {\n throwError('plugin conflicted, the name \"pagination\" has been taken by another jQuery plugin.');\n }\n\n $.fn[pluginName] = function(options) {\n\n if (typeof options === 'undefined') {\n return this;\n }\n\n var container = $(this);\n\n var attributes = $.extend({}, $.fn[pluginName].defaults, options);\n\n var pagination = {\n\n initialize: function() {\n var self = this;\n\n // Cache data for current instance\n if (!container.data('pagination')) {\n container.data('pagination', {});\n }\n\n if (self.callHook('beforeInit') === false) return;\n\n // Pagination has been initialized, destroy it\n if (container.data('pagination').initialized) {\n $('.paginationjs', container).remove();\n }\n\n // Whether to disable Pagination at the initialization\n self.disabled = !!attributes.disabled;\n\n // Model will be passed to the callback function\n var model = self.model = {\n pageRange: attributes.pageRange,\n pageSize: attributes.pageSize\n };\n\n // Parse dataSource to find available paging data\n self.parseDataSource(attributes.dataSource, function(dataSource) {\n\n // Asynchronous mode\n self.isAsync = Helpers.isString(dataSource);\n if (Helpers.isArray(dataSource)) {\n model.totalNumber = attributes.totalNumber = dataSource.length;\n }\n\n // Asynchronous mode and a 'totalNumberLocator' has been specified\n self.isDynamicTotalNumber = self.isAsync && attributes.totalNumberLocator;\n\n var el = self.render(true);\n\n // Add extra className to the pagination element\n if (attributes.className) {\n el.addClass(attributes.className);\n }\n\n model.el = el;\n\n // Append / prepend pagination element to the container\n container[attributes.position === 'bottom' ? 'append' : 'prepend'](el);\n\n // Bind events\n self.observer();\n\n // Mark pagination has been initialized\n container.data('pagination').initialized = true;\n\n // Call hook after initialization\n self.callHook('afterInit', el);\n });\n },\n\n render: function(isBoot) {\n var self = this;\n var model = self.model;\n var el = model.el || $('
');\n var isForced = isBoot !== true;\n\n self.callHook('beforeRender', isForced);\n\n var currentPage = model.pageNumber || attributes.pageNumber;\n var pageRange = attributes.pageRange || 0;\n var totalPage = self.getTotalPage();\n\n var rangeStart = currentPage - pageRange;\n var rangeEnd = currentPage + pageRange;\n\n if (rangeEnd > totalPage) {\n rangeEnd = totalPage;\n rangeStart = totalPage - pageRange * 2;\n rangeStart = rangeStart < 1 ? 1 : rangeStart;\n }\n\n if (rangeStart <= 1) {\n rangeStart = 1;\n rangeEnd = Math.min(pageRange * 2 + 1, totalPage);\n }\n\n el.html(self.generateHTML({\n currentPage: currentPage,\n pageRange: pageRange,\n rangeStart: rangeStart,\n rangeEnd: rangeEnd\n }));\n\n // Whether to hide pagination when there is only one page\n if (attributes.hideOnlyOnePage) {\n el[totalPage <= 1 ? 'hide' : 'show']();\n }\n\n self.callHook('afterRender', isForced);\n\n return el;\n },\n\n getPageLinkTag: function(index) {\n var pageLink = attributes.pageLink;\n return pageLink ? `${index}` : `${index}`;\n },\n\n // Generate HTML for page numbers\n generatePageNumbersHTML: function(args) {\n var self = this;\n var currentPage = args.currentPage;\n var totalPage = self.getTotalPage();\n var getPageLinkTag = self.getPageLinkTag;\n var rangeStart = args.rangeStart;\n var rangeEnd = args.rangeEnd;\n var html = '';\n var i;\n\n var ellipsisText = attributes.ellipsisText;\n\n var classPrefix = attributes.classPrefix;\n var pageClassName = attributes.pageClassName || '';\n var activeClassName = attributes.activeClassName || '';\n var disableClassName = attributes.disableClassName || '';\n\n // Display all page numbers if page range disabled\n if (attributes.pageRange === null) {\n for (i = 1; i <= totalPage; i++) {\n if (i == currentPage) {\n html += `