{"version":3,"sources":["webpack:///./src/modules/DecksAndCabinsModule/DecksAndCabinsModule.api.ts","webpack:///./src/modules/DecksAndCabinsModule/DecksAndCabinsModule.store.ts"],"names":["convertToKebabCase","string","replace","toLowerCase","SET_CURRENT_DECK","GET_SVG_REQUEST","GET_SVG_SUCCESS","GET_SVG_ERROR","GET_CURRENT_DECK","GET_DATES_AND_RATES","SET_CURRENT_DECK_CATEGORY","SET_CURRENT_CABIN_CODE","SET_OPEN_DATES_AND_RATES","SET_ITINERARY_URL","actions","data","commit","svgData","Deck","Image","Url","includes","url","Promise","resolve","reject","a","get","then","response","catch","error","deck","Name","ship","ShipName","SvgData","obj","mutations","state","message","payload","Decks","find","d","CurrentDeck","MonthsOfDepartures","DatesAndRatesOpen","itineraryUrl","CurrentDeckCategory","CurrentCabinCode","Category","CurrentDate","ShipItinerariesLink","ResetSwiper","Code","getters","registerModule","namespaced","map","ShipGuests","Categories","store"],"mappings":"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","file":"231.1fd0d55bcb700499da7e.js","sourcesContent":["import axios from 'axios';\n\nconst convertToKebabCase = (string) => {\n return string.replace(/\\s+/g, '-').toLowerCase();\n};\n///globalassets/fleet/National-Geographic-Endurance/deckplans/expedition-deck.svg\n///globalassets/fleet/national-geographic-explorer/deck-plans/b-deck/plan/b-deck.svg\n\nexport const GetSvgByName = async (deck: string, ship: string): Promise => {\n return new Promise((resolve, reject) => {\n axios\n .get(\n '/globalassets/fleet/' +\n convertToKebabCase(ship) +\n '/deck-plans/' +\n convertToKebabCase(deck) + '/plan/' +\n convertToKebabCase(deck) + '.svg',\n )\n .then(function(response) {\n resolve(response.data);\n })\n .catch(function(error) {\n reject(error);\n });\n });\n};\n\nexport const GetSvgByUrl = async (url): Promise => {\n return new Promise((resolve, reject) => {\n axios\n .get(url)\n .then(function(response) {\n resolve(response.data);\n })\n .catch(function(error) {\n reject(error);\n });\n });\n};\n","import { DeckItem, CategoryItem } from '@/common/interfaces/modules/DatesAndRates';\nimport { Module, ActionTree, MutationTree, GetterTree, Store } from 'vuex';\n\nimport { RootState } from '@/store/types';\nimport { registerSubModule } from '@/utils/vueUtils';\nimport {\n DecksAndCabinsBlockViewModel,\n DeckViewItem,\n DeckCategoryView,\n} from './DecksAndCabinsModule.types';\nimport { GetSvgByName, GetSvgByUrl } from './DecksAndCabinsModule.api';\n\nexport interface DecksAndCabinsModuleState extends DecksAndCabinsBlockViewModel {\n CurrentDeck: DeckViewItem | null;\n CurrentDeckCategory: DeckCategoryView | null;\n CurrentCabinCode: string;\n}\n\nexport const SET_CURRENT_DECK = 'SET_CURRENT_DECK';\n\nexport const GET_SVG_REQUEST = 'GET_SVG_REQUEST';\nexport const GET_SVG_SUCCESS = 'GET_SVG_SUCCESS';\nexport const GET_SVG_ERROR = 'GET_SVG_ERROR';\n\nexport const GET_CURRENT_DECK = 'GET_CURRENT_DECK';\nexport const GET_DATES_AND_RATES = 'GET_DATES_AND_RATES';\n\nexport const SET_CURRENT_DECK_CATEGORY = 'SET_CURRENT_DECK_CATEGORY';\nexport const SET_CURRENT_CABIN_CODE = 'SET_CURRENT_CABIN_CODE';\nexport const SET_OPEN_DATES_AND_RATES = 'SET_OPEN_DATES_AND_RATES';\nexport const SET_ITINERARY_URL = 'SET_ITINERARY_URL';\n\nexport interface DeckViewResponse {\n Deck: DeckItem;\n SvgData: string;\n}\n\nexport interface SvgApiData {\n Deck: DeckItem;\n ShipName: string;\n}\n\nconst actions: ActionTree = {\n async [GET_SVG_REQUEST]({ state, commit }, data: SvgApiData) {\n try {\n let svgData = null;\n // console.log(`${data.Deck.Name} - ${data.Deck.Image.Url} - svg ? ${data.Deck.Image.Url.includes('.svg')}`);\n if (data.Deck.Image.Url.includes('.svg')) {\n svgData = await GetSvgByUrl(data.Deck.Image.Url);\n } else {\n // Fallback if image provided is not in SVG format.\n svgData = await GetSvgByName(data.Deck.Name, data.ShipName);\n }\n if (svgData) {\n const SvgData = svgData.replace(/ = {\n [GET_SVG_ERROR](state, message: string) {\n //console.log(message);\n },\n [GET_SVG_SUCCESS](state, payload: DeckViewResponse) {\n const deck = state.Decks.find((d: any) => d.Name === payload.Deck.Name);\n if (deck) {\n deck.SvgData = payload.SvgData;\n }\n },\n [SET_CURRENT_DECK](state, payload: DeckItem | null) {\n if (payload === null) {\n state.CurrentDeck = null;\n } else {\n state.CurrentDeck = {\n Deck: payload,\n ShipName: state.ShipName,\n MonthsOfDepartures: state.MonthsOfDepartures,\n };\n }\n },\n [SET_OPEN_DATES_AND_RATES](state, payload: boolean) {\n if (payload === null) {\n state.DatesAndRatesOpen = null;\n } else {\n state.DatesAndRatesOpen = payload;\n }\n },\n [SET_ITINERARY_URL](state, payload: string) {\n if (payload === null) {\n state.itineraryUrl = null;\n } else {\n state.itineraryUrl = payload;\n }\n },\n [SET_CURRENT_DECK_CATEGORY](state, payload: CategoryItem | null) {\n if (payload === null) {\n state.CurrentDeckCategory = null;\n state.CurrentCabinCode = '';\n } else {\n state.CurrentDeckCategory = {\n Category: payload,\n CurrentDate: state.CurrentDate,\n MonthsOfDepartures: state.MonthsOfDepartures,\n ShipItinerariesLink: state.ShipItinerariesLink,\n ResetSwiper: true,\n };\n\n state.CurrentCabinCode = payload.Code;\n }\n },\n [SET_CURRENT_CABIN_CODE](state, payload: string) {\n if (state.CurrentCabinCode !== payload) {\n state.CurrentCabinCode = payload;\n }\n },\n};\n\nconst getters: GetterTree = {\n [GET_CURRENT_DECK]: (state) => state.CurrentDeck,\n [GET_DATES_AND_RATES]: (state) => state.DatesAndRatesOpen,\n};\n\nconst registerModule = registerSubModule(\n (data: DecksAndCabinsBlockViewModel) => {\n return {\n namespaced: true,\n state: {\n Decks: data.Decks.map((d) => ({ ...d, SvgData: '' })),\n CurrentDeck: {},\n DatesAndRatesOpen: false,\n CurrentDeckCategory: {},\n ShipName: data.ShipName,\n ShipGuests: data.ShipGuests,\n CurrentDate: data.CurrentDate,\n MonthsOfDepartures: data.MonthsOfDepartures,\n Categories: data.Categories,\n ShipItinerariesLink: data.ShipItinerariesLink,\n CurrentCabinCode: '',\n itineraryUrl: '',\n },\n\n actions,\n mutations,\n getters,\n } as Module;\n },\n 'DecksAndCabinsModule',\n);\n\nexport default async (store: Store, data: DecksAndCabinsBlockViewModel) =>\n registerModule(store, data);\n"],"sourceRoot":""}