{"version":3,"sources":["webpack:///./src/views/Journeys/ScriptureContent.vue","webpack:///./src/views/Journeys/ScriptureContent.vue?8407","webpack:///./src/views/Journeys/ScriptureContent.vue?d54d","webpack:///./src/views/Journeys/ScriptureContent.vue?8169"],"names":["id","ref","fullscreen","class","style","lines","mode","position","language","customContent","contentLoaded","journey","scriptureTabTopContent","placeholder","abideByCopyrightLawsPlaceholder","data","scriptureTabTopAudio","name","scriptureTabTopAudioFilename","label","contentAudioFile","journeyVideo1Url","videoUrl","videoLabel","previewText","templateTab","text1","handleRemoveScriptureRef","handleAddScriptureRef","appInstanceId","journeySet","journeyId","tab","scriptureReferences","tabSpecificScriptureReferences","scriptureAudio","scriptureAudioFilename","scriptureAudioFile","contentTextStoryMode","storyContent","scriptureTabStoryAudio","scriptureTabStoryAudioFilename","text2","heading","scriptureTabResourceListHeading","journey-id","tab-num","template","tabs","currentTab","activeTabIndexes","activeTabs","buttons","footerButtons","components","VisualTabs","IonContent","IonPage","IonItem","IonLabel","AudioPicker","FixedFooter","MarkdownWYSIWYG","VideoPicker","ScripturePicker","TemplateItemPlaceholder","ResourcePicker","props","journeySetId","type","String","required","ionViewWillLeave","saveProgress","ionViewWillEnter","store","dispatch","journeyTab2","selectedScriptureReferences","scriptureSelections","templateId","undefined","enableCustomContent","errors","loadingJourney","scriptureContent","$el","scrollToTop","setup","getters","hasFurtherEditing","value","tabsCount","nextText","next","finishAndSave","filter","reference","tabNum","result","push","hasVideo","save","savingJourney","create","message","savingProgress","loading","present","dismiss","saveAndNext","router","params","newRef","index","findIndex","splice","to","from","closeOutline","chevronDownOutline","chevronUpOutline","checkmarkOutline","FooterButtonsBuilder","addClearBackButton","addPrimaryButton","render","__scopeId"],"mappings":"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","file":"js/chunk-96a9a712.9ed7632a.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.contentTextStoryMode }}\n \n \n \n\n \n \n\n \n\n \n \n \n \n\n\n\n\n\n\n\n","\n\nimport {\n IonContent,\n IonItem,\n IonLabel,\n IonIcon,\n IonPage,\n loadingController\n} from '@ionic/vue';\nimport {computed, defineComponent, 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 AudioPicker from '@/components/AudioPicker.vue';\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 } from 'ionicons/icons';\nimport {ScriptureSelection} from \"@/models/ScriptureSelectionModel\";\nimport {useStore} from \"vuex\";\nimport MarkdownWYSIWYG from \"@/components/MarkdownWYSIWYG.vue\";\nimport ScripturePicker from '@/components/ScripturePicker.vue';\nimport VideoPicker from '@/components/Video/VideoPicker.vue';\nimport { onBeforeRouteUpdate } from 'vue-router';\nimport TemplateItemPlaceholder from '@/components/TemplateItemPlaceholder.vue';\nimport { JourneyTab } from '@/models/JourneyTabModel';\nimport ResourcePicker from '@/components/ResourcePicker.vue';\n\nexport default defineComponent({\n name: 'ScriptureContent',\n components: {\n VisualTabs,\n IonContent,\n IonPage,\n IonItem,\n IonLabel,\n AudioPicker,\n FixedFooter,\n MarkdownWYSIWYG,\n VideoPicker,\n ScripturePicker,\n TemplateItemPlaceholder,\n ResourcePicker\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.journeyTab2);\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[1];\n }, this.language.errors.loadingJourney);\n this.scriptureContent.$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 scriptureContent = ref();\n const hasFurtherEditing = computed(() => template.value.tabsCount === 4 || template.value.enableCustomContent);\n const nextText = computed(() => (hasFurtherEditing.value || 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 == 2))\n const templateTab = ref({} as JourneyTab);\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.videoLabel || journey.value.videoUrl);\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 if (hasFurtherEditing.value && template.value.tabsCount === 4) {\n await router.push({\n name: 'extraContent',\n params: props });\n } else if (template.value.enableCustomContent) {\n await router.push({\n name: 'finalContent',\n params: props })\n } else {\n await router.push({\n name: 'journeySetJourneys',\n params: {journeySetId: props.journeySetId}\n });\n }\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 onBeforeRouteUpdate(async (to, from, next) => {\n //scriptureContent.value.$el.scrollToTop(300);\n });\n\n return {\n store,\n language,\n saveProgress,\n save,\n template,\n journeySet,\n journey,\n scriptureContent,\n closeOutline,\n chevronDownOutline,\n chevronUpOutline,\n checkmarkOutline,\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(), nextText.value).create()),\n templateTab,\n }\n }\n});\n","import { render } from \"./ScriptureContent.vue?vue&type=template&id=20dd961f&scoped=true\"\nimport script from \"./ScriptureContent.vue?vue&type=script&lang=ts\"\nexport * from \"./ScriptureContent.vue?vue&type=script&lang=ts\"\n\nimport \"./ScriptureContent.vue?vue&type=style&index=0&id=20dd961f&scoped=true&lang=css\"\nimport \"../../components/Video/VideoStyling.css?vue&type=style&index=1&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-20dd961f\"\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!./ScriptureContent.vue?vue&type=style&index=0&id=20dd961f&scoped=true&lang=css\""],"sourceRoot":""}