{"version":3,"sources":["webpack:///./src/views/Journeys/IntroContent.vue?ffee","webpack:///./src/views/Journeys/IntroContent.vue","webpack:///./src/views/Journeys/IntroContent.vue?07f1","webpack:///./src/views/Journeys/IntroContent.vue?ad1b"],"names":["ref","fullscreen","class","style","lines","mode","position","language","customContent","contentLoaded","journey","introTabTopText","placeholder","abideByCopyrightLawsPlaceholder","data","introTabTopAudio","name","introTabTopAudioFilename","label","contentAudioFile","journeyVideo1Url","videoUrl","introTabVideoUrl","videoLabel","introTabVideoLabel","previewText","templateTab","text1","id","handleRemoveScriptureRef","handleAddScriptureRef","appInstanceId","journeySet","journeyId","tab","scriptureReferences","tabSpecificScriptureReferences","introTabScriptureAudio","introTabScriptureAudioFilename","scriptureAudioFile","introTabBottomText","introTabBottomAudio","introTabBottomAudioFilename","text2","heading","introTabResourceListHeading","journey-id","tab-num","template","tabs","currentTab","activeTabIndexes","activeTabs","buttons","footerButtons","components","ResourcePicker","VisualTabs","IonPage","FixedFooter","IonContent","IonItem","IonLabel","MarkdownWYSIWYG","AudioPicker","VideoPicker","ScripturePicker","TemplateItemPlaceholder","props","journeySetId","type","String","required","ionViewWillLeave","saveProgress","ionViewWillEnter","store","dispatch","journeyTab1","selectedScriptureReferences","scriptureSelections","templateId","undefined","enableCustomContent","errors","loadingJourney","introContent","$el","scrollToTop","setup","getters","hasFurtherEditing","value","tabsCount","filter","reference","tabNum","result","push","hasVideo","save","savingJourney","create","message","savingProgress","loading","present","dismiss","saveAndNext","router","params","audioChanged","event","filename","scriptureAudioFilename","scriptureAudio","newRef","index","findIndex","splice","closeOutline","chevronDownOutline","chevronUpOutline","checkmarkOutline","documentText","FooterButtonsBuilder","addClearBackButton","addPrimaryButton","next","render","__scopeId"],"mappings":"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","file":"js/chunk-7fa26f04.df0c2d78.js","sourcesContent":["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!./IntroContent.vue?vue&type=style&index=0&id=63f7ac50&scoped=true&lang=css\"","\n\n\n\n","\nimport {\n IonContent,\n IonItem,\n IonLabel,\n IonPage,\n //IonIcon,\n loadingController\n} from '@ionic/vue';\nimport {computed, defineComponent, nextTick, ref} from 'vue';\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport {execute, executeWithoutSpinner} 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 router from \"@/router\";\nimport { closeOutline, chevronDownOutline, chevronUpOutline, checkmarkOutline , documentText} from 'ionicons/icons';\nimport {ScriptureSelection} from \"@/models/ScriptureSelectionModel\";\nimport {useStore} from \"vuex\";\nimport {audioFileChanged} from \"@/utils/AudioUtil\";\nimport MarkdownWYSIWYG from \"@/components/MarkdownWYSIWYG.vue\";\nimport AudioPicker from '@/components/AudioPicker.vue';\nimport VideoPicker from '@/components/Video/VideoPicker.vue';\nimport ScripturePicker from '@/components/ScripturePicker.vue';\nimport TemplateItemPlaceholder from '@/components/TemplateItemPlaceholder.vue';\nimport { onBeforeRouteUpdate } from 'vue-router';\nimport { JourneyTab } from '@/models/JourneyTabModel';\nimport ResourcePicker from \"@/components/ResourcePicker.vue\";\n\nexport default defineComponent({\n name: 'IntroContent',\n components: {\n ResourcePicker,\n VisualTabs,\n IonPage,\n FixedFooter,\n IonContent,\n IonItem,\n // IonIcon,\n IonLabel,\n MarkdownWYSIWYG,\n AudioPicker,\n VideoPicker,\n ScripturePicker,\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.journeyTab1);\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.template = await getTemplate(this.journeySet.templateId);\n if (this.template.enableCustomContent == undefined) this.template.enableCustomContent = false;\n this.contentLoaded = true;\n this.templateTab = this.template.tabs[0];\n }, this.language.errors.loadingJourney);\n this.introContent.$el.scrollToTop(300);\n },\n setup(props) {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const contentLoaded = ref(false);\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 introContent =ref();\n const hasFurtherEditing = computed(() => {\n return template.value.tabsCount === 4\n });\n \n \n const selectedScriptureReferences = ref([] as ScriptureSelection[]);\n const tabSpecificScriptureReferences = computed(() => selectedScriptureReferences.value.filter((reference) => reference.tabNum == 1))\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 hasVideo = computed(() => journey.value.introTabVideoLabel || journey.value.introTabVideoUrl);\n \n const save = async () => {\n await executeWithoutSpinner(async() => {\n journey.value.scriptureSelections = selectedScriptureReferences.value;\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 switch (template.value.tabsCount) {\n case 2:\n await router.push({ name: 'finalContent', params: props });\n break;\n default:\n await router.push({ name: 'scriptureContent', params: props });\n break; \n }\n //await router.push({ name: 'scriptureContent', params: props });\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.scriptureAudioFilename = filename;\n journey.value.scriptureAudio = 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\n return {\n store,\n language,\n saveProgress,\n save,\n template,\n templateTab,\n journeySet,\n journey,\n introContent,\n audioChanged,\n closeOutline,\n chevronDownOutline,\n chevronUpOutline,\n checkmarkOutline,\n documentText,\n selectedScriptureReferences,\n tabSpecificScriptureReferences,\n contentLoaded,\n hasVideo,\n activeTabs,\n handleAddScriptureRef,\n handleRemoveScriptureRef,\n footerButtons: computed(() => new FooterButtonsBuilder()\n .addClearBackButton()\n .addPrimaryButton( hasFurtherEditing.value, async () => await saveAndNext(), language.value.next).create())\n }\n }\n});\n\n","import { render } from \"./IntroContent.vue?vue&type=template&id=63f7ac50&scoped=true\"\nimport script from \"./IntroContent.vue?vue&type=script&lang=ts\"\nexport * from \"./IntroContent.vue?vue&type=script&lang=ts\"\n\nimport \"./IntroContent.vue?vue&type=style&index=0&id=63f7ac50&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-63f7ac50\"\n\nexport default script"],"sourceRoot":""}