{"version":3,"file":"app-071f3147.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/resources/add-client-to-recent-items.ts","webpack://iadviser/./src/resources/attributes/class-attribute.ts","webpack://iadviser/./src/resources/attributes/conditional-if.ts","webpack://iadviser/./src/resources/attributes/input-mask.ts","webpack://iadviser/./src/resources/attributes/listen-to.ts","webpack://iadviser/./src/resources/attributes/sortable.ts","webpack://iadviser/./src/resources/calculate-gst.ts","webpack://iadviser/./src/resources/claims-step.ts","webpack://iadviser/./src/resources/clean-qce-model.ts","webpack://iadviser/./src/resources/constants.ts","webpack://iadviser/./src/resources/decorators/debounce-decorator.ts","webpack://iadviser/./src/resources/decorators/has-decorator.ts","webpack://iadviser/./src/resources/device-token-manager.ts","webpack://iadviser/./src/resources/endpoints/binary-endpoint.ts","webpack://iadviser/./src/resources/endpoints/endpoints.ts","webpack://iadviser/./src/resources/endpoints/form-endpoint.ts","webpack://iadviser/./src/resources/endpoints/json-endpoint.ts","webpack://iadviser/./src/resources/endpoints/text-endpoint.ts","webpack://iadviser/./src/resources/enums.ts"],"sourcesContent":["import { getAppClientType, getEmailAddress } from './parse-jwt';\r\n\r\nconst EMAIL = getEmailAddress();\r\nconst APP_CLIENT_TYPE = getAppClientType();\r\n\r\nexport function addClientToRecentItems(client) {\r\n const RECENT_CLIENTS = JSON.parse(localStorage.getItem('ia_recent_clients')) ?? [];\r\n\r\n if (!client) {\r\n return RECENT_CLIENTS;\r\n }\r\n\r\n const CLIENT_ID = client.entityId;\r\n const CLIENT_CODE = client.entityCode;\r\n const CLIENT_NAME = client.entityName;\r\n const COMPANY_OFFICE_CODE = client.companyOfficeCode;\r\n const ADVISER_NAME = client.adviserName;\r\n\r\n const CLIENT_EXISTS = RECENT_CLIENTS.some((c: any) => c.entityId === CLIENT_ID);\r\n\r\n if (CLIENT_EXISTS) {\r\n const CLIENT_INDEX = RECENT_CLIENTS.findIndex((c: any) => c.entityId === CLIENT_ID);\r\n\r\n RECENT_CLIENTS.splice(CLIENT_INDEX, 1);\r\n RECENT_CLIENTS.unshift({\r\n appClientType: APP_CLIENT_TYPE,\r\n emailAddress: EMAIL,\r\n entityId: CLIENT_ID,\r\n entityCode: CLIENT_CODE,\r\n entityName: CLIENT_NAME,\r\n companyOfficeCode: COMPANY_OFFICE_CODE,\r\n adviserName: ADVISER_NAME,\r\n });\r\n } else {\r\n RECENT_CLIENTS.unshift({\r\n appClientType: APP_CLIENT_TYPE,\r\n emailAddress: EMAIL,\r\n entityId: CLIENT_ID,\r\n entityCode: CLIENT_CODE,\r\n entityName: CLIENT_NAME,\r\n companyOfficeCode: COMPANY_OFFICE_CODE,\r\n adviserName: ADVISER_NAME,\r\n });\r\n }\r\n\r\n localStorage.setItem('ia_recent_clients', JSON.stringify(RECENT_CLIENTS));\r\n}\r\n\r\nexport function getRecentClientsByAppClientTypeByUserId() {\r\n const RECENT_CLIENTS = JSON.parse(localStorage.getItem('ia_recent_clients')) ?? [];\r\n return RECENT_CLIENTS.filter((x) => x.appClientType === APP_CLIENT_TYPE && x.emailAddress === EMAIL);\r\n}\r\n","/* eslint-disable @typescript-eslint/no-use-before-define */\r\nimport { inject, Parent, getContextFor } from 'aurelia-framework';\r\n\r\nconst removeClassList = (element, val) => {\r\n if (!val) {\r\n return;\r\n }\r\n\r\n element.classList.remove(val);\r\n};\r\n\r\nconst addClassList = (element, val) => {\r\n if (!val) {\r\n return;\r\n }\r\n\r\n element.classList.add(val);\r\n};\r\n\r\n@inject(Element, Parent.of(ClassCustomAttribute))\r\nexport class ClassCustomAttribute {\r\n value: string;\r\n previousClasses: string[] = [];\r\n bindingContext;\r\n parentContext;\r\n\r\n constructor(private element: Element, private parent: any) {}\r\n\r\n bind(bindingContext, overrideContext) {\r\n this.bindingContext = bindingContext;\r\n\r\n if (this.bindingContext && typeof this.bindingContext.styles === 'undefined') {\r\n this.bindingContext = this.parent.bindingContext;\r\n\r\n if (this.bindingContext && typeof this.bindingContext.styles === 'undefined') {\r\n this.bindingContext = getContextFor('styles', { bindingContext, overrideContext }, 0);\r\n }\r\n }\r\n\r\n if (!this.bindingContext || typeof this.bindingContext.styles === 'undefined') {\r\n return;\r\n }\r\n\r\n if (!this.value) {\r\n this.value = '';\r\n }\r\n\r\n // Filter out any classes that do not have substitutes found in the bindingContext styles property\r\n // this prevents them being removed and allows for use-cases where :global {} is being used\r\n const values = this.value.split(' ').filter((val) => {\r\n return this.bindingContext.styles[val];\r\n });\r\n\r\n values.forEach((x) => removeClassList(this.element, x)); // remove the initial friendly names\r\n\r\n this.valueChanged(this.value);\r\n }\r\n\r\n addClass(className: string) {\r\n this.value = `${this.value} ${className}`;\r\n }\r\n\r\n removeClass(className: string) {\r\n this.value = this.value\r\n .split(' ')\r\n .filter((x) => x !== className)\r\n .join(' ');\r\n }\r\n\r\n valueChanged(newValue: string) {\r\n this.previousClasses.forEach((x) => removeClassList(this.element, x));\r\n\r\n this.previousClasses = newValue\r\n .split(' ')\r\n .map((x) => x.trim())\r\n .map((x) => (this.bindingContext?.styles?.[x] ? this.bindingContext.styles[x] : x))\r\n .join(' ') // lookups might map to multiple classes, so join them and then split\r\n .split(' ');\r\n\r\n this.previousClasses.forEach((x) => addClassList(this.element, x));\r\n }\r\n}\r\n","import { autoinject } from 'aurelia-dependency-injection';\r\nimport { customAttribute, bindable, TaskQueue } from 'aurelia-framework';\r\n\r\nconst INPUT_TYPES = ['INPUT', 'SELECT', 'TEXTAREA'];\r\n\r\n@autoinject()\r\n@customAttribute('conditional-if')\r\nexport class ConditionalIf {\r\n @bindable() attribute = null;\r\n @bindable() value = null;\r\n\r\n constructor(private element: Element, private taskQueue: TaskQueue) {}\r\n\r\n attached() {\r\n this.valueChanged(this.value);\r\n }\r\n\r\n valueChanged(value: string) {\r\n setTimeout(() => {\r\n if (value) {\r\n this.element.setAttribute(this.attribute, value);\r\n\r\n if (this.attribute === 'focusme' || this.attribute === 'focus') {\r\n if (INPUT_TYPES.includes(this.element.tagName)) {\r\n (this.element as HTMLElement).focus();\r\n } else {\r\n INPUT_TYPES.forEach((type) => {\r\n const search = this.element.querySelector(type) as HTMLInputElement;\r\n\r\n if (search) {\r\n search.focus();\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n this.element.removeAttribute(this.attribute);\r\n }\r\n }, 150);\r\n }\r\n}\r\n","import { inject, customAttribute, DOM } from 'aurelia-framework';\r\nimport Inputmask from 'inputmask';\r\nimport { bindable } from 'aurelia-typed-observable-plugin';\r\nimport defaultsDeep from 'lodash/defaultsDeep';\r\n\r\nexport type InputMaskOptions = Inputmask.Options;\r\n\r\n@customAttribute('input-mask')\r\n@inject(DOM.Element)\r\nexport class InputMask {\r\n @bindable public options?: InputMaskOptions;\r\n\r\n private element: HTMLInputElement;\r\n private im: Inputmask.Instance;\r\n\r\n private defaultOptions: InputMaskOptions = {\r\n alias: 'numeric',\r\n digits: '2',\r\n groupSeparator: ',',\r\n digitsOptional: false,\r\n nullable: true,\r\n };\r\n\r\n constructor(element: HTMLInputElement) {\r\n this.element = element;\r\n }\r\n\r\n attached() {\r\n this.applyOptionsAndReMask();\r\n }\r\n\r\n optionsChanged(options: InputMaskOptions) {\r\n if (!options) return;\r\n this.applyOptionsAndReMask();\r\n }\r\n\r\n private applyOptionsAndReMask() {\r\n if (typeof this.options !== 'string') {\r\n defaultsDeep(this.options, this.defaultOptions);\r\n }\r\n\r\n if (this.element.inputmask) {\r\n this.element.inputmask.remove();\r\n }\r\n\r\n this.im = new Inputmask(this.options);\r\n this.im.mask(this.element);\r\n }\r\n}\r\n","import { autoinject, customAttribute } from 'aurelia-framework';\r\n\r\ninterface ListenConfig {\r\n name: string;\r\n handler: (e: Event) => void;\r\n}\r\n\r\ntype ListenValue = ListenConfig | ListenConfig[];\r\n\r\ninterface BoundListenConfig {\r\n name: string;\r\n handler: (e: Event) => void;\r\n}\r\n\r\n@customAttribute('listen-to')\r\n@autoinject\r\nexport class ListenToAttribute {\r\n public value?: ListenValue;\r\n private bindingContext: any;\r\n private boundConfigs: BoundListenConfig[] = [];\r\n\r\n public constructor(private element: Element) {}\r\n\r\n // Aurelia calls this with the parent binding context\r\n protected bind(bindingContext: any, overrideContext: any) {\r\n // in the event that this attribute is on a component in a repeater,\r\n // we need to ensure we have the correct binding context.\r\n // The overrideContext's parentOverrideContext holds the correct context (i.e. the parent view model)\r\n this.bindingContext = overrideContext.parentOverrideContext.bindingContext;\r\n\r\n // Manually trigger initial setup (once you add a bind() method, Aurelia no longer calls valueChanged on initial set)\r\n if (this.value !== undefined) {\r\n this.valueChanged(this.value);\r\n }\r\n }\r\n\r\n protected detached() {\r\n // Cleanup when element leaves DOM\r\n this.removeListeners();\r\n }\r\n\r\n private valueChanged(newValue?: ListenValue) {\r\n this.removeListeners();\r\n\r\n if (!newValue) {\r\n return;\r\n }\r\n\r\n const configs = Array.isArray(newValue) ? newValue : [newValue];\r\n\r\n this.boundConfigs = configs\r\n .filter((config) => config && config.name && config.handler)\r\n .map((config) => ({\r\n name: config.name,\r\n handler: config.handler.bind(this.bindingContext),\r\n }));\r\n\r\n this.boundConfigs.forEach((config) => {\r\n this.element.addEventListener(config.name, config.handler);\r\n });\r\n }\r\n\r\n private removeListeners() {\r\n this.boundConfigs.forEach((config) => {\r\n this.element.removeEventListener(config.name, config.handler);\r\n });\r\n\r\n this.boundConfigs = [];\r\n }\r\n}\r\n","import { autoinject, customAttribute } from 'aurelia-framework';\r\nimport Sortable from 'sortablejs';\r\n\r\nexport interface SortableOptions extends Sortable.Options {}\r\n\r\n@customAttribute('sortable')\r\n@autoinject\r\nexport class SortableAttribute {\r\n private sortableInstance: Sortable | null = null;\r\n\r\n constructor(private element: Element) {}\r\n\r\n valueChanged(newValue: SortableOptions) {\r\n // newValue is the options object passed from the VM\r\n this.destroySortable();\r\n\r\n this.sortableInstance = Sortable.create(this.element as HTMLElement, {\r\n animation: 150,\r\n ...newValue,\r\n });\r\n }\r\n\r\n detached() {\r\n this.destroySortable();\r\n }\r\n\r\n private destroySortable() {\r\n if (this.sortableInstance) {\r\n this.sortableInstance.destroy();\r\n this.sortableInstance = null;\r\n }\r\n }\r\n}\r\n","import { evenRound } from './even-round';\r\n\r\nexport function calculateGst(value: number, gstRate: number) {\r\n return evenRound((value * gstRate) / 100, 2);\r\n}\r\n","import { ClaimsService } from 'resources/services/claims-service';\r\nimport { autoinject } from 'aurelia-dependency-injection';\r\nimport { Next, NavigationInstruction, Redirect } from 'aurelia-router';\r\nimport { isProd } from 'resources/utils';\r\nimport { getEmailAddress } from './parse-jwt';\r\n\r\n@autoinject()\r\nexport class ClaimsStep {\r\n constructor(private claimsService: ClaimsService) { }\r\n\r\n async run(navigationInstruction: NavigationInstruction, next: Next) {\r\n const { config: { settings } } = navigationInstruction;\r\n\r\n // prevent diagnostics access on production to non iaanyware users\r\n if (isProd() && navigationInstruction.config.route.includes('diagnostics') && !getEmailAddress().includes('iaanyware.net')) {\r\n console.log('diagnostics only available to iaanyware users')\r\n return next.cancel(new Redirect('/'));\r\n }\r\n\r\n if (settings && settings.claims) {\r\n let { claims } = settings;\r\n\r\n // If route has claims\r\n if (claims?.length) {\r\n\r\n const isNewEditClaim = navigationInstruction.config.name === 'newClaim' || navigationInstruction.config.name === 'claimWizard';\r\n\r\n // separate claims required when routing to policy or quote wizard - ignore new/edit claim route\r\n if (navigationInstruction.params.parentEntityId > 0 && !isNewEditClaim) {\r\n claims = claims.filter(x => x.includes('Policy'));\r\n\r\n if (navigationInstruction.fragment.includes('new') || navigationInstruction.fragment.includes('edit')) {\r\n claims = claims.filter(x => x.includes('Edit'));\r\n }\r\n\r\n } else if (navigationInstruction.params.parentEntityId == 0 && !isNewEditClaim) {\r\n claims = claims.filter(x => x.includes('Quote'));\r\n\r\n if (navigationInstruction.fragment.includes('edit')) {\r\n claims = claims.filter(x => x.includes('Edit'));\r\n }\r\n } else if(isNewEditClaim){\r\n if (navigationInstruction.fragment.includes('edit')) {\r\n claims = claims.filter(x => x.includes('Edit'));\r\n }\r\n }\r\n\r\n const has = await this.claimsService.hasAsync(claims);\r\n\r\n // Does the user have the required claims?\r\n if (has) {\r\n // User has valid claims, allow route to proceed\r\n return next();\r\n } else {\r\n\r\n // User doesn't have stipulated claim\r\n const name = ['clientHome', 'preRenewal', 'app-admin', 'app-admin-view', 'app-accounts', 'app-accounts-view']\r\n if (name.includes(navigationInstruction.config.name)) {\r\n return next.cancel(new Redirect('/'));\r\n } else {\r\n return next.cancel(new Redirect(`/client/${navigationInstruction.params.id}`));\r\n }\r\n }\r\n }\r\n }\r\n\r\n return next();\r\n }\r\n}\r\n","import { IQceResponse, IQceResponseGroup } from 'components/qce/qce-typings';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\nimport moment from 'moment';\r\nimport { generateGuidString } from './utilities/insecure-guid';\r\n\r\nexport function cleanQceModel(model: IQceResponse, saving = false) {\r\n if (!model) {\r\n return model;\r\n }\r\n\r\n // reset questions that have been disabled by flow \r\n const newModel = cloneDeep(model);\r\n\r\n if (newModel.guid === '00000000-0000-0000-0000-000000000000') {\r\n newModel.guid = generateGuidString();\r\n }\r\n\r\n if (newModel.groups) {\r\n newModel.groups.forEach((group) => {\r\n group.questions.forEach((question, index) => {\r\n\r\n if (question.disabledByQuestionFlowFlag) {\r\n question.currentResponse.responsePresent = false;\r\n question.currentResponse.answerId = null;\r\n question.currentResponse.anzsicOccupationInsurerId = null;\r\n question.currentResponse.glassId = null;\r\n question.currentResponse.gridResponses = null;\r\n question.currentResponse.occupationId = null;\r\n question.currentResponse.propertyOwnersAnzsicOccupationId = null;\r\n question.currentResponse.responseTypeId = null;\r\n question.currentResponse.responseValue = null;\r\n\r\n return;\r\n }\r\n\r\n if (question.currentResponse && question.currentResponse.gridResponses && question.currentResponse.gridResponses.length) {\r\n question.currentResponse.gridResponses.forEach((response: any) => {\r\n if (response.ClaimDate && response.ClaimDate.includes('/')) {\r\n response.ClaimDate = moment.utc(response.ClaimDate, 'DD/MM/YYYY').toISOString();\r\n }\r\n\r\n if (response.DateOfOffence && response.DateOfOffence.includes('/')) {\r\n response.DateOfOffence = moment.utc(response.DateOfOffence, 'DD/MM/YYYY').toISOString();\r\n }\r\n\r\n if (response.DateOfLoss && response.DateOfLoss.includes('/')) {\r\n response.DateOfLoss = moment.utc(response.DateOfLoss, 'DD/MM/YYYY').toISOString();\r\n }\r\n\r\n if (response.ItemDate && response.ItemDate.includes('/')) {\r\n response.ItemDate = moment.utc(response.ItemDate, 'DD/MM/YYYY').toISOString();\r\n }\r\n\r\n if (response.YearPurchased && response.YearPurchased.includes != undefined && response.YearPurchased.includes('y')) {\r\n response.YearPurchased = null;\r\n }\r\n\r\n if (response.PeriodEndingInYear && response.PeriodEndingInYear.includes != undefined && response.PeriodEndingInYear.includes('y')) {\r\n response.PeriodEndingInYear = null;\r\n }\r\n });\r\n }\r\n\r\n // Date format component\r\n if (question.displayTypeId === 2 || question.displayTypeId === 600000006) {\r\n question.currentResponse.responseValue = question.currentResponse.responseValue ? moment.utc(question.currentResponse.responseValue, 'DD/MM/YYYY').format('DD/MM/YYYY') : null;\r\n }\r\n\r\n // Date format free text component and date entered\r\n if (question.displayTypeId === 11 && question.currentResponse.responseTypeId === 600000003) {\r\n question.currentResponse.responseValue = moment.utc(question.currentResponse.responseValue, 'DD/MM/YYYY').format('DD/MM/YYYY');\r\n }\r\n\r\n if (question.currentResponse && question.currentResponse.gridResponses && !question.currentResponse.gridResponses.length) {\r\n question.currentResponse.gridResponses = null;\r\n }\r\n\r\n if (question.currentResponse && question.currentResponse.responsePresent === false) {\r\n question.currentResponse.responseValue = null;\r\n }\r\n });\r\n });\r\n }\r\n\r\n if (saving && newModel.groups) {\r\n newModel.groups = newModel.groups.map(group => {\r\n return {\r\n guid: group.guid,\r\n questions: group.questions.map(question => {\r\n return {\r\n guid: question.guid,\r\n currentResponse: question.currentResponse,\r\n questionId: question.questionId\r\n }\r\n })\r\n };\r\n }) as Partial;\r\n }\r\n\r\n return newModel;\r\n}\r\n\r\nexport function setupDefaultQceAnswers(model: IQceResponse) {\r\n const newModel = cloneDeep(model);\r\n\r\n if (newModel.groups) {\r\n newModel.groups.forEach((group) => {\r\n group.questions.forEach((question, index) => {\r\n if (question.disabledByQuestionFlowFlag) {\r\n if (question.defaultAnswerId) {\r\n const answer = question.answerOptions.find(a => a.answerId === question.defaultAnswerId);\r\n\r\n if (answer) {\r\n question.currentResponse.answerId = answer.answerId;\r\n question.currentResponse.responseValue = answer.answerText;\r\n }\r\n }\r\n }\r\n });\r\n });\r\n }\r\n\r\n return newModel;\r\n}\r\n","import { CountryCode } from 'libphonenumber-js';\r\nimport { getAppClientType } from './parse-jwt';\r\nexport const AUTH_TOKEN_KEY = 'iaAuthToken';\r\n\r\nexport const localeMap = new Map([\r\n ['AU', 'en-AU'],\r\n ['NZ', 'en-NZ'],\r\n]);\r\n\r\nexport enum eventAggregatorEvents {\r\n sideBarClicked = 'side-bar-clicked',\r\n clientCounts = 'client-counts',\r\n clientSaved = 'client-saved',\r\n clientActiveStatus = 'client-active-status',\r\n}\r\n\r\nexport const NO_TOKEN_FOUND = 'No authorization token found';\r\n\r\nexport const DEFAULT_DATE_TIME_FORMAT_OPTIONS = {\r\n year: 'numeric',\r\n month: '2-digit',\r\n day: '2-digit',\r\n hour: '2-digit',\r\n minute: '2-digit',\r\n};\r\nexport const DEFAULT_DATE_FORMAT_OPTIONS = { year: 'numeric', month: '2-digit', day: '2-digit' };\r\n\r\nexport const MAX_INTEGER_VALUE_32_BIT = 2147483647;\r\n\r\nexport const BSB_MASK_AU = '[9][9][9]-[9][9][9]';\r\nexport const BSB_MASK_NZ = '[9][9]-[9][9][9][9]';\r\n\r\nexport const BSB_MASK_OPTIONS = {\r\n alias: '',\r\n mask: getAppClientType() == 'AU' ? BSB_MASK_AU : BSB_MASK_NZ,\r\n};\r\n\r\nexport const ACCOUNT_NUMBER_MASK_AU = '[9][9][9][9][9][9][9][9][9][9][9][9][9][9][9]';\r\nexport const ACCOUNT_NUMBER_MASK_NZ = '[9][9][9][9][9][9][9]-[9][9][9]';\r\n\r\nexport const ACCOUNT_NUMBER_MASK_OPTIONS = {\r\n alias: '',\r\n mask: getAppClientType() == 'AU' ? ACCOUNT_NUMBER_MASK_AU : ACCOUNT_NUMBER_MASK_NZ,\r\n};\r\n","import { debounce as lodashDebounce } from 'lodash';\r\n\r\n/**\r\n * Debounce decorator for Aurelia v1.\r\n *\r\n * Applies lodash's debounce to instance methods or accessors that return a function.\r\n * The debounced function is cached per instance to preserve debounce state across\r\n * repeated property access.\r\n */\r\n\r\n/**\r\n * Options passed through to lodash's debounce implementation.\r\n */\r\ntype DebounceOptions = {\r\n leading?: boolean;\r\n trailing?: boolean;\r\n maxWait?: number;\r\n};\r\n\r\n/**\r\n * Decorate a class method or accessor that returns a function with debounce behavior.\r\n *\r\n * @param delay - Debounce wait time in milliseconds.\r\n * @param options - Debounce behavior flags.\r\n */\r\nexport function debounce(delay = 0, options: DebounceOptions = {}) {\r\n return function (target: unknown, key: string, descriptor: PropertyDescriptor) {\r\n if (!descriptor) {\r\n throw new Error(`@debounce can only be applied to methods or accessors (missing descriptor)`);\r\n }\r\n\r\n /**\r\n * Cache debounced functions per instance.\r\n *\r\n * A single debounced function cannot be shared across instances because it would\r\n * mix `this` bindings and debounce state. WeakMap keys by instance, ensuring each\r\n * instance gets its own debounced function while allowing GC when instances are\r\n * collected.\r\n */\r\n const cache = new WeakMap unknown>();\r\n\r\n // Method descriptor\r\n if (typeof descriptor.value === 'function') {\r\n const original = descriptor.value;\r\n\r\n return {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n get(this: object) {\r\n let debounced = cache.get(this);\r\n\r\n if (!debounced) {\r\n debounced = lodashDebounce(original.bind(this), delay, options);\r\n cache.set(this, debounced);\r\n }\r\n\r\n return debounced;\r\n },\r\n };\r\n }\r\n\r\n // Accessor descriptor (getter returns a function)\r\n if (typeof descriptor.get === 'function') {\r\n const originalGet = descriptor.get;\r\n\r\n return {\r\n configurable: true,\r\n enumerable: descriptor.enumerable,\r\n get(this: object) {\r\n let debounced = cache.get(this);\r\n\r\n if (!debounced) {\r\n const fn = originalGet.call(this);\r\n\r\n if (typeof fn !== 'function') {\r\n throw new Error(`@debounce accessor must return a function, not: ${typeof fn}`);\r\n }\r\n\r\n debounced = lodashDebounce(fn.bind(this), delay, options);\r\n cache.set(this, debounced);\r\n }\r\n\r\n return debounced;\r\n },\r\n set: descriptor.set,\r\n };\r\n }\r\n\r\n throw new Error(`@debounce can only be applied to methods or accessors that return functions`);\r\n };\r\n}\r\n","import { Container } from 'aurelia-framework';\r\nimport { ClaimsService } from 'resources/services/claims-service';\r\n\r\nconst HAS_DECORATOR_SYMBOL = Symbol('has_decorated_properties');\r\n\r\nexport function has(...permissions: string[]) {\r\n return function (target: any, key: string) {\r\n const getter = async function () {\r\n const claimsService = Container.instance.get(ClaimsService);\r\n try {\r\n const hasPermission = await claimsService.hasAsync(permissions);\r\n Object.defineProperty(this, key, {\r\n value: hasPermission,\r\n writable: false,\r\n configurable: false,\r\n });\r\n return hasPermission;\r\n } catch (error) {\r\n return false;\r\n }\r\n };\r\n\r\n // Define the property on the target\r\n defineProperty(target, key, getter);\r\n\r\n // Record the decorated property\r\n recordDecoratedProperty(target, key);\r\n };\r\n}\r\n\r\nfunction defineProperty(target: any, key: string, getter: () => any) {\r\n Object.defineProperty(target, key, {\r\n get: getter,\r\n enumerable: true,\r\n configurable: true,\r\n });\r\n}\r\n\r\nfunction recordDecoratedProperty(target: any, key: string) {\r\n if (!target[HAS_DECORATOR_SYMBOL]) {\r\n target[HAS_DECORATOR_SYMBOL] = new Set();\r\n }\r\n\r\n target[HAS_DECORATOR_SYMBOL].add(key);\r\n}\r\n\r\nexport async function waitForHas(target: any): Promise {\r\n const hasDecoratedProperties = target[HAS_DECORATOR_SYMBOL];\r\n\r\n if (!hasDecoratedProperties || hasDecoratedProperties.size === 0) {\r\n return Promise.resolve([]);\r\n }\r\n\r\n const decoratedProperties = Array.from(hasDecoratedProperties);\r\n const propertyPromises = decoratedProperties.map(async (prop: string) => {\r\n try {\r\n const result = await target[prop];\r\n return result;\r\n } catch (e) {\r\n return false;\r\n }\r\n });\r\n\r\n return Promise.all(propertyPromises);\r\n}\r\n","export function addDeviceTokenForUser(emailAddress: string, deviceToken: string) { \r\n const DEVICE_TOKENS = JSON.parse(localStorage.getItem('device_tokens')) ?? [];\r\n \r\n const EMAIL_ADDRESS = emailAddress;\r\n const DEVICE_TOKEN = deviceToken;\r\n\r\n const TOKEN_EXISTS = DEVICE_TOKENS.some((dt: any) => dt.emailAddress === emailAddress);\r\n\r\n if (TOKEN_EXISTS) {\r\n const TOKEN_INDEX = DEVICE_TOKENS.findIndex((dt: any) => dt.emailAddress === emailAddress);\r\n\r\n DEVICE_TOKENS.splice(TOKEN_INDEX, 1);\r\n DEVICE_TOKENS.unshift({ emailAddress: EMAIL_ADDRESS, deviceToken: DEVICE_TOKEN });\r\n } else {\r\n DEVICE_TOKENS.unshift({ emailAddress: EMAIL_ADDRESS, deviceToken: DEVICE_TOKEN });\r\n }\r\n\r\n localStorage.setItem('device_tokens', JSON.stringify(DEVICE_TOKENS));\r\n}\r\n\r\nexport function getDeviceTokenForUser(emailAddress: string): string { \r\n const DEVICE_TOKENS = JSON.parse(localStorage.getItem('device_tokens')) ?? [];\r\n \r\n const TOKEN_EXISTS = DEVICE_TOKENS.some((dt: any) => dt.emailAddress === emailAddress);\r\n\r\n if (TOKEN_EXISTS) {\r\n const TOKEN_INDEX = DEVICE_TOKENS.findIndex((dt: any) => dt.emailAddress === emailAddress);\r\n return DEVICE_TOKENS[TOKEN_INDEX].deviceToken;\r\n }\r\n}\r\n","import { HttpClient } from 'aurelia-fetch-client';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { RequestEx, RequestMethod } from './endpoints';\r\nimport { IEndpoint } from './i-endpoint';\r\n\r\n@autoinject()\r\nexport abstract class BinaryEndpoint implements IEndpoint<\r\n RouteParameters,\r\n RequestType,\r\n Blob\r\n> {\r\n protected abstract readonly method: RequestMethod;\r\n protected headers: Record = {};\r\n\r\n private readonly http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n protected abstract uri(routeParameters?: RouteParameters): string;\r\n\r\n public async fetch(\r\n routeParameters: RouteParameters | null | undefined,\r\n body: RequestType | null = null,\r\n queryParams: Record | null = null,\r\n additionalHeaders: Record | null = null,\r\n canHandleError: ((response: Response) => Promise) | null = null,\r\n ): Promise<{ data: Blob; response: Response }> {\r\n const headers = {\r\n ...this.headers,\r\n ...(additionalHeaders || {}),\r\n };\r\n\r\n const init: RequestInit = {\r\n method: this.method,\r\n headers: headers,\r\n body: body !== null && body !== undefined ? (body as any) : undefined,\r\n };\r\n\r\n const params = queryParams ? `?${new URLSearchParams(queryParams)}` : '';\r\n const uri = `${this.uri(routeParameters)}${params}`;\r\n\r\n const request = this.http.buildRequest(uri, init) as RequestEx;\r\n request.canHandleError = canHandleError;\r\n\r\n const response = await this.http.fetch(request);\r\n\r\n if (!response.ok) {\r\n throw response;\r\n }\r\n\r\n const responseBlob = await response.blob();\r\n\r\n return { data: responseBlob, response };\r\n }\r\n}\r\n","export enum RequestMethod {\r\n get = 'GET',\r\n post = 'POST',\r\n put = 'PUT',\r\n delete = 'DELETE',\r\n auto = 'AUTO',\r\n patch = 'PATCH',\r\n}\r\n\r\nexport enum RequestEncoding {\r\n none = '',\r\n form = 'application/x-www-form-urlencoded',\r\n json = 'application/json',\r\n}\r\n\r\nexport interface Endpoint {\r\n method: RequestMethod;\r\n uri: (input?: any[]) => string;\r\n headers?: any;\r\n mode?: string;\r\n}\r\n\r\nexport interface RequestEx extends Request {\r\n canHandleError?: ((response: Response) => Promise) | null;\r\n}\r\n","import { HttpClient } from 'aurelia-fetch-client';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { RequestEncoding, RequestEx, RequestMethod } from './endpoints';\r\nimport { IEndpoint } from './i-endpoint';\r\n\r\n@autoinject()\r\nexport abstract class FormEndpoint implements IEndpoint<\r\n RouteParameters,\r\n Record,\r\n ResponseType\r\n> {\r\n protected abstract readonly method: RequestMethod;\r\n protected headers: Record = {\r\n 'Content-Type': RequestEncoding.form,\r\n };\r\n\r\n private readonly http: HttpClient;\r\n\r\n public constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n protected abstract uri(routeParameters: RouteParameters): string;\r\n\r\n public async fetch(\r\n routeParameters: RouteParameters,\r\n fields: Record,\r\n queryParams?: null,\r\n additionalHeaders?: Record,\r\n canHandleError: ((response: Response) => Promise) | null = null,\r\n ): Promise<{ data: ResponseType; response: Response }> {\r\n const searchParams = new URLSearchParams();\r\n for (const [key, value] of Object.entries(fields)) {\r\n searchParams.append(key, value as string);\r\n }\r\n\r\n const uri = this.uri(routeParameters);\r\n\r\n const combinedHeaders = {\r\n ...this.headers,\r\n ...additionalHeaders,\r\n };\r\n\r\n const init: RequestInit = {\r\n method: this.method,\r\n headers: combinedHeaders,\r\n body: this.method == 'GET' ? null : searchParams.toString(),\r\n };\r\n\r\n const request = this.http.buildRequest(uri, init) as RequestEx;\r\n request.canHandleError = canHandleError;\r\n\r\n const response = await this.http.fetch(request);\r\n\r\n if (!response.ok) {\r\n throw response;\r\n }\r\n\r\n const data = (await response.json()) as ResponseType;\r\n\r\n return { data, response };\r\n }\r\n}\r\n","import { HttpClient, json } from 'aurelia-fetch-client';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { RequestEx, RequestMethod } from './endpoints';\r\nimport { IEndpoint } from './i-endpoint';\r\n\r\n@autoinject()\r\nexport abstract class JsonEndpoint implements IEndpoint<\r\n RouteParameters,\r\n RequestType,\r\n ResponseType | null\r\n> {\r\n protected abstract readonly method: RequestMethod;\r\n protected headers: Record = {};\r\n\r\n private readonly http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n protected abstract uri(routeParameters?: RouteParameters): string;\r\n\r\n public async fetch(\r\n routeParameters?: RouteParameters,\r\n body: RequestType | null = null,\r\n queryParams: Record | null = null,\r\n additionalHeaders: Record | null = null,\r\n canHandleError: ((response: Response) => Promise) | null = null,\r\n ): Promise<{ data: ResponseType | null; response: Response }> {\r\n const headers = {\r\n ...this.headers,\r\n ...(additionalHeaders || {}),\r\n };\r\n\r\n const init: RequestInit = {\r\n method: this.method,\r\n headers: headers,\r\n body: body !== null && body !== undefined ? json(body) : undefined,\r\n };\r\n\r\n const params = queryParams ? `?${new URLSearchParams(queryParams)}` : '';\r\n const uri = `${this.uri(routeParameters)}${params}`;\r\n\r\n const request = this.http.buildRequest(uri, init) as RequestEx;\r\n request.canHandleError = canHandleError;\r\n\r\n const response = await this.http.fetch(request);\r\n\r\n if (!response.ok) {\r\n throw response;\r\n }\r\n\r\n // If the response body is empty, we don't want to try to parse it as JSON\r\n let responseBody = await response.json().catch(() => null);\r\n\r\n if (responseBody === null) {\r\n responseBody = undefined;\r\n }\r\n\r\n return { data: responseBody, response };\r\n }\r\n}\r\n","import { HttpClient } from 'aurelia-fetch-client';\r\nimport { autoinject } from 'aurelia-framework';\r\nimport { RequestEx, RequestMethod } from './endpoints';\r\nimport { IEndpoint } from './i-endpoint';\r\n\r\n@autoinject()\r\nexport abstract class TextEndpoint implements IEndpoint<\r\n RouteParameters,\r\n RequestType,\r\n string\r\n> {\r\n protected abstract readonly method: RequestMethod;\r\n protected headers: Record = {};\r\n\r\n private readonly http: HttpClient;\r\n\r\n constructor(http: HttpClient) {\r\n this.http = http;\r\n }\r\n\r\n protected abstract uri(routeParameters?: RouteParameters): string;\r\n\r\n public async fetch(\r\n routeParameters: RouteParameters | null | undefined,\r\n body: RequestType | null = null,\r\n queryParams: Record | null = null,\r\n additionalHeaders: Record | null = null,\r\n canHandleError: ((response: Response) => Promise) | null = null,\r\n ): Promise<{ data: string; response: Response }> {\r\n const headers = {\r\n ...this.headers,\r\n ...(additionalHeaders || {}),\r\n };\r\n\r\n const init: RequestInit = {\r\n method: this.method,\r\n headers: headers,\r\n body: body !== null && body !== undefined ? (body as any) : undefined,\r\n };\r\n\r\n const params = queryParams ? `?${new URLSearchParams(queryParams)}` : '';\r\n const uri = `${this.uri(routeParameters)}${params}`;\r\n\r\n const request = this.http.buildRequest(uri, init) as RequestEx;\r\n request.canHandleError = canHandleError;\r\n\r\n const response = await this.http.fetch(request);\r\n\r\n if (!response.ok) {\r\n throw response;\r\n }\r\n\r\n const responseText = await response.text();\r\n\r\n return { data: responseText, response };\r\n }\r\n}\r\n","export enum AppTheme {\r\n LIGHT = 'light',\r\n BLUE = 'blue',\r\n DARK = 'dark',\r\n}\r\n\r\nexport enum ProfilePages {\r\n GENERAL = 1,\r\n SALES = 2,\r\n BRANCH = 3,\r\n CONTACT = 4,\r\n FSG = 5,\r\n QUESTIONS = 6,\r\n ASSOCIATIONS = 7,\r\n NOTES = 8,\r\n CONSENT = 9,\r\n}\r\n\r\nexport const enum PageMode {\r\n EDIT = 'edit',\r\n READONLY = 'readonly',\r\n}\r\n\r\nexport const enum ClientType {\r\n CLIENT = 600000000,\r\n PROSPECT = 600000001,\r\n}\r\n\r\nexport const enum EAddressType {\r\n email = 601000000,\r\n website = 2,\r\n}\r\n\r\nexport enum ButtonTranslationKeys {\r\n EDIT = 'buttonLabels:edit',\r\n CANCEL = 'buttonLabels:cancel',\r\n}\r\n\r\nexport enum ApplicationCountryCodes {\r\n AUSTRALIA = 'AU',\r\n NEW_ZEALAND = 'NZ',\r\n}\r\n\r\nexport enum TaskNotificationTypes {\r\n ALL = 0,\r\n OVERDUE = 1,\r\n DUE_TODAY = 2,\r\n UPCOMING = 3,\r\n COMPLETE = 4,\r\n}\r\n\r\nexport enum DocType {\r\n Document = 1,\r\n Task = 2,\r\n FileNote = 3,\r\n}\r\n\r\nexport enum GenerationStatus {\r\n NotFound = 0,\r\n DeQueued = 1,\r\n Queued = 2,\r\n Processing = 3,\r\n Ready = 4,\r\n Aborted = 5,\r\n Error = 6,\r\n New = 7,\r\n}\r\n\r\nexport enum PartyInstanceType {\r\n Adviser = 600000000,\r\n Bank = 600000001,\r\n BankBranch = 600000002,\r\n Client = 600000003,\r\n Company = 600000005,\r\n CompanyOffice = 600000007,\r\n Insurer = 600000008,\r\n InsurerOffice = 600000009,\r\n PremiumFunder = 600000010,\r\n Referral = 600000011,\r\n Underwriter = 600000012,\r\n InsuredName = 600000013,\r\n Prospect = 600000014,\r\n Payee = 600000015,\r\n SurchargePayee = 600000016,\r\n}\r\n\r\nexport enum DocCreationProgress {\r\n Error = -99,\r\n Not_Submitted = -2,\r\n Submitted = -1,\r\n New = 0,\r\n Started = 1,\r\n Fetching_Model = 2,\r\n Model_Fetched = 3,\r\n Rendering_Html = 4,\r\n Html_Rendered = 5,\r\n Rendering_Pdf = 6,\r\n Pdf_Rendered = 7,\r\n Rendering_Csv = 8,\r\n Csv_Rendered = 9,\r\n Completed = 10,\r\n}\r\n\r\nexport enum ReportType {\r\n View = 1,\r\n Pdf = 2,\r\n Csv = 4,\r\n}\r\n\r\nexport enum MandatoryDocType {\r\n Fsg = 0,\r\n Toe = 1,\r\n}\r\n"],"names":["EMAIL","_parse_jwt__WEBPACK_IMPORTED_MODULE_0__","p$","APP_CLIENT_TYPE","jl","addClientToRecentItems","client","RECENT_CLIENTS","_a","JSON","parse","localStorage","getItem","CLIENT_ID","entityId","CLIENT_CODE","entityCode","CLIENT_NAME","entityName","COMPANY_OFFICE_CODE","companyOfficeCode","ADVISER_NAME","adviserName","some","c","CLIENT_INDEX","findIndex","splice","unshift","appClientType","emailAddress","setItem","stringify","getRecentClientsByAppClientTypeByUserId","filter","x","removeClassList","element","val","classList","remove","ClassCustomAttribute","parent","this","previousClasses","prototype","bind","bindingContext","overrideContext","_this","styles","aurelia_framework__WEBPACK_IMPORTED_MODULE_0__","getContextFor","value","split","forEach","valueChanged","addClass","className","concat","removeClass","join","newValue","map","trim","_b","add","__decorate","inject","Element","Parent","of","Object","INPUT_TYPES","ConditionalIf","taskQueue","attribute","attached","setTimeout","setAttribute","includes","tagName","focus","type","search","querySelector","removeAttribute","aurelia_framework__WEBPACK_IMPORTED_MODULE_1__","bindable","aurelia_dependency_injection__WEBPACK_IMPORTED_MODULE_0__","autoinject","customAttribute","TaskQueue","InputMask","defaultOptions","alias","digits","groupSeparator","digitsOptional","nullable","applyOptionsAndReMask","optionsChanged","options","lodash_defaultsDeep__WEBPACK_IMPORTED_MODULE_3___default","inputmask","im","inputmask__WEBPACK_IMPORTED_MODULE_1___default","mask","aurelia_typed_observable_plugin__WEBPACK_IMPORTED_MODULE_2__","_t","InputMaskOptions","DOM","HTMLInputElement","ListenToAttribute","boundConfigs","parentOverrideContext","undefined","detached","removeListeners","configs","Array","isArray","config","name","handler","addEventListener","removeEventListener","SortableAttribute","sortableInstance","destroySortable","sortablejs__WEBPACK_IMPORTED_MODULE_1__","Ay","create","__assign","animation","destroy","calculateGst","gstRate","_even_round__WEBPACK_IMPORTED_MODULE_0__","$","ClaimsStep","claimsService","run","navigationInstruction","next","settings","resources_utils__WEBPACK_IMPORTED_MODULE_3__","O_","route","_parse_jwt__WEBPACK_IMPORTED_MODULE_4__","console","log","cancel","aurelia_router__WEBPACK_IMPORTED_MODULE_2__","rd","claims","length","isNewEditClaim","params","parentEntityId","fragment","hasAsync","sent","id","aurelia_dependency_injection__WEBPACK_IMPORTED_MODULE_1__","resources_services_claims_service__WEBPACK_IMPORTED_MODULE_0__","B","cleanQceModel","model","saving","newModel","lodash_cloneDeep__WEBPACK_IMPORTED_MODULE_0___default","guid","_utilities_insecure_guid__WEBPACK_IMPORTED_MODULE_2__","cy","groups","group","questions","question","index","disabledByQuestionFlowFlag","currentResponse","responsePresent","answerId","anzsicOccupationInsurerId","glassId","gridResponses","occupationId","propertyOwnersAnzsicOccupationId","responseTypeId","responseValue","response","ClaimDate","moment__WEBPACK_IMPORTED_MODULE_1___default","utc","toISOString","DateOfOffence","DateOfLoss","ItemDate","YearPurchased","PeriodEndingInYear","displayTypeId","format","questionId","eventAggregatorEvents","localeMap","Map","MAX_INTEGER_VALUE_32_BIT","BSB_MASK_OPTIONS","ACCOUNT_NUMBER_MASK_OPTIONS","debounce","delay","target","key","descriptor","Error","cache","WeakMap","original_1","configurable","enumerable","get","debounced","lodash__WEBPACK_IMPORTED_MODULE_0__","set","originalGet_1","fn","call","HAS_DECORATOR_SYMBOL","Symbol","has","permissions","_i","arguments","getter","defineProperty","Container","instance","resources_services_claims_service__WEBPACK_IMPORTED_MODULE_1__","hasPermission","writable","Set","recordDecoratedProperty","waitForHas","Promise","hasDecoratedProperties","size","decoratedProperties","from","propertyPromises","prop","__awaiter","all","resolve","addDeviceTokenForUser","deviceToken","DEVICE_TOKENS","EMAIL_ADDRESS","DEVICE_TOKEN","dt","TOKEN_INDEX","getDeviceTokenForUser","BinaryEndpoint","http","headers","fetch","routeParameters_1","routeParameters","body","queryParams","additionalHeaders","canHandleError","init","method","URLSearchParams","uri","request","buildRequest","ok","blob","data","aurelia_fetch_client__WEBPACK_IMPORTED_MODULE_0__","Qq","RequestMethod","RequestEncoding","FormEndpoint","_endpoints__WEBPACK_IMPORTED_MODULE_2__","r","form","fields_1","queryParams_1","additionalHeaders_1","fields","searchParams","__values","entries","done","_c","__read","append","combinedHeaders","toString","_e","json","JsonEndpoint","Pq","catch","responseBody","TextEndpoint","text","AppTheme","ProfilePages","PageMode","ClientType","EAddressType","ButtonTranslationKeys","ApplicationCountryCodes","TaskNotificationTypes","DocType","GenerationStatus","PartyInstanceType","DocCreationProgress","ReportType","MandatoryDocType"],"sourceRoot":""}