{"version":3,"sources":["webpack:///src/components/UI/Pagination.vue","webpack:///./src/components/UI/Pagination.vue","webpack:///./src/components/UI/Pagination.vue?8fd7","webpack:///./src/components/UI/Pagination.vue?b382","webpack:///./src/components/UI/Pagination.vue?8b0b"],"names":["props","currentPage","default","type","Number","morePages","data","mPage","mMorePages","pageNumbers","totalPages","computed","watch","val","buildPagination","created","methods","page","delta","left","right","result","Array","from","length","v","k","filter","i","unshift","push","lastPageNumber","goToPreviousPage","goToPage","goToNextPage","$emit","render","_vm","_c","_self","staticClass","attrs","role","disabled","on","click","icon","_v","_s","$t","_l","pageNumber","index","key","isNaN","class","$event","_e","staticRenderFns","_withStripped"],"mappings":"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","file":"js/27.js?id=58c176e30c54235a74d4","sourcesContent":["<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","var render = function render() {\n  var _vm = this,\n    _c = _vm._self._c\n  return _c(\n    \"nav\",\n    {\n      staticClass: \"pagination is-centered\",\n      attrs: { role: \"navigation\", \"aria-label\": \"pagination\" },\n    },\n    [\n      _c(\n        \"button\",\n        {\n          staticClass: \"pagination-previous\",\n          attrs: { disabled: _vm.currentPage <= 1 },\n          on: { click: _vm.goToPreviousPage },\n        },\n        [\n          _c(\n            \"span\",\n            { staticClass: \"icon\" },\n            [\n              _c(\"font-awesome-icon\", {\n                attrs: { icon: [\"fas\", \"chevron-left\"] },\n              }),\n            ],\n            1\n          ),\n          _c(\"span\", [_vm._v(_vm._s(_vm.$t(\"Form.Control.Previous\")))]),\n        ]\n      ),\n      _c(\n        \"button\",\n        {\n          staticClass: \"pagination-next\",\n          attrs: { disabled: _vm.mPage >= _vm.totalPages },\n          on: { click: _vm.goToNextPage },\n        },\n        [\n          _c(\"span\", [_vm._v(_vm._s(_vm.$t(\"Form.Control.Next\")))]),\n          _c(\n            \"span\",\n            { staticClass: \"icon\" },\n            [\n              _c(\"font-awesome-icon\", {\n                attrs: { icon: [\"fas\", \"chevron-right\"] },\n              }),\n            ],\n            1\n          ),\n        ]\n      ),\n      _c(\n        \"ul\",\n        { staticClass: \"pagination-list\" },\n        _vm._l(_vm.pageNumbers, function (pageNumber, index) {\n          return _c(\"li\", { key: \"p_\" + index }, [\n            !isNaN(pageNumber)\n              ? _c(\n                  \"a\",\n                  {\n                    staticClass: \"pagination-link\",\n                    class: { \"is-current\": pageNumber === _vm.mPage },\n                    on: {\n                      click: function ($event) {\n                        return _vm.goToPage(pageNumber)\n                      },\n                    },\n                  },\n                  [_vm._v(_vm._s(pageNumber))]\n                )\n              : _vm._e(),\n            isNaN(pageNumber)\n              ? _c(\n                  \"span\",\n                  { staticClass: \"pagination-ellipsis has-text-grey\" },\n                  [_vm._v(\"…\")]\n                )\n              : _vm._e(),\n          ])\n        }),\n        0\n      ),\n    ]\n  )\n}\nvar staticRenderFns = []\nrender._withStripped = true\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Pagination.vue?vue&type=template&id=1c9be7b5\"\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\n/* hot reload */\nif (module.hot) {\n  var api = require(\"/github/workspace/node_modules/vue-hot-reload-api/dist/index.js\")\n  api.install(require('vue'))\n  if (api.compatible) {\n    module.hot.accept()\n    if (!api.isRecorded('1c9be7b5')) {\n      api.createRecord('1c9be7b5', component.options)\n    } else {\n      api.reload('1c9be7b5', component.options)\n    }\n    module.hot.accept(\"./Pagination.vue?vue&type=template&id=1c9be7b5\", function () {\n      api.rerender('1c9be7b5', {\n        render: render,\n        staticRenderFns: staticRenderFns\n      })\n    })\n  }\n}\ncomponent.options.__file = \"src/components/UI/Pagination.vue\"\nexport default component.exports","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../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/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 * from \"-!../../../node_modules/cache-loader/dist/cjs.js?{\\\"cacheDirectory\\\":\\\"node_modules/.cache/vue-loader\\\",\\\"cacheIdentifier\\\":\\\"381a4baa-vue-loader-template\\\"}!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/vue-loader/lib/loaders/templateLoader.js??ref--6!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Pagination.vue?vue&type=template&id=1c9be7b5\""],"sourceRoot":""}