{"version":3,"sources":["webpack:///./src/views/Administration/Angemessenheitsbeschluss/AngemessenheitsbeschlussList.vue?cb19","webpack:///./src/views/Administration/Angemessenheitsbeschluss/AngemessenheitsbeschlussList.vue?854f","webpack:///./src/views/Administration/Angemessenheitsbeschluss/AngemessenheitsbeschlussList.vue?97ad","webpack:///./src/views/Administration/Angemessenheitsbeschluss/AngemessenheitsbeschlussList.vue","webpack:///./src/views/Administration/Angemessenheitsbeschluss/AngemessenheitsbeschlussList.vue?95f0","webpack:///./src/services/land-service.ts"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","on","saveAuswahl","_v","_s","$tc","attrs","laenderOptions","isLoading","isSaving","model","value","callback","$$v","auswahl","expression","_e","_l","item","_obj","key","Id","$t","TranslationKey","$event","deselectLand","class","isDirty","staticRenderFns","lookupStore","laender","gewaehlteLaender","timeout","nichtGewaehlteLaender","filter","c","every","land","map","id","text","mitAngemBeschl","HatAngemessenheitsbeschluss","length","some","wahl","loadLaender","landService","GetList","sortByTranslation","removeLandFromList","sort","a","b","endsWith","transA","toString","transB","localeCompare","clearAuswahl","clearTimeout","setTimeout","selectLand","match","find","push","UpdateAngemessenheitsbeschlussAuswahl","NotifySuccess","NotifyError","message","created","mounted","beforeRouteLeave","to","from","next","AngemessenheitsbeschlussList","components","GuardileoBox","ChosenSelect","component","data","Promise","ids","put","apiUrl","endpoint","apiHeaders","response"],"mappings":"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","file":"js/chunk-345efc4d.a450593d.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('form',{staticClass:\"content\",on:{\"submit\":_vm.saveAuswahl}},[_c('h1',[_vm._v(_vm._s(_vm.$tc(\"Drittlandtransferpruefung.Angemessenheitsbeschluss\", 2)))]),_c('hr'),_c('guardileo-box',{attrs:{\"title\":_vm.$tc('Allgemein.Land', 2)}},[_c('div',{staticClass:\"d-flex flex-row w-100 gap\"},[_c('div',{staticClass:\"d-flex flex-column form-group\"},[_c('label',[_vm._v(_vm._s(_vm.$tc(\"Land\", 1))+\" zum Hinzufügen auswählen\")]),_c('chosen-select',{staticClass:\"form-control\",attrs:{\"id\":\"country\",\"translate\":true,\"options\":_vm.laenderOptions,\"disabled\":_vm.isLoading || _vm.isSaving},model:{value:(_vm.auswahl),callback:function ($$v) {_vm.auswahl=$$v},expression:\"auswahl\"}})],1)]),_c('table',{staticClass:\"table b-table w-100\"},[_c('thead',[_c('tr',[_c('th',[_vm._v(\"\\n \"+_vm._s(_vm.$tc(\n \"Drittlandtransferpruefung.Land mit Angemessenheitsbeschluss\",\n 1\n ))+\"\\n \")]),_c('th')])]),_c('tbody',[(_vm.isLoading)?_c('tr',[_c('td',{staticClass:\"text-center\",attrs:{\"colspan\":\"5\"}},[_c('spinner')],1)]):_vm._e(),_vm._l((_vm.gewaehlteLaender),function(item){\n var _obj;\nreturn _c('tr',{key:item.Id,staticClass:\"new\"},[_c('td',[_c('div',{staticClass:\"d-flex align-items-center\"},[_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t(item.TranslationKey)))])])]),_c('td',{staticClass:\"righttd hiddentd\",on:{\"click\":function($event){_vm.isSaving || _vm.isLoading || _vm.deselectLand(item)}}},[_c('span',{staticClass:\"bt-icon abbrechen-pink table-icon\",class:( _obj = {}, _obj['disabled'] = _vm.isSaving || _vm.isLoading, _obj )})])])})],2)])]),_c('div',{staticClass:\"bottombuttons d-flex justify-content-end gap-small\"},[_c('ics-button',{attrs:{\"id\":\"btnBack\",\"type\":\"back\",\"to\":\"/administration/einstellungen\",\"text\":\"Zurück\"}},[_vm._v(_vm._s(_vm.$t(\"Allgemein.Zurück\")))]),_c('ics-button',{attrs:{\"type\":\"submit\",\"id\":\"btnSubmit\",\"disabled\":!_vm.isDirty || _vm.isLoading}},[_vm._v(_vm._s(_vm.$t(\"Eingaben speichern\")))])],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\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\r\nimport { Component, Vue, Watch } from \"vue-property-decorator\";\r\nimport { Land } from \"@/models/land-model\";\r\nimport { LandService } from \"@/services/land-service\";\r\nimport GuardileoBox from \"@/components/GuardileoBox.vue\";\r\nimport { confirmDeletion, GlobalHelper } from \"@/helper/global-helper\";\r\nimport { LookupModule, LookupStore } from \"@/store/modules/lookup-store\";\r\nimport ChosenSelect from \"@/components/ChosenSelect.vue\";\r\n\r\n@Component({\r\n components: { GuardileoBox, ChosenSelect },\r\n})\r\nexport default class AngemessenheitsbeschlussList extends Vue {\r\n private landService!: LandService;\r\n public lookupStore: LookupModule = LookupStore;\r\n\r\n public laender: Land[] = [];\r\n public gewaehlteLaender: Land[] = [];\r\n\r\n public auswahl: number | null = null;\r\n\r\n private isLoading: boolean = false;\r\n private isSaving: boolean = false;\r\n\r\n get laenderOptions() {\r\n const nichtGewaehlteLaender = this.laender.filter((c) =>\r\n this.gewaehlteLaender.every((land) => c.Id !== land.Id)\r\n );\r\n return nichtGewaehlteLaender.map(\r\n (land) => ({ id: land.Id, text: land.TranslationKey }),\r\n []\r\n );\r\n }\r\n\r\n get isDirty() {\r\n const mitAngemBeschl = this.laender.filter(\r\n (c) => c.HatAngemessenheitsbeschluss\r\n );\r\n\r\n if (this.gewaehlteLaender.length !== mitAngemBeschl.length) {\r\n return true;\r\n } else if (this.gewaehlteLaender.length === mitAngemBeschl.length) {\r\n return !mitAngemBeschl.every((c) =>\r\n this.gewaehlteLaender.some((wahl) => wahl.Id === c.Id)\r\n );\r\n } else return false;\r\n }\r\n\r\n private async loadLaender() {\r\n try {\r\n this.isLoading = true;\r\n this.laender = await this.landService.GetList();\r\n this.gewaehlteLaender = this.laender.filter(\r\n (c) => c.HatAngemessenheitsbeschluss\r\n );\r\n this.sortByTranslation();\r\n } catch (error) {\r\n throw error;\r\n } finally {\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n private removeLandFromList(wahl: Land) {\r\n this.gewaehlteLaender = this.gewaehlteLaender.filter(\r\n (land) => land.Id !== wahl.Id\r\n );\r\n\r\n return wahl;\r\n }\r\n\r\n private sortByTranslation() {\r\n this.gewaehlteLaender = this.gewaehlteLaender.sort((a, b) => {\r\n if (a.TranslationKey.endsWith(\"Deutschland\")) return -1;\r\n else if (b.TranslationKey.endsWith(\"Deutschland\")) return 1;\r\n const transA = this.$t(a.TranslationKey).toString();\r\n const transB = this.$t(b.TranslationKey).toString();\r\n return transA.localeCompare(transB);\r\n });\r\n }\r\n\r\n private timeout: ReturnType | null = null;\r\n private clearAuswahl() {\r\n if (this.timeout) clearTimeout(this.timeout);\r\n this.timeout = setTimeout(() => {\r\n this.auswahl = null;\r\n }, 50);\r\n }\r\n\r\n @Watch(\"auswahl\")\r\n private selectLand() {\r\n if (this.auswahl) {\r\n const match = this.laender.find((c) => c.Id === +(this.auswahl || 0));\r\n if (match) {\r\n this.removeLandFromList(match);\r\n this.gewaehlteLaender.push(match);\r\n this.sortByTranslation();\r\n this.clearAuswahl();\r\n }\r\n }\r\n }\r\n\r\n private deselectLand(wahl: Land) {\r\n this.removeLandFromList(wahl);\r\n this.sortByTranslation();\r\n }\r\n\r\n private async saveAuswahl() {\r\n try {\r\n this.isSaving = true;\r\n await this.landService.UpdateAngemessenheitsbeschlussAuswahl(\r\n this.gewaehlteLaender\r\n );\r\n this.loadLaender();\r\n GlobalHelper.NotifySuccess();\r\n } catch (error) {\r\n if (\"message\" in (error as any))\r\n GlobalHelper.NotifyError((error as any).message);\r\n throw error;\r\n } finally {\r\n this.isSaving = false;\r\n }\r\n }\r\n\r\n created() {\r\n this.landService = new LandService();\r\n }\r\n\r\n mounted() {\r\n this.loadLaender();\r\n }\r\n\r\n beforeRouteLeave(to: any, from: any, next: any) {\r\n if (this.isDirty) {\r\n confirmDeletion(\r\n this.$t(\"Nicht gespeicherte Änderungen\"),\r\n this.$t(\r\n \"Sie haben nicht gespeicherte Änderungen auf dieser Seite - Möchten Sie die Seite verlassen und die Änderungen verwerfen?\"\r\n ),\r\n this.$t(\"Ohne speichern verlassen\"),\r\n this.$t(\"Abbrechen\"),\r\n async () => {\r\n next(true);\r\n },\r\n () => {\r\n next(false);\r\n }\r\n );\r\n } else {\r\n next();\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AngemessenheitsbeschlussList.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../../node_modules/thread-loader/dist/cjs.js!../../../../node_modules/ts-loader/index.js??ref--12-2!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AngemessenheitsbeschlussList.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AngemessenheitsbeschlussList.vue?vue&type=template&id=0694b38c&scoped=true&\"\nimport script from \"./AngemessenheitsbeschlussList.vue?vue&type=script&lang=ts&\"\nexport * from \"./AngemessenheitsbeschlussList.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./AngemessenheitsbeschlussList.vue?vue&type=style&index=0&id=0694b38c&lang=scss&scoped=true&\"\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 \"0694b38c\",\n null\n \n)\n\nexport default component.exports","import mod from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AngemessenheitsbeschlussList.vue?vue&type=style&index=0&id=0694b38c&lang=scss&scoped=true&\"; export default mod; export * from \"-!../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--8-oneOf-1-0!../../../../node_modules/css-loader/index.js??ref--8-oneOf-1-1!../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--8-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--8-oneOf-1-3!../../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AngemessenheitsbeschlussList.vue?vue&type=style&index=0&id=0694b38c&lang=scss&scoped=true&\"","import { CrudService } from \"@/services/crud-service\";\r\nimport { Land } from \"@/models/land-model\";\r\nimport axios from \"axios\";\r\nimport { config } from \"@/appconfig\";\r\n\r\nexport class LandService extends CrudService {\r\n constructor() {\r\n super(Land, \"land\");\r\n }\r\n\r\n public async UpdateAngemessenheitsbeschlussAuswahl(data: Land[]): Promise {\r\n const ids = data.map((c) => c.Id);\r\n const response = await axios.put(\r\n config.apiUrl + this.endpoint + \"angemessenheitsbeschluss\",\r\n ids,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n }\r\n}\r\n"],"sourceRoot":""}