{"version":3,"sources":["webpack:///./src/assets/document.svg","webpack:///./src/views/configuration/service-regions.vue?cfec","webpack:///src/views/configuration/service-regions.vue","webpack:///./src/views/configuration/service-regions.vue?283f","webpack:///./src/views/configuration/service-regions.vue","webpack:///./src/assets/red_x.svg","webpack:///./src/utils/toast.js"],"names":["module","exports","render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","isPageLoading","on","$event","_e","_v","directives","name","rawName","value","expression","domProps","target","composing","searchKeyword","$permissions","newServiceRegion","_l","searchLocalDataset","getServiceRegions","serviceRegion","key","id","_s","preventDefault","editServiceRegion","deleteServiceRegion","staticRenderFns","components","data","computed","methods","resetServiceRegion","then","fetchServiceRegion","values","filter","mounted","fetchServiceRegions","component","defaultOptions","noCloseButton","autoHideDelay","toaster","isStatus","success","context","message","overrideOptions","options","variant","$root","$bvToast","toast","danger"],"mappings":"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","file":"js/chunk-5692f732.0a567db2.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/document.fac8cbfe.svg\";","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('fragment',[_c('div',{staticClass:\"main_page\"},[_c('app-navbar'),_c('div',{staticClass:\"page\"},[_c('loading',{attrs:{\"active\":_vm.isPageLoading,\"is-full-page\":\"\"},on:{\"update:active\":function($event){_vm.isPageLoading=$event}}}),(!_vm.isPageLoading)?_c('div',[_c('div',{staticClass:\"page-title\"},[_c('h1',[_vm._v(\"Service Regions\")])]),_c('div',{staticClass:\"page-content\"},[_c('form',[_c('div',{staticClass:\"form-group row\"},[_c('label',{staticClass:\"col-sm-2 col-form-label\",attrs:{\"for\":\"searchKeyword\"}},[_vm._v(\"Search by Keyword\")]),_c('div',{staticClass:\"col-sm-8\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(_vm.searchKeyword),expression:\"searchKeyword\"}],staticClass:\"form-control\",attrs:{\"type\":\"text\"},domProps:{\"value\":(_vm.searchKeyword)},on:{\"input\":function($event){if($event.target.composing){ return; }_vm.searchKeyword=$event.target.value}}})]),_c('div',{staticClass:\"col-sm-2\"},[(_vm.$permissions().hasEditServiceRegionPermission)?_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\"},on:{\"click\":_vm.newServiceRegion}},[_c('i',{staticClass:\"fas fa-plus-circle\"}),_vm._v(\" Add New \")]):_vm._e()])])]),_c('ul',{staticClass:\"list-group list-group-flush border-bottom\"},_vm._l((_vm.searchLocalDataset(_vm.getServiceRegions)),function(serviceRegion){return _c('li',{key:serviceRegion.id,staticClass:\"list-group-item d-flex px-2\"},[_c('div',{staticClass:\"mr-auto\"},[_c('p',{staticClass:\"m-0\"},[_vm._v(_vm._s(serviceRegion.name))])]),(_vm.$permissions().hasEditServiceRegionPermission)?_c('a',{staticClass:\"d-flex justify-content-between align-items-center flex-column\",attrs:{\"role\":\"button\",\"href\":\"#\",\"title\":\"Edit\"},on:{\"click\":function($event){$event.preventDefault();return _vm.editServiceRegion(serviceRegion.id)}}},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":require(\"@/assets/document.svg\"),\"alt\":\"\"}}),_c('span',{staticClass:\"small-grey\"},[_vm._v(\"Edit\")])]):_vm._e(),(_vm.$permissions().hasDeleteServiceRegionPermission)?_c('a',{staticClass:\"d-flex justify-content-between align-items-center flex-column ml-3\",attrs:{\"role\":\"button\",\"href\":\"#\",\"title\":\"Delete\"},on:{\"click\":function($event){$event.preventDefault();return _vm.deleteServiceRegion(serviceRegion.id)}}},[_c('img',{staticClass:\"mb-1\",attrs:{\"src\":require(\"@/assets/red_x.svg\"),\"alt\":\"\"}}),_c('span',{staticClass:\"small-grey\"},[_vm._v(\"Delete\")])]):_vm._e()])}),0)])]):_vm._e()],1)],1),_c('b-modal',{attrs:{\"id\":\"bv-modal-service-region\",\"size\":\"lg\",\"hide-header\":\"\",\"hide-footer\":\"\",\"no-close-on-backdrop\":true}},[_c('serviceRegion')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","<template>\r\n  <fragment>\r\n    <div class=\"main_page\">\r\n      <app-navbar></app-navbar>\r\n      <div class=\"page\">\r\n        <loading :active.sync=\"isPageLoading\" is-full-page></loading>\r\n        <div v-if=\"!isPageLoading\">\r\n          <div class=\"page-title\">\r\n            <h1>Service Regions</h1>\r\n          </div>\r\n          <div class=\"page-content\">\r\n            <form>\r\n              <div class=\"form-group row\">\r\n                <label for=\"searchKeyword\" class=\"col-sm-2 col-form-label\">Search by Keyword</label>\r\n                <div class=\"col-sm-8\">\r\n                  <input type=\"text\" class=\"form-control\" v-model=\"searchKeyword\" />\r\n                </div>\r\n                <div class=\"col-sm-2\">\r\n                  <button type=\"button\" v-if=\"$permissions().hasEditServiceRegionPermission\" class=\"btn btn-primary\" @click=\"newServiceRegion\">\r\n                    <i class=\"fas fa-plus-circle\"></i> Add New\r\n                  </button>\r\n                </div>\r\n              </div>\r\n            </form>\r\n            <ul class=\"list-group list-group-flush border-bottom\">\r\n              <li class=\"list-group-item d-flex px-2\" v-for=\"serviceRegion in searchLocalDataset(getServiceRegions)\" :key=\"serviceRegion.id\">\r\n                <div class=\"mr-auto\">\r\n                  <p class=\"m-0\">{{ serviceRegion.name }}</p>\r\n                  \r\n                </div>\r\n                <a v-if=\"$permissions().hasEditServiceRegionPermission\" role=\"button\" href=\"#\"\r\n                   class=\"d-flex justify-content-between align-items-center flex-column\" title=\"Edit\" @click.prevent=\"editServiceRegion(serviceRegion.id)\">\r\n                  <img class=\"mb-1\" src=\"@/assets/document.svg\" alt />\r\n                  <span class=\"small-grey\">Edit</span>\r\n                </a>\r\n                <a v-if=\"$permissions().hasDeleteServiceRegionPermission\" role=\"button\" href=\"#\"\r\n                   class=\"d-flex justify-content-between align-items-center flex-column ml-3\" title=\"Delete\" @click.prevent=\"deleteServiceRegion(serviceRegion.id)\">\r\n                  <img class=\"mb-1\" src=\"@/assets/red_x.svg\" alt />\r\n                  <span class=\"small-grey\">Delete</span>\r\n                </a>\r\n              </li>\r\n            </ul>\r\n          </div>\r\n        </div>\r\n      </div>\r\n    </div>\r\n    <b-modal id=\"bv-modal-service-region\" size=\"lg\" hide-header hide-footer :no-close-on-backdrop=\"true\">\r\n      <serviceRegion></serviceRegion>\r\n    </b-modal>\r\n  </fragment>\r\n</template>\r\n\r\n<script>\r\nimport { mapGetters, mapActions } from \"vuex\";\r\nimport MessageBox from \"@/utils/messagebox\";\r\nimport Toast from \"@/utils/toast\";\r\n\r\nexport default {\r\n  name: \"configuration-service-regions\",\r\n  components: {\r\n    'app-navbar': () => import('@/components/app-navbar.vue'),\r\n    'serviceRegion': () => import('@/views/configuration/components/service-region.vue')\r\n  },\r\n  data: function() {\r\n    return {\r\n      isPageLoading: true,\r\n      searchKeyword: null\r\n    };\r\n  },\r\n  computed: {\r\n    ...mapGetters([\"getServiceRegions\"])\r\n  },\r\n  methods: {\r\n    newServiceRegion() {\r\n      this.resetServiceRegion().then(() => {\r\n        this.$bvModal.show(\"bv-modal-service-region\");\r\n      });\r\n    },\r\n    editServiceRegion(id) {\r\n      this.fetchServiceRegion(id).then(() => {\r\n        this.$bvModal.show(\"bv-modal-service-region\");\r\n      });\r\n    },\r\n    async deleteServiceRegion(id) {\r\n      let confirm = await MessageBox.confirm(this, \"Remove Service Region\", \"Are you sure you want to remove this service region?\");\r\n\r\n      if (confirm) {\r\n        this.removeServiceRegion(id).then(() => {\r\n          Toast.success(this, \"Successfully removed service region!\");\r\n        });\r\n      }\r\n    },\r\n    searchLocalDataset(values) {\r\n      if (!this.searchKeyword || this.searchKeyword === \"\") return values;\r\n\r\n      return values.filter(\r\n        i =>\r\n          i.name.includes(this.searchKeyword) \r\n      );\r\n    },\r\n    ...mapActions([\"fetchServiceRegion\", \"fetchServiceRegions\", \"removeServiceRegion\", \"resetServiceRegion\"])\r\n  },\r\n  mounted: function() {\r\n    this.fetchServiceRegions().then(() => {\r\n      this.isPageLoading = false;\r\n    });\r\n  }\r\n};\r\n</script>\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./service-regions.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./service-regions.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./service-regions.vue?vue&type=template&id=ce13dc90&\"\nimport script from \"./service-regions.vue?vue&type=script&lang=js&\"\nexport * from \"./service-regions.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","module.exports = __webpack_public_path__ + \"img/red_x.d0ed53ac.svg\";","const defaultOptions = {\r\n  noCloseButton: true,\r\n  autoHideDelay: 3000,\r\n  toaster: \"b-toaster-top-right\",\r\n  isStatus: true\r\n};\r\n\r\nconst success = function (context, message, overrideOptions) {\r\n  let options = { variant: 'success', ...defaultOptions, ...overrideOptions };\r\n  context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nconst danger = function (context, message, overrideOptions) {\r\n  let options = { variant: 'danger', ...defaultOptions, ...overrideOptions };\r\n  context.$root.$bvToast.toast(message, options);\r\n}\r\n\r\nexport default { success, danger }\r\n"],"sourceRoot":""}