{"version":3,"sources":["webpack:///webpack/bootstrap 1c7e015ae71a38362e8e","webpack:///./source/js/jquery.twbsPagination.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","configurable","enumerable","get","n","__esModule","object","property","prototype","hasOwnProperty","p","s","$","window","document","undefined","old","fn","twbsPagination","TwbsPagination","element","options","this","$element","extend","defaults","startPage","totalPages","Error","parseInt","isNaN","visiblePages","onPageClick","Function","first","on","hideOnlyOnePage","trigger","href","getPageFromQueryString","tagName","prop","attr","$listContainer","addClass","paginationClass","append","initiateStartPageClick","show","currentPage","render","getPages","setupEvents","constructor","destroy","empty","removeData","off","page","enable","disable","_this","evt","preventDefault","children","each","hasClass","activeClass","disabledClass","buildListItems","pages","listItems","push","buildItem","prev","loop","numeric","length","next","last","type","$itemContainer","$itemContent","itemText","makeText","data","makeHref","anchorClass","html","ariaPage","half","Math","floor","start","end","itPage","remove","items","key","item","$this","ariaCurrent","toggleClass","ariaFirst","ariaLast","ariaPrev","ariaNext","generateQueryString","text","replace","pageVariable","totalPagesVariable","searchStr","search","getSearchString","RegExp","exec","decodeURIComponent","pageNumber","regex","location","indexOf","substr","getCurrentPage","option","methodReturn","args","Array","slice","arguments","_typeof","apply","nextClass","prevClass","lastClass","firstClass","pageClass","is","Constructor","noConflict","version","jQuery"],"mappings":"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","file":"twbsPagination.bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 305);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 1c7e015ae71a38362e8e","/*!\r\n * jQuery pagination plugin v1.4.1\r\n * http://esimakin.github.io/twbs-pagination/\r\n *\r\n * Copyright 2014-2016, Eugene Simakin\r\n * Released under Apache 2.0 license\r\n * http://apache.org/licenses/LICENSE-2.0.html\r\n * \r\n * Custom changes made at CGI Finland to improve accessibility, 2020\r\n */\r\n(function ($, window, document, undefined) {\r\n\r\n 'use strict';\r\n\r\n var old = $.fn.twbsPagination;\r\n\r\n // PROTOTYPE AND CONSTRUCTOR\r\n\r\n var TwbsPagination = function (element, options) {\r\n this.$element = $(element);\r\n this.options = $.extend({}, $.fn.twbsPagination.defaults, options);\r\n\r\n if (this.options.startPage < 1 || this.options.startPage > this.options.totalPages) {\r\n throw new Error('Start page option is incorrect');\r\n }\r\n\r\n this.options.totalPages = parseInt(this.options.totalPages);\r\n if (isNaN(this.options.totalPages)) {\r\n throw new Error('Total pages option is not correct!');\r\n }\r\n\r\n this.options.visiblePages = parseInt(this.options.visiblePages);\r\n if (isNaN(this.options.visiblePages)) {\r\n throw new Error('Visible pages option is not correct!');\r\n }\r\n\r\n if (this.options.onPageClick instanceof Function) {\r\n this.$element.first().on('page', this.options.onPageClick);\r\n }\r\n\r\n // hide if only one page exists\r\n if (this.options.hideOnlyOnePage && this.options.totalPages == 1) {\r\n this.$element.trigger('page', 1);\r\n return this;\r\n }\r\n\r\n if (this.options.totalPages < this.options.visiblePages) {\r\n this.options.visiblePages = this.options.totalPages;\r\n }\r\n\r\n if (this.options.href) {\r\n this.options.startPage = this.getPageFromQueryString();\r\n if (!this.options.startPage) {\r\n this.options.startPage = 1;\r\n }\r\n }\r\n\r\n var tagName = (typeof this.$element.prop === 'function') ?\r\n this.$element.prop('tagName') : this.$element.attr('tagName');\r\n\r\n if (tagName === 'UL') {\r\n this.$listContainer = this.$element;\r\n } else {\r\n this.$listContainer = $('');\r\n }\r\n\r\n this.$listContainer.addClass(this.options.paginationClass);\r\n\r\n if (tagName !== 'UL') {\r\n this.$element.append(this.$listContainer);\r\n }\r\n\r\n if (this.options.initiateStartPageClick) {\r\n this.show(this.options.startPage);\r\n } else {\r\n this.currentPage = this.options.startPage;\r\n this.render(this.getPages(this.options.startPage));\r\n this.setupEvents();\r\n }\r\n\r\n return this;\r\n };\r\n\r\n TwbsPagination.prototype = {\r\n\r\n constructor: TwbsPagination,\r\n\r\n destroy: function () {\r\n this.$element.empty();\r\n this.$element.removeData('twbs-pagination');\r\n this.$element.off('page');\r\n\r\n return this;\r\n },\r\n\r\n show: function (page) {\r\n if (page < 1 || page > this.options.totalPages) {\r\n throw new Error('Page is incorrect.');\r\n }\r\n this.currentPage = page;\r\n\r\n this.render(this.getPages(page));\r\n this.setupEvents();\r\n\r\n this.$element.trigger('page', page);\r\n\r\n return this;\r\n },\r\n\r\n enable: function () {\r\n this.show(this.currentPage);\r\n },\r\n\r\n disable: function () {\r\n var _this = this;\r\n this.$listContainer.off('click').on('click', 'li', function (evt) {\r\n evt.preventDefault();\r\n });\r\n this.$listContainer.children().each(function () {\r\n var $this = $(this);\r\n if (!$this.hasClass(_this.options.activeClass)) {\r\n $(this).addClass(_this.options.disabledClass);\r\n }\r\n });\r\n },\r\n\r\n buildListItems: function (pages) {\r\n var listItems = [];\r\n\r\n if (this.options.first) {\r\n listItems.push(this.buildItem('first', 1));\r\n }\r\n\r\n if (this.options.prev) {\r\n var prev = pages.currentPage > 1 ? pages.currentPage - 1 : this.options.loop ? this.options.totalPages : 1;\r\n listItems.push(this.buildItem('prev', prev));\r\n }\r\n\r\n for (var i = 0; i < pages.numeric.length; i++) {\r\n listItems.push(this.buildItem('page', pages.numeric[i]));\r\n }\r\n\r\n if (this.options.next) {\r\n var next = pages.currentPage < this.options.totalPages ? pages.currentPage + 1 : this.options.loop ? 1 : this.options.totalPages;\r\n listItems.push(this.buildItem('next', next));\r\n }\r\n\r\n if (this.options.last) {\r\n listItems.push(this.buildItem('last', this.options.totalPages));\r\n }\r\n\r\n return listItems;\r\n },\r\n\r\n buildItem: function (type, page) {\r\n var $itemContainer = $('
  • '),\r\n $itemContent = $(''),\r\n itemText = this.options[type] ? this.makeText(this.options[type], page) : page;\r\n\r\n $itemContainer.addClass(this.options[type + 'Class']);\r\n $itemContainer.data('page', page);\r\n $itemContainer.data('page-type', type);\r\n $itemContainer.append($itemContent.attr('href', this.makeHref(page)).addClass(this.options.anchorClass).html(itemText));\r\n $itemContent.attr('aria-label', ariaPage + itemText);\r\n\r\n return $itemContainer;\r\n },\r\n\r\n getPages: function (currentPage) {\r\n var pages = [];\r\n\r\n var half = Math.floor(this.options.visiblePages / 2);\r\n var start = currentPage - half + 1 - this.options.visiblePages % 2;\r\n var end = currentPage + half;\r\n\r\n // handle boundary case\r\n if (start <= 0) {\r\n start = 1;\r\n end = this.options.visiblePages;\r\n }\r\n if (end > this.options.totalPages) {\r\n start = this.options.totalPages - this.options.visiblePages + 1;\r\n end = this.options.totalPages;\r\n }\r\n\r\n var itPage = start;\r\n while (itPage <= end) {\r\n pages.push(itPage);\r\n itPage++;\r\n }\r\n\r\n return {\"currentPage\": currentPage, \"numeric\": pages};\r\n },\r\n\r\n render: function (pages) {\r\n var _this = this;\r\n this.$listContainer.children().remove();\r\n var items = this.buildListItems(pages);\r\n $.each(items, function(key, item){\r\n _this.$listContainer.append(item);\r\n });\r\n\r\n this.$listContainer.children().each(function () {\r\n var $this = $(this),\r\n pageType = $this.data('page-type');\r\n\r\n switch (pageType) {\r\n case 'page':\r\n if ($this.data('page') === pages.currentPage) {\r\n $this.addClass(_this.options.activeClass);\r\n $this.children().attr('aria-label', ariaCurrent + ariaPage + pages.currentPage);\r\n }\r\n break;\r\n case 'first':\r\n $this.toggleClass(_this.options.disabledClass, pages.currentPage === 1);\r\n $this.children().attr('aria-label', ariaFirst);\r\n break;\r\n case 'last':\r\n $this.toggleClass(_this.options.disabledClass, pages.currentPage === _this.options.totalPages);\r\n $this.children().attr('aria-label', ariaLast);\r\n break;\r\n case 'prev':\r\n $this.toggleClass(_this.options.disabledClass, !_this.options.loop && pages.currentPage === 1);\r\n $this.children().attr('aria-label', ariaPrev);\r\n break;\r\n case 'next':\r\n $this.toggleClass(_this.options.disabledClass,\r\n !_this.options.loop && pages.currentPage === _this.options.totalPages);\r\n $this.children().attr('aria-label', ariaNext);\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n });\r\n },\r\n\r\n setupEvents: function () {\r\n var _this = this;\r\n this.$listContainer.off('click').on('click', 'li', function (evt) {\r\n var $this = $(this);\r\n if ($this.hasClass(_this.options.disabledClass) || $this.hasClass(_this.options.activeClass)) {\r\n return false;\r\n }\r\n // Prevent click event if href is not set.\r\n !_this.options.href && evt.preventDefault();\r\n _this.show(parseInt($this.data('page')));\r\n });\r\n },\r\n\r\n makeHref: function (page) {\r\n return this.options.href ? this.generateQueryString(page) : \"#\";\r\n },\r\n\r\n makeText: function (text, page) {\r\n return text.replace(this.options.pageVariable, page)\r\n .replace(this.options.totalPagesVariable, this.options.totalPages)\r\n },\r\n getPageFromQueryString: function (searchStr) {\r\n var search = this.getSearchString(searchStr),\r\n regex = new RegExp(this.options.pageVariable + '(=([^&#]*)|&|#|$)'),\r\n page = regex.exec(search);\r\n if (!page || !page[2]) {\r\n return null;\r\n }\r\n page = decodeURIComponent(page[2]);\r\n page = parseInt(page);\r\n if (isNaN(page)) {\r\n return null;\r\n }\r\n return page;\r\n },\r\n generateQueryString: function (pageNumber, searchStr) {\r\n var search = this.getSearchString(searchStr),\r\n regex = new RegExp(this.options.pageVariable + '=*[^&#]*');\r\n if (!search) return '';\r\n return '?' + search.replace(regex, this.options.pageVariable + '=' + pageNumber);\r\n\r\n },\r\n getSearchString: function (searchStr) {\r\n var search = searchStr || window.location.search;\r\n if (search === '') {\r\n return null;\r\n }\r\n if (search.indexOf('?') === 0) search = search.substr(1);\r\n return search;\r\n },\r\n getCurrentPage: function () {\r\n return this.currentPage;\r\n }\r\n };\r\n\r\n // PLUGIN DEFINITION\r\n\r\n $.fn.twbsPagination = function (option) {\r\n var args = Array.prototype.slice.call(arguments, 1);\r\n var methodReturn;\r\n\r\n var $this = $(this);\r\n var data = $this.data('twbs-pagination');\r\n var options = typeof option === 'object' ? option : {};\r\n\r\n if (!data) $this.data('twbs-pagination', (data = new TwbsPagination(this, options) ));\r\n if (typeof option === 'string') methodReturn = data[ option ].apply(data, args);\r\n\r\n return ( methodReturn === undefined ) ? $this : methodReturn;\r\n };\r\n\r\n $.fn.twbsPagination.defaults = {\r\n totalPages: 1,\r\n startPage: 1,\r\n visiblePages: 5,\r\n initiateStartPageClick: true,\r\n hideOnlyOnePage: false,\r\n href: false,\r\n pageVariable: '{{page}}',\r\n totalPagesVariable: '{{total_pages}}',\r\n page: null,\r\n first: 'First',\r\n prev: 'Previous',\r\n next: 'Next',\r\n last: 'Last',\r\n loop: false,\r\n onPageClick: null,\r\n paginationClass: 'pagination',\r\n nextClass: 'page-item next',\r\n prevClass: 'page-item prev',\r\n lastClass: 'page-item last',\r\n firstClass: 'page-item first',\r\n pageClass: 'page-item',\r\n activeClass: 'active',\r\n disabledClass: 'disabled',\r\n anchorClass: 'page-link'\r\n };\r\n\r\n var ariaPage = \"\";\r\n var ariaCurrent = \"\";\r\n var ariaFirst = \"\";\r\n var ariaLast = \"\";\r\n var ariaPrev = \"\";\r\n var ariaNext = \"\";\r\n\r\n if ($('html').is(':lang(fi)')) {\r\n var ariaPage = 'sivu ';\r\n var ariaCurrent = 'nykyinen sivu ';\r\n var ariaFirst = 'ensimmäinen sivu ';\r\n var ariaLast = 'viimeinen sivu ';\r\n var ariaPrev = 'edellinen sivu ';\r\n var ariaNext = 'seuraava sivu ';\r\n } else if ($('html').is(':lang(en)')) {\r\n var ariaPage = 'page ';\r\n var ariaCurrent = 'current page ';\r\n var ariaFirst = 'first page ';\r\n var ariaLast = 'last page ';\r\n var ariaPrev = 'previous page ';\r\n var ariaNext = 'next page ';\r\n } else if ($('html').is(':lang(sv)')) {\r\n var ariaPage = 'sidan ';\r\n var ariaCurrent = 'nuvarande sidan ';\r\n var ariaFirst = 'första sidan ';\r\n var ariaLast = 'sista sidan ';\r\n var ariaPrev = 'föregående sidan ';\r\n var ariaNext = 'nästa sidan ';\r\n }\r\n\r\n $.fn.twbsPagination.Constructor = TwbsPagination;\r\n\r\n $.fn.twbsPagination.noConflict = function () {\r\n $.fn.twbsPagination = old;\r\n return this;\r\n };\r\n\r\n $.fn.twbsPagination.version = \"1.4.1\";\r\n\r\n})(window.jQuery, window, document);\r\n\n\n\n// WEBPACK FOOTER //\n// ./source/js/jquery.twbsPagination.js"],"sourceRoot":""}