{"version":3,"sources":["webpack:///./src/components/FixedFooter.vue","webpack:///./src/components/FixedFooter.vue?bb3e","webpack:///./src/components/FixedFooter.vue?c41f","webpack:///./src/views/Images/Image.vue","webpack:///./src/views/Images/Image.vue?e49b","webpack:///./src/views/Images/Image.vue?ca9a","webpack:///./src/views/Images/Image.vue?36cd","webpack:///./src/components/FixedFooter.vue?54b2","webpack:///./src/mixins/LoadingMixin.ts"],"names":["class","buttons","button","index","key","handler","icon","iconPos","is-ltr-forward","text","name","props","type","Array","components","DirectionIndicator","render","__scopeId","fullscreen","lines","mode","position","nameLabel","autocomplete","placeholder","language","image","filename","previewLabel","src","data","deleteImage","id","deleteText","footerButtons","IonContent","IonPage","IonItem","IonIcon","IonInput","FixedFooter","ionViewWillEnter","imageId","store","dispatch","split","isImage","errors","loadingImages","loadingIcons","setup","getters","route","typeId","params","imageGroupTypeId","value","JourneyImages","cssClass","header","deleteImageQuestion","deleteIconQuestion","message","verifyDeleteImageQuestion","verifyDeleteIconQuestion","cancel","role","dismiss","delete","router","replace","imageGroupId","deletingImage","deletingIcon","back","savingImage","savingIcon","saveUpdates","imageName","iconName","imagePreview","iconPreview","deleteIcon","execute","run","defaultMessage","create","spinner","present","error","ok","toUpperCase","executeWithoutSpinner","saveProgress","savingProgress","loading"],"mappings":"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","file":"js/chunk-193c08c9.df18044e.js","sourcesContent":["\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","\n\n\n\n","\nimport {alertController, IonContent, IonIcon, IonInput, IonItem, IonPage} from \"@ionic/vue\";\nimport {useRoute} from \"vue-router\";\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport {DELETE, GET, PUT} from \"@/services/HTTP\";\nimport {computed, defineComponent, ref} from \"vue\";\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {Image} from \"@/models/ImageModel\";\nimport {presentNativeAlert} from \"@/services/Notify\";\nimport router from \"@/router\";\nimport {ImageGroupId} from \"@/models/ImageGroupTypes\";\nimport {useStore} from \"vuex\";\n\nexport default defineComponent({\n name: \"Image\",\n components: {\n IonContent,\n IonPage,\n IonItem,\n IonIcon,\n IonInput,\n FixedFooter\n },\n async ionViewWillEnter() {\n await execute(async () => {\n this.image = await GET('/images/' + this.imageId);\n await this.store.dispatch('app/setPageTitle', this.image.filename.split('.')[0]);\n }, this.isImage ? this.language.errors.loadingImages : this.language.errors.loadingIcons);\n },\n setup() {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const route = useRoute();\n const typeId = computed(() => route.params.imageGroupTypeId as string);\n const isImage = computed(() => typeId.value === ImageGroupId.JourneyImages);\n const imageId = computed(() => route.params.imageId);\n const image = ref({\n id: '',\n filename: '',\n data: ''\n } as Image);\n \n const deleteImage = (id: string) => {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: isImage.value ? language.value.deleteImageQuestion : language.value.deleteIconQuestion,\n message: isImage.value ? language.value.verifyDeleteImageQuestion : language.value.verifyDeleteIconQuestion,\n buttons: [\n {\n text: language.value.cancel,\n role: 'cancel',\n handler: () => {\n alertController.dismiss();\n },\n },\n {\n text: language.value.delete,\n handler: async () => {\n await alertController.dismiss();\n await execute(async () => {\n await DELETE('/images/' + id);\n await router.replace({ name: 'images', params: {imageGroupTypeId: typeId.value, imageGroupId: route.params.imageGroupId} });\n }, isImage.value ? language.value.errors.deletingImage : language.value.errors.deletingIcon);\n },\n },\n ]\n });\n }\n \n return {\n imageId,\n isImage,\n footerButtons: computed(() => {\n return ([{\n class: 'custom-button button-clear',\n icon: true,\n iconPos: 'start',\n handler: () => router.back(),\n text: language.value.cancel\n },\n {\n class: 'custom-button button-primary',\n icon: false,\n iconPos: '',\n handler: () => {\n execute(async () => {\n await PUT('/images', image.value);\n await router.replace({ name: 'images', params: {imageGroupTypeId: typeId.value, imageGroupId: route.params.imageGroupId} });\n }, isImage.value ? language.value.errors.savingImage : language.value.errors.savingIcon);\n },\n text: language.value.saveUpdates\n }])\n }),\n image,\n deleteImage,\n store,\n language,\n nameLabel: computed(() => isImage.value ? language.value.imageName : language.value.iconName),\n previewLabel: computed(() => isImage.value ? language.value.imagePreview : language.value.iconPreview),\n deleteText: computed(() => isImage.value ? language.value.deleteImage : language.value.deleteIcon)\n }\n }\n});\n","import { render } from \"./Image.vue?vue&type=template&id=65d69888&scoped=true\"\nimport script from \"./Image.vue?vue&type=script&lang=ts\"\nexport * from \"./Image.vue?vue&type=script&lang=ts\"\n\nimport \"./Image.vue?vue&type=style&index=0&id=65d69888&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-65d69888\"\n\nexport default script","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!./Image.vue?vue&type=style&index=0&id=65d69888&scoped=true&lang=css\"","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":""}