{"version":3,"sources":["webpack:///./src/components/UI/Pagination.vue","webpack:///src/components/UI/Pagination.vue","webpack:///./src/components/UI/Pagination.vue?af3e","webpack:///./src/components/UI/Pagination.vue?8fd7"],"names":["render","_vm","this","_c","_self","staticClass","attrs","currentPage","on","goToPreviousPage","_v","_s","$t","mPage","totalPages","goToNextPage","_l","pageNumbers","pageNumber","index","key","isNaN","_e","class","$event","goToPage","staticRenderFns","props","default","type","Number","morePages","data","mMorePages","computed","watch","val","buildPagination","created","methods","page","delta","left","right","result","Array","from","length","v","k","filter","i","unshift","push","lastPageNumber","$emit","component"],"mappings":"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","file":"js/chunk-2d21f129.js?id=d66112961f5aa3d7eacb","sourcesContent":["var render = function render(){var _vm=this,_c=_vm._self._c;return _c('nav',{staticClass:\"pagination is-centered\",attrs:{\"role\":\"navigation\",\"aria-label\":\"pagination\"}},[_c('button',{staticClass:\"pagination-previous\",attrs:{\"disabled\":_vm.currentPage <= 1},on:{\"click\":_vm.goToPreviousPage}},[_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-left']}})],1),_c('span',[_vm._v(_vm._s(_vm.$t('Form.Control.Previous')))])]),_c('button',{staticClass:\"pagination-next\",attrs:{\"disabled\":_vm.mPage >= _vm.totalPages},on:{\"click\":_vm.goToNextPage}},[_c('span',[_vm._v(_vm._s(_vm.$t('Form.Control.Next')))]),_c('span',{staticClass:\"icon\"},[_c('font-awesome-icon',{attrs:{\"icon\":['fas', 'chevron-right']}})],1)]),_c('ul',{staticClass:\"pagination-list\"},_vm._l((_vm.pageNumbers),function(pageNumber,index){return _c('li',{key:'p_'+index},[(!isNaN(pageNumber))?_c('a',{staticClass:\"pagination-link\",class:{ 'is-current': pageNumber === _vm.mPage },on:{\"click\":function($event){return _vm.goToPage(pageNumber)}}},[_vm._v(_vm._s(pageNumber))]):_vm._e(),(isNaN(pageNumber))?_c('span',{staticClass:\"pagination-ellipsis has-text-grey\"},[_vm._v(\"…\")]):_vm._e()])}),0)])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\n  <nav\n    class=\"pagination is-centered\"\n    role=\"navigation\"\n    aria-label=\"pagination\"\n  >\n    <button\n      class=\"pagination-previous\"\n      @click=\"goToPreviousPage\"\n      :disabled=\"currentPage <= 1\"\n    >\n      <span class=\"icon\">\n        <font-awesome-icon :icon=\"['fas', 'chevron-left']\" /></span>\n      <span>{{$t('Form.Control.Previous')}}</span>\n    </button>\n    <button\n      class=\"pagination-next\"\n      @click=\"goToNextPage\"\n      :disabled=\"mPage >= totalPages\"\n    >\n      <span>{{$t('Form.Control.Next')}}</span>\n      <span class=\"icon\">\n        <font-awesome-icon :icon=\"['fas', 'chevron-right']\" /></span>\n    </button>\n\n    <ul class=\"pagination-list\">\n      <li\n        v-for=\"(pageNumber, index) in pageNumbers\"\n        :key=\"'p_'+index\"\n      >\n        <a\n          v-if=\"!isNaN(pageNumber)\"\n          @click=\"goToPage(pageNumber)\"\n          class=\"pagination-link\"\n          :class=\"{ 'is-current': pageNumber === mPage }\"\n        >{{pageNumber}}</a>\n        <span\n          v-if=\"isNaN(pageNumber)\"\n          class=\"pagination-ellipsis has-text-grey\"\n        >&hellip;</span>\n      </li>\n    </ul>\n  </nav>\n</template>\n\n<script>\nexport default {\n  props: {\n    currentPage: {\n      default: 1,\n      type: Number\n    },\n\n    morePages: {\n      default: 0,\n      type: Number\n    }\n  },\n\n  data() {\n    return {\n      mPage: this.currentPage,\n      mMorePages: this.morePages,\n      pageNumbers: [],\n      totalPages: 0\n    }\n  },\n\n  computed: {\n  },\n\n  watch: {\n    currentPage: function(val) {\n      // Update mutable page variable\n      this.mPage = val\n      // And rebuild pagination\n      this.buildPagination()\n    },\n\n    morePages: function(val) {\n      // Update mutable morePages variable\n      this.mMorePages = val\n      // And rebuild pagination\n      this.buildPagination()\n    }\n  },\n\n  created() {\n    this.buildPagination()\n  },\n\n  methods: {\n    buildPagination() {\n      let page = this.mPage\n      this.totalPages = this.mPage + this.mMorePages\n      let delta = 4\n      let left = page - delta\n      let right = page + delta\n      let result = []\n\n      result = Array.from({ length: this.totalPages }, (v, k) => k + 1)\n        .filter(i => i && i >= left && i < right)\n\n      if (result.length > 1) {\n        // Add first page and dots\n        if (result[0] > 1) {\n          if (result[0] > 2) {\n            result.unshift('...')\n          }\n          result.unshift(1)\n        }\n\n        // Add dots and last page\n        if (result[result.length - 1] < this.totalPages) {\n          if (result[result.length - 1] !== this.totalPages - 1) {\n            result.push('...')\n          }\n          result.push(this.totalPages)\n        }\n      }\n\n      this.lastPageNumber = result.length - 1\n      this.pageNumbers = result\n    },\n\n    goToPreviousPage() {\n      this.goToPage(this.mPage - 1)\n    },\n\n    goToNextPage() {\n      this.goToPage(this.mPage + 1)\n    },\n\n    goToPage(page) {\n      this.mPage = page\n      this.mMorePages = this.totalPages - page\n      this.buildPagination()\n      this.$emit('pageSelected', this.mPage)\n    }\n  }\n}\n</script>\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=03c67394\"\nimport script from \"./Pagination.vue?vue&type=script&lang=js\"\nexport * from \"./Pagination.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n  script,\n  render,\n  staticRenderFns,\n  false,\n  null,\n  null,\n  null\n  \n)\n\nexport default component.exports"],"sourceRoot":""}