{"version":3,"sources":["webpack:///./src/views/JourneySets/JourneySetJourneys.vue","webpack:///./src/views/JourneySets/JourneySetJourneys.vue?a5bf","webpack:///./src/views/JourneySets/JourneySetJourneys.vue?a3da","webpack:///./src/components/FixedFooter.vue","webpack:///./src/components/FixedFooter.vue?bb3e","webpack:///./src/components/FixedFooter.vue?c41f","webpack:///./src/views/JourneySets/JourneySetJourneys.vue?b19b","webpack:///./src/services/JourneySetService.ts","webpack:///./src/mixins/ActionSheetBuilder.ts","webpack:///./src/mixins/FooterButtonsBuilder.ts","webpack:///./src/services/JourneyService.ts","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./src/components/FixedFooter.vue?54b2"],"names":["class","fullscreen","language","journeySet","lines","mode","title","editInfo","icon","createOutline","journeys","length","reorderDisabled","reorder","disabled","handleReorder","$event","journey","key","id","editJourney","scriptureSelections","scripture","scriptureReference","presentOptions","ellipsisVertical","noJourneysYet","buttons","footerButtons","name","components","IonContent","IonPage","IonItem","IonLabel","IonIcon","IonReorderGroup","IonReorder","FixedFooter","props","journeySetId","type","String","required","ionViewWillEnter","store","dispatch","journeySetCreation","errors","gettingJourneySets","setup","getters","selectedIcon","router","push","params","journeyId","openImageSelectModal","get","JourneySetIcon","imageSelect","onWillDismiss","then","data","value","imageId","removeImg","event","detail","complete","i","displayOrder","reorderingJourneys","confirmDeleteJourney","cssClass","header","deleteJourneyQuestion","message","verifyDeleteJourneyQuestion","text","cancel","role","handler","dismiss","deletingJourney","actionSheetBuilder","ActionSheetBuilder","addEdit","addDelete","create","actionSheet","present","FooterButtonsBuilder","addClearButton","addJourney","render","__scopeId","button","index","iconPos","is-ltr-forward","Array","DirectionIndicator","getJourneySetGroups","appInstanceId","published","getJourneySets","typeId","getJourneySet","deleteJourneySet","duplicateJourneySet","createJourneySet","updateJourneySet","updateJourneySetDefaults","updateJourneySetOrder","journeySets","publish","unpublish","download","actionSheetOptions","this","edit","duplicate","lock","unlock","encrypted","downloadEncrypted","downloadUnencrypted","publishRepublish","delete","editDefaultJourneySet","back","hasIcon","addPrimaryButton","next","updateJourneys","updateJourney","deleteJourney","createJourney","getJourney","getJourneyTabResources","tabNum","addJourneyTabResource","resource","removeJourneyTabResource","resourceUUID","_defineProperties","target","descriptor","enumerable","configurable","writable","Object","defineProperty","_createClass","Constructor","protoProps","staticProps","prototype","_classCallCheck","instance","TypeError"],"mappings":"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","file":"js/chunk-1f6e986e.40929ff1.js","sourcesContent":["<template>\n <ion-page>\n <ion-content :fullscreen=\"true\" class=\"ion-no-padding\">\n <div class=\"form-section-header\">\n <p>{{ language.journeySet }}</p>\n </div>\n <ion-item lines=\"full\" mode=\"md\">\n <ion-label>\n <h2>{{ journeySet.title }}</h2>\n </ion-label>\n <div class=\"icon-container\" @click=\"editInfo\"><ion-icon :icon=\"createOutline\" class=\"edit-icon\"></ion-icon></div>\n </ion-item>\n <div class=\"form-section-header\">\n <p>{{ language.journeys }}</p>\n <span class=\"toggle\" v-if=\"journeySet.journeys?.length > 1\" :class=\"{active: !reorderDisabled }\" @click=\"reorderDisabled = !reorderDisabled\">{{ language.reorder }}</span>\n </div>\n <ion-reorder-group :disabled=\"reorderDisabled\" @ionItemReorder=\"handleReorder($event)\">\n <ion-item lines=\"full\" mode=\"md\" v-for=\"journey of journeySet.journeys\" :key=\"journey.id\">\n <ion-label @click=\"editJourney(journey.id)\">\n <h2>{{ journey.title }}</h2>\n <p v-for=\"scripture of journey.scriptureSelections\" :key=\"scripture.id\">{{ scripture.scriptureReference }}</p>\n </ion-label>\n <ion-reorder mode=\"ios\" v-if=\"!reorderDisabled\"></ion-reorder>\n <div v-else class=\"icon-container\" @click.stop=\"presentOptions(journey)\"><ion-icon :icon=\"ellipsisVertical\" class=\"edit-forward\"></ion-icon></div>\n </ion-item>\n </ion-reorder-group>\n <h5 v-if=\"journeySet.journeys?.length === 0\" class=\"ion-padding\">\n {{ language.noJourneysYet }}\n </h5>\n </ion-content>\n <FixedFooter :buttons=\"footerButtons\"/>\n </ion-page>\n</template>\n\n<script lang=\"ts\">\n\nimport {\n alertController,\n IonContent,\n IonIcon,\n IonItem,\n IonLabel,\n IonPage,\n IonReorderGroup,\n IonReorder\n} from '@ionic/vue';\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport {computed, defineComponent, ref} from \"vue\";\nimport {createOutline, ellipsisVertical} from 'ionicons/icons';\nimport {getJourneySet} from \"@/services/JourneySetService\";\nimport {JourneySet} from \"@/models/JourneySetModel\";\nimport router from \"@/router\";\nimport {openSelectImageModal} from \"@/services/SelectModalService\";\nimport {IMAGE_GROUP_TYPES, ImageGroupId} from \"@/models/ImageGroupTypes\";\nimport {Image} from \"@/models/ImageModel\";\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {presentNativeAlert} from \"@/services/Notify\";\nimport {Journey} from \"@/models/JourneyModel\";\nimport {deleteJourney, updateJourneys} from \"@/services/JourneyService\";\nimport {ActionSheetBuilder} from \"@/mixins/ActionSheetBuilder\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport {useStore} from \"vuex\";\n\nexport default defineComponent({\n name: 'SetJourneySetInfo',\n components: {\n IonContent,\n IonPage,\n IonItem,\n IonLabel,\n IonIcon,\n IonReorderGroup,\n IonReorder,\n FixedFooter\n },\n props: {\n journeySetId: {\n type: String,\n required: true\n }\n },\n async ionViewWillEnter() {\n await this.store.dispatch('app/setPageTitle', this.language.journeySetCreation);\n await execute(async () => {\n this.journeySet = await getJourneySet(this.journeySetId);\n }, this.language.errors.gettingJourneySets);\n },\n setup(props) {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const journeySet = ref({} as JourneySet);\n const selectedIcon = ref({} as Image);\n const reorderDisabled = ref(true);\n\n const editInfo = () => {\n router.push({ name: 'journeySetInfo', params: { journeySetId: props.journeySetId }});\n }\n \n const editJourney = (journeyId: string) => {\n router.push({ name: 'journeyTitle', params: { journeySetId: props.journeySetId, journeyId: journeyId }});\n }\n\n const openImageSelectModal = async () => {\n const imageSelect = await openSelectImageModal(IMAGE_GROUP_TYPES.get(ImageGroupId.JourneySetIcon) || '', ImageGroupId.JourneySetIcon);\n imageSelect.onWillDismiss().then(({ data }: any) => {\n journeySet.value.imageId = data.id;\n selectedIcon.value = data;\n });\n }\n\n const removeImg = () => {\n journeySet.value.imageId = '';\n selectedIcon.value = {} as Image;\n }\n\n const handleReorder = (event: CustomEvent) => {\n journeySet.value.journeys = event.detail.complete(journeySet.value.journeys);\n for (let i = 1; i <= journeySet.value.journeys.length; i++) {\n journeySet.value.journeys[i-1].displayOrder = i;\n }\n execute(async () => {\n await updateJourneys(journeySet.value.journeys);\n }, language.value.errors.reorderingJourneys)\n }\n \n const confirmDeleteJourney = (journey: Journey) => {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.value.deleteJourneyQuestion,\n message: language.value.verifyDeleteJourneyQuestion,\n buttons: [\n {\n text: language.value.cancel,\n role: 'cancel',\n handler: () => {\n alertController.dismiss();\n },\n },\n {\n text: 'Delete',\n handler: async () => {\n await alertController.dismiss();\n await execute(async () => {\n await deleteJourney(journey.id);\n journeySet.value = await getJourneySet(props.journeySetId);\n }, language.value.errors.deletingJourney);\n },\n },\n ]\n });\n }\n\n const presentOptions = async (journey: Journey) => {\n const actionSheetBuilder = new ActionSheetBuilder(journey.title)\n .addEdit(() => editJourney(journey.id))\n .addDelete(() => confirmDeleteJourney(journey));\n const actionSheet = await actionSheetBuilder.create();\n await actionSheet.present();\n }\n\n return {\n store,\n language,\n journeySet,\n reorderDisabled,\n createOutline,\n editInfo,\n openImageSelectModal,\n selectedIcon,\n removeImg,\n ellipsisVertical,\n handleReorder,\n presentOptions,\n editJourney,\n footerButtons: computed(() => \n new FooterButtonsBuilder()\n .addClearButton(false, async () => { await router.push({ name: 'journeyTitle'}); }, language.value.addJourney)\n .create()\n )\n }\n }\n});\n</script>\n\n<style scoped>\n.ltr h5 {\n margin-left: 26px;\n padding-left: 0;\n}\n\n.rtl h5 {\n margin-right: 26px;\n padding-right: 0;\n}\n\np {\n display: inline-block;\n}\n\nion-label p {\n display: block;\n}\n</style>","\n\nimport {\n alertController,\n IonContent,\n IonIcon,\n IonItem,\n IonLabel,\n IonPage,\n IonReorderGroup,\n IonReorder\n} from '@ionic/vue';\nimport {execute} from \"@/mixins/LoadingMixin\";\nimport {computed, defineComponent, ref} from \"vue\";\nimport {createOutline, ellipsisVertical} from 'ionicons/icons';\nimport {getJourneySet} from \"@/services/JourneySetService\";\nimport {JourneySet} from \"@/models/JourneySetModel\";\nimport router from \"@/router\";\nimport {openSelectImageModal} from \"@/services/SelectModalService\";\nimport {IMAGE_GROUP_TYPES, ImageGroupId} from \"@/models/ImageGroupTypes\";\nimport {Image} from \"@/models/ImageModel\";\nimport FixedFooter from \"@/components/FixedFooter.vue\";\nimport {presentNativeAlert} from \"@/services/Notify\";\nimport {Journey} from \"@/models/JourneyModel\";\nimport {deleteJourney, updateJourneys} from \"@/services/JourneyService\";\nimport {ActionSheetBuilder} from \"@/mixins/ActionSheetBuilder\";\nimport {FooterButtonsBuilder} from \"@/mixins/FooterButtonsBuilder\";\nimport {useStore} from \"vuex\";\n\nexport default defineComponent({\n name: 'SetJourneySetInfo',\n components: {\n IonContent,\n IonPage,\n IonItem,\n IonLabel,\n IonIcon,\n IonReorderGroup,\n IonReorder,\n FixedFooter\n },\n props: {\n journeySetId: {\n type: String,\n required: true\n }\n },\n async ionViewWillEnter() {\n await this.store.dispatch('app/setPageTitle', this.language.journeySetCreation);\n await execute(async () => {\n this.journeySet = await getJourneySet(this.journeySetId);\n }, this.language.errors.gettingJourneySets);\n },\n setup(props) {\n const store = useStore();\n const language = computed(() => store.getters['app/language']);\n const journeySet = ref({} as JourneySet);\n const selectedIcon = ref({} as Image);\n const reorderDisabled = ref(true);\n\n const editInfo = () => {\n router.push({ name: 'journeySetInfo', params: { journeySetId: props.journeySetId }});\n }\n \n const editJourney = (journeyId: string) => {\n router.push({ name: 'journeyTitle', params: { journeySetId: props.journeySetId, journeyId: journeyId }});\n }\n\n const openImageSelectModal = async () => {\n const imageSelect = await openSelectImageModal(IMAGE_GROUP_TYPES.get(ImageGroupId.JourneySetIcon) || '', ImageGroupId.JourneySetIcon);\n imageSelect.onWillDismiss().then(({ data }: any) => {\n journeySet.value.imageId = data.id;\n selectedIcon.value = data;\n });\n }\n\n const removeImg = () => {\n journeySet.value.imageId = '';\n selectedIcon.value = {} as Image;\n }\n\n const handleReorder = (event: CustomEvent) => {\n journeySet.value.journeys = event.detail.complete(journeySet.value.journeys);\n for (let i = 1; i <= journeySet.value.journeys.length; i++) {\n journeySet.value.journeys[i-1].displayOrder = i;\n }\n execute(async () => {\n await updateJourneys(journeySet.value.journeys);\n }, language.value.errors.reorderingJourneys)\n }\n \n const confirmDeleteJourney = (journey: Journey) => {\n presentNativeAlert({\n cssClass: 'custom-alert',\n header: language.value.deleteJourneyQuestion,\n message: language.value.verifyDeleteJourneyQuestion,\n buttons: [\n {\n text: language.value.cancel,\n role: 'cancel',\n handler: () => {\n alertController.dismiss();\n },\n },\n {\n text: 'Delete',\n handler: async () => {\n await alertController.dismiss();\n await execute(async () => {\n await deleteJourney(journey.id);\n journeySet.value = await getJourneySet(props.journeySetId);\n }, language.value.errors.deletingJourney);\n },\n },\n ]\n });\n }\n\n const presentOptions = async (journey: Journey) => {\n const actionSheetBuilder = new ActionSheetBuilder(journey.title)\n .addEdit(() => editJourney(journey.id))\n .addDelete(() => confirmDeleteJourney(journey));\n const actionSheet = await actionSheetBuilder.create();\n await actionSheet.present();\n }\n\n return {\n store,\n language,\n journeySet,\n reorderDisabled,\n createOutline,\n editInfo,\n openImageSelectModal,\n selectedIcon,\n removeImg,\n ellipsisVertical,\n handleReorder,\n presentOptions,\n editJourney,\n footerButtons: computed(() => \n new FooterButtonsBuilder()\n .addClearButton(false, async () => { await router.push({ name: 'journeyTitle'}); }, language.value.addJourney)\n .create()\n )\n }\n }\n});\n","import { render } from \"./JourneySetJourneys.vue?vue&type=template&id=53156116&scoped=true\"\nimport script from \"./JourneySetJourneys.vue?vue&type=script&lang=ts\"\nexport * from \"./JourneySetJourneys.vue?vue&type=script&lang=ts\"\n\nimport \"./JourneySetJourneys.vue?vue&type=style&index=0&id=53156116&scoped=true&lang=css\"\nscript.render = render\nscript.__scopeId = \"data-v-53156116\"\n\nexport default script","<template>\n <div class=\"fixed-footer custom-leftright-padding\">\n <button v-for=\"(button, index) of buttons\" :key=\"index\"\n class=\"custom-button\"\n :class=\"button.class\"\n @click=\"button.handler\">\n <DirectionIndicator v-if=\"button.icon && button.iconPos === 'start'\" :is-ltr-forward=\"false\" />\n {{ button.text }}\n <DirectionIndicator v-if=\"button.icon && button.iconPos === 'end'\" :is-ltr-forward=\"true\" />\n </button>\n </div>\n</template>\n\n<script lang=\"ts\">\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<Array<FooterButton>>\n }\n },\n components: {\n DirectionIndicator\n }\n}\n</script>\n\n<style scoped>\n.fixed-footer {\n position: sticky;\n left: 0;\n bottom: 0;\n width: 100%;\n display: flex;\n padding-top: 15px;\n padding-bottom: 15px;\n background-color: var(--color-step-1000);\n box-shadow: 0px -1px 10px #00000029;\n gap: 20px;\n justify-content: space-around;\n}\n\n.custom-button {\n margin: 0;\n height: 50px;\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 10px;\n}\n</style>","\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<Array<FooterButton>>\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","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!./JourneySetJourneys.vue?vue&type=style&index=0&id=53156116&scoped=true&lang=css\"","import {DELETE, GET, POST, PUT} from './HTTP';\nimport { JourneySet } from \"@/models/JourneySetModel\";\n\nexport function getJourneySetGroups(appInstanceId: string, published: boolean): Promise<any>{\n return GET(`/journey-set-groups?appInstanceId=${appInstanceId}&published=${published}`);\n}\n\nexport function getJourneySets(typeId: string, appInstanceId: string, published: boolean): Promise<JourneySet[]>{\n return GET(`/journey-sets?typeId=${typeId}&appInstanceId=${appInstanceId}&published=${published}`);\n}\n\nexport function getJourneySet(id: string): Promise<JourneySet>{\n return GET(`/journey-sets/${id}`);\n}\n\nexport function deleteJourneySet(id: string): Promise<any>{\n return DELETE(`/journey-sets/${id}`);\n}\n\nexport function duplicateJourneySet(data: any): Promise<any>{\n return POST(`/journey-sets/${data.id}`, data);\n}\n\nexport function createJourneySet(data: JourneySet): Promise<any> {\n return POST('/journey-sets', data);\n}\n\nexport function updateJourneySet(data: JourneySet): Promise<any> {\n return PUT(`/journey-sets/${data.id}`, data);\n}\n\nexport function updateJourneySetDefaults(data: JourneySet): Promise<any> {\n return PUT(`/journey-sets/${data.id}/defaults`, data);\n}\n\nexport function updateJourneySetOrder(journeySets: JourneySet[]): Promise<any> {\n return PUT(`/journey-sets/ordering`, journeySets);\n}\n\nexport function publish(id: string): Promise<any> {\n return POST(`/journey-sets/${id}/publish`);\n}\n\nexport function unpublish(id: string): Promise<any> {\n return DELETE(`/journey-sets/${id}/publish`);\n}\n\nexport function download(id: string): Promise<any> {\n return GET(`/journey-sets/${id}/download`, true);\n}","import {\n lockClosedOutline,\n lockOpenOutline,\n cloudDownloadOutline,\n createOutline,\n duplicateOutline,\n pushOutline,\n trashOutline,\n cloudOfflineOutline,\n cubeOutline,\n} from 'ionicons/icons';\nimport {ActionSheetOptions, ActionSheetButton} from \"@ionic/core\";\nimport {actionSheetController} from \"@ionic/vue\";\nimport {store} from \"@/store/Store\";\n\nexport class ActionSheetBuilder {\n actionSheetOptions = { mode: \"md\", cssClass: \"custom-action-sheet\" } as ActionSheetOptions;\n private language = store.getters['app/language'];\n \n constructor(header: string) {\n this.actionSheetOptions.header = header;\n this.actionSheetOptions.buttons = [] as ActionSheetButton[];\n }\n \n addEdit(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.edit,\n role: 'destructive',\n icon: createOutline,\n handler: () => handler()\n });\n return this;\n }\n \n addDuplicate(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.duplicate,\n role: 'destructive',\n icon: duplicateOutline,\n handler: () => handler()\n });\n return this;\n }\n\n addLockUnlock(lock: boolean, handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: lock ? this.language.lock : this.language.unlock,\n role: 'destructive',\n icon: lock ? lockClosedOutline : lockOpenOutline,\n handler: () => handler()\n });\n return this;\n }\n\n addDownload(encrypted: boolean, handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: encrypted ? this.language.downloadEncrypted: this.language.downloadUnencrypted,\n role: 'destructive',\n icon: cloudDownloadOutline,\n handler: () => handler()\n });\n return this;\n }\n\n addPublish(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.publishRepublish,\n role: 'destructive',\n icon: pushOutline,\n handler: () => handler()\n });\n return this;\n }\n\n addUnpublish(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.unpublish,\n role: 'destructive',\n icon: cloudOfflineOutline,\n handler: () => handler()\n });\n return this;\n }\n \n addDelete(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.delete,\n role: 'destructive',\n icon: trashOutline,\n handler: () => handler()\n });\n return this;\n }\n \n addDefault(handler: Function) {\n this.actionSheetOptions.buttons.push({\n text: this.language.editDefaultJourneySet,\n role: 'destructive',\n icon: cubeOutline,\n handler: () => handler()\n });\n return this;\n }\n \n async create() {\n return await actionSheetController.create(this.actionSheetOptions);\n }\n}","import router from \"@/router\";\nimport {FooterButton} from \"@/models/FooterButtonsModel\";\nimport {store} from \"@/store/Store\";\n\nexport class FooterButtonsBuilder {\n footerButtons = [] as FooterButton[];\n class = 'custom-button';\n language = store.getters['app/language'];\n\n addClearBackButton(handler?: Function) {\n if(!handler){\n return this.addClearButton(true, () => router.back(), this.language.back);\n }\n return this.addClearButton(true, () => handler() , this.language.back);\n }\n\n addClearButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-clear',\n icon: hasIcon,\n iconPos: 'start',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n \n addPrimaryNextButton(handler: Function) {\n return this.addPrimaryButton(true, handler, this.language.next);\n }\n\n addPrimaryButton(hasIcon: boolean, handler: Function, text: string) {\n this.footerButtons.push({\n class: this.class + ' button-primary',\n icon: hasIcon,\n iconPos: 'end',\n handler: () => handler(),\n text: text\n })\n return this;\n }\n\n create() {\n return this.footerButtons;\n }\n}","import {DELETE, GET, POST, PUT} from './HTTP';\nimport { Journey } from \"@/models/JourneyModel\";\nimport {Resource} from \"@/models/ResourceModel\";\n\nexport function updateJourneys(journeys: Journey[]): Promise<any> {\n return PUT('/journeys', journeys);\n}\n\nexport function updateJourney(journey: Journey): Promise<any> {\n return PUT(`/journeys/${journey.id}`, journey);\n}\n\nexport function deleteJourney(journeyId: string): Promise<any> {\n return DELETE(`/journeys/${journeyId}`);\n}\n\nexport function createJourney(data: any): Promise<any> {\n return POST(`/journeys`, data);\n}\n\nexport async function getJourney(journeyId: string): Promise<any> {\n return GET(`/journeys/${journeyId}`);\n}\n\nexport async function getJourneyTabResources(journeyId: string, tabNum: number): Promise<Array<string>> {\n return GET(`/journeys/${journeyId}/tabs/${tabNum}/resources`);\n}\n\nexport async function addJourneyTabResource(journeyId: string, tabNum: number, resource: Resource): Promise<any> {\n return PUT(`/journeys/${journeyId}/tabs/${tabNum}`, resource);\n}\n\nexport async function removeJourneyTabResource(journeyId: string, tabNum: number, resourceUUID: string): Promise<any> {\n return DELETE(`/journeys/${journeyId}/tabs/${tabNum}/resources/${resourceUUID}`);\n}\n","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","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\""],"sourceRoot":""}