{"version":3,"sources":["webpack:///./src/components/Base/BaseBreadcrumb.vue?b97e","webpack:///./src/components/Base/BaseBreadcrumb.vue?80c2","webpack:///./src/components/Base/BaseBreadcrumb.vue?2bb0","webpack:///./src/components/Base/BaseBreadcrumb.vue","webpack:///./src/components/CategoriesToggler.vue?518c","webpack:///./src/components/CategoriesToggler.vue?d5dd","webpack:///./src/components/CategoriesToggler.vue?ee4f","webpack:///./src/components/CategoriesToggler.vue","webpack:///./src/mixins/errorHandlingApiResponse.ts","webpack:///./src/mixins/requiresAdminMixin.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","attrs","baseWithItems","staticRenderFns","name","props","items","type","Array","default","text","$t","computed","to","component","_v","_s","categories","_l","category","key","id","directives","rawName","value","expression","navisionFilter","domProps","isArray","isEnabled","_i","on","$event","$$a","$$el","target","$$c","checked","$$v","$$i","$set","concat","slice","displayName","hasChanges","save","components","LoadingBlock","BasePage","BaseBreadcrumb","mixins","requiresAdminMixin","errorHandlingApiResponse","data","some","x","hasChanged","created","getSettingItemCategories","then","response","catch","error","methods","getSnackbarText","status","toggleItemCategories","filter","map","$store","dispatch","statuscode","message","t","beforeRouteEnter","from","next","state","auth","roles","includes"],"mappings":"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","file":"js/chunk-308dfe26.2682e0a63a7cd7bd55e8.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('b-breadcrumb',{staticClass:\"bg-white d-print-none\",attrs:{\"items\":_vm.baseWithItems}})}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\nexport default {\n name: \"BaseBreadcrumb\",\n props: {\n items: {\n type: Array,\n default: () => [\n {\n text: this.$t(\"Locatie.title\")\n }\n ]\n }\n },\n computed: {\n baseWithItems() {\n return [\n {\n text: this.$t(\"shared.home\"),\n to: { name: \"Home\" }\n },\n ...this.items\n ];\n }\n }\n};\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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseBreadcrumb.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BaseBreadcrumb.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BaseBreadcrumb.vue?vue&type=template&id=03bcfc46&scoped=true&\"\nimport script from \"./BaseBreadcrumb.vue?vue&type=script&lang=ts&\"\nexport * from \"./BaseBreadcrumb.vue?vue&type=script&lang=ts&\"\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 \"03bcfc46\",\n null\n \n)\n\nexport default component.exports","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('base-page',[_c('div',{staticClass:\"container mt-4\"},[_c('base-breadcrumb',{attrs:{\"items\":[\n {\n text: 'Instellingen',\n to: { name: 'Settings' }\n },\n {\n text: _vm.$t('CategoriesToggler.title')\n }\n ]}}),_c('div',{staticClass:\"container\"},[_c('h1',{staticClass:\"mt-4\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"CategoriesToggler.title\"))+\" \")]),_c('loading-block',{attrs:{\"loading\":!_vm.categories}},[_c('table',{staticClass:\"table mt-3\"},[_c('tbody',_vm._l((_vm.categories),function(category){return _c('tr',{key:category.id},[_c('td',[_c('div',{staticClass:\"custom-control custom-switch\"},[_c('input',{directives:[{name:\"model\",rawName:\"v-model\",value:(category.isEnabled),expression:\"category.isEnabled\"}],staticClass:\"custom-control-input\",attrs:{\"id\":'category-' + category.navisionFilter,\"type\":\"checkbox\"},domProps:{\"checked\":Array.isArray(category.isEnabled)?_vm._i(category.isEnabled,null)>-1:(category.isEnabled)},on:{\"change\":[function($event){var $$a=category.isEnabled,$$el=$event.target,$$c=$$el.checked?(true):(false);if(Array.isArray($$a)){var $$v=null,$$i=_vm._i($$a,$$v);if($$el.checked){$$i<0&&(_vm.$set(category, \"isEnabled\", $$a.concat([$$v])))}else{$$i>-1&&(_vm.$set(category, \"isEnabled\", $$a.slice(0,$$i).concat($$a.slice($$i+1))))}}else{_vm.$set(category, \"isEnabled\", $$c)}},function($event){return _vm.$set(category, 'hasChanged', true)}]}}),_c('label',{staticClass:\"custom-control-label\",attrs:{\"for\":'category-' + category.navisionFilter}},[_c('span',{staticClass:\"text-muted d-inline\"},[_vm._v(\" \"+_vm._s(category.navisionFilter)+\" - \")]),_vm._v(\" \"+_vm._s(category.displayName)+\" \")])])])])}),0)])]),_c('button',{staticClass:\"btn btn-primary\",attrs:{\"type\":\"button\",\"disabled\":!_vm.hasChanges},on:{\"click\":function($event){return _vm.save()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"shared.opslaan\"))+\" \")])],1)],1)])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nimport BasePage from \"./Base/BasePage.vue\";\nimport { requiresAdminMixin } from \"@/mixins/requiresAdminMixin\";\nimport { apiClient } from \"@/services/api-client\";\nimport LoadingBlock from \"@/components/LoadingBlock.vue\";\nimport BaseBreadcrumb from \"@/components/Base/BaseBreadcrumb.vue\";\nimport { errorHandlingApiResponse } from \"@/mixins/errorHandlingApiResponse\";\n\nexport default {\n name: \"CategoriesToggler\",\n components: { LoadingBlock, BasePage, BaseBreadcrumb },\n mixins: [requiresAdminMixin, errorHandlingApiResponse],\n data() {\n return {\n categories: null\n };\n },\n computed: {\n hasChanges() {\n if (!this.categories) {\n return false;\n }\n\n return this.categories.some(x => x.hasChanged === true);\n }\n },\n created() {\n apiClient\n .getSettingItemCategories({})\n .then(response => {\n this.categories = response.items;\n })\n .catch(error => {\n errorHandlingApiResponse.methods.getSnackbarText(error.status);\n });\n },\n methods: {\n save() {\n apiClient\n .toggleItemCategories({\n categories: this.categories\n .filter(x => x.hasChanged)\n .map(x => {\n return {\n id: x.id,\n isEnabled: x.isEnabled\n };\n })\n })\n .then()\n .catch(error => {\n errorHandlingApiResponse.methods.getSnackbarText(error.status);\n });\n\n this.$store.dispatch(\"snackbarAdded\", {\n text: this.$t(\"CategoriesToggler.saved\"),\n type: \"success\"\n });\n\n this.categories = this.categories.map(x => {\n return {\n ...x,\n hasChanges: false\n };\n });\n }\n }\n};\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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoriesToggler.vue?vue&type=script&lang=ts&\"; 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/ts-loader/index.js??ref--13-3!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./CategoriesToggler.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./CategoriesToggler.vue?vue&type=template&id=8e5497c0&scoped=true&\"\nimport script from \"./CategoriesToggler.vue?vue&type=script&lang=ts&\"\nexport * from \"./CategoriesToggler.vue?vue&type=script&lang=ts&\"\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 \"8e5497c0\",\n null\n \n)\n\nexport default component.exports","import { i18n } from \"@/plugins/i18n\";\nimport { apiClient } from \"@/services/api-client\";\nimport store from \"@/store/store\";\n\nexport const errorHandlingApiResponse = {\n methods: {\n //Gebruik deze methode voor algemene http error afhandeling.\n // Voeg een nieuwe methode toe voor speciefieke afhandeling maar verdeeld over meedere componenten\n // Voor component specifieke afhandeling handel dit in de component zelf af.\n\n getSnackbarText(statuscode: number) {\n var type = \"danger\";\n var message = i18n.t(\"error.server_fout\");\n\n switch (statuscode) {\n case 401:\n message = i18n.t(\"error.geen_toegang\");\n break;\n case 500:\n message = i18n.t(\"error.server_fout\");\n break;\n case 504:\n message = i18n.t(\"error.server_timed_out\");\n break;\n default:\n break;\n }\n\n store.dispatch(\"snackbarAdded\", {\n text: message,\n type: type\n });\n\n return message;\n }\n }\n};\n","import store from \"@/store/store\";\n\nexport const requiresAdminMixin = {\n beforeRouteEnter(to, from, next) {\n if (!store.state.auth.roles) {\n next({ name: \"Home\" });\n return;\n }\n\n if (store.state.auth.roles.includes(\"Admin\")) {\n next();\n return;\n }\n\n next({ name: \"Home\" });\n }\n};\n"],"sourceRoot":""}