{"version":3,"sources":["webpack:///./src/modules/DerSignUpModule/DerSignUpModule.api.ts","webpack:///./src/modules/DerSignUpModule/DerSignUpModule.store.ts","webpack:///./src/common/ApiService/HttpVerb.ts","webpack:///./src/utils/loaderUtils.ts","webpack:///./src/common/ApiService/ApiService.ts","webpack:///./src/utils/toastUtils.ts"],"names":["DerService","ApiService","showLoading","cancel","returnData","DerSignupApiService","GetItineraries","destinationId","Promise","resolve","call","verb","HttpVerb","GET","itineraries","GetDates","itineraryId","dates","GetShipIntro","departureId","shipInfo","GET_ITINERARIES_REQUEST","GET_ITINERARIES_SUCCESS","GET_ITINERARIES_ERROR","GET_DATES_REQUEST","GET_DATES_SUCCESS","GET_DATES_ERROR","GET_SHIP_INTRO","GET_PAST_DERS","SET_SHIP_INTRO","SET_PAST_DERS","SUBMIT_FORM","SET_CHOISE","CLEAR_ITIN","CLEAR_DATES","SET_ITIN_LINK","SHOW_THANK_YOU_MESSAGE","SET_TRANSACTION_ID","actions","model","dispatch","commit","data","POST","result","ItineraryLink","transaction_id","DepartureId","console","error","payload","showloading","DestinationId","pastDers","mutations","state","ShowThankYouMessage","IsNotShowSecondFormPart","nextTick","scrollTo","id","Choise","message","Itinararies","Dates","ShipIntro","PastDers","registerModule","namespaced","PrePopulateDestinationId","PrePopulateItineraryId","PrePopulateDepartureNumber","store","hideLoader","service","options","cancelTokens","cache","defaultOptions","handleErrors","cacheResults","redirectUrl","this","method","key","getCacheKey","undefined","axiosParams","createAxiosParams","addDataToParams","addCancelToken","request","a","then","r","handleError","window","location","href","toString","redirectObject","JSON","stringify","response","resp","errorCode","status","errors","Object","values","ModelState","forEach","err","Array","isArray","msg","push","Text","Type","ToastType","Danger","length","Message","Data","Error","toLowerCase","includes","Item","SegmentElement","sendEvent","captcha_score","error_message","ExceptionMessage","baseURL","url","headers","params","callMetaName","tokens","source","CancelToken","cancelToken","token","stopOnSuccess","finally","catch","HandleStatusObject","success","fail","IsOk","showToastMessage","messages","delay"],"mappings":"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","file":"140.dbc6b9cac39cb00e8157.js","sourcesContent":["import SelectItem from '@/common/interfaces/SelectItem';\nimport ApiService from '@/common/ApiService/ApiService';\nimport { HttpVerb } from '@/common/ApiService/HttpVerb';\nimport { SecondStepModel } from '@/modules/DerSignUpModule/SecondStep/SecondStep.types';\n\nconst DerService = new ApiService('/api/DerService/', {\n showLoading: false,\n cancel: true,\n returnData: true,\n});\n\nconst DerSignupApiService = new ApiService('/api/DerSignupApiService/', {\n showLoading: false,\n cancel: true,\n returnData: true,\n});\n\nexport const GetItineraries = async (\n destinationId: number,\n showLoading: boolean,\n): Promise => {\n return new Promise(async (resolve) => {\n const itineraries = await DerService.call(\n `GetActiveItineraries?destId=${destinationId}`,\n {},\n {\n showLoading,\n verb: HttpVerb.GET,\n },\n );\n resolve(itineraries);\n });\n};\n\nexport const GetDates = async (\n itineraryId: number,\n showLoading: boolean,\n): Promise => {\n return new Promise(async (resolve) => {\n const dates = await DerService.call(\n `GetDeparturesWithInProgress?itineraryId=${itineraryId}`,\n {},\n {\n showLoading,\n verb: HttpVerb.GET,\n },\n );\n resolve(dates);\n });\n};\n\nexport const SendSignUpRequest = async (\n data: SecondStepModel,\n showLoading: boolean,\n): Promise => {\n return new Promise(async (resolve) => {\n const dates = await DerService.call(`SendDERSignUpRequest`, data, {\n showLoading,\n verb: HttpVerb.POST,\n });\n resolve(dates);\n });\n};\n\nexport const GetShipIntro = async (\n departureId: string,\n showLoading: boolean,\n): Promise => {\n return new Promise(async (resolve) => {\n const shipInfo = await DerSignupApiService.call(\n `GetShipIntro?departureId=${departureId}`,\n {}, \n {\n showLoading,\n verb: HttpVerb.GET\n });\n resolve(shipInfo);\n });\n};\n\nexport const GetPastDers = async (\n departureId: string,\n destinationId: string,\n showLoading: boolean,\n): Promise => {\n return new Promise(async (resolve) => {\n const pastDers = await DerSignupApiService.call(\n `GetPastDers?departureId=${departureId}&destinationId=${destinationId}`,\n {}, \n {\n showLoading,\n verb: HttpVerb.GET\n });\n resolve(pastDers);\n });\n};\n","import { GetItineraries, GetDates, SendSignUpRequest, GetShipIntro, GetPastDers } from './DerSignUpModule.api';\nimport { Module, ActionTree, MutationTree, Store } from 'vuex';\nimport { RootState } from '@/store/types';\nimport { registerSubModule } from '@/utils/vueUtils';\nimport { getDropdownProps, SecondStepModel } from './SecondStep/SecondStep.types';\nimport { DerSubscribeBlockViewModel } from './DerSignUpModule.types';\nimport SelectItem from '@/common/interfaces/SelectItem';\nimport Vue from 'vue';\nimport VueScrollTo from 'vue-scrollto';\nimport { TitleTextHeaderBlockViewModel } from '../TitleTextHeaderModule/TitleTextHeaderModule.types';\nimport { RelatedItemsModuleViewModel } from '../RelatedItemsModule/RelatedItemsModule.types';\nimport { TransactionId } from '@/plugins/utm/SegmentElement';\n\nexport interface DerSignUpModuleState extends TransactionId {\n Choise: string;\n Itinararies: SelectItem[];\n Dates: SelectItem[];\n ShowThankYouMessage: boolean;\n ShipIntro: TitleTextHeaderBlockViewModel;\n PastDers: RelatedItemsModuleViewModel;\n ItineraryLink: string;\n IsNotShowSecondFormPart?: boolean;\n PrePopulateDestinationId?: number;\n PrePopulateItineraryId?: number;\n PrePopulateDepartureNumber?: number;\n}\n\nexport const GET_ITINERARIES_REQUEST = 'GET_ITINERARIES_REQUEST';\nexport const GET_ITINERARIES_SUCCESS = 'GET_ITINERARIES_SUCCESS';\nexport const GET_ITINERARIES_ERROR = 'GET_ITINERARIES_ERROR';\n\nexport const GET_DATES_REQUEST = 'GET_DATES_REQUEST';\nexport const GET_DATES_SUCCESS = 'GET_DATES_SUCCESS';\nexport const GET_DATES_ERROR = 'GET_DATES_ERROR';\n\nexport const GET_SHIP_INTRO = 'GET_SHIP_INTRO';\nexport const GET_PAST_DERS = 'GET_PAST_DERS';\n\nexport const SET_SHIP_INTRO = 'SET_SHIP_INTRO';\nexport const SET_PAST_DERS = 'SET_PAST_DERS';\n\nexport const SUBMIT_FORM = 'SUBMIT_FORM';\nexport const SET_CHOISE = 'SET_CHOISE';\nexport const CLEAR_ITIN = 'CLEAR_ITIN';\nexport const CLEAR_DATES = 'CLEAR_DATES';\nexport const SET_ITIN_LINK = 'SET_ITIN_LINK';\n\nexport const SHOW_THANK_YOU_MESSAGE = 'SHOW_THANK_YOU_MESSAGE';\nexport const SET_TRANSACTION_ID = 'SET_TRANSACTION_ID';\n\nconst actions: ActionTree = {\n async [SUBMIT_FORM]({ dispatch, commit }, model: SecondStepModel) {\n try {\n const result = await SendSignUpRequest(model, true);\n commit(SET_ITIN_LINK, result.ItineraryLink)\n commit(SET_TRANSACTION_ID, result.transaction_id)\n await dispatch(GET_SHIP_INTRO, model.DepartureId);\n commit(SHOW_THANK_YOU_MESSAGE);\n \n await dispatch(GET_PAST_DERS, model);\n } catch (e) {\n console.error(e);\n }\n },\n async [GET_ITINERARIES_REQUEST]({ commit }, payload: getDropdownProps) {\n const { destinationId, showloading = true } = payload;\n try {\n commit(CLEAR_ITIN);\n commit(CLEAR_DATES);\n const result = await GetItineraries(destinationId, showloading);\n if (result) {\n commit(GET_ITINERARIES_SUCCESS, result);\n } else {\n commit(GET_ITINERARIES_ERROR, \"Didn't find any Itineraries.\");\n }\n } catch (error) {\n commit(GET_ITINERARIES_ERROR, error);\n }\n },\n async [GET_DATES_REQUEST]({ commit }, payload: getDropdownProps) {\n const { itineraryId, showloading = true } = payload;\n try {\n commit(CLEAR_DATES);\n const result = await GetDates(itineraryId, showloading);\n if (result) {\n commit(GET_DATES_SUCCESS, result);\n } else {\n commit(GET_DATES_ERROR, \"Didn't find any dates.\");\n }\n } catch (error) {\n commit(GET_DATES_ERROR, error);\n }\n },\n\n async [GET_SHIP_INTRO]({ commit }, departureId: string) {\n try {\n const result = await GetShipIntro(departureId, true);\n commit(SET_SHIP_INTRO, result);\n } catch (e) {\n console.error(e)\n }\n },\n async [GET_PAST_DERS]({ commit }, model: SecondStepModel) {\n try {\n const result = await GetPastDers(model.DepartureId, model.DestinationId, true);\n commit(SET_PAST_DERS, result);\n } catch (e) {\n console.error(e);\n }\n },\n};\n\nconst mutations: MutationTree = {\n [SHOW_THANK_YOU_MESSAGE](state) {\n state.ShowThankYouMessage = true;\n if (!state.IsNotShowSecondFormPart) {\n Vue.nextTick(() => VueScrollTo.scrollTo('#app'));\n } else {\n Vue.nextTick(() => VueScrollTo.scrollTo('#der-signup-root'));\n }\n },\n [SET_TRANSACTION_ID](state, id: number) {\n state.transaction_id = +id;\n },\n [SET_CHOISE](state, payload: string) {\n state.Choise = payload;\n },\n [GET_ITINERARIES_ERROR](state, message) {\n //console.log(message);\n },\n [GET_DATES_ERROR](state, message) {\n //console.log(message);\n },\n [GET_ITINERARIES_SUCCESS](state, payload: SelectItem[]) {\n state.Itinararies = payload;\n },\n [GET_DATES_SUCCESS](state, payload: SelectItem[]) {\n state.Dates = payload;\n },\n [CLEAR_DATES](state) {\n state.Dates = [];\n },\n [CLEAR_ITIN](state) {\n state.Itinararies = [];\n },\n [SET_SHIP_INTRO](state, payload: TitleTextHeaderBlockViewModel) {\n state.ShipIntro = payload;\n },\n [SET_PAST_DERS](state, payload: RelatedItemsModuleViewModel) {\n state.PastDers = payload;\n },\n [SET_ITIN_LINK](state, payload: string) {\n state.ItineraryLink = payload\n }\n};\n\nconst registerModule = registerSubModule(\n (data: DerSubscribeBlockViewModel) => {\n const { IsNotShowSecondFormPart, PrePopulateDestinationId, PrePopulateItineraryId, PrePopulateDepartureNumber } = data;\n return {\n namespaced: true,\n state: {\n Choise: '',\n Itinararies: [],\n Dates: [],\n ShowThankYouMessage: false,\n ShipIntro: {},\n PastDers: {},\n ItineraryLink: '',\n IsNotShowSecondFormPart,\n PrePopulateDestinationId,\n PrePopulateItineraryId,\n PrePopulateDepartureNumber,\n transaction_id: 0,\n },\n actions,\n mutations,\n } as Module;\n },\n 'DerSignUpModule'\n);\n\nexport default (store: Store, data: DerSubscribeBlockViewModel) => {\n return registerModule(store, data)\n}\n","export enum HttpVerb {\n GET = 'GET',\n POST = 'POST',\n DELETE = 'DELETE',\n PUT = 'PUT',\n PATCH = 'PATCH',\n}\n","import { HIDE_LOADER, SHOW_LOADER } from '@/store/modules/overlayModule';\nimport { getStore } from '@/store/index';\n\nexport const hideLoader = () => {\n getStore().commit(HIDE_LOADER);\n};\n\nexport const showLoader = () => {\n getStore().commit(SHOW_LOADER);\n};\n","import axios, { AxiosRequestConfig, CancelTokenSource, AxiosPromise, AxiosError } from 'axios';\nimport ApiServiceOptions from './ApiServiceOptions';\nimport { HttpVerb } from './HttpVerb';\nimport HandleStatusParams from './HandleStatusParams';\nimport { isLocal, devRoot, isString, isSSR } from '@/utils/commonUtils';\nimport { hideLoader, showLoader } from '@/utils/loaderUtils';\nimport { showToastMessage } from '@/utils/toastUtils';\nimport ToastType from '@/common/interfaces/enums/ToastType';\nimport { SegmentElement } from '@/plugins/utm/SegmentElement';\n\nexport const defaultErrorMessage = 'Something went wrong!';\n\nexport default class ApiService {\n private options: ApiServiceOptions;\n private cancelTokens: { [id: string]: CancelTokenSource } = {};\n private cache: { [key: string]: any } = {};\n constructor(service: string, options?: ApiServiceOptions) {\n const defaultOptions: ApiServiceOptions = {\n verb: HttpVerb.GET,\n cancel: true,\n showLoading: true,\n returnData: false,\n handleErrors: true,\n cacheResults: false,\n redirectUrl: false,\n };\n if (isLocal()) {\n service = `${devRoot}${service}`;\n }\n if (isSSR()) {\n service = `${devRoot}${service}`;\n }\n\n this.options = { service, ...defaultOptions, ...options };\n }\n\n call(method: string, data?: {}, options?: ApiServiceOptions): Promise {\n options = { ...this.options, ...options };\n\n let key = '';\n if (options.cacheResults) {\n key = this.getCacheKey(method, data);\n if (this.cache[key] !== undefined) {\n return Promise.resolve(this.cache[key]);\n }\n }\n\n const axiosParams = this.createAxiosParams(method, options);\n\n this.addDataToParams(axiosParams, data);\n\n if (options.cancel) {\n this.addCancelToken(axiosParams);\n }\n\n let request = axios.request(axiosParams);\n\n if (options.showLoading) {\n this.showLoading(request, options.redirectUrl !== true);\n }\n\n if (options.handleErrors) {\n request.then((r) => r, this.handleError);\n }\n\n if (options.returnData) {\n request = request.then((r) => r.data);\n }\n\n if (options.cacheResults) {\n request.then((r) => {\n this.cache[key] = r;\n });\n }\n\n if (options.redirectUrl) {\n request.then((r) => {\n if (isString(options.redirectUrl)) {\n window.location.href = options.redirectUrl.toString();\n } else {\n const redirectObject: { redirectUrl: string } = r as any;\n if (redirectObject.redirectUrl) window.location.href = redirectObject.redirectUrl;\n }\n });\n }\n\n return request;\n }\n\n private getCacheKey(method: string, data?: {}) {\n return `${method}:${JSON.stringify(data)}`;\n }\n\n private handleError(error: AxiosError) {\n if (error && error.response) {\n const resp = error.response;\n const errorCode = resp.status;\n if (errorCode === 400) {\n if (resp.data) {\n let errors = Object.values(resp.data?.ModelState || resp.data);\n if (isString(resp.data)) {\n errors = [resp.data];\n }\n\n const messages = [];\n errors.forEach((err) => {\n if (Array.isArray(err)) {\n err.forEach((msg) => {\n messages.push({\n Text: msg,\n Type: ToastType.Danger,\n });\n });\n } else {\n messages.push({\n Text: err,\n Type: ToastType.Danger,\n });\n }\n });\n if (messages.length) showToastMessage(messages);\n }\n }\n if (errorCode === 401) {\n if (resp.data.Message) {\n window.location.href = resp.data.Message;\n }\n }\n if (errorCode > 401 && errorCode < 500) {\n if (resp.data.Message) {\n showToastMessage([\n {\n Text: resp.data.Message,\n Type: ToastType.Danger,\n },\n ]);\n }\n }\n\n if (errorCode === 406 && resp.data.Data.Error && resp.data.Data.Error.toLowerCase().includes('captcha')) {\n if (resp.data.Data.Item) {\n SegmentElement.sendEvent('errorReceived', {\n captcha_score: resp.data.Data.Item,\n error_message: resp.data.Data.Error,\n }, true)\n }\n showToastMessage([\n {\n Text: resp.data.Data.Error,\n Type: ToastType.Danger,\n },\n ]);\n }\n\n if (errorCode >= 500 && errorCode < 600) {\n let message = resp.data.ExceptionMessage;\n if (!message && isString(resp.data)) {\n message = resp.data;\n }\n\n if (message) {\n showToastMessage([\n {\n Text: message,\n Type: ToastType.Danger,\n },\n ]);\n }\n }\n }\n }\n\n private createAxiosParams(method: string, options: ApiServiceOptions) {\n const axiosParams: AxiosRequestConfig = {\n method: options.verb,\n baseURL: options.service,\n url: method,\n headers: options.headers,\n };\n\n return axiosParams;\n }\n\n private addDataToParams(params: AxiosRequestConfig, data?: {}) {\n if (data) {\n if (params.method === HttpVerb.GET) {\n params.params = data;\n } else {\n params.data = data;\n }\n }\n }\n\n private addCancelToken(params: AxiosRequestConfig) {\n const callMetaName: string = `${params.method},${params.baseURL},${params.url}`;\n\n const tokens = this.cancelTokens;\n\n if (tokens[callMetaName] !== undefined) {\n tokens[callMetaName].cancel();\n }\n\n const source = axios.CancelToken.source();\n tokens[callMetaName] = source;\n\n params.cancelToken = source.token;\n }\n\n private showLoading(request: AxiosPromise, stopOnSuccess: boolean = true) {\n if (request) {\n showLoader();\n if (stopOnSuccess) {\n request.finally(() => {\n hideLoader();\n });\n } else {\n request.catch(() => {\n hideLoader();\n });\n }\n }\n }\n\n static HandleStatusObject(params: HandleStatusParams) {\n // const { response, success, fail, errorMessage, toastParams } = params;\n const { response, success, fail } = params;\n\n const status = (response as any).data || response;\n if (status.IsOk) {\n if (success) {\n success(status.Item);\n }\n } else {\n if (fail) {\n fail(status.error, status.Item);\n }\n\n // showErrorToast(errorMessage || status.Error || defaultErrorMessage, toastParams);\n }\n\n return status.IsOk;\n }\n}\n","import { getStore } from '@/store/index';\nimport { SHOW_TOAST } from '@/store/modules/toastModule';\nimport NotificationToast from '@/common/interfaces/modules/NotificationToast';\n\nexport const showToastMessage = (messages: NotificationToast[], delay: number = 5000) => {\n getStore().dispatch(SHOW_TOAST, [messages, delay]);\n};\n"],"sourceRoot":""}