{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/utilities/cookies.ts","webpack:///./src/store/index.ts","webpack:///./src/views/Home/Home.vue?d1d5","webpack:///./src/services/JourneyControllerService.ts","webpack:///./src/views/Home/Home.ts","webpack:///./src/styles/Layout/layout.scss?26db","webpack:///./src/utilities/eventBus/EventBus.ts","webpack:///./src/styles/style.scss?cb01","webpack:///./src/utilities/msalPlugin/msalPlugin.ts","webpack:///./src/views/Home/Home.vue?0518","webpack:///./src/views/Home/Home.ts?1206","webpack:///./src/views/Home/Home.ts?0cab","webpack:///./src/views/Home/Home.vue","webpack:///./src/router/index.ts","webpack:///./src/styles/SidePanel/side-panel.scss?5e84","webpack:///./src/views/SidePanel/SidePanel.vue?62d8","webpack:///./src/views/SidePanel/SidePanel.ts","webpack:///./src/views/SidePanel/SidePanel.ts?dd8d","webpack:///./src/views/SidePanel/SidePanel.vue","webpack:///./src/styles/MessageBubble/message-bubble.scss?069a","webpack:///./src/styles/FormSection/formSection.scss?c50f","webpack:///./src/utilities/mutate.ts"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","exports","module","l","m","c","d","name","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","p","jsonpArray","window","oldJsonpFunction","slice","getCookie","match","document","cookie","RegExp","undefined","createCookie","minutes","expires","date","Date","setTime","getTime","toUTCString","Vue","use","Vuex","Store","state","formHistory","Array","messages","isEditAvailable","loading","deviceIdentifierCookie","sessionIdentifierCookie","applicationIdentifierCookie","applicantIdentifierCookie","lastModifiedCookie","deviceIdentifier","sessionIdentifier","applicationIdentifier","applicantIdentifier","lastModified","trigger","mutations","updateFormHistory","addForm","form","updateMessages","addMessage","message","disableMessage","messageId","splitId","split","index","parseInt","disabled","updateEditAvailableFlag","editAvailable","changeLoading","updateDeviceIdentifier","updateSessionIdentifier","updateApplicationIdentifier","updateApplicantIdentifier","updateLastModified","updateTrigger","actions","JourneyControllerService","constructor","merge","require","token","loginRequired","this","$msal","requiresLogin","formName","workflowName","formData","actionId","resumeHeader","store","getToken","foundForm","find","workflow","action","contentType","method","existingResponse","filter","sendExternalRequest","status","returnedData","sendPrinsixRequest","$axiosClient","url","process","headers","authHeader","createElement","actionUrl","URL","keys","forEach","startsWith","field","type","appendChild","searchParams","body","submit","requestHeaders","accept","triggerName","commit","obj","async","acquireToken","then","authorization","Home","formNames","formToSubmit","formRules","newUserMessage","userMessage","elementId","currentFormName","currentWorkflowName","children","paq","_paq","requestData","previousForms","isEditForm","journeyController","controller","ComponentController","initialTimeout","timeout","clearForm","getComponentsToDisplay","clearTimeout","sessionTimeout","pollTimeout","route","$route","query","clientUrl","location","origin","pathname","getComponentTypes","currentActionId","response","components","populateComponentProps","submittedMessageText","EventBus","$emit","topMenu","sideMenu","$store","noEdit","autoRefresh","poll","returnHistory","clearApplicant","clearBreadcrumb","catch","err","displayNewMessage","errorText","component","TextContent","ref","content","finally","updateRoute","props","getElementById","focus","checkSession","$router","replace","assign","mounted","isAuthenticated","setEventListeners","updated","$nextTick","$on","reInitialise","submitHiddenValue","submitForm","label","formattedMessage","addValueToForm","displayPreviousForm","previousForm","previousFormName","previousWorkflowName","cancelForm","signOut","setTimeout","modified","refresh","getUniqueMessages","uniqueMessages","element","labels","el","includes","reverse","formWrapper","$refs","formElement","validate","valid","newMessage","map","String","displayValue","isInt","x","parseFloat","isNaN","formToDisplay","lastForm","lastFormName","lastWorkflowName","lastActionId","extractComponents","formFields","comp","editedMessageId","previousActionId","isEdit","valueToEdit","required","validations","requiredMessage","ariaLabel","attributes","defaultEditValue","options","orientation","width","tooltip","checkAll","unit","currency","locale","decimals","placeholder","minLength","maxLength","pattern","validationMessage","password","visibility","textBox","textBoxHeight","buildingName","buildingNumber","street","town","county","country","subBuildingName","subBuildingNumber","postcode","provider","apiKey","lookupType","countryLimitCode","searchable","multiple","format","minDate","maxDate","stepIncrement","minValue","maxValue","fileName","fileType","maxSize","authenticationKey","timestamp","tokenExId","includeCvv","cvvLabel","cvvPlaceholder","includeExpiry","expiryMonthLabel","expiryMonthPlaceholder","expiryYearLabel","expiryYearPlaceholder","href","maxWidth","maxHeight","src","b64","files","tableColumns","actionColumns","tableData","deleteable","widgets","Component","isIE","navigator","userAgent","indexOf","msalInstance","msalPluginInstance","MsalPlugin","account","pluginOptions","clientId","loginAuthority","knownAuthority","redirectUri","scope","install","vue","Error","initialize","observable","applicationUri","loginRequest","scopes","loginResponse","loginPopup","getAllAccounts","error","logoutRedirect","request","acquireTokenSilent","accessToken","msal","acquireTokenPopup","popupError","msalConfig","auth","authority","knownAuthorities","cache","cacheLocation","LocalStorage","storeAuthStateInCookie","system","loggerOptions","loggerCallback","level","containsPii","piiLoggingEnabled","logLevel","Verbose","getIsAuthenticated","accounts","render","_vm","_h","$createElement","_c","_self","attrs","staticStyle","slot","_e","_l","child","tag","on","$event","$set","staticRenderFns","VueRouter","routes","path","router","staticClass","SidePanel","MessageBubble","extractMessageHistory","messageBubbles","id","messageBubble","toString","text","responseDate","requestDate","previousMessages","previousFormData","formField","getFormattedString","JSON","parse","formattedString","regex","option","title","applyCurrencyFormat","applyNumberFormat","isDateFormat","applyDateFormat","join","formatter","Intl","NumberFormat","style","currencyDisplay","minimumFractionDigits","maximumFractionDigits","moment"],"mappings":"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","file":"js/app~c714bc7b.6d07d776.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app~c714bc7b\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors~253ae210\",\"chunk-vendors~3b38e777\",\"chunk-vendors~0b3b47da\",\"chunk-vendors~b521feb8\",\"chunk-vendors~a954e904\",\"chunk-vendors~172caac3\",\"chunk-vendors~41bc16d5\",\"chunk-vendors~019b041e\",\"chunk-vendors~c6d43eae\",\"chunk-vendors~8a5f784e\",\"chunk-vendors~db456615\",\"chunk-vendors~e8877109\",\"chunk-vendors~5ea6e0dc\",\"chunk-vendors~9617957a\",\"chunk-vendors~5f8813c1\",\"chunk-vendors~8840ee4a\",\"chunk-vendors~4acf2f4a\",\"chunk-vendors~13aea4f0\",\"chunk-vendors~0e24d1a3\",\"chunk-vendors~8a89a640\",\"chunk-vendors~2b38b85e\",\"chunk-vendors~64a379b4\",\"chunk-vendors~3f03297a\",\"chunk-vendors~1a7f21e9\",\"chunk-vendors~f99c446b\",\"chunk-vendors~5cf44f0f\",\"chunk-vendors~d0d0374e\",\"chunk-vendors~9652a3bb\",\"chunk-vendors~1ce92aa8\",\"chunk-vendors~c55a91f5\",\"chunk-vendors~5fcfb518\",\"chunk-vendors~e4173fa2\",\"chunk-vendors~7274e1de\",\"chunk-vendors~b5906859\",\"chunk-vendors~70aabc29\",\"chunk-vendors~538051b5\",\"chunk-vendors~eb2f19e4\",\"chunk-vendors~9c5b28f6\",\"chunk-vendors~399b027d\",\"chunk-vendors~e258e298\",\"chunk-vendors~9f874da7\",\"chunk-vendors~d22b72d1\",\"chunk-vendors~8eeb4602\",\"chunk-vendors~7db804d5\",\"chunk-vendors~15f0789d\",\"chunk-vendors~cc99a214\",\"chunk-vendors~0a56fd24\",\"chunk-vendors~678f84af\",\"chunk-vendors~fdc6512a\",\"chunk-vendors~ee0bc8da\",\"chunk-vendors~daa565d3\",\"app~d0ae3f07\",\"app~21833f8f\",\"app~b59217a9\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","export function getCookie(name: string) {\r\n const match = document.cookie.match(new RegExp(name + '=([^;]+)'));\r\n return match ? match[1] : undefined;\r\n}\r\n\r\nexport function createCookie(name: string, value?: string, minutes?: number) {\r\n if (!value || value === '' || value === 'null') {\r\n value = '';\r\n minutes = -1;\r\n }\r\n let expires = '';\r\n if (minutes) {\r\n const date = new Date();\r\n date.setTime(date.getTime() + (minutes * 60000));\r\n expires = '; expires=' + date.toUTCString();\r\n }\r\n document.cookie = name + '=' + value + expires + '; path=/';\r\n}\r\n","import Vue from 'vue';\r\nimport Vuex from 'vuex';\r\nimport MessageBubbleModel from '@/models/Components/MessageBubble/MessageBubbleModel';\r\nimport FormModel from '@/models/Objects/FormModel';\r\nimport { getCookie, createCookie } from '@/utilities/cookies';\r\n\r\nVue.use(Vuex);\r\n\r\nexport default new Vuex.Store({\r\n state: {\r\n formHistory: Array(),\r\n messages: Array(),\r\n isEditAvailable: false,\r\n loading: false,\r\n deviceIdentifierCookie: () => getCookie('deviceIdentifier'),\r\n sessionIdentifierCookie: () => getCookie('sessionIdentifier'),\r\n applicationIdentifierCookie: () => getCookie('applicationIdentifier'),\r\n applicantIdentifierCookie: () => getCookie('applicantIdentifier'),\r\n lastModifiedCookie: () => getCookie('lastModified'),\r\n deviceIdentifier: getCookie('deviceIdentifier'),\r\n sessionIdentifier: getCookie('sessionIdentifier'),\r\n applicationIdentifier: getCookie('applicationIdentifier'),\r\n applicantIdentifier: getCookie('applicantIdentifier'),\r\n lastModified: getCookie('lastModified'),\r\n trigger: undefined,\r\n },\r\n mutations: {\r\n updateFormHistory(state, formHistory: FormModel[]) {\r\n state.formHistory = formHistory;\r\n },\r\n addForm(state, form: FormModel) {\r\n state.formHistory.push(form);\r\n },\r\n updateMessages(state, messages: MessageBubbleModel[]) {\r\n state.messages = messages;\r\n },\r\n addMessage(state, message: MessageBubbleModel) {\r\n state.messages.push(message);\r\n },\r\n disableMessage(state, messageId: string) {\r\n const splitId = messageId.split('-');\r\n const index: number = parseInt(splitId[splitId.length - 1], 10);\r\n state.messages[index].disabled = true;\r\n },\r\n updateEditAvailableFlag(state, editAvailable: boolean) {\r\n state.isEditAvailable = editAvailable;\r\n },\r\n changeLoading(state) {\r\n state.loading = true;\r\n },\r\n updateDeviceIdentifier(state, deviceIdentifier) {\r\n if (deviceIdentifier === 'cookie') {\r\n deviceIdentifier = state.deviceIdentifierCookie();\r\n } else {\r\n createCookie('deviceIdentifier', deviceIdentifier, 999999999);\r\n }\r\n state.deviceIdentifier = deviceIdentifier;\r\n },\r\n updateSessionIdentifier(state, sessionIdentifier) {\r\n if (sessionIdentifier === 'cookie') {\r\n sessionIdentifier = state.sessionIdentifierCookie();\r\n } else {\r\n createCookie('sessionIdentifier', sessionIdentifier, 30);\r\n }\r\n state.sessionIdentifier = sessionIdentifier;\r\n },\r\n updateApplicationIdentifier(state, applicationIdentifier) {\r\n if (applicationIdentifier === 'cookie') {\r\n applicationIdentifier = state.applicationIdentifierCookie();\r\n } else {\r\n createCookie('applicationIdentifier', applicationIdentifier, 30);\r\n }\r\n state.applicationIdentifier = applicationIdentifier;\r\n },\r\n updateApplicantIdentifier(state, applicantIdentifier) {\r\n if (applicantIdentifier === 'cookie') {\r\n applicantIdentifier = state.applicantIdentifierCookie();\r\n } else {\r\n createCookie('applicantIdentifier', applicantIdentifier, 30);\r\n }\r\n state.applicantIdentifier = applicantIdentifier;\r\n },\r\n updateLastModified(state, lastModified) {\r\n if (lastModified === 'cookie') {\r\n lastModified = state.lastModifiedCookie();\r\n } else {\r\n createCookie('lastModified', lastModified, 30);\r\n }\r\n state.lastModified = lastModified;\r\n },\r\n updateTrigger(state, trigger) {\r\n state.trigger = trigger;\r\n },\r\n },\r\n actions: {},\r\n modules: {},\r\n});\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/index.js??vue-loader-options!./Home.vue?vue&type=style&index=0&id=9a8adf30&prod&scoped=true&lang=css\"","import Vue from 'vue';\r\nimport JourneyControllerResponseModel from '@/models/JourneyController/JourneyControllerResponseModel';\r\nimport LooseObject from '@/models/Objects/LooseObject';\r\nimport store from '@/store';\r\nimport FormModel from '@/models/Objects/FormModel';\r\nimport { Form } from 'ant-design-vue';\r\nimport { AxiosInstance } from 'axios';\r\n\r\ndeclare module 'vue/types/vue' {\r\n interface Vue {\r\n $axiosClient: AxiosInstance;\r\n }\r\n}\r\n\r\nexport default class JourneyControllerService extends Vue {\r\n\r\n private merge = require('lodash.merge');\r\n private token: any = false;\r\n public loginRequired(): boolean {\r\n return this.$msal.requiresLogin;\r\n }\r\n\r\n public async getJourneyResponse(\r\n formName?: string,\r\n workflowName?: string,\r\n formData?: LooseObject,\r\n actionId?: number,\r\n resumeHeader?: LooseObject,\r\n ): Promise {\r\n\r\n store.state.loading = true;\r\n\r\n await this.getToken();\r\n\r\n const foundForm = formName !== undefined && workflowName !== undefined\r\n ? store.state.formHistory.find((form) => form.name === formName && form.workflow === workflowName)\r\n : undefined;\r\n const { action, contentType, method } = foundForm !== undefined ? foundForm : {} as any;\r\n\r\n const existingResponse: JourneyControllerResponseModel = {\r\n form: foundForm !== undefined ? foundForm : {} as any,\r\n formHistory: store.state.formHistory.filter((form) => !(\r\n form.name === formName && form.workflow === workflowName\r\n )),\r\n };\r\n\r\n if (this.loginRequired() && !this.token) {\r\n return existingResponse;\r\n }\r\n\r\n if (action !== undefined) {\r\n this.sendExternalRequest(action, method, formData);\r\n store.state.loading = false;\r\n return existingResponse;\r\n }\r\n\r\n const { status, returnedData } = await this.sendPrinsixRequest(\r\n formName,\r\n workflowName,\r\n formData,\r\n actionId,\r\n resumeHeader,\r\n foundForm,\r\n );\r\n store.state.loading = false;\r\n return (status >= 200 && status < 300)\r\n ? returnedData\r\n : existingResponse;\r\n\r\n }\r\n\r\n public async poll() {\r\n const { status } = await this.$axiosClient({\r\n url: process.env.VUE_APP_API_URL,\r\n method: 'HEAD',\r\n headers: this.authHeader(),\r\n });\r\n return { status };\r\n }\r\n\r\n private sendExternalRequest(action: string, method: string, formData: LooseObject | undefined) {\r\n const form = document.createElement('form');\r\n form.method = method;\r\n form.action = action;\r\n const actionUrl = new URL(action);\r\n\r\n const keys = formData !== undefined ? Object.keys(formData) : [];\r\n keys.forEach((key) => {\r\n if (key.startsWith('input')) {\r\n const field = document.createElement('input');\r\n field.type = 'hidden';\r\n field.name = key;\r\n field.value = formData![key];\r\n form.appendChild(field);\r\n }\r\n });\r\n\r\n actionUrl.searchParams.forEach((value, key) => {\r\n const field = document.createElement('input');\r\n field.type = 'hidden';\r\n field.name = key;\r\n field.value = value;\r\n form.appendChild(field);\r\n });\r\n document.body.appendChild(form);\r\n form.submit();\r\n }\r\n\r\n private async sendPrinsixRequest(\r\n formName?: string,\r\n workflowName?: string,\r\n formData?: LooseObject,\r\n actionId?: number,\r\n resumeHeader?: LooseObject,\r\n foundForm?: FormModel,\r\n ) {\r\n const requestHeaders: LooseObject = {\r\n accept: 'application/json',\r\n ...resumeHeader,\r\n ...this.authHeader(),\r\n form: formName,\r\n };\r\n\r\n const deviceIdentifier = store.state.deviceIdentifier;\r\n const sessionIdentifier = store.state.sessionIdentifier;\r\n const applicationIdentifier = store.state.applicationIdentifier;\r\n const applicantIdentifier = store.state.applicantIdentifier;\r\n const triggerName = store.state.trigger;\r\n\r\n if (process.env.NODE_ENV === 'development') {\r\n if (deviceIdentifier !== undefined) {\r\n requestHeaders.deviceIdentifier = deviceIdentifier;\r\n }\r\n if (sessionIdentifier !== undefined) {\r\n requestHeaders.sessionIdentifier = sessionIdentifier;\r\n }\r\n if (applicationIdentifier !== undefined) {\r\n requestHeaders.applicationIdentifier = applicationIdentifier;\r\n }\r\n if (applicantIdentifier !== undefined) {\r\n requestHeaders.applicantIdentifier = applicantIdentifier;\r\n }\r\n }\r\n if (workflowName !== undefined) {\r\n requestHeaders.workflow = workflowName;\r\n }\r\n if (actionId !== undefined) {\r\n requestHeaders.actionId = actionId;\r\n }\r\n if (triggerName !== undefined) {\r\n requestHeaders.trigger = triggerName;\r\n }\r\n\r\n const { status, data, headers } = await this.$axiosClient({\r\n url: process.env.VUE_APP_API_URL,\r\n method: 'POST',\r\n data: formData,\r\n headers: requestHeaders,\r\n });\r\n\r\n data.form.sessionIdentifier = store.state.sessionIdentifier;\r\n\r\n const returnedData: JourneyControllerResponseModel = {\r\n form: data.form,\r\n formHistory: data.formHistory,\r\n };\r\n\r\n if (process.env.NODE_ENV === 'development') {\r\n store.commit('updateDeviceIdentifier', headers.deviceidentifier);\r\n store.commit('updateSessionIdentifier', headers.sessionidentifier);\r\n store.commit('updateApplicationIdentifier', headers.applicationidentifier);\r\n store.commit('updateApplicantIdentifier', headers.applicantidentifier);\r\n store.commit('updateLastModified', headers.lastModified);\r\n } else {\r\n store.commit('updateDeviceIdentifier', 'cookie');\r\n store.commit('updateSessionIdentifier', 'cookie');\r\n store.commit('updateApplicationIdentifier', 'cookie');\r\n store.commit('updateApplicantIdentifier', 'cookie');\r\n store.commit('updateLastModified', 'cookie');\r\n }\r\n\r\n if (returnedData.formHistory !== null) {\r\n returnedData.formHistory = returnedData.formHistory\r\n .filter((form) => !(form.name === formName && form.workflow === workflowName));\r\n }\r\n\r\n return { status, returnedData };\r\n }\r\n\r\n private async getToken() {\r\n if (this.loginRequired() && !this.token) {\r\n const obj = async () => {\r\n const t = await this.$msal.acquireToken().then((result) => result);\r\n this.token = t;\r\n };\r\n await obj();\r\n }\r\n return this.token;\r\n }\r\n\r\n private authHeader(): LooseObject {\r\n if (this.token) {\r\n return {\r\n authorization: 'Bearer ' + this.token,\r\n };\r\n }\r\n return {};\r\n }\r\n}\r\n","import store from '@/store';\r\nimport { Component, Vue, Ref } from 'vue-property-decorator';\r\nimport ComponentController from '@/components/ComponentController';\r\nimport TextContent from '@/components/TextContent/TextContent.vue';\r\nimport JourneyControllerService from '@/services/JourneyControllerService';\r\nimport ComponentListModel from '@/models/Components/ComponentListModel';\r\nimport LooseObject from '@/models/Objects/LooseObject';\r\nimport { EventBus } from '@/utilities/eventBus/EventBus';\r\nimport MessageBubbleModel from '@/models/Components/MessageBubble/MessageBubbleModel';\r\nimport FormModel from '@/models/Objects/FormModel';\r\nimport Message from '@/models/Components/MessageBubble/Message';\r\n\r\n@Component({\r\n name: 'Home',\r\n})\r\nexport default class Home extends Vue {\r\n private form: LooseObject = {};\r\n private formNames: string[] = [];\r\n private formToSubmit: LooseObject = {};\r\n private formRules: LooseObject = {};\r\n private newUserMessage: MessageBubbleModel = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n private currentFormName: string = '';\r\n private currentWorkflowName: string = '';\r\n private currentActionId?: number;\r\n private children: any[] = [];\r\n private paq = window._paq;\r\n private requestData: LooseObject = {};\r\n private previousForms: FormModel[] = [];\r\n private isEditForm: boolean = false;\r\n private journeyController = new JourneyControllerService();\r\n private controller = new ComponentController(this.journeyController);\r\n private initialTimeout: number = 10000;\r\n private timeout: number = this.initialTimeout;\r\n private pollTimeout!: NodeJS.Timeout;\r\n private sessionTimeout!: NodeJS.Timeout;\r\n\r\n public loginRequired(): boolean {\r\n return this.$msal.requiresLogin;\r\n }\r\n\r\n public clearForm() {\r\n // console.log(JSON.stringify( this.form))\r\n // console.log(JSON.stringify( this.children));\r\n this.form = {};\r\n this.children = [];\r\n this.currentFormName = '';\r\n this.currentWorkflowName = '';\r\n this.newUserMessage = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n this.isEditForm = false;\r\n }\r\n\r\n public getComponentsToDisplay(formData: LooseObject): void {\r\n clearTimeout(this.sessionTimeout);\r\n clearTimeout(this.pollTimeout);\r\n store.commit('updateEditAvailableFlag', false);\r\n const route: LooseObject = this.$route?.query;\r\n route.clientUrl = document.location.origin + document.location.pathname;\r\n this.controller\r\n .getComponentTypes(this.currentFormName, this.currentWorkflowName, formData, this.currentActionId, route)\r\n .then((response) => {\r\n this.formNames.push(response.formName);\r\n response.components.forEach((r: ComponentListModel) => {\r\n this.populateComponentProps(r);\r\n });\r\n this.form.submittedMessageText = response.submittedMessageText;\r\n this.currentFormName = response.formName;\r\n this.currentWorkflowName = response.workflowName;\r\n this.currentActionId = response.actionId;\r\n EventBus.$emit('update-menu-top', response.topMenu);\r\n EventBus.$emit('update-menu-side', response.sideMenu);\r\n this.previousForms = this.$store.state.formHistory;\r\n store.commit('updateEditAvailableFlag', true);\r\n if (response.noEdit) {\r\n store.commit('updateEditAvailableFlag', false);\r\n }\r\n if (response.autoRefresh) {\r\n this.poll();\r\n }\r\n if (response.returnHistory !== undefined && response.returnHistory === false) {\r\n store.commit('updateFormHistory', []);\r\n store.commit('updateMessages', []);\r\n }\r\n if (response.clearApplicant) {\r\n this.$store.commit('updateApplicantIdentifier', undefined);\r\n }\r\n if (response.clearBreadcrumb) {\r\n EventBus.$emit('clearBreadcrumb', true);\r\n }\r\n })\r\n .catch((err) => {\r\n this.controller.displayNewMessage('Oops! Something went wrong...');\r\n const errorText: ComponentListModel = {\r\n component: TextContent,\r\n ref: 'text',\r\n elementId: 'error',\r\n content: err,\r\n };\r\n this.formNames.push(errorText.elementId!);\r\n this.populateComponentProps(errorText);\r\n store.commit('updateEditAvailableFlag', true);\r\n this.$store.state.loading = false;\r\n }).finally(() => {\r\n this.updateRoute();\r\n if (this.children.length > 0 && this.children[0].props?.elementId) {\r\n document.getElementById(this.children[0]?.props?.elementId)?.focus();\r\n }\r\n this.paq.push(['setCustomVariable', 1, 'deviceIdentifier',\r\n this.$store.state.deviceIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'sessionIdentifier',\r\n this.$store.state.sessionIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'applicantIdentifier',\r\n this.$store.state.applicantIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'applicationIdentifier',\r\n this.$store.state.applicationIdentifier, 'visit']);\r\n this.paq.push(['MediaAnalytics::scanForMedia']);\r\n this.paq.push(['FormAnalytics::scanForForms']);\r\n this.paq.push(['trackContentImpressionsWithinNode']);\r\n this.paq.push(['enableLinkTracking']);\r\n this.checkSession();\r\n },\r\n );\r\n }\r\n\r\n public updateRoute() {\r\n this.$router.replace({query: {}});\r\n this.$router.push({ query: Object.assign({}, this.$route.query, { form: this.currentFormName }) });\r\n }\r\n\r\n get loading() {\r\n return this.$store.state.loading;\r\n }\r\n\r\n protected mounted() {\r\n if (!this.loginRequired() || this.$msal.isAuthenticated) {\r\n this.setEventListeners();\r\n this.getComponentsToDisplay({});\r\n }\r\n }\r\n\r\n protected updated() {\r\n this.$nextTick(() => {\r\n EventBus.$emit('update-form-panel-height');\r\n EventBus.$emit('update-side-panel-scroll');\r\n });\r\n }\r\n\r\n private setEventListeners() {\r\n EventBus.$on('refresh', () => {\r\n this.clearForm();\r\n this.getComponentsToDisplay({\r\n reInitialise: true,\r\n });\r\n });\r\n EventBus.$on('resolveTrigger', (\r\n reInitialise?: boolean,\r\n data?: LooseObject,\r\n ) => {\r\n this.clearForm();\r\n this.getComponentsToDisplay({\r\n ...{\r\n reInitialise,\r\n },\r\n ...data,\r\n });\r\n });\r\n EventBus.$on('submitForm', (messageId?: string) => {\r\n this.submitHiddenValue('submit', this.form.submittedMessageText || ' ', ' ');\r\n this.submitForm(messageId);\r\n });\r\n EventBus.$on('submitValue', (\r\n elementId: string,\r\n value: string | number,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) => this.addValueToForm(elementId, value, label, formattedMessage));\r\n EventBus.$on('submitFile', (\r\n elementId: string,\r\n value: LooseObject,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) => this.addValueToForm(elementId, value, label, formattedMessage));\r\n EventBus.$on('submitHiddenValue', (\r\n elementId: string,\r\n value: string | number,\r\n label: string,\r\n formattedMessage?: string,\r\n ) => this.submitHiddenValue(elementId, value, label, formattedMessage));\r\n EventBus.$on('editPreviousFormData', (\r\n formName: string,\r\n workflowName: string,\r\n formData: LooseObject,\r\n messageId: string,\r\n actionId?: number,\r\n ) => this.displayPreviousForm(formName, workflowName, formData, messageId, actionId));\r\n EventBus.$on('cancelForm', (\r\n previousForm: LooseObject[],\r\n previousFormName: string,\r\n previousWorkflowName: string,\r\n ) => this.cancelForm(previousForm, previousFormName, previousWorkflowName));\r\n }\r\n\r\n private submitHiddenValue(elementId: string, value: string | number, label: string, formattedMessage?: string) {\r\n this.addValueToForm(elementId, value, label || '', formattedMessage || '');\r\n }\r\n\r\n\r\n private checkSession(): void {\r\n clearTimeout(this.sessionTimeout);\r\n const sessionIdentifier = this.$store.state.sessionIdentifierCookie();\r\n if (sessionIdentifier === undefined) {\r\n this.$msal.signOut();\r\n store.commit('updateFormHistory', []);\r\n store.commit('updateMessages', []);\r\n this.controller.displayNewMessage('Your session has timed out');\r\n const sessionTimeout: ComponentListModel = {\r\n component: TextContent,\r\n ref: 'text',\r\n elementId: 'error',\r\n content: 'Your session timed out due to inactivity. Please restart your application by refreshing the page, or resume using the unique link sent to you.',\r\n };\r\n this.clearForm();\r\n this.populateComponentProps(sessionTimeout);\r\n this.updateRoute();\r\n } else {\r\n this.sessionTimeout = setTimeout(() => { this.checkSession(); }, this.initialTimeout);\r\n }\r\n }\r\n\r\n private poll(): void {\r\n clearTimeout(this.pollTimeout);\r\n const modified = this.$store.state.lastModifiedCookie();\r\n this.journeyController.poll()\r\n .then(() => {\r\n const lastModified = this.$store.state.lastModified;\r\n if (modified === undefined || lastModified === modified) {\r\n this.timeout += 1000;\r\n } else {\r\n this.currentFormName = '';\r\n this.currentWorkflowName = '';\r\n this.currentActionId = undefined;\r\n this.children = [];\r\n this.getComponentsToDisplay({\r\n refresh: true,\r\n });\r\n this.timeout = this.initialTimeout;\r\n }\r\n })\r\n .catch();\r\n this.pollTimeout = setTimeout(() => { this.poll(); }, this.timeout);\r\n }\r\n\r\n private getUniqueMessages(messages: Message[]) {\r\n const uniqueMessages = [];\r\n for (let i = messages.length - 1; i >= 0; i--) {\r\n const element = messages[i];\r\n const labels: string[] = [];\r\n uniqueMessages.forEach((el) => {\r\n labels.push((el.label || '') + el.elementId);\r\n });\r\n if (!labels.includes((element.label || '') + element.elementId)) {\r\n uniqueMessages.push(messages[i]);\r\n }\r\n }\r\n uniqueMessages.reverse();\r\n return uniqueMessages;\r\n }\r\n\r\n private submitForm(messageId?: string) {\r\n EventBus.$emit('requestValue');\r\n EventBus.$emit('requestHiddenValues');\r\n const formWrapper: any = this.$refs['form-wrapper'];\r\n const formElement = document.getElementById(this.currentFormName);\r\n formWrapper.validate((valid: boolean) => {\r\n if (valid) {\r\n if (messageId) {\r\n EventBus.$emit('disableMessage', messageId);\r\n }\r\n this.newUserMessage.messages = this.getUniqueMessages(this.newUserMessage.messages);\r\n\r\n const newMessage: MessageBubbleModel = {\r\n userMessage: true,\r\n elementId: `message-bubble-${store.state.messages.length}`,\r\n formName: this.currentFormName,\r\n workflowName: this.currentWorkflowName,\r\n actionId: this.currentActionId,\r\n formData: this.form,\r\n messages: this.newUserMessage.messages,\r\n disabled: false,\r\n };\r\n this.paq.push(['FormAnalytics::trackFormSubmit', formElement]);\r\n this.paq.push(['FormAnalytics::trackFormConversion', formElement]);\r\n if (newMessage.messages.length > 0) {\r\n store.commit('addMessage', newMessage);\r\n }\r\n this.previousForms\r\n .filter((form) =>\r\n form.name === this.currentFormName &&\r\n form.workflow === this.currentWorkflowName &&\r\n (this.currentActionId ?? 0) === (form.actionId ?? 0),\r\n )\r\n .map((form) => form.body = this.formToSubmit);\r\n store.commit('updateFormHistory', this.previousForms);\r\n EventBus.$emit('renderNewMessage', true);\r\n this.children = [];\r\n this.getComponentsToDisplay(this.formToSubmit);\r\n this.formToSubmit = {};\r\n this.form = {};\r\n this.newUserMessage = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n\r\n } else {\r\n this.formToSubmit = {};\r\n this.paq.push(['FormAnalytics::trackFormSubmit', formElement]);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n private addValueToForm(\r\n elementId: string,\r\n value: string | number | LooseObject,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) {\r\n this.formToSubmit[elementId] = value;\r\n if (formattedMessage || (value !== undefined && String(value) !== '' && label !== '')) {\r\n this.newUserMessage.messages.push({\r\n elementId,\r\n value,\r\n displayValue: formattedMessage,\r\n label,\r\n });\r\n }\r\n }\r\n\r\n private isInt(value: any): boolean {\r\n const x = parseFloat(value);\r\n /* tslint:disable-next-line */\r\n return !isNaN(value) && (x | 0) === x;\r\n }\r\n\r\n private displayPreviousForm(\r\n formName: string,\r\n workflowName: string,\r\n formData: LooseObject,\r\n messageId: string,\r\n actionId?: number,\r\n ) {\r\n const formToDisplay = this.previousForms.find((form) =>\r\n form.name === formName && form.workflow === workflowName,\r\n );\r\n if (formToDisplay === undefined) {\r\n // alert(`form: ${formName} was not found in the previous forms`);\r\n return;\r\n } else {\r\n const lastForm = this.children;\r\n const lastFormName = this.currentFormName;\r\n const lastWorkflowName = this.currentWorkflowName;\r\n const lastActionId = this.currentActionId;\r\n this.clearForm();\r\n // console.log(JSON.stringify(this.children));\r\n this.isEditForm = true;\r\n const components = this.controller.extractComponents(formToDisplay.formFields);\r\n components.forEach((comp) => {\r\n if (comp.ref === 'input_submit') {\r\n comp.editedMessageId = messageId;\r\n comp.previousForm = lastForm;\r\n comp.previousFormName = lastFormName;\r\n comp.previousWorkflowName = lastWorkflowName;\r\n comp.previousActionId = lastActionId;\r\n comp.isEdit = true;\r\n }\r\n // console.log(JSON.stringify(comp));\r\n const valueToEdit = formData[`${comp.elementId}`];\r\n this.populateComponentProps(comp, valueToEdit);\r\n });\r\n // console.log(JSON.stringify(this.children));\r\n this.currentFormName = formName;\r\n this.currentWorkflowName = workflowName;\r\n this.currentActionId = actionId;\r\n this.updateRoute();\r\n store.commit('updateEditAvailableFlag', false);\r\n EventBus.$emit('setInitialValues');\r\n }\r\n }\r\n\r\n private cancelForm(\r\n previousForm: LooseObject[],\r\n previousFormName: string,\r\n previousWorkflowName: string,\r\n ) {\r\n this.clearForm();\r\n this.currentFormName = previousFormName;\r\n this.currentWorkflowName = previousWorkflowName;\r\n this.children = previousForm;\r\n this.updateRoute();\r\n store.commit('updateEditAvailableFlag', true);\r\n }\r\n\r\n private populateComponentProps(comp: ComponentListModel, valueToEdit?: string | number) {\r\n switch (comp.ref) {\r\n case 'title': {\r\n const props = {\r\n content: comp.content,\r\n elementId: comp.elementId,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_button_radio':\r\n case 'input_radio': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n orientation: comp.attributes?.orientation,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_checkbox': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n checkAll: comp.attributes?.checkAll,\r\n orientation: comp.attributes?.orientation,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'text': {\r\n const props = {\r\n elementId: comp.elementId,\r\n content: comp.content,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n currency: comp.attributes?.currency,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_submit': {\r\n const props = {\r\n content: comp.content,\r\n value: comp.attributes?.value,\r\n elementId: comp.elementId,\r\n editedMessageId: comp.editedMessageId,\r\n isEdit: comp.isEdit,\r\n previousForm: comp.previousForm,\r\n previousFormName: comp.previousFormName,\r\n previousWorkflowName: comp.previousWorkflowName,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'address_line':\r\n case 'address_city':\r\n case 'address_county':\r\n case 'address_postcode':\r\n case 'input_text': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n minLength: comp.validations?.minLength,\r\n maxLength: comp.validations?.maxLength,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n password: comp.attributes?.password,\r\n visibility: comp.attributes?.visibility,\r\n textBox: comp.attributes?.textBox,\r\n textBoxHeight: comp.attributes?.textBoxHeight,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_address': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n buildingName: comp.attributes?.buildingName,\r\n buildingNumber: comp.attributes?.buildingNumber,\r\n street: comp.attributes?.street,\r\n town: comp.attributes?.town,\r\n county: comp.attributes?.county,\r\n country: comp.attributes?.country,\r\n subBuildingName: comp.attributes?.subBuildingName,\r\n subBuildingNumber: comp.attributes?.subBuildingNumber,\r\n postcode: comp.attributes?.postcode,\r\n provider: comp.attributes?.provider,\r\n apiKey: comp.attributes?.apiKey,\r\n lookupType: comp.attributes?.lookupType,\r\n countryLimitCode: comp.attributes?.countryLimitCode,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_sso': {\r\n const props = {\r\n elementId: comp.elementId,\r\n content: comp.content,\r\n label: comp.label,\r\n provider: comp.attributes?.provider,\r\n tooltip: comp.attributes?.tooltip,\r\n\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_select': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n searchable: comp.attributes?.searchable,\r\n multiple: comp.attributes?.multiple,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_phone': {\r\n const props = {\r\n minLength: comp.validations?.minLength,\r\n maxLength: comp.validations?.maxLength,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n placeholder: comp.attributes?.placeholder,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_date': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n format: comp.attributes?.format,\r\n locale: comp.attributes?.locale,\r\n minDate: comp.validations?.minDate,\r\n maxDate: comp.validations?.maxDate,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_email': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'term_slider':\r\n case 'amount_slider': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n currency: comp.attributes?.currency,\r\n stepIncrement: comp.attributes?.stepIncrement,\r\n minValue: comp.validations?.minValue,\r\n maxValue: comp.validations?.maxValue,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'income':\r\n case 'expense':\r\n case 'input_money':\r\n case 'input_number': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n currency: comp.attributes?.currency,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n placeholder: comp.attributes?.placeholder,\r\n minValue: comp.validations?.minValue,\r\n maxValue: comp.validations?.maxValue,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_file': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n placeholder: comp.attributes?.placeholder,\r\n fileName: comp.attributes?.fileName,\r\n fileType: comp.attributes?.fileType,\r\n maxSize: comp.validations?.maxSize,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_hidden': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n label: comp.label,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_tokenex_card': {\r\n const props = {\r\n elementId: comp.elementId,\r\n label: comp.label,\r\n authenticationKey: comp.attributes?.authenticationKey,\r\n timestamp: comp.attributes?.timestamp,\r\n tokenExId: comp.attributes?.tokenExId,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n placeholder: comp.attributes?.placeholder,\r\n includeCvv: comp.attributes?.includeCvv,\r\n cvvLabel: comp.attributes?.cvvLabel,\r\n cvvPlaceholder: comp.attributes?.cvvPlaceholder,\r\n includeExpiry: comp.attributes?.includeExpiry,\r\n expiryMonthLabel: comp.attributes?.expiryMonthLabel,\r\n expiryMonthPlaceholder: comp.attributes?.expiryMonthPlaceholder,\r\n expiryYearLabel: comp.attributes?.expiryYearLabel,\r\n expiryYearPlaceholder: comp.attributes?.expiryYearPlaceholder,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'image': {\r\n const props = {\r\n elementId: comp.elementId,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n href: comp.attributes?.href,\r\n maxWidth: comp.attributes?.maxWidth,\r\n maxHeight: comp.attributes?.maxHeight,\r\n unit: comp.attributes?.unit,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'pdf': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n label: comp.label,\r\n src: comp.attributes?.b64,\r\n fileName: comp.attributes?.fileName,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_files_download':\r\n case 'output_files': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n label: comp.label,\r\n files: comp.files,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_table': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n tableColumns: comp.tableColumns,\r\n actionColumns: comp.actionColumns,\r\n tableData: comp.tableData,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n deleteable: comp.attributes?.deleteable,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_widget': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n widgets: comp.widgets,\r\n label: comp.label,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./layout.scss?vue&type=style&index=0&prod&lang=scss&external\"","import Vue from 'vue';\r\nexport const EventBus = new Vue();\r\n","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./style.scss?vue&type=style&index=0&prod&lang=scss&external\"","import * as msal from '@azure/msal-browser';\r\nimport Vue, { PluginObject, VueConstructor } from 'vue';\r\nconst isIE = window.navigator.userAgent.indexOf('MSIE ') > -1 || window.navigator.userAgent.indexOf('Trident/') > -1;\r\n\r\ndeclare module 'vue/types/vue' {\r\n interface Vue {\r\n $msal: MsalPlugin;\r\n }\r\n}\r\n\r\nexport interface MsalPluginOptions {\r\n requiresLogin: boolean;\r\n clientId: string;\r\n loginAuthority: string;\r\n knownAuthority: string;\r\n redirectUri: string;\r\n scope: string;\r\n}\r\n\r\nlet msalInstance: msal.PublicClientApplication;\r\n\r\nexport let msalPluginInstance: MsalPlugin;\r\n\r\nexport class MsalPlugin implements PluginObject {\r\n\r\n public isAuthenticated = false;\r\n public account: msal.AccountInfo | null = null;\r\n public requiresLogin: boolean = false;\r\n\r\n private pluginOptions: MsalPluginOptions = {\r\n requiresLogin: false,\r\n clientId: '',\r\n loginAuthority: '',\r\n knownAuthority: '',\r\n redirectUri: '',\r\n scope: '',\r\n };\r\n\r\n\r\n public install(vue: VueConstructor, options?: MsalPluginOptions): void {\r\n if (!options) {\r\n throw new Error('MsalPluginOptions must be specified');\r\n }\r\n this.pluginOptions = options;\r\n this.initialize(options);\r\n this.requiresLogin = options.requiresLogin;\r\n msalPluginInstance = this;\r\n vue.prototype.$msal = Vue.observable(msalPluginInstance);\r\n }\r\n\r\n\r\n public async signIn(applicationUri: string) {\r\n const loginRequest: msal.PopupRequest = {\r\n scopes: ['openid', 'profile', this.pluginOptions.scope],\r\n state: applicationUri,\r\n };\r\n try {\r\n const loginResponse: msal.AuthenticationResult = await msalInstance.loginPopup(loginRequest);\r\n this.isAuthenticated = !!loginResponse.account;\r\n this.account = msalInstance.getAllAccounts()[0];\r\n } catch (error) {\r\n await this.signOut();\r\n }\r\n }\r\n\r\n public async signOut() {\r\n this.isAuthenticated = false;\r\n this.account = null;\r\n if (this.requiresLogin) {\r\n await msalInstance.logoutRedirect();\r\n }\r\n }\r\n\r\n public async acquireToken() {\r\n const request = {\r\n account: msalInstance.getAllAccounts()[0],\r\n scopes: [this.pluginOptions.scope],\r\n };\r\n try {\r\n const response = await msalInstance.acquireTokenSilent(request);\r\n return response.accessToken;\r\n } catch (error) {\r\n if (error instanceof msal.InteractionRequiredAuthError) {\r\n return msalInstance.acquireTokenPopup(request).catch((popupError) => {\r\n // console.log(popupError);\r\n });\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n private initialize(options: MsalPluginOptions) {\r\n const msalConfig: msal.Configuration = {\r\n auth: {\r\n clientId: options.clientId,\r\n authority: options.loginAuthority,\r\n knownAuthorities: [options.knownAuthority],\r\n redirectUri: options.redirectUri,\r\n },\r\n cache: {\r\n cacheLocation: msal.BrowserCacheLocation.LocalStorage,\r\n storeAuthStateInCookie: isIE,\r\n },\r\n system: {\r\n loggerOptions: {\r\n loggerCallback: (level: msal.LogLevel, message: string, containsPii: boolean): void => {\r\n if (containsPii) {\r\n return;\r\n }\r\n // console.log(message);\r\n return;\r\n },\r\n piiLoggingEnabled: false,\r\n logLevel: msal.LogLevel.Verbose,\r\n },\r\n },\r\n };\r\n msalInstance = new msal.PublicClientApplication(msalConfig);\r\n this.isAuthenticated = this.getIsAuthenticated();\r\n this.account = msalInstance.getAllAccounts()[0];\r\n }\r\n\r\n private getIsAuthenticated(): boolean {\r\n const accounts: msal.AccountInfo[] = msalInstance.getAllAccounts();\r\n return accounts && accounts.length > 0;\r\n }\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"content\"}},[(_vm.loading)?_c('a-spin',{attrs:{\"id\":\"spin\"}},[_c('a-icon',{staticStyle:{\"font-size\":\"50px\"},attrs:{\"slot\":\"indicator\",\"type\":\"loading\",\"spinning\":_vm.loading,\"delay\":1500},slot:\"indicator\"})],1):_vm._e(),_c('a-form-model',{ref:\"form-wrapper\",attrs:{\"model\":_vm.form,\"rules\":_vm.formRules,\"id\":_vm.currentFormName,\"name\":_vm.currentFormName,\"autocomplete\":\"off\"}},[_vm._l((_vm.children),function(child,index){return [_c(child.component,{key:_vm.currentFormName + child.props.elementId,tag:\"component\",attrs:{\"props\":child.props,\"value\":_vm.form[child.props.elementId]},on:{\"update:value\":function($event){return _vm.$set(_vm.form, child.props.elementId, $event)}}})]})],2)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import store from '@/store';\r\nimport { Component, Vue, Ref } from 'vue-property-decorator';\r\nimport ComponentController from '@/components/ComponentController';\r\nimport TextContent from '@/components/TextContent/TextContent.vue';\r\nimport JourneyControllerService from '@/services/JourneyControllerService';\r\nimport ComponentListModel from '@/models/Components/ComponentListModel';\r\nimport LooseObject from '@/models/Objects/LooseObject';\r\nimport { EventBus } from '@/utilities/eventBus/EventBus';\r\nimport MessageBubbleModel from '@/models/Components/MessageBubble/MessageBubbleModel';\r\nimport FormModel from '@/models/Objects/FormModel';\r\nimport Message from '@/models/Components/MessageBubble/Message';\r\n\r\n@Component({\r\n name: 'Home',\r\n})\r\nexport default class Home extends Vue {\r\n private form: LooseObject = {};\r\n private formNames: string[] = [];\r\n private formToSubmit: LooseObject = {};\r\n private formRules: LooseObject = {};\r\n private newUserMessage: MessageBubbleModel = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n private currentFormName: string = '';\r\n private currentWorkflowName: string = '';\r\n private currentActionId?: number;\r\n private children: any[] = [];\r\n private paq = window._paq;\r\n private requestData: LooseObject = {};\r\n private previousForms: FormModel[] = [];\r\n private isEditForm: boolean = false;\r\n private journeyController = new JourneyControllerService();\r\n private controller = new ComponentController(this.journeyController);\r\n private initialTimeout: number = 10000;\r\n private timeout: number = this.initialTimeout;\r\n private pollTimeout!: NodeJS.Timeout;\r\n private sessionTimeout!: NodeJS.Timeout;\r\n\r\n public loginRequired(): boolean {\r\n return this.$msal.requiresLogin;\r\n }\r\n\r\n public clearForm() {\r\n // console.log(JSON.stringify( this.form))\r\n // console.log(JSON.stringify( this.children));\r\n this.form = {};\r\n this.children = [];\r\n this.currentFormName = '';\r\n this.currentWorkflowName = '';\r\n this.newUserMessage = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n this.isEditForm = false;\r\n }\r\n\r\n public getComponentsToDisplay(formData: LooseObject): void {\r\n clearTimeout(this.sessionTimeout);\r\n clearTimeout(this.pollTimeout);\r\n store.commit('updateEditAvailableFlag', false);\r\n const route: LooseObject = this.$route?.query;\r\n route.clientUrl = document.location.origin + document.location.pathname;\r\n this.controller\r\n .getComponentTypes(this.currentFormName, this.currentWorkflowName, formData, this.currentActionId, route)\r\n .then((response) => {\r\n this.formNames.push(response.formName);\r\n response.components.forEach((r: ComponentListModel) => {\r\n this.populateComponentProps(r);\r\n });\r\n this.form.submittedMessageText = response.submittedMessageText;\r\n this.currentFormName = response.formName;\r\n this.currentWorkflowName = response.workflowName;\r\n this.currentActionId = response.actionId;\r\n EventBus.$emit('update-menu-top', response.topMenu);\r\n EventBus.$emit('update-menu-side', response.sideMenu);\r\n this.previousForms = this.$store.state.formHistory;\r\n store.commit('updateEditAvailableFlag', true);\r\n if (response.noEdit) {\r\n store.commit('updateEditAvailableFlag', false);\r\n }\r\n if (response.autoRefresh) {\r\n this.poll();\r\n }\r\n if (response.returnHistory !== undefined && response.returnHistory === false) {\r\n store.commit('updateFormHistory', []);\r\n store.commit('updateMessages', []);\r\n }\r\n if (response.clearApplicant) {\r\n this.$store.commit('updateApplicantIdentifier', undefined);\r\n }\r\n if (response.clearBreadcrumb) {\r\n EventBus.$emit('clearBreadcrumb', true);\r\n }\r\n })\r\n .catch((err) => {\r\n this.controller.displayNewMessage('Oops! Something went wrong...');\r\n const errorText: ComponentListModel = {\r\n component: TextContent,\r\n ref: 'text',\r\n elementId: 'error',\r\n content: err,\r\n };\r\n this.formNames.push(errorText.elementId!);\r\n this.populateComponentProps(errorText);\r\n store.commit('updateEditAvailableFlag', true);\r\n this.$store.state.loading = false;\r\n }).finally(() => {\r\n this.updateRoute();\r\n if (this.children.length > 0 && this.children[0].props?.elementId) {\r\n document.getElementById(this.children[0]?.props?.elementId)?.focus();\r\n }\r\n this.paq.push(['setCustomVariable', 1, 'deviceIdentifier',\r\n this.$store.state.deviceIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'sessionIdentifier',\r\n this.$store.state.sessionIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'applicantIdentifier',\r\n this.$store.state.applicantIdentifier, 'visit']);\r\n this.paq.push(['setCustomVariable', 1, 'applicationIdentifier',\r\n this.$store.state.applicationIdentifier, 'visit']);\r\n this.paq.push(['MediaAnalytics::scanForMedia']);\r\n this.paq.push(['FormAnalytics::scanForForms']);\r\n this.paq.push(['trackContentImpressionsWithinNode']);\r\n this.paq.push(['enableLinkTracking']);\r\n this.checkSession();\r\n },\r\n );\r\n }\r\n\r\n public updateRoute() {\r\n this.$router.replace({query: {}});\r\n this.$router.push({ query: Object.assign({}, this.$route.query, { form: this.currentFormName }) });\r\n }\r\n\r\n get loading() {\r\n return this.$store.state.loading;\r\n }\r\n\r\n protected mounted() {\r\n if (!this.loginRequired() || this.$msal.isAuthenticated) {\r\n this.setEventListeners();\r\n this.getComponentsToDisplay({});\r\n }\r\n }\r\n\r\n protected updated() {\r\n this.$nextTick(() => {\r\n EventBus.$emit('update-form-panel-height');\r\n EventBus.$emit('update-side-panel-scroll');\r\n });\r\n }\r\n\r\n private setEventListeners() {\r\n EventBus.$on('refresh', () => {\r\n this.clearForm();\r\n this.getComponentsToDisplay({\r\n reInitialise: true,\r\n });\r\n });\r\n EventBus.$on('resolveTrigger', (\r\n reInitialise?: boolean,\r\n data?: LooseObject,\r\n ) => {\r\n this.clearForm();\r\n this.getComponentsToDisplay({\r\n ...{\r\n reInitialise,\r\n },\r\n ...data,\r\n });\r\n });\r\n EventBus.$on('submitForm', (messageId?: string) => {\r\n this.submitHiddenValue('submit', this.form.submittedMessageText || ' ', ' ');\r\n this.submitForm(messageId);\r\n });\r\n EventBus.$on('submitValue', (\r\n elementId: string,\r\n value: string | number,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) => this.addValueToForm(elementId, value, label, formattedMessage));\r\n EventBus.$on('submitFile', (\r\n elementId: string,\r\n value: LooseObject,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) => this.addValueToForm(elementId, value, label, formattedMessage));\r\n EventBus.$on('submitHiddenValue', (\r\n elementId: string,\r\n value: string | number,\r\n label: string,\r\n formattedMessage?: string,\r\n ) => this.submitHiddenValue(elementId, value, label, formattedMessage));\r\n EventBus.$on('editPreviousFormData', (\r\n formName: string,\r\n workflowName: string,\r\n formData: LooseObject,\r\n messageId: string,\r\n actionId?: number,\r\n ) => this.displayPreviousForm(formName, workflowName, formData, messageId, actionId));\r\n EventBus.$on('cancelForm', (\r\n previousForm: LooseObject[],\r\n previousFormName: string,\r\n previousWorkflowName: string,\r\n ) => this.cancelForm(previousForm, previousFormName, previousWorkflowName));\r\n }\r\n\r\n private submitHiddenValue(elementId: string, value: string | number, label: string, formattedMessage?: string) {\r\n this.addValueToForm(elementId, value, label || '', formattedMessage || '');\r\n }\r\n\r\n\r\n private checkSession(): void {\r\n clearTimeout(this.sessionTimeout);\r\n const sessionIdentifier = this.$store.state.sessionIdentifierCookie();\r\n if (sessionIdentifier === undefined) {\r\n this.$msal.signOut();\r\n store.commit('updateFormHistory', []);\r\n store.commit('updateMessages', []);\r\n this.controller.displayNewMessage('Your session has timed out');\r\n const sessionTimeout: ComponentListModel = {\r\n component: TextContent,\r\n ref: 'text',\r\n elementId: 'error',\r\n content: 'Your session timed out due to inactivity. Please restart your application by refreshing the page, or resume using the unique link sent to you.',\r\n };\r\n this.clearForm();\r\n this.populateComponentProps(sessionTimeout);\r\n this.updateRoute();\r\n } else {\r\n this.sessionTimeout = setTimeout(() => { this.checkSession(); }, this.initialTimeout);\r\n }\r\n }\r\n\r\n private poll(): void {\r\n clearTimeout(this.pollTimeout);\r\n const modified = this.$store.state.lastModifiedCookie();\r\n this.journeyController.poll()\r\n .then(() => {\r\n const lastModified = this.$store.state.lastModified;\r\n if (modified === undefined || lastModified === modified) {\r\n this.timeout += 1000;\r\n } else {\r\n this.currentFormName = '';\r\n this.currentWorkflowName = '';\r\n this.currentActionId = undefined;\r\n this.children = [];\r\n this.getComponentsToDisplay({\r\n refresh: true,\r\n });\r\n this.timeout = this.initialTimeout;\r\n }\r\n })\r\n .catch();\r\n this.pollTimeout = setTimeout(() => { this.poll(); }, this.timeout);\r\n }\r\n\r\n private getUniqueMessages(messages: Message[]) {\r\n const uniqueMessages = [];\r\n for (let i = messages.length - 1; i >= 0; i--) {\r\n const element = messages[i];\r\n const labels: string[] = [];\r\n uniqueMessages.forEach((el) => {\r\n labels.push((el.label || '') + el.elementId);\r\n });\r\n if (!labels.includes((element.label || '') + element.elementId)) {\r\n uniqueMessages.push(messages[i]);\r\n }\r\n }\r\n uniqueMessages.reverse();\r\n return uniqueMessages;\r\n }\r\n\r\n private submitForm(messageId?: string) {\r\n EventBus.$emit('requestValue');\r\n EventBus.$emit('requestHiddenValues');\r\n const formWrapper: any = this.$refs['form-wrapper'];\r\n const formElement = document.getElementById(this.currentFormName);\r\n formWrapper.validate((valid: boolean) => {\r\n if (valid) {\r\n if (messageId) {\r\n EventBus.$emit('disableMessage', messageId);\r\n }\r\n this.newUserMessage.messages = this.getUniqueMessages(this.newUserMessage.messages);\r\n\r\n const newMessage: MessageBubbleModel = {\r\n userMessage: true,\r\n elementId: `message-bubble-${store.state.messages.length}`,\r\n formName: this.currentFormName,\r\n workflowName: this.currentWorkflowName,\r\n actionId: this.currentActionId,\r\n formData: this.form,\r\n messages: this.newUserMessage.messages,\r\n disabled: false,\r\n };\r\n this.paq.push(['FormAnalytics::trackFormSubmit', formElement]);\r\n this.paq.push(['FormAnalytics::trackFormConversion', formElement]);\r\n if (newMessage.messages.length > 0) {\r\n store.commit('addMessage', newMessage);\r\n }\r\n this.previousForms\r\n .filter((form) =>\r\n form.name === this.currentFormName &&\r\n form.workflow === this.currentWorkflowName &&\r\n (this.currentActionId ?? 0) === (form.actionId ?? 0),\r\n )\r\n .map((form) => form.body = this.formToSubmit);\r\n store.commit('updateFormHistory', this.previousForms);\r\n EventBus.$emit('renderNewMessage', true);\r\n this.children = [];\r\n this.getComponentsToDisplay(this.formToSubmit);\r\n this.formToSubmit = {};\r\n this.form = {};\r\n this.newUserMessage = { userMessage: false, elementId: '', messages: [], disabled: false };\r\n\r\n } else {\r\n this.formToSubmit = {};\r\n this.paq.push(['FormAnalytics::trackFormSubmit', formElement]);\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n private addValueToForm(\r\n elementId: string,\r\n value: string | number | LooseObject,\r\n label?: string,\r\n formattedMessage?: string,\r\n ) {\r\n this.formToSubmit[elementId] = value;\r\n if (formattedMessage || (value !== undefined && String(value) !== '' && label !== '')) {\r\n this.newUserMessage.messages.push({\r\n elementId,\r\n value,\r\n displayValue: formattedMessage,\r\n label,\r\n });\r\n }\r\n }\r\n\r\n private isInt(value: any): boolean {\r\n const x = parseFloat(value);\r\n /* tslint:disable-next-line */\r\n return !isNaN(value) && (x | 0) === x;\r\n }\r\n\r\n private displayPreviousForm(\r\n formName: string,\r\n workflowName: string,\r\n formData: LooseObject,\r\n messageId: string,\r\n actionId?: number,\r\n ) {\r\n const formToDisplay = this.previousForms.find((form) =>\r\n form.name === formName && form.workflow === workflowName,\r\n );\r\n if (formToDisplay === undefined) {\r\n // alert(`form: ${formName} was not found in the previous forms`);\r\n return;\r\n } else {\r\n const lastForm = this.children;\r\n const lastFormName = this.currentFormName;\r\n const lastWorkflowName = this.currentWorkflowName;\r\n const lastActionId = this.currentActionId;\r\n this.clearForm();\r\n // console.log(JSON.stringify(this.children));\r\n this.isEditForm = true;\r\n const components = this.controller.extractComponents(formToDisplay.formFields);\r\n components.forEach((comp) => {\r\n if (comp.ref === 'input_submit') {\r\n comp.editedMessageId = messageId;\r\n comp.previousForm = lastForm;\r\n comp.previousFormName = lastFormName;\r\n comp.previousWorkflowName = lastWorkflowName;\r\n comp.previousActionId = lastActionId;\r\n comp.isEdit = true;\r\n }\r\n // console.log(JSON.stringify(comp));\r\n const valueToEdit = formData[`${comp.elementId}`];\r\n this.populateComponentProps(comp, valueToEdit);\r\n });\r\n // console.log(JSON.stringify(this.children));\r\n this.currentFormName = formName;\r\n this.currentWorkflowName = workflowName;\r\n this.currentActionId = actionId;\r\n this.updateRoute();\r\n store.commit('updateEditAvailableFlag', false);\r\n EventBus.$emit('setInitialValues');\r\n }\r\n }\r\n\r\n private cancelForm(\r\n previousForm: LooseObject[],\r\n previousFormName: string,\r\n previousWorkflowName: string,\r\n ) {\r\n this.clearForm();\r\n this.currentFormName = previousFormName;\r\n this.currentWorkflowName = previousWorkflowName;\r\n this.children = previousForm;\r\n this.updateRoute();\r\n store.commit('updateEditAvailableFlag', true);\r\n }\r\n\r\n private populateComponentProps(comp: ComponentListModel, valueToEdit?: string | number) {\r\n switch (comp.ref) {\r\n case 'title': {\r\n const props = {\r\n content: comp.content,\r\n elementId: comp.elementId,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_button_radio':\r\n case 'input_radio': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n orientation: comp.attributes?.orientation,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_checkbox': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n checkAll: comp.attributes?.checkAll,\r\n orientation: comp.attributes?.orientation,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'text': {\r\n const props = {\r\n elementId: comp.elementId,\r\n content: comp.content,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n currency: comp.attributes?.currency,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_submit': {\r\n const props = {\r\n content: comp.content,\r\n value: comp.attributes?.value,\r\n elementId: comp.elementId,\r\n editedMessageId: comp.editedMessageId,\r\n isEdit: comp.isEdit,\r\n previousForm: comp.previousForm,\r\n previousFormName: comp.previousFormName,\r\n previousWorkflowName: comp.previousWorkflowName,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'address_line':\r\n case 'address_city':\r\n case 'address_county':\r\n case 'address_postcode':\r\n case 'input_text': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n minLength: comp.validations?.minLength,\r\n maxLength: comp.validations?.maxLength,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n password: comp.attributes?.password,\r\n visibility: comp.attributes?.visibility,\r\n textBox: comp.attributes?.textBox,\r\n textBoxHeight: comp.attributes?.textBoxHeight,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_address': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n buildingName: comp.attributes?.buildingName,\r\n buildingNumber: comp.attributes?.buildingNumber,\r\n street: comp.attributes?.street,\r\n town: comp.attributes?.town,\r\n county: comp.attributes?.county,\r\n country: comp.attributes?.country,\r\n subBuildingName: comp.attributes?.subBuildingName,\r\n subBuildingNumber: comp.attributes?.subBuildingNumber,\r\n postcode: comp.attributes?.postcode,\r\n provider: comp.attributes?.provider,\r\n apiKey: comp.attributes?.apiKey,\r\n lookupType: comp.attributes?.lookupType,\r\n countryLimitCode: comp.attributes?.countryLimitCode,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_sso': {\r\n const props = {\r\n elementId: comp.elementId,\r\n content: comp.content,\r\n label: comp.label,\r\n provider: comp.attributes?.provider,\r\n tooltip: comp.attributes?.tooltip,\r\n\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_select': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n options: comp.options,\r\n value: comp.attributes?.value,\r\n searchable: comp.attributes?.searchable,\r\n multiple: comp.attributes?.multiple,\r\n width: comp.attributes?.width,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_phone': {\r\n const props = {\r\n minLength: comp.validations?.minLength,\r\n maxLength: comp.validations?.maxLength,\r\n pattern: comp.validations?.pattern,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n placeholder: comp.attributes?.placeholder,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_date': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n format: comp.attributes?.format,\r\n locale: comp.attributes?.locale,\r\n minDate: comp.validations?.minDate,\r\n maxDate: comp.validations?.maxDate,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_email': {\r\n const props = {\r\n placeholder: comp.attributes?.placeholder,\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'term_slider':\r\n case 'amount_slider': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n currency: comp.attributes?.currency,\r\n stepIncrement: comp.attributes?.stepIncrement,\r\n minValue: comp.validations?.minValue,\r\n maxValue: comp.validations?.maxValue,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'income':\r\n case 'expense':\r\n case 'input_money':\r\n case 'input_number': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n unit: comp.attributes?.unit,\r\n currency: comp.attributes?.currency,\r\n locale: comp.attributes?.locale,\r\n decimals: comp.attributes?.decimals,\r\n placeholder: comp.attributes?.placeholder,\r\n minValue: comp.validations?.minValue,\r\n maxValue: comp.validations?.maxValue,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_file': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n validationMessage: comp.validations?.validationMessage,\r\n label: comp.label,\r\n placeholder: comp.attributes?.placeholder,\r\n fileName: comp.attributes?.fileName,\r\n fileType: comp.attributes?.fileType,\r\n maxSize: comp.validations?.maxSize,\r\n width: comp.attributes?.width,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_hidden': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n label: comp.label,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'input_tokenex_card': {\r\n const props = {\r\n elementId: comp.elementId,\r\n label: comp.label,\r\n authenticationKey: comp.attributes?.authenticationKey,\r\n timestamp: comp.attributes?.timestamp,\r\n tokenExId: comp.attributes?.tokenExId,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n placeholder: comp.attributes?.placeholder,\r\n includeCvv: comp.attributes?.includeCvv,\r\n cvvLabel: comp.attributes?.cvvLabel,\r\n cvvPlaceholder: comp.attributes?.cvvPlaceholder,\r\n includeExpiry: comp.attributes?.includeExpiry,\r\n expiryMonthLabel: comp.attributes?.expiryMonthLabel,\r\n expiryMonthPlaceholder: comp.attributes?.expiryMonthPlaceholder,\r\n expiryYearLabel: comp.attributes?.expiryYearLabel,\r\n expiryYearPlaceholder: comp.attributes?.expiryYearPlaceholder,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'image': {\r\n const props = {\r\n elementId: comp.elementId,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n href: comp.attributes?.href,\r\n maxWidth: comp.attributes?.maxWidth,\r\n maxHeight: comp.attributes?.maxHeight,\r\n unit: comp.attributes?.unit,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'pdf': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n label: comp.label,\r\n src: comp.attributes?.b64,\r\n fileName: comp.attributes?.fileName,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_files_download':\r\n case 'output_files': {\r\n const props = {\r\n elementId: comp.elementId,\r\n value: comp.attributes?.value,\r\n label: comp.label,\r\n files: comp.files,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_table': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n tableColumns: comp.tableColumns,\r\n actionColumns: comp.actionColumns,\r\n tableData: comp.tableData,\r\n label: comp.label,\r\n ariaLabel: comp.attributes?.ariaLabel,\r\n deleteable: comp.attributes?.deleteable,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n case 'output_widget': {\r\n const props = {\r\n elementId: comp.elementId,\r\n required: comp.validations?.required,\r\n requiredMessage: comp.validations?.requiredMessage,\r\n widgets: comp.widgets,\r\n label: comp.label,\r\n defaultEditValue: valueToEdit || comp.attributes?.value || null,\r\n tooltip: comp.attributes?.tooltip,\r\n };\r\n this.children.push({ component: comp.component, props });\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/ts-loader/index.js??ref--14-3!./Home.ts?vue&type=script&lang=js&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/ts-loader/index.js??ref--14-3!./Home.ts?vue&type=script&lang=js&external\"","import { render, staticRenderFns } from \"./Home.vue?vue&type=template&id=9a8adf30&scoped=true\"\nimport script from \"./Home.ts?vue&type=script&lang=js&external\"\nexport * from \"./Home.ts?vue&type=script&lang=js&external\"\nimport style0 from \"./Home.vue?vue&type=style&index=0&id=9a8adf30&prod&scoped=true&lang=css\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"9a8adf30\",\n null\n \n)\n\nexport default component.exports","import Vue from 'vue';\r\nimport VueRouter, { RouteConfig } from 'vue-router';\r\nimport Home from '@/views/Home/Home.vue';\r\nimport store from '@/store';\r\n\r\nVue.use(VueRouter);\r\n\r\nconst routes: RouteConfig[] = [\r\n {\r\n path: '/',\r\n name: 'Home',\r\n component: Home,\r\n },\r\n];\r\n\r\nconst router = new VueRouter({\r\n routes,\r\n});\r\n\r\nexport default router;\r\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./side-panel.scss?vue&type=style&index=0&prod&lang=scss&external\"","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{ref:\"container\",attrs:{\"id\":\"side-panel-container\"}},[_vm._l((this.$store.state.messages),function(message,index){return [_c('MessageBubble',{key:index,attrs:{\"userMessage\":message.userMessage,\"elementId\":message.elementId,\"messages\":message.messages,\"formName\":message.formName,\"workflowName\":message.workflowName,\"actionId\":message.actionId,\"formData\":message.formData,\"disabled\":message.disabled}})]}),(_vm.loading)?_c('div',{staticClass:\"loading\",attrs:{\"id\":\"app-message-loading\"}}):_vm._e()],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { Component, Vue } from 'vue-property-decorator';\r\nimport MessageBubble from '@/components/MessageBubble/MessageBubble.vue';\r\nimport store from '@/store';\r\nimport {EventBus} from '@/utilities/eventBus/EventBus';\r\n\r\n@Component({\r\n name: 'SidePanel',\r\n components: {\r\n MessageBubble,\r\n },\r\n})\r\nexport default class SidePanel extends Vue {\r\n\r\n protected updated() {\r\n this.$nextTick(() => {\r\n EventBus.$emit('update-form-panel-height');\r\n });\r\n }\r\n\r\n get loading() {\r\n return this.$store.state.loading;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!./SidePanel.ts?vue&type=script&lang=ts&external\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!./SidePanel.ts?vue&type=script&lang=ts&external\"","import { render, staticRenderFns } from \"./SidePanel.vue?vue&type=template&id=e0ff4958\"\nimport script from \"./SidePanel.ts?vue&type=script&lang=ts&external\"\nexport * from \"./SidePanel.ts?vue&type=script&lang=ts&external\"\nimport style0 from \"../../styles/SidePanel/side-panel.scss?vue&type=style&index=0&prod&lang=scss&external\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./message-bubble.scss?vue&type=style&index=0&prod&lang=scss&external\"","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!./formSection.scss?vue&type=style&index=0&prod&lang=scss&external\"","import LooseObject from '@/models/Objects/LooseObject';\r\nimport FormModel from '@/models/Objects/FormModel';\r\nimport Message from '@/models/Components/MessageBubble/Message';\r\nimport MessageBubbleModel from '@/models/Components/MessageBubble/MessageBubbleModel';\r\nimport moment from 'moment';\r\n\r\nexport function extractMessageHistory(formHistory: FormModel[]): MessageBubbleModel[] {\r\n const messageBubbles: MessageBubbleModel[] = [];\r\n if (formHistory !== undefined) {\r\n let id = 0;\r\n formHistory.map((form) => {\r\n id += 1;\r\n let messageBubble: MessageBubbleModel = {\r\n userMessage: false,\r\n elementId: `message-bubble-${id}`,\r\n formName: form.name,\r\n workflowName: form.workflow,\r\n messages: [{\r\n elementId: 'form_' + id.toString(),\r\n value: form.text,\r\n }],\r\n responseDate: form.responseDate,\r\n requestDate: form.requestDate,\r\n disabled: false,\r\n };\r\n messageBubbles.push(messageBubble);\r\n id += 1;\r\n const previousMessages: Message[] = [];\r\n let previousFormData: LooseObject = {};\r\n form.formFields.map((formField) => {\r\n const value = formField.attributes?.value;\r\n if (value !== undefined && value != null && formField.type !== 'input_hidden') {\r\n const props = formField.attributes ?? {};\r\n props.options = formField.options;\r\n previousMessages.push({\r\n elementId: formField.name,\r\n value,\r\n displayValue: getFormattedString(props, value),\r\n label: props.ariaLabel ?? formField.text,\r\n });\r\n\r\n previousFormData = {\r\n ...previousFormData,\r\n ...JSON.parse(`{\"${formField.name}\": \"${value}\"}`),\r\n };\r\n }\r\n });\r\n if (form.submittedMessageText !== undefined) {\r\n const value = form.submittedMessageText;\r\n previousMessages.push({\r\n elementId: 'submit_' + id.toString(),\r\n value,\r\n label: ' ',\r\n });\r\n\r\n previousFormData = {\r\n ...previousFormData,\r\n ...JSON.parse(`{\"submit\": \"${value}\"}`),\r\n };\r\n }\r\n if (previousMessages.length > 0) {\r\n messageBubble = {\r\n userMessage: true,\r\n elementId: `message-bubble-${id}`,\r\n formName: form.name,\r\n workflowName: form.workflow,\r\n messages: previousMessages,\r\n formData: previousFormData,\r\n responseDate: form.responseDate,\r\n requestDate: form.requestDate,\r\n disabled: false,\r\n };\r\n messageBubbles.push(messageBubble);\r\n }\r\n });\r\n }\r\n return messageBubbles;\r\n}\r\n\r\n\r\nexport function getFormattedString(props: LooseObject, value: any): string {\r\n let formattedString = String(value);\r\n if (value !== undefined) {\r\n if (props !== undefined) {\r\n if (props.pattern !== undefined && props.pattern !== '') {\r\n const regex = new RegExp(props.pattern, 'g');\r\n formattedString = value.toString().replace(regex, '');\r\n }\r\n if (props.options !== undefined) {\r\n const options: LooseObject[] = props.options.filter(\r\n (option: LooseObject) => String(option.value) === String(value))\r\n .map((option: LooseObject) => option);\r\n if (options.length > 0) {\r\n formattedString = String(options[0].title ?? options[0].label);\r\n }\r\n } else if (props.currency !== undefined) {\r\n formattedString = applyCurrencyFormat(formattedString, props.currency, props.locale, props.decimals);\r\n } else if (props.unit !== undefined) {\r\n formattedString = applyNumberFormat(formattedString, props.unit, props.locale, props.decimals);\r\n } else if (props.format !== undefined) {\r\n if (isDateFormat(props.format)) {\r\n formattedString = applyDateFormat(props.format, formattedString);\r\n }\r\n }\r\n }\r\n formattedString = formattedString.split('\\n').join('
');\r\n } else {\r\n return '';\r\n }\r\n return formattedString;\r\n}\r\n\r\nfunction isNullOrUndefined(value: any) {\r\n if (value === undefined) {\r\n return true;\r\n }\r\n if (value == null) {\r\n return true;\r\n }\r\n return false;\r\n}\r\n\r\nfunction applyCurrencyFormat(value: string, currency: string, locale: string, decimals: string): string {\r\n const formatter = new Intl.NumberFormat(locale, {\r\n style: 'currency',\r\n currency,\r\n currencyDisplay: 'symbol',\r\n minimumFractionDigits: 0,\r\n maximumFractionDigits: 0,\r\n });\r\n return formatter.format(parseFloat(value));\r\n}\r\n\r\nfunction applyNumberFormat(value: string, unit: string, locale: string, decimals: string): string {\r\n const formatter = new Intl.NumberFormat(locale,\r\n /* {\r\n // @ts-ignore\r\n style: 'unit',\r\n // @ts-ignore\r\n unit,\r\n }*/\r\n );\r\n return formatter.format(parseFloat(value));\r\n}\r\n\r\nfunction applyDateFormat(format: string, value: string): string {\r\n return moment(value, 'YYYY-MM-DD').format(format);\r\n}\r\n\r\nfunction isDateFormat(format: string): boolean {\r\n return (format === 'DD-MM-YYYY' || format === 'YYYY-MM-DD' || format === 'MM-DD-YYYY');\r\n}\r\n"],"sourceRoot":""}