{"version":3,"sources":["webpack:///./src/views/Journeys/ExtraContent.vue","webpack:///./src/views/Journeys/ExtraContent.vue?d18d","webpack:///./src/views/Journeys/ExtraContent.vue?c89a","webpack:///./src/views/Journeys/ExtraContent.vue?188c"],"names":["ref","fullscreen","class","lines","mode","position","style","language","customContent","contentLoaded","journey","extraTabTopContent","placeholder","abideByCopyrightLawsPlaceholder","data","extraTabTopAudio","name","extraTabTopAudioFilename","label","contentAudioFile","journeyVideo1Url","videoUrl","extraVideoUrl","videoLabel","extraVideoLabel","previewText","templateTab","text1","id","handleRemoveScriptureRef","handleAddScriptureRef","appInstanceId","journeySet","journeyId","tab","scriptureReferences","tabSpecificScriptureReferences","extraTabScriptureAudio","extraTabScriptureAudioFilename","scriptureAudioFile","extraContent","extraAudio","extraAudioFilename","text2","heading","extraTabResourceListHeading","journey-id","tab-num","template","tabs","currentTab","activeTabIndexes","activeTabs","buttons","footerButtons","components","ResourcePicker","VisualTabs","IonContent","IonPage","IonItem","IonLabel","FixedFooter","MarkdownWYSIWYG","ScripturePicker","AudioPicker","VideoPicker","TemplateItemPlaceholder","props","journeySetId","type","String","required","ionViewWillLeave","saveProgress","ionViewWillEnter","store","dispatch","journeyTab3","selectedScriptureReferences","scriptureSelections","templateId","undefined","enableCustomContent","errors","loadingJourney","$el","scrollToTop","setup","getters","hasVideo","value","nextText","next","finishAndSave","filter","reference","tabNum","result","tabsCount","push","save","savingJourney","create","message","savingProgress","loading","present","dismiss","saveAndNext","nextPage","params","router","audioChanged","event","filename","newRef","index","findIndex","splice","closeOutline","FooterButtonsBuilder","addClearBackButton","addPrimaryButton","render","__scopeId"],"mappings":"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","file":"js/chunk-234b9f48.93efff95.js","sourcesContent":["\n \n \n \n \n \n {{ language.customContent }}\n \n \n \n\n \n \n\n\n \n \n \n \n \n \n \n \n \n {{ language.customContent }}\n \n \n \n\n \n \n \n\n\n \n \n \n \n\n\n\n\n\n","\n\nimport {IonContent, IonItem, IonLabel, IonPage, loadingController} from '@ionic/vue';\nimport {computed, defineComponent, nextTick, ref} from 'vue';\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport {getJourneySet} from \"@/services/JourneySetService\";\nimport {getTemplate} from \"@/services/TemplateService\";\nimport VisualTabs from \"@/components/VisualTabs.vue\";\nimport {JourneyTemplate} from \"@/models/JourneyTemplateModel\";\nimport {JourneySet} from '@/models/JourneySetModel';\nimport {Journey, validateJourney} from \"@/models/JourneyModel\";\nimport {getJourney, updateJourney} from \"@/services/JourneyService\";\nimport {closeOutline} from 'ionicons/icons';\nimport router from \"@/router\";\nimport {useStore} from \"vuex\";\nimport {audioFileChanged} from \"@/utils/AudioUtil\";\nimport MarkdownWYSIWYG from \"@/components/MarkdownWYSIWYG.vue\";\nimport VideoPicker from '@/components/Video/VideoPicker.vue';\nimport {ScriptureSelection} from '@/models/ScriptureSelectionModel';\nimport ScripturePicker from '@/components/ScripturePicker.vue';\nimport AudioPicker from '@/components/AudioPicker.vue';\nimport TemplateItemPlaceholder from '@/components/TemplateItemPlaceholder.vue';\nimport { JourneyTab } from '@/models/JourneyTabModel';\nimport ResourcePicker from \"@/components/ResourcePicker.vue\";\n\nexport default defineComponent({\n name: 'ExtraContent',\n components: {\n ResourcePicker,\n VisualTabs,\n IonContent,\n IonPage,\n IonItem,\n IonLabel,\n FixedFooter,\n MarkdownWYSIWYG,\n ScripturePicker,\n AudioPicker,\n VideoPicker,\n TemplateItemPlaceholder\n },\n props: {\n journeySetId: {\n type: String,\n required: true\n },\n journeyId: {\n type: String,\n required: true\n }\n },\n async ionViewWillLeave() {\n await this.saveProgress();\n },\n async ionViewWillEnter() {\n this.contentLoaded = false;\n await this.store.dispatch('app/setPageTitle', this.language.journeyTab3);\n await execute(async () => {\n this.journeySet = await getJourneySet(this.journeySetId);\n this.journey = await getJourney(this.journeyId);\n this.journey = validateJourney(this.journey);\n this.selectedScriptureReferences = this.journey.scriptureSelections;\n this.contentLoaded = true;\n this.template = await getTemplate(this.journeySet.templateId);\n this.templateTab = this.template.tabs[2];\n if (this.template.enableCustomContent == undefined) this.template.enableCustomContent = false;\n }, this.language.errors.loadingJourney);\n this.extraContent.$el.scrollToTop(300);\n },\n setup(props: any) {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const template = ref({} as JourneyTemplate);\n const journeySet = ref({} as JourneySet)\n const journey = ref({} as Journey);\n const templateTab = ref({} as JourneyTab);\n const contentLoaded = ref(false);\n const hasVideo = computed(() => journey.value.extraVideoUrl || journey.value.extraVideoLabel);\n const nextText = computed(() => template.value.enableCustomContent ? language.value.next : language.value.finishAndSave);\n const selectedScriptureReferences = ref([] as ScriptureSelection[]);\n const tabSpecificScriptureReferences = computed(() => selectedScriptureReferences.value.filter((reference) => reference.tabNum == 3))\n const extraContent = ref();\n\n const activeTabs = computed(() => {\n const result: number[] = [];\n // if (hasFurtherEditing.value) result.push(2);\n // if (template.value.enableCustomContent) {\n // result.push(0);\n // result.push(hasFurtherEditing.value ? 3 : 2);\n // }\n switch (template.value.tabsCount) {\n case 1:\n result.push(3);\n break;\n case 2:\n result.push(0);\n result.push(3);\n break;\n case 3:\n if(template.value.enableCustomContent){\n result.push(0);\n result.push(1);\n result.push(3);\n }else{\n result.push(1);\n }\n break;\n case 4:\n if(template.value.enableCustomContent){\n result.push(0);\n result.push(1);\n result.push(2);\n result.push(3);\n }else{\n result.push(1);\n result.push(2);\n }\n break;\n }\n return result\n })\n\n const save = async () => {\n await execute(async() => {\n await updateJourney(journey.value);\n }, language.value.errors.savingJourney);\n }\n\n const saveProgress = async () => {\n const loading = await loadingController.create({\n message: language.value.savingProgress,\n });\n await loading.present();\n await save();\n await loading.dismiss();\n }\n \n const saveAndNext = async () => { \n await saveProgress();\n\n const nextPage = template.value.enableCustomContent ? {\n name: 'finalContent',\n params: props\n } : {\n name: 'journeySetJourneys',\n params: {journeySetId: props.journeySetId}\n }\n await router.push(nextPage);\n }\n\n const audioChanged = async (event: any) => {\n const loading = await loadingController.create({\n message: language.value.savingProgress,\n });\n await loading.present();\n await nextTick();\n const {filename, data} = await audioFileChanged(event);\n journey.value.extraAudioFilename = filename;\n journey.value.extraAudio = data;\n await loading.dismiss();\n }\n\n const handleAddScriptureRef = (newRef: ScriptureSelection) => {\n selectedScriptureReferences.value.push(newRef);\n }\n\n const handleRemoveScriptureRef = (id: string) => {\n const index = selectedScriptureReferences.value.findIndex((reference) => reference.id == id);\n selectedScriptureReferences.value.splice(index, 1);\n }\n\n return {\n saveProgress,\n save,\n template,\n journeySet,\n journey,\n extraContent,\n audioChanged,\n closeOutline,\n store,\n language,\n contentLoaded,\n selectedScriptureReferences,\n tabSpecificScriptureReferences,\n hasVideo,\n activeTabs,\n handleAddScriptureRef,\n handleRemoveScriptureRef,\n footerButtons: computed(() => new FooterButtonsBuilder()\n .addClearBackButton()\n .addPrimaryButton(false, async () => await saveAndNext(), nextText.value)\n .create()),\n templateTab\n }\n }\n});\n","import { render } from \"./ExtraContent.vue?vue&type=template&id=18495f06&scoped=true\"\nimport script from \"./ExtraContent.vue?vue&type=script&lang=ts\"\nexport * from \"./ExtraContent.vue?vue&type=script&lang=ts\"\n\nimport \"./ExtraContent.vue?vue&type=style&index=0&id=18495f06&scoped=true&lang=css\"\nimport \"../../components/Video/VideoStyling.css?vue&type=style&index=1&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-18495f06\"\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!./ExtraContent.vue?vue&type=style&index=0&id=18495f06&scoped=true&lang=css\""],"sourceRoot":""}