{"version":3,"sources":["webpack:///./src/views/Template/TabDetails.vue","webpack:///./src/views/Template/TabDetails.vue?44c6","webpack:///./src/views/Template/TabDetails.vue?8875","webpack:///./src/utils/GuidUtil.ts","webpack:///./src/views/Template/TabDetails.vue?f980","webpack:///./src/utils/NumberTranslate.ts","webpack:///./src/services/TabService.ts","webpack:///./src/models/JourneyTabModel.ts"],"names":["class","ref","fullscreen","style","mainImage","data","lines","mode","slot","src","filename","removeImg","icon","closeOutline","openImageSelectModal","language","contentMainImage","template","enableCustomContent","scriptureTab","extraTab","newspaper","customTextToBeAdded","whenCreatingAJourney","videocam","journeyVideoHeader","position","contentText","beforeScripture","tabLoaded","tab","text1","placeholder","textareaPlaceholder","audio1","name","audio1Filename","label","audioFile","scriptureSection","afterScripture","text2","audio2","audio2Filename","conclusionTab","copyrightAudio","copyrightAudioFilename","copyrightAudioFile","buttonLabel","copyrightAudioReminder","id","tabs","currentTab","tabNum","activeTabIndexes","activeTabs","tabType","buttons","footerButtons","components","IonItem","IonLabel","IonContent","IonPage","IonIcon","VisualTabs","FixedFooter","AudioPicker","MarkdownWYSIWYG","ionViewWillLeave","save","clearInterval","saveInterval","ionViewWillEnter","pageSetup","setInterval","tabContent","$el","scrollToTop","setup","store","getters","route","templateId","params","tabId","isImageSelectionOpen","setOpen","state","value","tabIndex","map","indexOf","introTab","nextText","finishAndSave","next","showNextIcon","result","i","length","push","imageId","trim","dispatch","templateTab","errors","gettingTemplateInfo","savingProgress","to","from","get","JourneyImages","imageSelect","onWillDismiss","then","handleNext","complete","router","handleBack","FooterButtonsBuilder","addClearBackButton","addPrimaryButton","create","musicalNote","bookOutline","bookmarks","render","__scopeId","EMPTY_GUID","getTranslatedNumber","number","numbers","numberArray","zero","one","two","three","four","five","six","seven","eight","nine","ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen","twenty","getTab","updateTab","deleteTab","createTabs","updateTabTitles","validateTab","isFinalTab","tabsCount","isExtraTab","isScriptureTab","getMissingTabInfo","index","message","title","templateTabTitle","templateTabImage","templateTabContent","templateTabAudio","templateCopyrightAudio"],"mappings":"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","file":"js/chunk-756e05fb.cfd7f2e9.js","sourcesContent":["\n\n\n\n","\n\nimport {IonContent, IonIcon, IonItem, IonLabel, IonPage} from '@ionic/vue';\nimport FixedFooter from '@/components/FixedFooter.vue';\nimport {computed, ref, onBeforeUpdate, defineComponent} from 'vue';\nimport router from '@/router';\nimport {onBeforeRouteUpdate, useRoute} from \"vue-router\";\nimport VisualTabs from \"@/components/VisualTabs.vue\";\nimport { JourneyTemplate } from \"@/models/JourneyTemplateModel\";\nimport {execute, executeWithoutSpinner, saveProgress} from \"@/mixins/LoadingMixin\";\nimport {getTemplate, updateTemplate} from \"@/services/TemplateService\";\nimport {JourneyTab, validateTab} from \"@/models/JourneyTabModel\";\nimport {openSelectImageModal} from '@/services/SelectModalService';\nimport {IMAGE_GROUP_TYPES, ImageGroupId} from \"@/models/ImageGroupTypes\";\nimport {Image} from \"@/models/ImageModel\";\nimport { closeOutline,musicalNote , videocam , bookOutline , bookmarks , newspaper} from \"ionicons/icons\";\nimport {getTab, updateTab} from \"@/services/TabService\";\nimport {getImage} from \"@/services/ImagesService\";\nimport {useStore} from \"vuex\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport {getTranslatedNumber} from \"@/utils/NumberTranslate\";\nimport MarkdownWYSIWYG from \"@/components/MarkdownWYSIWYG.vue\";\nimport AudioPicker from '@/components/AudioPicker.vue';\n\n\nexport default defineComponent({\n name: 'TabDetails',\n components: {\n IonItem,\n IonLabel,\n IonContent,\n IonPage,\n IonIcon,\n VisualTabs,\n FixedFooter,\n AudioPicker,\n MarkdownWYSIWYG\n },\n async ionViewWillLeave() {\n await saveProgress(this.save);\n clearInterval(this.saveInterval);\n },\n async ionViewWillEnter() {\n await this.pageSetup();\n this.saveInterval = setInterval(this.save, 30000);\n this.tabContent.$el.scrollToTop(300);\n },\n setup() {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const route = useRoute();\n const saveInterval = ref();\n const template = ref({} as JourneyTemplate);\n const tab = ref({} as JourneyTab);\n const templateId = ref(route.params.id);\n const tabId = ref(route.params.tabId);\n const isImageSelectionOpen = ref(false);\n const setOpen = (state: boolean) => isImageSelectionOpen.value = state;\n const mainImage = ref({} as Image);\n const tabIndex = computed(() => template.value.tabs?.map((tab: JourneyTab) => tab.tabNum).indexOf(tab.value.tabNum));\n const introTab = computed(() => tab.value.tabNum === 1);\n const scriptureTab = computed(() => tab.value.tabNum === 2);\n const extraTab = computed(() => tab.value.tabNum === 3);\n const conclusionTab = computed(() => tab.value.tabNum === 4);\n const tabNum = computed(() => tab.value.tabNum - 1);\n const nextText = computed(() => conclusionTab.value ? language.value.finishAndSave : language.value.next);\n const showNextIcon = computed(() => !conclusionTab.value);\n const tabLoaded = ref(false);\n const tabContent = ref();\n\n const activeTabs = computed(() => {\n const result = [];\n for(let i = 0 ; i < template.value.tabs.length ; i++) {\n result.push(i);\n }\n return result\n });\n \n const pageSetup = async () => {\n tabLoaded.value = false;\n tab.value = {} as JourneyTab;\n await execute(async () => {\n template.value = await getTemplate(templateId.value as string);\n tab.value = await getTab(tabId.value as string);\n tab.value = validateTab(tab.value);\n if (tab.value.imageId) {\n mainImage.value = await getImage(tab.value.imageId);\n } else {\n mainImage.value = {} as Image;\n }\n tab.value.text1 = tab.value.text1?.trim() ? tab.value.text1 : '';\n tab.value.text2 = tab.value.text2?.trim() ? tab.value.text2 : '';\n tabLoaded.value = true;\n await store.dispatch('app/setPageTitle', language.value.templateTab + getTranslatedNumber(tabIndex.value + 1));\n }, language.value.errors.gettingTemplateInfo);\n tabContent.value.$el.scrollToTop(300);\n }\n\n const save = async () => {\n await executeWithoutSpinner(async() => {\n await updateTab(tab.value);\n }, language.value.errors.savingProgress);\n }\n\n onBeforeUpdate(() => {\n templateId.value = route.params.id;\n tabId.value = route.params.tabId;\n });\n \n onBeforeRouteUpdate(async (to, from, next) => {\n templateId.value = to.params.id;\n tabId.value = to.params.tabId;\n next();\n await saveProgress(save);\n await pageSetup();\n });\n\n const openImageSelectModal = async () => {\n const imageSelect = await openSelectImageModal(IMAGE_GROUP_TYPES.get(ImageGroupId.JourneyImages) || '', ImageGroupId.JourneyImages);\n imageSelect.onWillDismiss().then(({ data }: any) => {\n tab.value.imageId = data.id;\n mainImage.value = data;\n });\n }\n\n const removeImg = () => {\n tab.value.imageId = '';\n mainImage.value = {} as Image;\n }\n\n const handleNext = async () => {\n await execute(async() => {\n await updateTab(tab.value);\n if (tab.value.tabNum === 4) {\n template.value.complete = true;\n await updateTemplate(template.value);\n await router.push({ name: 'templates'});\n } else {\n await router.push({name: 'tab',\n params: {\n id: templateId.value,\n tabId: template.value.tabs[tabIndex.value+1].id\n }\n });\n }\n }, language.value.errors.savingProgress);\n }\n\n const handleBack = async () => {\n await execute(async() => {\n await updateTab(tab.value);\n if (tabIndex.value === 0) {\n router.push({name: 'templateName', params: {id: templateId.value}});\n } else {\n await router.push({name: 'tab',\n params: {\n id: templateId.value,\n tabId: template.value.tabs[tabIndex.value-1].id\n }\n });\n }\n }, language.value.errors.savingProgress);\n }\n \n return {\n store,\n language,\n pageSetup,\n tab,\n template,\n templateId,\n nextText,\n showNextIcon,\n tabId,\n activeTabs,\n footerButtons: computed(() => \n new FooterButtonsBuilder()\n .addClearBackButton(async() => await handleBack())\n .addPrimaryButton(showNextIcon.value, async () => await handleNext(), nextText.value)\n .create()\n ),\n setOpen,\n openImageSelectModal,\n mainImage,\n closeOutline,\n musicalNote,\n bookOutline,\n bookmarks,\n videocam,\n newspaper,\n removeImg,\n saveInterval,\n save,\n tabIndex,\n tabNum,\n introTab,\n scriptureTab,\n extraTab,\n conclusionTab,\n tabLoaded,\n tabContent\n }\n }\n});\n","import { render } from \"./TabDetails.vue?vue&type=template&id=4b619b5e&scoped=true\"\nimport script from \"./TabDetails.vue?vue&type=script&lang=ts\"\nexport * from \"./TabDetails.vue?vue&type=script&lang=ts\"\n\nimport \"./TabDetails.vue?vue&type=style&index=0&id=4b619b5e&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-4b619b5e\"\n\nexport default script","export const EMPTY_GUID = '00000000-0000-0000-0000-000000000000';","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!./TabDetails.vue?vue&type=style&index=0&id=4b619b5e&scoped=true&lang=css\"","import {store} from \"@/store/Store\";\n\nexport function getTranslatedNumber(number: number) {\n const { numbers } = store.getters['app/language'];\n const numberArray = [\n numbers.zero,\n numbers.one,\n numbers.two,\n numbers.three,\n numbers.four,\n numbers.five,\n numbers.six,\n numbers.seven,\n numbers.eight,\n numbers.nine,\n numbers.ten,\n numbers.eleven,\n numbers.twelve,\n numbers.thirteen,\n numbers.fourteen,\n numbers.fifteen,\n numbers.sixteen,\n numbers.seventeen,\n numbers.eighteen,\n numbers.nineteen,\n numbers.twenty\n ];\n return numberArray[number];\n}","import {DELETE, GET, POST, PUT} from './HTTP';\nimport { JourneyTab } from \"@/models/JourneyTabModel\";\n\nexport function getTab(id: string): Promise{\n return GET('/tabs/' + id);\n}\n\nexport function updateTab(data: any): Promise {\n return PUT(`/tabs/${data.id}`, data);\n}\n\nexport function deleteTab(id: string): Promise {\n return DELETE(`/tabs/${id}`);\n}\n\nexport function createTabs(data: any): Promise {\n return POST('/tabs', data);\n}\n\nexport function updateTabTitles(data: any): Promise {\n return PUT('/tabs', data);\n}","import {getTranslatedNumber} from \"@/utils/NumberTranslate\";\nimport {EMPTY_GUID} from \"@/utils/GuidUtil\";\n\nexport interface JourneyTab {\n [index: string]: any;\n id: string;\n title?: string;\n audio2audio1?: string;\n audio2?: string;\n copyrightAudio?: string;\n audio1Filename?: string;\n audio2Filename?: string;\n copyrightAudioFilename?: string;\n text1?: string;\n text2?: string;\n imageId?: string;\n tabNum: number;\n templateId: string;\n tabIconId: string;\n icon: string;\n toRemove?: boolean;\n}\n\nexport function validateTab(tab: JourneyTab): JourneyTab {\n tab.audio1 = (tab.audio1) ? tab.audio1 : '';\n tab.audio2 = (tab.audio2) ? tab.audio2 : '';\n tab.copyrightAudio = (tab.copyrightAudio) ? tab.copyrightAudio : '';\n tab.audio1Filename = (tab.audio1Filename) ? tab.audio1Filename : '';\n tab.audio2Filename = (tab.audio2Filename) ? tab.audio2Filename : '';\n tab.copyrightAudioFilename = (tab.copyrightAudioFilename) ? tab.copyrightAudioFilename : '';\n return tab;\n}\n\nfunction isFinalTab(tabNum: number, tabsCount = 0): boolean {\n if (tabNum !== 4 && tabsCount !== 0){\n return tabNum === tabsCount; \n }\n return tabNum === 4;\n}\n\nfunction isExtraTab(tabNum: number): boolean {\n return tabNum === 3;\n}\n\nfunction isScriptureTab(tabNum: number): boolean {\n return tabNum === 2;\n}\n\nexport function getMissingTabInfo(tab: JourneyTab, index: number, language: any, tabsCount: number): string {\n let message = '';\n if (!tab.title?.trim()) {\n message += `
  • ${ language.templateTabTitle } (${getTranslatedNumber(index + 1)})
  • `;\n }\n if (!tab.imageId || tab.imageId === EMPTY_GUID) {\n message += `
  • ${ language.templateTabImage } (${getTranslatedNumber(index + 1)})
  • `;\n }\n if ((isExtraTab(tab.tabNum) && isFinalTab(tab.tabNum + 1) && !tab.text1?.trim()) || (!isExtraTab(tab.tabNum) && !tab.text1?.trim()) || (isScriptureTab(tab.tabNum) && !tab.text2?.trim())) {\n message += `
  • ${ language.templateTabContent } (${getTranslatedNumber(index + 1)})
  • `;\n }\n if ((isExtraTab(tab.tabNum) && isFinalTab(tab.tabNum + 1) && !tab.audio1?.trim()) || (!isExtraTab(tab.tabNum) && !tab.audio1?.trim()) || (isScriptureTab(tab.tabNum) && !tab.audio2?.trim())) {\n message += `
  • ${ language.templateTabAudio } (${getTranslatedNumber(index + 1)})
  • `;\n }\n if (isFinalTab(tab.tabNum, tabsCount) && !tab.copyrightAudio?.trim()) {\n message += `
  • ${ language.templateCopyrightAudio }
  • `;\n }\n return message;\n}"],"sourceRoot":""}