{"version":3,"sources":["webpack:///./src/views/Languages/Languages.vue","webpack:///./src/views/Languages/Languages.vue?6b61","webpack:///./src/views/Languages/Languages.vue?6809","webpack:///./src/components/FixedFooter.vue","webpack:///./src/components/FixedFooter.vue?bb3e","webpack:///./src/components/FixedFooter.vue?c41f","webpack:///./src/mixins/FooterButtonsBuilder.ts","webpack:///./src/services/LanguageService.ts","webpack:///./src/views/Languages/Languages.vue?55c2","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./src/components/FixedFooter.vue?54b2","webpack:///./src/mixins/LoadingMixin.ts"],"names":["fullscreen","class","languages","languageInstance","mode","lines","key","id","editLanguage","enabled","language","code","toUpperCase","disabled","is-ltr-forward","buttons","footerButtons","name","components","DirectionIndicator","IonContent","IonPage","IonLabel","IonItem","FixedFooter","ionViewWillEnter","store","dispatch","errors","gettingJourneySets","setup","getters","router","push","params","FooterButtonsBuilder","addClearButton","value","addLanguageInstance","create","render","__scopeId","button","index","handler","icon","iconPos","text","props","type","Array","this","back","hasIcon","addPrimaryButton","next","getLanguages","enabledOnly","getLanguage","updateLanguage","createLanguage","_defineProperties","target","i","length","descriptor","enumerable","configurable","writable","Object","defineProperty","_createClass","Constructor","protoProps","staticProps","prototype","_classCallCheck","instance","TypeError","execute","run","defaultMessage","spinner","present","cssClass","header","error","message","ok","dismiss","executeWithoutSpinner","saveProgress","savingProgress","loading"],"mappings":"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","file":"js/chunk-5cc56616.8dad303b.js","sourcesContent":["\n \n \n \n \n {{ languageInstance.language }}, {{ languageInstance.code.toUpperCase() }} - {{ language.disabled }}
\n \n \n \n \n \n \n\n\n\n\n","\nimport {computed, defineComponent, ref} from \"vue\";\nimport {\n IonContent,\n IonPage,\n IonLabel,\n IonItem\n} from \"@ionic/vue\";\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {useStore} from \"vuex\";\nimport {getLanguages} from \"@/services/LanguageService\";\nimport { Language } from \"@/models/LanguageModel\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport router from \"@/router\";\nimport DirectionIndicator from \"@/components/DirectionIndicator.vue\";\n\nexport default defineComponent({\n name: \"Languages\",\n components: {\n DirectionIndicator,\n IonContent,\n IonPage,\n IonLabel,\n IonItem,\n FixedFooter\n },\n async ionViewWillEnter() {\n await this.store.dispatch('app/setPageTitle', this.language.languageInstance);\n await execute(async () => {\n this.languages = await getLanguages(false);\n }, this.language.errors.gettingJourneySets);\n },\n setup() {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const languages = ref([] as Language[]);\n \n const editLanguage = (id: string) => {\n router.push({ name: 'editLanguage', params: { id: id }});\n }\n \n return {\n store,\n language,\n languages,\n editLanguage,\n footerButtons: computed(() => \n new FooterButtonsBuilder()\n .addClearButton(false, () => router.push({ name: 'addLanguage' }), language.value.addLanguageInstance)\n .create()\n )\n }\n }\n});\n","import { render } from \"./Languages.vue?vue&type=template&id=2ab65058&scoped=true\"\nimport script from \"./Languages.vue?vue&type=script&lang=ts\"\nexport * from \"./Languages.vue?vue&type=script&lang=ts\"\n\nimport \"./Languages.vue?vue&type=style&index=0&id=2ab65058&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-2ab65058\"\n\nexport default script","\n \n\n\n\n\n","\n\nimport { FooterButton } from \"@/models/FooterButtonsModel\";\nimport {PropType} from 'vue'\nimport DirectionIndicator from \"@/components/DirectionIndicator.vue\";\n\nexport default {\n name: 'FixedFooter',\n props: {\n buttons: { \n type: Array as PropType>\n }\n },\n components: {\n DirectionIndicator\n }\n}\n","import { render } from \"./FixedFooter.vue?vue&type=template&id=aa50f4d0&scoped=true\"\nimport script from \"./FixedFooter.vue?vue&type=script&lang=ts\"\nexport * from \"./FixedFooter.vue?vue&type=script&lang=ts\"\n\nimport \"./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-aa50f4d0\"\n\nexport default script","import router from \"@/router\";\nimport {FooterButton} from \"@/models/FooterButtonsModel\";\nimport {store} from \"@/store/Store\";\n\nexport class FooterButtonsBuilder {\n footerButtons = [] as FooterButton[];\n class = 'custom-button';\n language = store.getters['app/language'];\n\n addClearBackButton(handler?: Function) {\n if(!handler){\n return this.addClearButton(true, () => router.back(), this.language.back);\n }\n return this.addClearButton(true, () => handler() , this.language.back);\n }\n\n addClearButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-clear',\n icon: hasIcon,\n iconPos: 'start',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n \n addPrimaryNextButton(handler: Function) {\n return this.addPrimaryButton(true, handler, this.language.next);\n }\n\n addPrimaryButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-primary',\n icon: hasIcon,\n iconPos: 'end',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n\n create() {\n return this.footerButtons;\n }\n}","import {GET, POST, PUT} from './HTTP';\nimport {Language} from \"@/models/LanguageModel\";\n\nexport function getLanguages(enabledOnly: boolean): Promise{\n return GET('/languages?enabledOnly=' + enabledOnly);\n}\n\nexport function getLanguage(id: string, enabledOnly: boolean): Promise{\n return GET(`/languages/${id}?enabledOnly=${enabledOnly}`);\n}\n\nexport function updateLanguage(language: Language): Promise{\n return PUT(`/languages/${language.id}`, language);\n}\n\nexport function createLanguage(language: Language): Promise{\n return POST('/languages', language);\n}\n ","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./Languages.vue?vue&type=style&index=0&id=2ab65058&scoped=true&lang=css\"","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../node_modules/vue-loader-v16/dist/index.js??ref--0-1!./FixedFooter.vue?vue&type=style&index=0&id=aa50f4d0&scoped=true&lang=css\"","import { presentNativeAlert } from '@/services/Notify';\nimport { loadingController } from \"@ionic/vue\";\nimport {store} from \"@/store/Store\";\n\nconst language = store.getters['app/language'];\n\nexport async function execute(run: () => Promise, defaultMessage = '') {\n const spinner = await loadingController.create({});\n try {\n await spinner.present();\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n } finally {\n await spinner.dismiss();\n }\n}\n\nexport async function executeWithoutSpinner(run: () => Promise, defaultMessage = '') {\n try {\n await run();\n } catch (e) {\n if (e && defaultMessage) {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.error,\n message: defaultMessage,\n buttons: [language.ok.toUpperCase()],\n });\n }\n }\n}\n\nexport async function saveProgress(run: Function) {\n const loading = await loadingController.create({\n message: language.savingProgress,\n });\n \n try {\n await loading.present();\n await run();\n }\n finally {\n await loading.dismiss();\n }\n}"],"sourceRoot":""}