{"version":3,"file":"app-e8edc7b8.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/routes/app-adviser/client/wizard/steps/quote/finalise-distribute/finalise-distribute.ts"],"sourcesContent":["/* eslint-disable no-case-declarations */\r\nimport { AvailableSoaTypes, AdviceDetails, FundMultipleCoversRequest, FundCover } from './../../../../../../../resources/models/client';\r\nimport { EventAggregator, Subscription } from 'aurelia-event-aggregator';\r\n/* eslint-disable getter-return */\r\nimport { PremiumFunderStatusAction, PremiumFunder, EntityMode, EntityType, EntityActionType } from '../../../../quotes/interfaces';\r\nimport { autoinject, computedFrom, observable } from 'aurelia-framework';\r\nimport { TaskQueue } from 'aurelia-task-queue';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { CountryCode } from 'libphonenumber-js';\r\nimport { Api } from './api';\r\nimport { Finalise, InsurerUfi, EntityUriParams, AsicExemptionType, HtmlObject, PremiumFunderAccessPayload, PremiumFunderAccessDetails } from 'resources/models/client';\r\nimport styles from './finalise-distribute.css';\r\nimport { IaToastService, IaToastMessage } from 'resources/services/ia-toast-service';\r\nimport { ConfirmModalActions } from 'components/ia-modal/ia-modal';\r\nimport isNil from 'lodash/isNil';\r\nimport { LookupDataService } from 'resources/services/lookup-data';\r\nimport { eventAggregatorEvents, MAX_INTEGER_VALUE_32_BIT } from 'resources/constants';\r\nimport { IaHtmlEditorSettings, IaHtmlEditor } from 'components/ia-html-editor/ia-html-editor';\r\nimport { PremiumFunderStatus } from 'routes/app-adviser/client/quotes/interfaces';\r\nimport moment from 'moment';\r\nimport { momentToISOString, momentToString, newMoment } from 'resources/moment-helpers';\r\nimport { ClaimsService } from 'resources/services/claims-service';\r\nimport { getAppClientType } from 'resources/parse-jwt';\r\nimport { evenRound } from 'resources/even-round';\r\nimport BigNumber from 'bignumber.js';\r\nimport { IFieldValueDefiniton } from 'interfaces/lookups/i-field-value-definition';\r\nimport { ValidationControllerFactory, ValidationController, ValidationRules } from 'aurelia-validation';\r\nimport { FormValidationRenderer } from 'resources/form-validation-renderer';\r\nimport { differenceBy, orderBy } from 'lodash';\r\nimport { ModalService } from 'components/modal/modal-service';\r\nimport { IaMultiPayee } from 'components/ia-multi-payee/ia-multi-payee';\r\nimport { MultiplePayeeConfig, MultiplePayeeConfigAllocatedAvailable } from 'components/ia-multi-payee/models';\r\nimport { OperationModel } from 'resources/models/operation';\r\nimport { ClientProfileModal } from 'components/client-profile-modal/client-profile-modal';\r\nimport { ProfilePages } from 'resources/enums';\r\nimport { ActionType } from 'components/document-management/dtos';\r\nimport { IaPremiumFunderUnderwriterLookup } from 'components/ia-premium-funder-underwriter-lookup/ia-premium-funder-underwriter-lookup';\r\nimport { generateGuidString } from 'resources/utilities/insecure-guid';\r\nimport { shouldShowFunderInsurerMismatch, getInsurerAbns, normaliseAbn } from 'resources/utilities/funder-insurer-mismatch';\r\n\r\n@autoinject()\r\nexport class FinaliseDistribute {\r\n public config: Finalise.Config;\r\n public appClientType: CountryCode;\r\n public insurers: Finalise.Insurer[] = [];\r\n public recommendedInsurer: Finalise.Insurer;\r\n public declineInsurer: Finalise.Insurer;\r\n\r\n public premiumFunders: PremiumFunder[] = [];\r\n @observable public selectedPremiumFunderId: number;\r\n public selectedPremiumFunder: Finalise.PremiumFunder;\r\n public originalPremiumFunder: Finalise.PremiumFunder;\r\n public redPlanetQuote: Finalise.RedPlanetQuoteResponse;\r\n public premiumFunderStatus = [];\r\n public premiumFunderStatusActions: PremiumFunderStatusAction[] = [];\r\n @observable public selectedPremiumFunderStatusActionId: number;\r\n public ufiAsicExemptionType: IFieldValueDefiniton[] = [];\r\n public ufiAtypicalRiskClass: IFieldValueDefiniton[] = [];\r\n public ufiCustomisedReason: IFieldValueDefiniton[] = [];\r\n public soaAdviceVM: IaHtmlEditor;\r\n public soaRelationshipsVM: IaHtmlEditor;\r\n public soaAdvice: string;\r\n public originalSoaAdvice: string;\r\n public soaRelationships: string;\r\n public originalSoaRelationships: string;\r\n public insurerUfi: InsurerUfi;\r\n public originalInsurerUfi: InsurerUfi;\r\n\r\n public pdsLinks: Finalise.PdsLink[] = [];\r\n public pdsLinksOptions: Finalise.PdsLink[] = [];\r\n public showDeclineInsurer = false;\r\n public showAddPdsLinks = false;\r\n public selectedPdsIds = []\r\n public currentlySelectedPds = {}\r\n\r\n public showUpdatePremiumFunder = false;\r\n public showUpdateUfiInfo = false;\r\n public showUpdateSoa = false;\r\n public showUpdateConflictsOfInterest = false;\r\n\r\n public acceptedFundingNotEqualToTotalDueByClient?: boolean;\r\n public acceptedFundingPreviouslySentViaRedPlanet?: boolean;\r\n public fundedAmounLabel;\r\n public hasOnlineFundingPermission = false;\r\n\r\n protected selectedSoaType: AvailableSoaTypes;\r\n protected soaTypes: IFieldValueDefiniton[];\r\n\r\n protected relevantRelationshipSettings: IaHtmlEditorSettings = { height: 625 };\r\n protected soaSettings: IaHtmlEditorSettings = { height: 625 };\r\n\r\n protected styles = styles;\r\n\r\n private model: AdviceDetails = {} as AdviceDetails;\r\n\r\n private validationController;\r\n\r\n // The QCE itself sets this when anything changes, we don't maintain this state\r\n private isDirty = false;\r\n private params: IStepModel;\r\n private entityUriParams: EntityUriParams;\r\n\r\n private selectedSoaTypeId = null;\r\n\r\n private isEdit = false;\r\n private isDelete = false;\r\n\r\n private availableReferrers = [];\r\n private showReferrerModal = false;\r\n private showDeleteReferrerModal = false;\r\n private currentlySelectedReferrer = {\r\n entityReferrerId: undefined,\r\n referrerId: undefined,\r\n referrerFee: undefined\r\n };\r\n private referrerId;\r\n private referrerFee;\r\n\r\n private multiplePayeeConfig: MultiplePayeeConfig;\r\n\r\n private clientGeneralDetails;\r\n public clientSavedSubscription: Subscription;\r\n public clientActiveStatusSubscription: Subscription;\r\n\r\n public pdsText = '';\r\n public originalPdsText = '';\r\n public isPdsTextEdit = false;\r\n public isPdsTextDelete = false;\r\n public showPdsDetails = false;\r\n\r\n\r\n @computedFrom('appClientType', 'config.suppressConsentDetails', 'params.entityMode', 'params.entityType', 'params.actionType', 'config.isRetailClient', 'selectedSoaTypeId', 'insurers.length', 'recommendedInsurer.totalBrokerage')\r\n get showConsent() {\r\n\r\n let isTotalBrokerageGreaterThanZero = false;\r\n if(this.config.coInsuredFlag){\r\n isTotalBrokerageGreaterThanZero = this.insurers?.some((x) => x.totalBrokerage > 0);\r\n }else{\r\n isTotalBrokerageGreaterThanZero = this.recommendedInsurer?.totalBrokerage > 0;\r\n }\r\n\r\n const validEntityTypeActionTypeCombo = ( this.params.entityType === EntityType.Quote || \r\n this.params.entityType === EntityType.Incomplete || \r\n ( this.params.entityType === EntityType.Policy && this.params.actionType === '1' ) || \r\n ( this.params.entityType === EntityType.Policy && this.params.actionType === '2' ) )\r\n\r\n return this.appClientType === 'AU' && !this.config.suppressConsentDetails && validEntityTypeActionTypeCombo && this.config.isRetailClient && parseInt(this.selectedSoaTypeId) === 100000001 && isTotalBrokerageGreaterThanZero;\r\n }\r\n\r\n private backgroundQuote?: PremiumFunderAccessPayload | null;\r\n private clientInsuredPartyId;\r\n private funderMappingRisks = [];\r\n private funderMappingUnderwriters = [];\r\n private funderUnderwriters = [];\r\n private selectedFunderMappingRisk;\r\n private selectedFunderMappingUnderwriter;\r\n private selectedFunderUnderwriter;\r\n\r\n private funderUnderwritersTableFilters = {\r\n currentPage: 1,\r\n pageSize: 100,\r\n totalItems: 0,\r\n beforePagination: [],\r\n filters: [\r\n { value: '', keys: ['code'] },\r\n { value: '', keys: ['abn'] },\r\n { value: '', keys: ['description'] },\r\n ],\r\n };\r\n\r\n public isPremiumFunderQuoteSubmitting = false;\r\n public premiumFunderQuoteSubmissionMode: 'online' | 'background' | null = null;\r\n public premiumFunderQuoteSubmissionResult: 'success' | 'warning' | null = null;\r\n public premiumFunderQuoteResultTitle = '';\r\n public premiumFunderQuoteResultMessage = '';\r\n public isPremiumFunderSyncing = false;\r\n\r\n @computedFrom('premiumFunderQuoteSubmissionMode')\r\n get premiumFunderQuoteSubmissionLabel(): string {\r\n if (this.premiumFunderQuoteSubmissionMode === 'online') {\r\n return this.i18n.tr('onlineQuoteSubmissionInProgress') || 'Loading Funder portal...';\r\n }\r\n\r\n return this.i18n.tr('quoteSubmissionInProgress') || 'Submitting background funding quote...';\r\n }\r\n\r\n @computedFrom('selectedPremiumFunder.commissionRate')\r\n get selectedPremiumFunderCommissionRateLabel(): string {\r\n const commissionRate = this.selectedPremiumFunder?.commissionRate;\r\n if (isNil(commissionRate)) {\r\n return '';\r\n }\r\n\r\n const percentageValue = evenRound(commissionRate * 100, 2);\r\n if (!Number.isFinite(percentageValue)) {\r\n return '';\r\n }\r\n\r\n return `${percentageValue.toFixed(2)}%`;\r\n }\r\n\r\n @computedFrom('insurers.length')\r\n get anyUfiInsurers() {\r\n return this.insurers && this.insurers.length ? this.insurers.some(i => i.ufiInsurerFlag) : false;\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get revenueLabel(): string {\r\n if (isNil(this.insurerUfi)) return;\r\n return this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured ? 'revenueInfo' : 'revenue';\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get assetsLabel(): string {\r\n if (isNil(this.insurerUfi)) return;\r\n return this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured ? 'assetsInfo' : 'assets';\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get employeesLabel(): string {\r\n if (isNil(this.insurerUfi)) return;\r\n return this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured ? 'employeesInfo' : 'employees';\r\n }\r\n\r\n @computedFrom(\r\n 'insurerUfi.asicExemptionTypeId',\r\n 'insurerUfi.atypicalRiskClassId',\r\n 'insurerUfi.customisedReasonId',\r\n 'insurerUfi.customisedOtherDetail',\r\n 'insurerUfi.revenue',\r\n 'insurerUfi.assets',\r\n 'insurerUfi.employees'\r\n )\r\n get disableUfiUpdate(): boolean {\r\n if (this.params.entityMode == 'view') return true;\r\n if (isNil(this.insurerUfi)) return;\r\n\r\n switch (this.insurerUfi.asicExemptionTypeId) {\r\n case AsicExemptionType.AtypicalRisks:\r\n return isNil(this.insurerUfi.atypicalRiskClassId);\r\n\r\n case AsicExemptionType.Customised:\r\n return isNil(this.insurerUfi.customisedReasonId) || this.insurerUfi.customisedReasonId === 600000002 &&\r\n (!this.insurerUfi.customisedOtherDetail || !this.insurerUfi.customisedOtherDetail.trim());\r\n\r\n case AsicExemptionType.MandatoryForeign:\r\n return false;\r\n\r\n case AsicExemptionType.HighValueInsured:\r\n\r\n //@ts-ignore\r\n if ((this.insurerUfi.revenue === null || this.insurerUfi.revenue === '') && (this.insurerUfi.assets === null || this.insurerUfi.assets === '') && (this.insurerUfi.employees === null || this.insurerUfi.employees === '')) {\r\n return true;\r\n }\r\n\r\n //@ts-ignore\r\n const revenueValid = this.insurerUfi.revenue === null || this.insurerUfi.revenue === '' || (this.insurerUfi.revenue >= 200000000 && this.insurerUfi.revenue < MAX_INTEGER_VALUE_32_BIT);\r\n //@ts-ignore\r\n const assetsValid = this.insurerUfi.assets === null || this.insurerUfi.assets === '' || (this.insurerUfi.assets >= 200000000 && this.insurerUfi.assets < MAX_INTEGER_VALUE_32_BIT);\r\n //@ts-ignore\r\n const employeesValid = this.insurerUfi.employees === null || this.insurerUfi.employees === '' || (this.insurerUfi.employees >= 500 && this.insurerUfi.employees < MAX_INTEGER_VALUE_32_BIT);\r\n\r\n if (revenueValid && assetsValid && employeesValid) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n\r\n default:\r\n return true;\r\n }\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get disableUfiATypicalRiskClass(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.asicExemptionTypeId === AsicExemptionType.AtypicalRisks) { return false; }\r\n this.insurerUfi.atypicalRiskClassId = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get disableUfiCustomisedReason(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.asicExemptionTypeId === AsicExemptionType.Customised) { return false; }\r\n this.insurerUfi.customisedReasonId = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('insurerUfi.customisedReasonId')\r\n get disableUfiCustomisedOtherDetails(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.customisedReasonId === 600000002) { return false; }\r\n this.insurerUfi.customisedOtherDetail = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get disableUfiRevenue(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured) { return false; }\r\n this.insurerUfi.revenue = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get disableUfiAssets(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured) { return false; }\r\n this.insurerUfi.assets = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('insurerUfi.asicExemptionTypeId')\r\n get disableUfiEmployees(): boolean {\r\n if (isNil(this.insurerUfi)) return;\r\n if (this.insurerUfi.asicExemptionTypeId === AsicExemptionType.HighValueInsured) { return false; }\r\n this.insurerUfi.employees = null;\r\n return true;\r\n }\r\n\r\n @computedFrom('premiumFunders')\r\n get premiumFunderOptions(): IFieldValueDefiniton[] {\r\n if (!this.premiumFunders.length) return [];\r\n\r\n return this.premiumFunders.filter(i => i.activeFlag)\r\n .map(i => ({\r\n id: i.premiumFunderId,\r\n label: `${i.premiumFunderCode} - ${i.premiumFunderName}${i.useInterface && !this.config.isMultiplePayeeFlag ? ' - Online Quote Available' : ''}`\r\n }));\r\n }\r\n\r\n @computedFrom(\r\n 'disablePremiumFunderUpdate',\r\n 'config.coInsuredFlag',\r\n 'selectedPremiumFunderId',\r\n 'selectedPremiumFunder.$useInterface',\r\n 'selectedPremiumFunder.$useBackgroundInterface',\r\n 'selectedPremiumFunder.premiumFundedValue',\r\n 'selectedFunderMappingRisk',\r\n 'selectedFunderMappingUnderwriter',\r\n 'selectedFunderUnderwriter'\r\n )\r\n get disablePremiumFunderOnlineQuote() {\r\n const hasOnlineInterface = !!this.selectedPremiumFunder?.$useInterface;\r\n const hasBackgroundInterface = !!this.selectedPremiumFunder?.$useBackgroundInterface;\r\n const coInsuredRequiresBothInterfaces = this.config.coInsuredFlag && !(hasOnlineInterface && hasBackgroundInterface);\r\n\r\n return this.disablePremiumFunderUpdate ||\r\n coInsuredRequiresBothInterfaces ||\r\n this.config.isMultiplePayeeFlag ||\r\n !this.selectedPremiumFunderId ||\r\n !(hasOnlineInterface || hasBackgroundInterface) ||\r\n isNil(this.selectedPremiumFunder.premiumFundedValue) ||\r\n isNaN(+this.selectedPremiumFunder.premiumFundedValue) ||\r\n !this.selectedFunderMappingRisk ||\r\n (!this.selectedFunderMappingUnderwriter && !this.selectedFunderUnderwriter);\r\n }\r\n\r\n @computedFrom(\r\n 'disablePremiumFunderUpdate',\r\n 'selectedPremiumFunderId',\r\n 'selectedPremiumFunder.$useBackgroundInterface',\r\n 'selectedPremiumFunder.premiumFundedValue',\r\n 'selectedFunderMappingRisk',\r\n 'selectedFunderMappingUnderwriter',\r\n 'selectedFunderUnderwriter'\r\n )\r\n get disablePremiumFunderBackgroundQuote() {\r\n return this.disablePremiumFunderUpdate ||\r\n !this.selectedPremiumFunderId ||\r\n !this.selectedPremiumFunder.$useBackgroundInterface ||\r\n isNil(this.selectedPremiumFunder.premiumFundedValue) ||\r\n isNaN(+this.selectedPremiumFunder.premiumFundedValue) ||\r\n !this.selectedFunderMappingRisk ||\r\n (!this.selectedFunderMappingUnderwriter && !this.selectedFunderUnderwriter);\r\n }\r\n\r\n @computedFrom(\r\n 'hasOnlineFundingPermission',\r\n 'selectedPremiumFunderId',\r\n 'premiumFunders',\r\n 'premiumFunders.length'\r\n )\r\n get showPremiumFunderOnlineQuoteButton() {\r\n if (!this.hasOnlineFundingPermission) return false;\r\n\r\n if (this.selectedPremiumFunderId) {\r\n return true;\r\n }\r\n\r\n const candidate = this.findFunderWithOnlineInterface();\r\n return this.funderSupportsOnlineInterface(candidate);\r\n }\r\n\r\n @computedFrom(\r\n 'hasOnlineFundingPermission',\r\n 'selectedPremiumFunderId',\r\n 'premiumFunders',\r\n 'premiumFunders.length'\r\n )\r\n get showPremiumFunderBackgroundQuoteButton() {\r\n if (!this.hasOnlineFundingPermission) return false;\r\n\r\n if (this.selectedPremiumFunderId) {\r\n return true;\r\n }\r\n\r\n const candidate = this.findFunderWithBackgroundInterface();\r\n return this.funderSupportsBackgroundInterface(candidate);\r\n }\r\n\r\n @computedFrom('premiumFunderStatusActions')\r\n get premiumFunderStatusActionOptions(): IFieldValueDefiniton[] {\r\n if (!this.premiumFunderStatusActions.length) return [];\r\n\r\n return this.premiumFunderStatusActions.filter(i => i.activeFlag)\r\n .map(i => ({\r\n id: i.premiumFunderStatusActionId,\r\n label: i.description\r\n }));\r\n }\r\n\r\n @computedFrom('selectedPremiumFunder.quoteEnquiryUrl')\r\n get hasExistingQuoteEnquiryUrl(): boolean {\r\n return this.hasQuoteEnquiryUrl(this.selectedPremiumFunder?.quoteEnquiryUrl);\r\n }\r\n\r\n @computedFrom(\r\n 'selectedPremiumFunder.premiumFunderId',\r\n 'selectedPremiumFunder.premiumFunderStatusActionId',\r\n 'selectedPremiumFunder.premiumFundedValue',\r\n 'selectedPremiumFunder.quoteEnquiryUrl',\r\n 'acceptedFundingNotEqualToTotalDueByClient',\r\n 'acceptedFundingPreviouslySentViaRedPlanet'\r\n )\r\n get disablePremiumFunderUpdate(): boolean {\r\n return isNil(this.selectedPremiumFunder) ||\r\n !this.selectedPremiumFunder.premiumFunderId ||\r\n !this.selectedPremiumFunder.premiumFunderStatusActionId ||\r\n isNil(this.selectedPremiumFunder.premiumFundedValue) ||\r\n !this.isFundingEqualToTotalDueByClient && !this.acceptedFundingNotEqualToTotalDueByClient ||\r\n this.hasExistingQuoteEnquiryUrl && !this.acceptedFundingPreviouslySentViaRedPlanet;\r\n }\r\n\r\n @computedFrom('recommendedInsurer.totalDueByClient', 'selectedPremiumFunder.premiumFundedValue')\r\n get isFundingEqualToTotalDueByClient(): boolean {\r\n if (isNil(this.recommendedInsurer) || isNil(this.selectedPremiumFunder)) return;\r\n const totalDueByClient = this.getTotalDueByClient();\r\n return totalDueByClient === +this.selectedPremiumFunder.premiumFundedValue;\r\n }\r\n\r\n @computedFrom('recommendedInsurer.totalDueByClient', 'selectedPremiumFunder.premiumFundedValue')\r\n get isFundingWithinRange(): boolean {\r\n this.acceptedFundingNotEqualToTotalDueByClient = false;\r\n\r\n let withInRange = false;\r\n const totalDueByClient = this.getTotalDueByClient();\r\n const fundedAmount = +this.selectedPremiumFunder?.premiumFundedValue;\r\n\r\n withInRange = totalDueByClient >= 0 ?\r\n fundedAmount >= 0 && fundedAmount <= totalDueByClient :\r\n fundedAmount <= 0 && fundedAmount >= totalDueByClient;\r\n\r\n return withInRange;\r\n }\r\n\r\n @computedFrom(\r\n 'config.performFunderInsurerMismatchCheck',\r\n 'recommendedInsurer',\r\n 'recommendedInsurer.recommendedFlag',\r\n 'selectedPremiumFunder.chosenRedPlanetUnderwriterAbn',\r\n 'selectedFunderUnderwriter',\r\n 'selectedFunderUnderwriter.abn',\r\n 'selectedFunderMappingUnderwriter',\r\n 'selectedFunderMappingUnderwriter.abn',\r\n )\r\n get showFinaliseFunderInsurerMismatchWarning(): boolean {\r\n return shouldShowFunderInsurerMismatch({\r\n enabled: this.config?.performFunderInsurerMismatchCheck,\r\n primaryInsurer: this.recommendedInsurer,\r\n underwriterSource: this.getFinaliseFunderUnderwriterSource(),\r\n });\r\n }\r\n\r\n private getFinaliseFunderUnderwriterSource() {\r\n const savedUnderwriter = this.selectedPremiumFunder;\r\n const fallbackUnderwriter = this.selectedFunderUnderwriter ?? this.selectedFunderMappingUnderwriter;\r\n\r\n if (\r\n savedUnderwriter?.chosenRedPlanetUnderwriterAbn ||\r\n savedUnderwriter?.chosenRedPlanetUnderwriterCode ||\r\n savedUnderwriter?.chosenRedPlanetUnderwriterName\r\n ) {\r\n const abn = this.getUnderwriterFieldValue(\r\n savedUnderwriter.chosenRedPlanetUnderwriterAbn,\r\n fallbackUnderwriter?.abn,\r\n );\r\n const code = this.getUnderwriterFieldValue(\r\n savedUnderwriter.chosenRedPlanetUnderwriterCode,\r\n fallbackUnderwriter?.code,\r\n );\r\n const name = this.getUnderwriterFieldValue(\r\n savedUnderwriter.chosenRedPlanetUnderwriterName,\r\n fallbackUnderwriter?.name,\r\n );\r\n\r\n if (abn || code || name) {\r\n return { abn, code, name };\r\n }\r\n }\r\n\r\n if (fallbackUnderwriter) {\r\n return fallbackUnderwriter;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getUnderwriterFieldValue(primary?: string | null, fallback?: string | null) {\r\n if (typeof primary === 'string' && primary.trim().length > 0) {\r\n return primary;\r\n }\r\n\r\n if (typeof fallback === 'string' && fallback.trim().length > 0) {\r\n return fallback;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n @computedFrom('params.entityMode')\r\n get disableEditingSoa(): boolean {\r\n return this.params.entityMode !== EntityMode.Edit;\r\n }\r\n\r\n @computedFrom('recommendedInsurer.totalDueByClient')\r\n get disableReferrerFee() {\r\n return !this.recommendedInsurer || (+this.recommendedInsurer.totalDueByClient === 0);\r\n }\r\n\r\n @computedFrom('declineInsurer.declineByInsurerComment')\r\n get disableDeclineByInsurerUpdate() {\r\n return !this.declineInsurer ||\r\n !this.declineInsurer.declineByInsurerComment ||\r\n !this.declineInsurer.declineByInsurerComment.trim().length;\r\n }\r\n\r\n get allPdsLinksSelected(): boolean {\r\n return !this.pdsLinks.some(l => !l.selectedFlag);\r\n }\r\n\r\n get atleastOnePdsLinkSelected(): boolean {\r\n return this.pdsLinks.some(l => l.selectedFlag);\r\n }\r\n\r\n constructor(\r\n private api: Api,\r\n private toastr: IaToastService,\r\n private taskQueue: TaskQueue,\r\n private i18n: I18N,\r\n private lookups: LookupDataService,\r\n private ea: EventAggregator,\r\n private claimsService: ClaimsService,\r\n private validationControllerFactory: ValidationControllerFactory,\r\n private modal: ModalService,\r\n ) {\r\n this.validationController = this.validationControllerFactory.createForCurrentScope();\r\n this.validationController.addRenderer(new FormValidationRenderer());\r\n }\r\n\r\n async bind() {\r\n this.hasOnlineFundingPermission = await this.claimsService.hasAsync('IadviserFundingOnlinePfQuote');\r\n this.clientSavedSubscription = this.ea.subscribe(eventAggregatorEvents.clientSaved, async () => await this.generalDetails());\r\n\r\n // Update when client status is changed\r\n this.clientActiveStatusSubscription = this.ea.subscribe(eventAggregatorEvents.clientActiveStatus, async (event) => {\r\n this.clientGeneralDetails.active = event.clientActive;\r\n });\r\n }\r\n\r\n unbind(){\r\n if (this.clientSavedSubscription) {\r\n this.clientSavedSubscription.dispose();\r\n }\r\n if (this.clientActiveStatusSubscription) {\r\n this.clientActiveStatusSubscription.dispose();\r\n }\r\n }\r\n\r\n async activate(model: IStepModel) {\r\n try {\r\n this.params = model;\r\n\r\n this.entityUriParams = new EntityUriParams(\r\n this.params.id, this.params.actionType, this.params.entityType, +this.params.entityId, this.params.entityMode\r\n );\r\n\r\n await this.loadInitialData();\r\n\r\n const adviceType = await this.api.getAdviceType(this.params.id, this.params.actionType, this.params.entityType, +this.params.entityId);\r\n if (adviceType) {\r\n this.selectedSoaTypeId = `${adviceType}`;\r\n }\r\n\r\n await this.defaultRecommendedForSingleInsurer();\r\n\r\n this.ea.publish('stepRendered');\r\n } catch (e) {\r\n this.ea.publish('stepRendered');\r\n }\r\n }\r\n\r\n async soaTypeIdChanged() {\r\n if (this.selectedSoaTypeId) {\r\n await this.api.putAdviceType(this.params.id, this.params.actionType, this.params.entityType, +this.params.entityId, this.selectedSoaTypeId);\r\n }\r\n }\r\n\r\n async validate() {\r\n return true;\r\n }\r\n\r\n async loadInitialData() {\r\n this.appClientType = getAppClientType();\r\n\r\n await this.getLookupData();\r\n await this.getFinaliseConfig();\r\n await this.getInsurers();\r\n await this.getPdsLinks();\r\n await this.getPdsText();\r\n await this.getPremiumFunderDetails();\r\n await this.getInsurerUfiDetails();\r\n await this.getAdvice();\r\n await this.getConflictsOfInterest();\r\n await this.generalDetails();\r\n }\r\n\r\n async getLookupData() {\r\n this.premiumFunderStatus = await this.lookups.premiumFunderStatusTypes();\r\n this.premiumFunderStatusActions = await this.lookups.premiumFunderStatusActions();\r\n this.ufiAsicExemptionType = await this.lookups.asicExemptionType();\r\n this.ufiAtypicalRiskClass = await this.lookups.aTypicalRiskClass();\r\n this.ufiCustomisedReason = await this.lookups.customisedReason();\r\n }\r\n\r\n async getFinaliseConfig() {\r\n this.config = await this.api.getFinaliseConfig(this.entityUriParams);\r\n this.premiumFunders = this.config?.availableFunders;\r\n this.getAvailableReferrers();\r\n\r\n if(this.config.isMultiplePayeeFlag) {\r\n await this.getMultiplePayeeConfig();\r\n }\r\n }\r\n\r\n async getInsurers() {\r\n this.insurers = await this.api.getInsurers(this.entityUriParams);\r\n this.recommendedInsurer = this.insurers.find(i => i.recommendedFlag) || null;\r\n\r\n this.insurers.forEach(x => {\r\n if (x.underwriters.length > 0) {\r\n x.underwriters = x.underwriters.filter(u => u.percentageHeld > 0);\r\n x.showNoUnderWriterAlert = x.underwriters.length === 0 && this.params.actionType !== '4' && this.config.isMppEnd !== true;\r\n }\r\n });\r\n }\r\n\r\n async defaultRecommendedForSingleInsurer() {\r\n if (!this.config.canChangeRecommendedInsurerFlag ||\r\n this.config.coInsuredFlag ||\r\n !this.insurers ||\r\n this.insurers.length > 1\r\n ) {\r\n return;\r\n }\r\n\r\n if (this.insurers.length > 0) {\r\n if (this.insurers[0].declineByInsurerFlag || this.insurers[0].recommendedFlag) {\r\n return;\r\n }\r\n } else {\r\n return;\r\n }\r\n\r\n await this.recommendedInsurerUpdated(this.insurers[0]);\r\n }\r\n\r\n async getPdsLinks() {\r\n this.pdsLinks = await this.api.getPdsLinks(this.entityUriParams);\r\n if (this.pdsLinks.length === 1 && !this.pdsLinks[0].selectedFlag) {\r\n this.pdsLinks[0].selectedFlag = await this.api.updatePdsLinks(this.entityUriParams, this.pdsLinks[0].productDisclosureId, true);\r\n }\r\n }\r\n\r\n async getPdsText() {\r\n this.pdsText = (await this.api.getPdsText(this.entityUriParams)).pdsText;\r\n this.showPdsDetails = this.pdsText?.length > 0;\r\n }\r\n\r\n async getReferrals(resetEditDelete = false) {\r\n if(resetEditDelete) {\r\n this.isEdit = false;\r\n this.isDelete = false;\r\n }\r\n\r\n return await this.api.getReferrers(this.entityUriParams);\r\n }\r\n\r\n async getInsurerUfiDetails() {\r\n this.insurerUfi = this.insurers.some(i => i.ufiInformationPresent) ? await this.api.getUfiDetails(this.entityUriParams) : null;\r\n this.originalInsurerUfi = !isNil(this.insurerUfi) ? { ...this.insurerUfi } : null;\r\n }\r\n\r\n async getAdvice() {\r\n this.soaAdvice = (await this.api.getSoaAdvice(this.entityUriParams)).htmlContent;\r\n this.originalSoaAdvice = this.soaAdvice;\r\n }\r\n\r\n async getConflictsOfInterest() {\r\n this.soaRelationships = (await this.api.getSoaRelationships(this.entityUriParams)).htmlContent;\r\n this.originalSoaRelationships = this.soaRelationships;\r\n }\r\n\r\n async generalDetails() {\r\n const result = await this.api.getGeneralDetails(this.params.id);\r\n if(result) {\r\n this.clientGeneralDetails = {\r\n clientTypeId: result.clientTypeId,\r\n clientCode: result.clientCode,\r\n clientName: result.clientName,\r\n active: result.active,\r\n consentReceivedDate: result.consentReceivedDate,\r\n }\r\n }\r\n }\r\n\r\n openConsentModal(){\r\n this.modal.show().content(ClientProfileModal, {\r\n clientId: this.params.id,\r\n profilePageId: ProfilePages.CONSENT,\r\n appClientType: this.appClientType,\r\n clientTypeId: this.clientGeneralDetails.clientTypeId,\r\n clientCode: this.clientGeneralDetails.clientCode,\r\n clientName: this.clientGeneralDetails.clientName,\r\n clientActive: this.clientGeneralDetails.active}).withOptions({type: 'wide-lg'});\r\n }\r\n\r\n @computedFrom('soaAdvice')\r\n get hasAdviceHtml() {\r\n return this.soaAdvice?.length > 0;\r\n }\r\n\r\n @computedFrom('soaRelationships')\r\n get hasCooHtml() {\r\n return this.soaRelationships?.length > 0;\r\n }\r\n\r\n confirmUpdateUfiInfo() {\r\n if (isNil(this.insurerUfi)) { this.insurerUfi = new InsurerUfi(); }\r\n this.showUpdateUfiInfo = true;\r\n }\r\n\r\n async updateUfiInfo(action: ConfirmModalActions) {\r\n let ufiInfoUpdated = false;\r\n this.showUpdateUfiInfo = false;\r\n\r\n if (action === 'confirm') {\r\n if (!this.insurerUfi.entityUnauthorisedForeignInsurerDetailId) {\r\n this.insurerUfi = await this.api.createUfiDetails(this.entityUriParams, this.insurerUfi);\r\n ufiInfoUpdated = !!this.insurerUfi;\r\n }\r\n else {\r\n ufiInfoUpdated = await this.api.updateUfiDetails(\r\n this.entityUriParams, this.insurerUfi.entityUnauthorisedForeignInsurerDetailId, this.insurerUfi\r\n );\r\n }\r\n if (ufiInfoUpdated) {\r\n this.originalInsurerUfi = { ...this.insurerUfi };\r\n }\r\n }\r\n\r\n if (action === 'cancel' || !ufiInfoUpdated) {\r\n this.insurerUfi = this.originalInsurerUfi && this.originalInsurerUfi.entityUnauthorisedForeignInsurerDetailId ?\r\n { ...this.originalInsurerUfi } : null;\r\n }\r\n }\r\n\r\n async getPremiumFunderDetails() {\r\n this.selectedPremiumFunder = this.config.funderSelected ? await this.api.getPremiumFunderDetails(this.entityUriParams) : null;\r\n\r\n if (!isNil(this.selectedPremiumFunder)) {\r\n const matchingFunder = this.premiumFunders?.find(\r\n f => f.premiumFunderId === this.selectedPremiumFunder.premiumFunderId\r\n );\r\n\r\n this.selectedPremiumFunder.$useInterface = matchingFunder?.useInterface;\r\n this.selectedPremiumFunder.$useBackgroundInterface = matchingFunder?.useBackgroundInterface;\r\n this.selectedPremiumFunderId = this.selectedPremiumFunder.premiumFunderId;\r\n }\r\n\r\n this.originalPremiumFunder = this.config.funderSelected ? { ...this.selectedPremiumFunder } : null;\r\n }\r\n\r\n getPremiumFunder(premiumFunderId: number): PremiumFunder {\r\n return this.premiumFunders.find(f => f.premiumFunderId === premiumFunderId);\r\n }\r\n\r\n async selectedPremiumFunderIdChanged(premiumFunderId: number) {\r\n if (isNil(this.selectedPremiumFunder) || isNil(this.premiumFunders)) return;\r\n\r\n this.selectedPremiumFunder.premiumFunderId = premiumFunderId;\r\n if (premiumFunderId) {\r\n const selectedFunder = this.premiumFunders.find(f => f.premiumFunderId === premiumFunderId);\r\n if (selectedFunder) {\r\n this.selectedPremiumFunder.$useInterface = selectedFunder.useInterface;\r\n this.selectedPremiumFunder.$useBackgroundInterface = selectedFunder.useBackgroundInterface;\r\n }\r\n }\r\n\r\n if (premiumFunderId && !this.config.funderSelected) {\r\n const quoteIssuedToClientId = 600000001;\r\n\r\n this.selectedPremiumFunder.premiumFundedValue = this.getTotalDueByClient();\r\n\r\n this.selectedPremiumFunder.premiumFunderStatusActionId = quoteIssuedToClientId;\r\n this.selectedPremiumFunderStatusActionId = quoteIssuedToClientId;\r\n }\r\n }\r\n\r\n getTotalDueByClient() {\r\n return this?.config?.coInsuredFlag ?\r\n this.insurers.reduce((total, { totalDueByClient }) => evenRound(new BigNumber(total).plus(totalDueByClient).toNumber(), 2), 0) :\r\n this.recommendedInsurer ? +this.recommendedInsurer.totalDueByClient : 0;\r\n }\r\n\r\n getPremiumFunderStatusAction(premiumFunderStatusActionId: number): PremiumFunderStatusAction {\r\n return this.premiumFunderStatusActions.find(a => a.premiumFunderStatusActionId === premiumFunderStatusActionId);\r\n }\r\n\r\n private findFunderWithOnlineInterface(): PremiumFunder | undefined {\r\n return this.premiumFunders.find(f => this.funderSupportsOnlineInterface(f));\r\n }\r\n\r\n private findFunderWithBackgroundInterface(): PremiumFunder | undefined {\r\n return this.premiumFunders.find(f => this.funderSupportsBackgroundInterface(f));\r\n }\r\n\r\n private funderSupportsBackgroundInterface(funder?: Partial) {\r\n if (!funder) { return false; }\r\n const flag = (funder as any).$useBackgroundInterface ?? (funder as any).useBackgroundInterface;\r\n return !!flag;\r\n }\r\n\r\n private funderSupportsOnlineInterface(funder?: Partial) {\r\n if (!funder) { return false; }\r\n const interfaceFlag = (funder as any).$useInterface ?? (funder as any).useInterface;\r\n return !!interfaceFlag;\r\n }\r\n\r\n async selectedPremiumFunderStatusActionIdChanged(statusActionId: number) {\r\n if (!this.selectedPremiumFunder || !this.premiumFunderStatusActions) return;\r\n\r\n this.selectedPremiumFunder.premiumFunderStatusActionId = statusActionId;\r\n\r\n if (statusActionId) {\r\n const action = this.premiumFunderStatusActions.find(\r\n a => a.premiumFunderStatusActionId === statusActionId\r\n );\r\n this.selectedPremiumFunder.premiumFunderStatusId = action ? action.premiumFunderStatusId : undefined;\r\n }\r\n else {\r\n this.selectedPremiumFunder.premiumFunderStatusId = null;\r\n }\r\n }\r\n\r\n getPremiumFunderStatus(premiumFunderStatusId: number): PremiumFunderStatus {\r\n return this.premiumFunderStatus.find(s => s.id === premiumFunderStatusId);\r\n }\r\n\r\n deletePremiumFunder(row, action = 'delete') {\r\n this.isDelete = action === 'delete';\r\n row.isDelete = action === 'delete';\r\n }\r\n\r\n async confirmDeletePremiumFunder(action: ConfirmModalActions) {\r\n if (action === 'confirm') {\r\n const funderDeleted = await this.api.deletePremiumFunderDetails(this.entityUriParams, this.selectedPremiumFunder.entityFunderId);\r\n\r\n if (funderDeleted) {\r\n await this.getFinaliseConfig();\r\n await this.getPremiumFunderDetails();\r\n }\r\n\r\n this.isDelete = false;\r\n }\r\n }\r\n\r\n async confirmAddSoa() {\r\n await this.getAdvice();\r\n this.showUpdateSoa = true;\r\n }\r\n\r\n async confirmAddConflictsOfInterest() {\r\n await this.getConflictsOfInterest();\r\n\r\n this.showUpdateConflictsOfInterest = true;\r\n }\r\n\r\n async updateAdvice(action: ConfirmModalActions) {\r\n this.showUpdateSoa = false;\r\n\r\n this.taskQueue.queueMicroTask(() => {\r\n if (action === 'cancel') {\r\n this.soaAdvice = this.originalSoaAdvice;\r\n this.soaAdviceVM.refreshContent();\r\n\r\n return;\r\n }\r\n });\r\n\r\n if (action === 'confirm') {\r\n const adviceUpdated = !this.soaAdvice ? await this.api.deleteSoaAdvice(this.entityUriParams) :\r\n await this.api.updateSoaAdvice(this.entityUriParams, new HtmlObject(this.soaAdvice));\r\n\r\n if (adviceUpdated) {\r\n this.originalSoaAdvice = this.soaAdvice;\r\n }\r\n }\r\n }\r\n\r\n async updateConflictsOfInterest(action: ConfirmModalActions) {\r\n this.showUpdateConflictsOfInterest = false;\r\n\r\n this.taskQueue.queueMicroTask(() => {\r\n if (action === 'cancel') {\r\n this.soaRelationships = this.originalSoaRelationships;\r\n this.soaRelationshipsVM.refreshContent();\r\n\r\n return;\r\n }\r\n });\r\n\r\n if (action === 'confirm') {\r\n const relationshipsUpdated = !this.soaRelationships ? await this.api.deleteSoaRelationships(this.entityUriParams) :\r\n await this.api.updateSoaRelationships(this.entityUriParams, new HtmlObject(this.soaRelationships));\r\n if (relationshipsUpdated) { this.originalSoaRelationships = this.soaRelationships; }\r\n }\r\n }\r\n\r\n getFundedAmounLabel() {\r\n const totalDueByClient = this.getTotalDueByClient();\r\n\r\n return this.i18n.tr(\r\n totalDueByClient >= 0 ? 'fundedAmountWithClientCosts' : 'fundedAmountWithClientCostsNegitive', {\r\n clientCosts: totalDueByClient < 0 ? (totalDueByClient * -1).toFixed(2) : totalDueByClient.toFixed(2)\r\n });\r\n }\r\n\r\n confirmAddPremiumFunder() {\r\n this.fundedAmounLabel = this.getFundedAmounLabel();\r\n this.resetPremiumFunderSubmissionState();\r\n this.showUpdatePremiumFunder = true;\r\n\r\n if (isNil(this.selectedPremiumFunder) || isNil(this.selectedPremiumFunder.entityFunderId)) {\r\n this.selectedPremiumFunder = new Finalise.PremiumFunder();\r\n this.selectedPremiumFunderId = null;\r\n this.selectedPremiumFunderStatusActionId = null;\r\n this.clearFunderMapping();\r\n }\r\n }\r\n\r\n async confirmUpdatePremiumFunder() {\r\n this.fundedAmounLabel = this.getFundedAmounLabel();\r\n this.resetPremiumFunderSubmissionState();\r\n this.selectedPremiumFunder.paymentDueDate = momentToString(this.originalPremiumFunder.paymentDueDate);\r\n this.selectedPremiumFunderId = this.originalPremiumFunder.premiumFunderId;\r\n this.selectedPremiumFunderStatusActionId = this.originalPremiumFunder.premiumFunderStatusActionId;\r\n\r\n // If the current funder is no longer selectable, force the user to pick a valid option in the modal.\r\n const hasSelectableFunder = this.premiumFunderOptions.some(\r\n (f) => f.id === this.selectedPremiumFunderId\r\n );\r\n if (!hasSelectableFunder) {\r\n this.selectedPremiumFunderId = null;\r\n this.selectedPremiumFunder.premiumFunderId = null;\r\n this.selectedPremiumFunder.$useInterface = null;\r\n this.selectedPremiumFunder.$useBackgroundInterface = null;\r\n }\r\n\r\n this.clearFunderMapping();\r\n\r\n if(this.selectedPremiumFunder?.entityFunderId && this.selectedPremiumFunderId) {\r\n const result = (await this.api.getFunderMapping(this.entityUriParams, this.config.clientInsuredPartyId, this.selectedPremiumFunderId))[0];\r\n\r\n if(result){\r\n this.funderMappingRisks = result.risks ?? [];\r\n this.funderMappingUnderwriters = result.underwriters ?? [];\r\n\r\n this.selectedFunderMappingRisk = this.funderMappingRisks.find((x) => x.redPlanetRiskCode == this.selectedPremiumFunder.chosenRedPlanetRiskCode);\r\n this.selectedFunderMappingUnderwriter = this.funderMappingUnderwriters.find((x) => x.code == this.selectedPremiumFunder.chosenRedPlanetUnderwriterCode);\r\n\r\n // Selected from underwriter search\r\n if(this.selectedPremiumFunder.chosenRedPlanetUnderwriterCode && !this.selectedFunderMappingUnderwriter){\r\n this.selectedFunderUnderwriter = {\r\n abn: this.selectedPremiumFunder.chosenRedPlanetUnderwriterAbn,\r\n code: this.selectedPremiumFunder.chosenRedPlanetUnderwriterCode,\r\n name: this.selectedPremiumFunder.chosenRedPlanetUnderwriterName,\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.showUpdatePremiumFunder = true;\r\n }\r\n\r\n clearFunderMapping() {\r\n this.funderMappingRisks = [];\r\n this.funderMappingUnderwriters = [];\r\n this.funderUnderwriters = [];\r\n this.selectedFunderMappingRisk = null;\r\n this.selectedFunderMappingUnderwriter = null;\r\n this.selectedFunderUnderwriter = null;\r\n }\r\n\r\n private beginPremiumFunderQuoteSubmission(mode: 'online' | 'background') {\r\n this.premiumFunderQuoteSubmissionMode = mode;\r\n this.isPremiumFunderQuoteSubmitting = true;\r\n }\r\n\r\n private setPremiumFunderQuoteSubmissionResult(type: 'success' | 'warning', title: string, message: string) {\r\n this.premiumFunderQuoteSubmissionResult = type;\r\n this.premiumFunderQuoteResultTitle = title;\r\n this.premiumFunderQuoteResultMessage = message;\r\n }\r\n\r\n private resetPremiumFunderSubmissionState(preserveResult = false) {\r\n this.isPremiumFunderQuoteSubmitting = false;\r\n this.premiumFunderQuoteSubmissionMode = null;\r\n if (!preserveResult) {\r\n this.premiumFunderQuoteSubmissionResult = null;\r\n this.premiumFunderQuoteResultTitle = '';\r\n this.premiumFunderQuoteResultMessage = '';\r\n }\r\n }\r\n\r\n dismissPremiumFunderSubmissionResult() {\r\n this.resetPremiumFunderSubmissionState();\r\n }\r\n\r\n private resetSelectedPremiumFunderState() {\r\n this.selectedPremiumFunder = this.originalPremiumFunder && this.originalPremiumFunder.entityFunderId\r\n ? { ...this.originalPremiumFunder }\r\n : null;\r\n this.selectedPremiumFunderId = null;\r\n this.selectedPremiumFunderStatusActionId = null;\r\n }\r\n\r\n private async submitPremiumFunderBackgroundQuote(): Promise {\r\n if (!this.selectedPremiumFunder || !this.selectedPremiumFunderId) {\r\n return false;\r\n }\r\n\r\n const fundCover = new FundCover(\r\n parseInt(this.params.entityId, 10),\r\n this.params.entityType,\r\n this.selectedPremiumFunder.premiumFundedValue,\r\n generateGuidString(),\r\n this.selectedFunderMappingRisk?.redPlanetRiskCode,\r\n this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.code : this.selectedFunderMappingUnderwriter?.code,\r\n this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.name : this.selectedFunderMappingUnderwriter?.name,\r\n this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.abn : this.selectedFunderMappingUnderwriter?.abn,\r\n );\r\n\r\n if (!fundCover || !this.selectedFunderMappingRisk || (!this.selectedFunderMappingUnderwriter && !this.selectedFunderUnderwriter)) {\r\n return false;\r\n }\r\n\r\n const request = new FundMultipleCoversRequest(this.selectedPremiumFunderId, [fundCover], generateGuidString(), 0.02, 6);\r\n\r\n this.beginPremiumFunderQuoteSubmission('background');\r\n let shouldResetSpinner = true;\r\n\r\n try {\r\n const response = await this.api.createBackgroundQuote(this.params.id, this.config.clientInsuredPartyId, request);\r\n const statusCode = response?.statusCode;\r\n const payload = this.resolveBackgroundQuotePayload(response);\r\n this.backgroundQuote = payload;\r\n const errors = this.extractBackgroundQuoteErrors(payload);\r\n const isServerError = typeof statusCode === 'number' && statusCode >= 400;\r\n\r\n if (errors.length) {\r\n if (!isServerError) {\r\n const toast = new IaToastMessage(this.formatErrorsForToast(errors), this.i18n.tr('server400ErrorTitle'));\r\n this.toastr.error(toast);\r\n }\r\n return false;\r\n }\r\n\r\n if (!statusCode || statusCode >= 300) {\r\n if (!isServerError) {\r\n const fallbackMessage = this.resolveBackgroundQuoteMessage(payload) || this.i18n.tr('server500ErrorMessage');\r\n const toast = new IaToastMessage(fallbackMessage, this.i18n.tr('server400ErrorTitle'));\r\n this.toastr.error(toast);\r\n }\r\n return false;\r\n }\r\n\r\n shouldResetSpinner = false;\r\n return true;\r\n } finally {\r\n if (shouldResetSpinner) {\r\n this.resetPremiumFunderSubmissionState();\r\n }\r\n }\r\n }\r\n\r\n async updatePremiumFunder(action: ConfirmModalActions, onlineFund = false, backgroundFund = false) {\r\n if (isNil(this.selectedPremiumFunder)) {\r\n return;\r\n }\r\n\r\n let premiumFunderUpdated = false;\r\n let backgroundQuoteSuccessful = false;\r\n let onlineQuoteSuccessful = false;\r\n\r\n if (action === 'confirm') {\r\n this.selectedPremiumFunder.premiumFunderId = this.selectedPremiumFunderId;\r\n this.selectedPremiumFunder.premiumFunderStatusActionId = this.selectedPremiumFunderStatusActionId;\r\n\r\n // Convert date to ISO for API, but don't mutate selectedPremiumFunder to avoid UI flash\r\n const paymentDueDateForApi = this.selectedPremiumFunder.paymentDueDate?.includes('/')\r\n ? moment.utc(this.selectedPremiumFunder.paymentDueDate, 'DD/MM/YYYY').toISOString()\r\n : this.selectedPremiumFunder.paymentDueDate;\r\n\r\n const model = {\r\n ...this.selectedPremiumFunder,\r\n paymentDueDate: paymentDueDateForApi,\r\n chosenRedPlanetRiskCode: this.selectedFunderMappingRisk?.redPlanetRiskCode,\r\n chosenRedPlanetUnderwriterCode: this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.code : this.selectedFunderMappingUnderwriter?.code,\r\n chosenRedPlanetUnderwriterName: this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.name : this.selectedFunderMappingUnderwriter?.name,\r\n chosenRedPlanetUnderwriterAbn: this.selectedFunderUnderwriter ? this.selectedFunderUnderwriter.abn : this.selectedFunderMappingUnderwriter?.abn,\r\n };\r\n\r\n if (!this.selectedPremiumFunder.entityFunderId) {\r\n this.selectedPremiumFunder = await this.api.createPremiumFunderDetails(this.entityUriParams, model);\r\n premiumFunderUpdated = !!this.selectedPremiumFunder;\r\n } else {\r\n premiumFunderUpdated = await this.api.updatePremiumFunderDetails(\r\n this.entityUriParams,\r\n this.selectedPremiumFunder.entityFunderId,\r\n model,\r\n );\r\n }\r\n\r\n if (premiumFunderUpdated) {\r\n this.originalPremiumFunder = { ...this.selectedPremiumFunder };\r\n this.acceptedFundingNotEqualToTotalDueByClient = null;\r\n this.acceptedFundingPreviouslySentViaRedPlanet = null;\r\n\r\n if (onlineFund) {\r\n this.beginPremiumFunderQuoteSubmission('online');\r\n const canOpenPortal = typeof window !== 'undefined' && typeof window.open === 'function';\r\n const placeholderWindow = canOpenPortal ? window.open('', '_blank') : null;\r\n\r\n try {\r\n this.redPlanetQuote = await this.api.createRedPlanetQuote(this.entityUriParams, this.selectedPremiumFunder.entityFunderId);\r\n\r\n if (this.redPlanetQuote?.url) {\r\n this.config.fundingPreviouslySentViaRedPlanet = true;\r\n onlineQuoteSuccessful = true;\r\n\r\n if (canOpenPortal) {\r\n if (placeholderWindow) {\r\n placeholderWindow.location.href = this.redPlanetQuote.url;\r\n placeholderWindow.focus?.();\r\n } else {\r\n const onlineQuote = window.open(this.redPlanetQuote.url, '_blank');\r\n onlineQuote?.focus();\r\n }\r\n }\r\n } else {\r\n if (this.redPlanetQuote?.errors?.length) {\r\n const toast = new IaToastMessage(this.redPlanetQuote.errors.join('
'), this.i18n.tr('server400ErrorTitle'));\r\n this.toastr.error(toast);\r\n }\r\n }\r\n } finally {\r\n if (!onlineQuoteSuccessful && placeholderWindow && typeof placeholderWindow.close === 'function') {\r\n placeholderWindow.close();\r\n }\r\n this.resetPremiumFunderSubmissionState();\r\n }\r\n } else if (backgroundFund) {\r\n backgroundQuoteSuccessful = await this.submitPremiumFunderBackgroundQuote();\r\n }\r\n }\r\n }\r\n\r\n if (action === 'cancel') {\r\n this.resetSelectedPremiumFunderState();\r\n this.resetPremiumFunderSubmissionState();\r\n this.showUpdatePremiumFunder = false;\r\n return;\r\n }\r\n\r\n if (!premiumFunderUpdated) {\r\n this.resetPremiumFunderSubmissionState();\r\n return;\r\n }\r\n\r\n if (backgroundFund && backgroundQuoteSuccessful) {\r\n await this.getFinaliseConfig();\r\n await this.getPremiumFunderDetails();\r\n this.resetPremiumFunderSubmissionState(true);\r\n const hasClientAcceptanceUrl = this.hasClientAcceptanceLink(this.backgroundQuote);\r\n\r\n if (!hasClientAcceptanceUrl) {\r\n const warningTitle = this.i18n.tr('premiumFundingBackgroundWarningTitle') || 'Quote submitted for review.';\r\n const warningMessage = this.i18n.tr('quoteSubmittedButRequiresReview');\r\n this.setPremiumFunderQuoteSubmissionResult('warning', warningTitle, warningMessage);\r\n } else {\r\n const successTitle = this.i18n.tr('premiumFundingBackgroundSuccessTitle') || 'Success!';\r\n const successMessage =\r\n this.i18n.tr('backgroundFundingQuoteAccepted') ||\r\n 'Background Funding Quote accepted.';\r\n this.setPremiumFunderQuoteSubmissionResult('success', successTitle, successMessage);\r\n }\r\n return;\r\n }\r\n\r\n if (backgroundFund && !backgroundQuoteSuccessful) {\r\n this.resetPremiumFunderSubmissionState();\r\n return;\r\n }\r\n\r\n await this.getFinaliseConfig();\r\n await this.getPremiumFunderDetails();\r\n\r\n if (onlineFund && !onlineQuoteSuccessful) {\r\n this.resetPremiumFunderSubmissionState();\r\n return;\r\n }\r\n\r\n this.showUpdatePremiumFunder = false;\r\n this.resetPremiumFunderSubmissionState();\r\n }\r\n\r\n async syncPremiumFunderQuote() {\r\n if (!this.originalPremiumFunder?.entityFunderId || this.isPremiumFunderSyncing) {\r\n return;\r\n }\r\n\r\n this.isPremiumFunderSyncing = true;\r\n\r\n try {\r\n const entityId = parseInt(this.params.entityId, 10);\r\n if (Number.isNaN(entityId)) {\r\n throw new Error('Invalid entity id');\r\n }\r\n const entityType = this.params.entityType ?? EntityType.Quote;\r\n const success = await this.api.syncPremiumFunderQuote(entityType, entityId);\r\n\r\n if (!success) {\r\n throw new Error('Sync failed');\r\n }\r\n\r\n const successMessage =\r\n this.i18n.tr('premiumFunderSyncSuccess') || 'Sync request sent. We will refresh the details shortly.';\r\n this.toastr.success(new IaToastMessage(successMessage));\r\n\r\n await this.getPremiumFunderDetails();\r\n } catch {\r\n const errorMessage =\r\n this.i18n.tr('premiumFunderSyncError') || 'Unable to sync premium funding details right now.';\r\n const toast = new IaToastMessage(errorMessage, this.i18n.tr('server400ErrorTitle'));\r\n this.toastr.error(toast);\r\n } finally {\r\n this.isPremiumFunderSyncing = false;\r\n }\r\n }\r\n\r\n premiumFunderChanged() {\r\n this.taskQueue.queueMicroTask(async() => {\r\n if(this.selectedPremiumFunderId) {\r\n\r\n this.selectedPremiumFunder.premiumFunderStatusActionId = 600000001;\r\n this.selectedPremiumFunderStatusActionId = 600000001;\r\n this.selectedPremiumFunder.quoteNo = null;\r\n this.selectedPremiumFunder.loanNo = null;\r\n this.selectedPremiumFunder.paymentDueDate = \"\";\r\n this.selectedPremiumFunder.premiumFundedValue = this.getTotalDueByClient();\r\n this.modifyPolicyFunderStatusActionChanged();\r\n\r\n this.clearFunderMapping();\r\n const result = (await this.api.getFunderMapping(this.entityUriParams, this.config.clientInsuredPartyId, this.selectedPremiumFunderId))[0];\r\n\r\n if(result){\r\n this.funderMappingRisks = result.risks ?? [];\r\n this.funderMappingUnderwriters = result.underwriters ?? [];\r\n\r\n this.selectedFunderMappingRisk = this.funderMappingRisks.find((x) => x.redPlanetRiskCode == result.defaultRedPlanetRiskCode);\r\n this.selectedFunderMappingUnderwriter = this.funderMappingUnderwriters.find((x) => x.code == result.defaultRedPlanetUnderwriterCode);\r\n\r\n // If no default underwriter, try to match by Lead/Recommended Insurer's ABN\r\n if (!this.selectedFunderMappingUnderwriter && this.recommendedInsurer && this.funderMappingUnderwriters.length) {\r\n const insurerAbns = getInsurerAbns(this.recommendedInsurer);\r\n if (insurerAbns.length) {\r\n const matchingUnderwriters = this.funderMappingUnderwriters.filter(\r\n (uw) => insurerAbns.includes(normaliseAbn(uw.abn))\r\n );\r\n\r\n // Only auto-select when the Lead/Recommended insurer ABN maps to a single funder underwriter\r\n if (matchingUnderwriters.length === 1) {\r\n this.selectedFunderMappingUnderwriter = matchingUnderwriters[0];\r\n }\r\n }\r\n }\r\n }\r\n }\r\n })\r\n }\r\n\r\n modifyPolicyFunderStatusActionChanged() {\r\n this.taskQueue.queueTask(() => {\r\n if (this.selectedPremiumFunder.premiumFunderStatusActionId) {\r\n this.selectedPremiumFunder.premiumFunderStatusId = this.premiumFunderStatusActions.find(\r\n (x) => x.premiumFunderStatusActionId === this.selectedPremiumFunder.premiumFunderStatusActionId,\r\n ).premiumFunderStatusId;\r\n } else {\r\n this.selectedPremiumFunder.premiumFunderStatusId = undefined;\r\n }\r\n });\r\n }\r\n\r\n hasQuoteEnquiryUrl(url?: string) {\r\n return typeof url === 'string' && url.trim().length > 0;\r\n }\r\n\r\n openQuoteEnquiryUrl(url?: string) {\r\n if (!this.hasQuoteEnquiryUrl(url)) {\r\n return;\r\n }\r\n\r\n const portalWindow = window.open(url, '_blank');\r\n portalWindow?.focus();\r\n }\r\n\r\n getFunderMappingRiskLabel(option) {\r\n return `${option.redPlanetRiskCode} - ${option.redPlanetRiskName}`;\r\n }\r\n\r\n getFunderMappingUnderwriterLabel(option) {\r\n return option.name;\r\n }\r\n\r\n async showFunderUnderwriterModal() {\r\n this.modal.show('secondaryModal').content(IaPremiumFunderUnderwriterLookup, { entityFunderId: this.selectedPremiumFunderId, model: this, modalId: 'secondaryModal' }).withOptions({ type: 'wide-lg' });\r\n }\r\n\r\n private resolveBackgroundQuotePayload(response: any): PremiumFunderAccessPayload | null {\r\n if (!response) {\r\n return null;\r\n }\r\n\r\n const candidate = response?.payload ?? response;\r\n if (!candidate) {\r\n return null;\r\n }\r\n\r\n if (candidate === response && typeof candidate === 'object' && !Array.isArray(candidate)) {\r\n const keys = Object.keys(candidate).filter((key) => key !== 'statusCode');\r\n if (!keys.length) {\r\n return null;\r\n }\r\n }\r\n\r\n return candidate as PremiumFunderAccessPayload;\r\n }\r\n\r\n private getClientAcceptanceUrl(payload?: PremiumFunderAccessPayload | null): string {\r\n if (!payload) return '';\r\n\r\n const accessDetails = this.getAccessDetails(payload);\r\n const rawUrl = accessDetails?.clientAcceptanceUrl ?? payload?.clientAcceptanceUrl ?? '';\r\n return typeof rawUrl === 'string' ? rawUrl.trim() : '';\r\n }\r\n\r\n private hasClientAcceptanceLink(payload?: PremiumFunderAccessPayload | null): boolean {\r\n if (!payload) return false;\r\n\r\n const accessDetails = this.getAccessDetails(payload);\r\n const booleanFlag = this.normaliseBooleanFlag(payload.hasClientAcceptanceUrl) ?? this.normaliseBooleanFlag(accessDetails?.hasClientAcceptanceUrl);\r\n if (typeof booleanFlag === 'boolean') {\r\n return booleanFlag;\r\n }\r\n\r\n return this.getClientAcceptanceUrl(payload).length > 0;\r\n }\r\n\r\n private normaliseBooleanFlag(value: any): boolean | null {\r\n if (typeof value === 'boolean') {\r\n return value;\r\n }\r\n\r\n if (typeof value === 'string') {\r\n const normalised = value.trim().toLowerCase();\r\n if (['yes', 'y', 'true', '1'].includes(normalised)) {\r\n return true;\r\n }\r\n if (['no', 'n', 'false', '0'].includes(normalised)) {\r\n return false;\r\n }\r\n return null;\r\n }\r\n\r\n if (typeof value === 'number') {\r\n if (value === 1) return true;\r\n if (value === 0) return false;\r\n }\r\n\r\n return null;\r\n }\r\n\r\n private getAccessDetails(payload?: PremiumFunderAccessPayload | null): PremiumFunderAccessDetails | undefined {\r\n if (!payload?.accessDetails) {\r\n return undefined;\r\n }\r\n\r\n return payload.accessDetails;\r\n }\r\n\r\n private extractBackgroundQuoteErrors(payload: any): string[] {\r\n if (!payload) return [];\r\n\r\n const errors: string[] = [];\r\n const normalise = (value: any) => {\r\n if (!value) return;\r\n if (typeof value === 'string') {\r\n errors.push(value);\r\n return;\r\n }\r\n if (typeof value === 'object') {\r\n if (Array.isArray(value.errors)) {\r\n value.errors.forEach((nested) => normalise(nested));\r\n return;\r\n }\r\n\r\n const friendly = value.friendlyError || value.errorKey;\r\n if (friendly) {\r\n errors.push(friendly);\r\n }\r\n }\r\n };\r\n\r\n if (Array.isArray(payload)) {\r\n payload.forEach((item) => {\r\n if (!item) return;\r\n if (Array.isArray(item.errors)) {\r\n item.errors.forEach((nested) => normalise(nested));\r\n }\r\n if (Array.isArray(item.friendlyErrors)) {\r\n item.friendlyErrors.forEach((friendly) => normalise(friendly));\r\n }\r\n });\r\n return errors.filter((message) => typeof message === 'string' && message.trim().length);\r\n }\r\n\r\n normalise(payload);\r\n\r\n if (Array.isArray(payload.errors)) {\r\n payload.errors.forEach((nested) => normalise(nested));\r\n }\r\n\r\n if (Array.isArray(payload.friendlyErrors)) {\r\n payload.friendlyErrors.forEach((friendly) => normalise(friendly));\r\n }\r\n\r\n return errors.filter((message, index, collection) => typeof message === 'string' && message.trim().length && collection.indexOf(message) === index);\r\n }\r\n\r\n private formatErrorsForToast(errors: string[]): string {\r\n return errors\r\n .map((error) => this.cleanErrorMessage(error))\r\n .filter((message) => message.length)\r\n .join('
');\r\n }\r\n\r\n private resolveBackgroundQuoteMessage(payload: any): string | undefined {\r\n if (!payload) return undefined;\r\n\r\n if (typeof payload.message === 'string' && payload.message.trim().length) {\r\n return payload.message;\r\n }\r\n\r\n if (Array.isArray(payload)) {\r\n for (const item of payload) {\r\n const message = this.resolveBackgroundQuoteMessage(item);\r\n if (message) {\r\n return message;\r\n }\r\n }\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n private cleanErrorMessage(error: unknown): string {\r\n if (typeof error !== 'string') return '';\r\n\r\n return error\r\n .replace(/^\"(.*)\"$/, '$1')\r\n .replace(/\\\\r\\\\n/g, '
')\r\n .replace(/\\\\r/g, '
')\r\n .replace(/\\\\n/g, '
')\r\n .replace(/\\r\\n/g, '
')\r\n .replace(/\\r/g, '
')\r\n .replace(/\\n/g, '
')\r\n .trim();\r\n }\r\n\r\n async declineByInsurerUpdated(insurer: Finalise.Insurer) {\r\n insurer.declineByInsurerFlag = !insurer.declineByInsurerFlag;\r\n this.declineInsurer = insurer;\r\n\r\n if (!insurer.declineByInsurerFlag) {\r\n insurer.declineByInsurerComment = '';\r\n await this.declineByInsurer('confirm');\r\n return;\r\n }\r\n this.showDeclineInsurer = true;\r\n }\r\n\r\n async declineByInsurer(action: ConfirmModalActions) {\r\n this.showDeclineInsurer = false;\r\n\r\n if (action === 'cancel') {\r\n this.declineInsurer.declineByInsurerFlag = false;\r\n this.declineInsurer.declineByInsurerComment = '';\r\n }\r\n else if (action === 'confirm') {\r\n this.declineInsurer.declineByInsurerComment = this.declineInsurer.declineByInsurerComment.trim();\r\n\r\n await this.api.updateDeclineByInsurerFlag(\r\n this.entityUriParams,\r\n this.declineInsurer.entityInsurerId,\r\n this.declineInsurer.declineByInsurerFlag,\r\n this.declineInsurer.declineByInsurerComment\r\n );\r\n }\r\n }\r\n\r\n async recommendedInsurerUpdated(insurer: Finalise.Insurer) {\r\n if (insurer.recommendedFlag) {\r\n this.taskQueue.queueMicroTask(() => {\r\n insurer.recommendedFlag = true;\r\n });\r\n return;\r\n }\r\n\r\n this.insurers.map(i => i.recommendedFlag = false);\r\n insurer.recommendedFlag = true;\r\n\r\n await this.api.updateInsurerRecommendedFlag(\r\n this.entityUriParams, insurer.entityInsurerId, insurer.recommendedFlag\r\n );\r\n\r\n this.recommendedInsurer = insurer;\r\n\r\n this.config.referrers = await this.getReferrals(true);\r\n\r\n await this.getPdsLinks();\r\n\r\n if (!this.config.coInsuredFlag && !isNil(this.insurerUfi) && !this.recommendedInsurer.ufiInsurerFlag) {\r\n this.insurerUfi = null;\r\n this.originalInsurerUfi = null;\r\n }\r\n }\r\n\r\n showAddPdsLinksModal() {\r\n this.pdsLinksOptions = this.pdsLinks.filter(l => !l.selectedFlag);\r\n this.showAddPdsLinks = true;\r\n }\r\n\r\n clickPds(row) {\r\n this.currentlySelectedPds = row;\r\n }\r\n\r\n selectAllPdsIds(event: any) {\r\n this.taskQueue.queueMicroTask(() => {\r\n if (event.target.checked) {\r\n this.selectedPdsIds = this.pdsLinksOptions.map((x) => x.productDisclosureId);\r\n } else {\r\n this.selectedPdsIds = [];\r\n }\r\n });\r\n }\r\n\r\n deletePds(row, action = 'delete') {\r\n this.isDelete = action === 'delete';\r\n row.isDelete = action === 'delete';\r\n }\r\n\r\n async addPdsLink(action: ConfirmModalActions) {\r\n this.showAddPdsLinks = false;\r\n\r\n if (action === 'confirm') {\r\n await Promise.all(\r\n this.selectedPdsIds.map(async (x) => {\r\n this.pdsLinks.find(l => l.productDisclosureId === x).selectedFlag = await this.api.updatePdsLinks(this.entityUriParams, x, true);\r\n this.selectedPdsIds = [];\r\n this.currentlySelectedPds = {};\r\n }),\r\n );\r\n }\r\n\r\n if(action === 'cancel'){\r\n this.selectedPdsIds = [];\r\n }\r\n }\r\n\r\n async deletePdsLink(row, action: ConfirmModalActions) {\r\n if (action === 'confirm') {\r\n row.selectedFlag = !await this.api.updatePdsLinks(this.entityUriParams, row.productDisclosureId, false);\r\n row.isDelete = false;\r\n this.isDelete = false;\r\n }\r\n }\r\n\r\n clickReferrer(row) {\r\n this.currentlySelectedReferrer = row;\r\n }\r\n\r\n addReferrer(row = {}) {\r\n this.config.referrers.unshift(row);\r\n this.editReferrer(this.config.referrers[0]);\r\n }\r\n\r\n editReferrer(row, action = 'edit') {\r\n this.isEdit = action === 'edit';\r\n row.isEdit = action === 'edit';\r\n\r\n if (row.isEdit) {\r\n this.getAvailableReferrers(row);\r\n\r\n row.editModel = { ...row };\r\n this.initializeReferrerValidation(row.editModel);\r\n } else {\r\n this.validationController.reset();\r\n row.entityReferrerId ? delete row.editModel : this.config.referrers.shift();\r\n }\r\n }\r\n\r\n deleteReferrer(row, action = 'delete') {\r\n this.isDelete = action === 'delete';\r\n row.isDelete = action === 'delete';\r\n }\r\n\r\n async saveReferrer(row) {\r\n try {\r\n let result;\r\n\r\n if (row.isDelete) {\r\n result = await this.api.deleteReferrer(this.entityUriParams, row);\r\n } else {\r\n const isValid = (await this.validationController.validate()).valid;\r\n\r\n if(isValid){\r\n if (row.entityReferrerId) {\r\n result = await this.api.patchReferrer(this.entityUriParams, row.editModel);\r\n } else {\r\n result = await this.api.postReferrer(this.entityUriParams, row.editModel);\r\n }\r\n }\r\n }\r\n\r\n if(result) {\r\n this.config.referrers = await this.getReferrals();\r\n this.getAvailableReferrers();\r\n this.isEdit = false;\r\n this.isDelete = false;\r\n }\r\n\r\n } catch (error) {\r\n this.isEdit = false;\r\n this.isDelete = false;\r\n }\r\n }\r\n\r\n initializeReferrerValidation(editModel) {\r\n ValidationRules.off(editModel)\r\n\r\n ValidationRules.ensure((x: any) => x.referrerId)\r\n .required()\r\n .on(editModel);\r\n }\r\n\r\n private getAvailableReferrers(row?) {\r\n let usedReferrerIds;\r\n\r\n if(row) {\r\n usedReferrerIds = this.config.referrers.filter((x) => x.entityReferrerId && x.referrerId != row.referrerId).map((x) => ({ referrerId: x.referrerId }));\r\n } else {\r\n usedReferrerIds = this.config.referrers.map((x) => ({ referrerId: x.referrerId }));\r\n }\r\n\r\n this.availableReferrers = (differenceBy(this.config.availableReferrers, usedReferrerIds, 'referrerId')).map((x) => ({id: x.referrerId, label: x.referrerName}));\r\n }\r\n\r\n getReferrerWarningLabel(row) {\r\n const messages = []\r\n\r\n if(!row.referrerActive) {\r\n messages.push(this.i18n.tr('referrerIsInactive'));\r\n }\r\n\r\n if(!row.activeOnClient) {\r\n messages.push(this.i18n.tr('referrerIsInactiveOnClient'));\r\n }\r\n\r\n return messages\r\n }\r\n\r\n get getReferrerFeeTotal() {\r\n let sum = 0;\r\n\r\n this.config.referrers.forEach((referrer) => {\r\n if (referrer.referrerFee) {\r\n sum += parseFloat(referrer.referrerFee);\r\n }\r\n });\r\n\r\n return evenRound(sum, 2);\r\n }\r\n\r\n referrerIdChanged(referrer) {\r\n referrer.editModel.referrerFee = this.recommendedInsurer.defaultReferralFees.find((x) => x.referralId == referrer.editModel.referrerId)?.referralFee;\r\n }\r\n\r\n async showPayeeModal() {\r\n const model = {\r\n clientId: this.params.id,\r\n entityId: this.params.entityId,\r\n parentEntityId: this.params.parentEntityId,\r\n actionType: this.params.actionType,\r\n entityType: this.params.entityType,\r\n entityMode: this.params.entityMode,\r\n coverVersion: this.params.entityType === 'quote' ? this.config.coverNumber + '/0' : this.config.coverVersion}\r\n\r\n this.modal.show().content(IaMultiPayee, { model: model, callback: this.multiPayeeCallback }).withOptions({type: 'wide-xxl'});\r\n }\r\n\r\n multiPayeeCallback = async () => {\r\n await this.getMultiplePayeeConfig();\r\n };\r\n\r\n async getMultiplePayeeConfig() {\r\n this.multiplePayeeConfig = await this.api.getMultiplePayeeConfig(this.entityUriParams);\r\n this.calculateConfigTotals(this.multiplePayeeConfig.totalAvailable);\r\n this.calculateConfigTotals(this.multiplePayeeConfig.totalAllocated);\r\n }\r\n\r\n calculateConfigTotals(object: MultiplePayeeConfigAllocatedAvailable ){\r\n object.total = new BigNumber(object.premium)\r\n .plus(this.appClientType === 'AU' ? 0 : object.earthquakePremium)\r\n .plus(this.appClientType === 'AU' ? 0 : object.earthquakeLevy)\r\n .plus(object.fsl)\r\n .plus(object.gst)\r\n .plus(this.appClientType === 'AU' ? object.stampDuty : 0)\r\n .plus(object.insurerAdminFee)\r\n .plus(object.insurerAdminFeeGst)\r\n .plus(object.adviserServiceFee)\r\n .plus(object.adviserServiceFeeGst)\r\n .plus(object.administrationFee)\r\n .plus(object.administrationFeeGst)\r\n .minus(object.discountValue)\r\n .toNumber();\r\n }\r\n\r\n\r\n addPdsText() {\r\n this.showPdsDetails = true;\r\n this.editPdsText();\r\n }\r\n\r\n editPdsText(action = 'edit') {\r\n this.isEdit = action === 'edit';\r\n this.isPdsTextEdit = action === 'edit';\r\n\r\n if (this.isPdsTextEdit) {\r\n this.originalPdsText = this.pdsText;\r\n this.initializePdsTextValidation();\r\n } else {\r\n this.validationController.reset();\r\n this.pdsText = this.originalPdsText;\r\n this.showPdsDetails = this.pdsText?.length > 0;\r\n }\r\n }\r\n\r\n deletePdsText(action = 'delete') {\r\n this.isDelete = action === 'delete';\r\n this.isPdsTextDelete = action === 'delete';\r\n }\r\n\r\n async savePdsText() {\r\n try {\r\n let result;\r\n\r\n const isValid = (await this.validationController.validate()).valid;\r\n\r\n if(isValid){\r\n result = await this.api.patchPdsText(this.entityUriParams, this.isPdsTextDelete ? null : this.pdsText);\r\n\r\n if(result) {\r\n this.getPdsText();\r\n\r\n this.isPdsTextEdit = false;\r\n this.isPdsTextDelete = false;\r\n this.isEdit = false;\r\n this.isDelete = false;\r\n }\r\n }\r\n\r\n } catch (error) {\r\n this.isEdit = false;\r\n this.isDelete = false;\r\n }\r\n }\r\n\r\n initializePdsTextValidation() {\r\n ValidationRules.off(this)\r\n\r\n ValidationRules.ensure((x: any) => x.pdsText)\r\n .required()\r\n .when((x: any) => x.isPdsTextEdit)\r\n .on(this);\r\n }\r\n}\r\n"],"names":["FinaliseDistribute","api","toastr","taskQueue","i18n","lookups","ea","claimsService","validationControllerFactory","modal","_this","this","insurers","premiumFunders","premiumFunderStatus","premiumFunderStatusActions","ufiAsicExemptionType","ufiAtypicalRiskClass","ufiCustomisedReason","pdsLinks","pdsLinksOptions","showDeclineInsurer","showAddPdsLinks","selectedPdsIds","currentlySelectedPds","showUpdatePremiumFunder","showUpdateUfiInfo","showUpdateSoa","showUpdateConflictsOfInterest","hasOnlineFundingPermission","relevantRelationshipSettings","height","soaSettings","styles","_finalise_distribute_css__WEBPACK_IMPORTED_MODULE_7__","A","model","isDirty","selectedSoaTypeId","isEdit","isDelete","availableReferrers","showReferrerModal","showDeleteReferrerModal","currentlySelectedReferrer","entityReferrerId","undefined","referrerId","referrerFee","pdsText","originalPdsText","isPdsTextEdit","isPdsTextDelete","showPdsDetails","funderMappingRisks","funderMappingUnderwriters","funderUnderwriters","funderUnderwritersTableFilters","currentPage","pageSize","totalItems","beforePagination","filters","value","keys","isPremiumFunderQuoteSubmitting","premiumFunderQuoteSubmissionMode","premiumFunderQuoteSubmissionResult","premiumFunderQuoteResultTitle","premiumFunderQuoteResultMessage","isPremiumFunderSyncing","multiPayeeCallback","__awaiter","getMultiplePayeeConfig","_a","sent","validationController","createForCurrentScope","addRenderer","resources_form_validation_renderer__WEBPACK_IMPORTED_MODULE_19__","r","Object","defineProperty","prototype","isTotalBrokerageGreaterThanZero","config","coInsuredFlag","some","x","totalBrokerage","_b","recommendedInsurer","validEntityTypeActionTypeCombo","params","entityType","_quotes_interfaces__WEBPACK_IMPORTED_MODULE_2__","ck","Quote","Incomplete","Policy","actionType","appClientType","suppressConsentDetails","isRetailClient","parseInt","tr","commissionRate","selectedPremiumFunder","lodash_isNil__WEBPACK_IMPORTED_MODULE_9___default","percentageValue","resources_even_round__WEBPACK_IMPORTED_MODULE_16__","$","Number","isFinite","concat","toFixed","length","i","ufiInsurerFlag","insurerUfi","asicExemptionTypeId","_resources_models_client__WEBPACK_IMPORTED_MODULE_0__","K8","HighValueInsured","entityMode","AtypicalRisks","atypicalRiskClassId","Customised","customisedReasonId","customisedOtherDetail","trim","MandatoryForeign","revenue","assets","employees","revenueValid","resources_constants__WEBPACK_IMPORTED_MODULE_11__","yd","assetsValid","employeesValid","filter","activeFlag","map","id","premiumFunderId","label","premiumFunderCode","premiumFunderName","useInterface","isMultiplePayeeFlag","hasOnlineInterface","$useInterface","hasBackgroundInterface","$useBackgroundInterface","coInsuredRequiresBothInterfaces","disablePremiumFunderUpdate","selectedPremiumFunderId","premiumFundedValue","isNaN","selectedFunderMappingRisk","selectedFunderMappingUnderwriter","selectedFunderUnderwriter","candidate","findFunderWithOnlineInterface","funderSupportsOnlineInterface","findFunderWithBackgroundInterface","funderSupportsBackgroundInterface","premiumFunderStatusActionId","description","hasQuoteEnquiryUrl","quoteEnquiryUrl","isFundingEqualToTotalDueByClient","acceptedFundingNotEqualToTotalDueByClient","hasExistingQuoteEnquiryUrl","acceptedFundingPreviouslySentViaRedPlanet","getTotalDueByClient","totalDueByClient","fundedAmount","resources_utilities_funder_insurer_mismatch__WEBPACK_IMPORTED_MODULE_27__","VG","enabled","performFunderInsurerMismatchCheck","primaryInsurer","underwriterSource","getFinaliseFunderUnderwriterSource","savedUnderwriter","fallbackUnderwriter","chosenRedPlanetUnderwriterAbn","chosenRedPlanetUnderwriterCode","chosenRedPlanetUnderwriterName","abn","getUnderwriterFieldValue","code","name","primary","fallback","$L","Edit","declineInsurer","declineByInsurerComment","l","selectedFlag","bind","hasAsync","clientSavedSubscription","subscribe","lf","clientSaved","__generator","generalDetails","clientActiveStatusSubscription","clientActiveStatus","event","clientGeneralDetails","active","clientActive","unbind","dispose","activate","entityUriParams","uN","entityId","loadInitialData","getAdviceType","adviceType","defaultRecommendedForSingleInsurer","publish","soaTypeIdChanged","putAdviceType","validate","resources_parse_jwt__WEBPACK_IMPORTED_MODULE_15__","jl","getLookupData","getFinaliseConfig","getInsurers","getPdsLinks","getPdsText","getPremiumFunderDetails","getInsurerUfiDetails","getAdvice","getConflictsOfInterest","premiumFunderStatusTypes","_f","_c","asicExemptionType","_d","aTypicalRiskClass","_e","customisedReason","availableFunders","getAvailableReferrers","find","recommendedFlag","forEach","underwriters","u","percentageHeld","showNoUnderWriterAlert","isMppEnd","canChangeRecommendedInsurerFlag","declineByInsurerFlag","recommendedInsurerUpdated","updatePdsLinks","productDisclosureId","getReferrals","resetEditDelete","getReferrers","ufiInformationPresent","getUfiDetails","originalInsurerUfi","__assign","getSoaAdvice","soaAdvice","htmlContent","originalSoaAdvice","getSoaRelationships","soaRelationships","originalSoaRelationships","getGeneralDetails","result","clientTypeId","clientCode","clientName","consentReceivedDate","openConsentModal","show","content","components_client_profile_modal_client_profile_modal__WEBPACK_IMPORTED_MODULE_23__","o","clientId","profilePageId","resources_enums__WEBPACK_IMPORTED_MODULE_24__","AI","CONSENT","withOptions","type","confirmUpdateUfiInfo","vG","updateUfiInfo","action","ufiInfoUpdated","entityUnauthorisedForeignInsurerDetailId","createUfiDetails","updateUfiDetails","funderSelected","matchingFunder","f","useBackgroundInterface","originalPremiumFunder","getPremiumFunder","selectedPremiumFunderIdChanged","selectedFunder","quoteIssuedToClientId","selectedPremiumFunderStatusActionId","reduce","total","bignumber_js__WEBPACK_IMPORTED_MODULE_17__","plus","toNumber","getPremiumFunderStatusAction","a","funder","selectedPremiumFunderStatusActionIdChanged","statusActionId","premiumFunderStatusId","getPremiumFunderStatus","s","deletePremiumFunder","row","confirmDeletePremiumFunder","deletePremiumFunderDetails","entityFunderId","confirmAddSoa","confirmAddConflictsOfInterest","updateAdvice","queueMicroTask","soaAdviceVM","refreshContent","deleteSoaAdvice","updateSoaAdvice","X2","updateConflictsOfInterest","soaRelationshipsVM","deleteSoaRelationships","updateSoaRelationships","getFundedAmounLabel","clientCosts","confirmAddPremiumFunder","fundedAmounLabel","resetPremiumFunderSubmissionState","md","PremiumFunder","clearFunderMapping","confirmUpdatePremiumFunder","paymentDueDate","resources_moment_helpers__WEBPACK_IMPORTED_MODULE_13__","pK","premiumFunderOptions","getFunderMapping","clientInsuredPartyId","risks","redPlanetRiskCode","chosenRedPlanetRiskCode","beginPremiumFunderQuoteSubmission","mode","setPremiumFunderQuoteSubmissionResult","title","message","preserveResult","dismissPremiumFunderSubmissionResult","resetSelectedPremiumFunderState","submitPremiumFunderBackgroundQuote","Promise","fundCover","n3","resources_utilities_insecure_guid__WEBPACK_IMPORTED_MODULE_26__","cy","request","B9","shouldResetSpinner","createBackgroundQuote","response","statusCode","payload","resolveBackgroundQuotePayload","backgroundQuote","errors","extractBackgroundQuoteErrors","isServerError","toast","resources_services_ia_toast_service__WEBPACK_IMPORTED_MODULE_8__","V","formatErrorsForToast","error","fallbackMessage","resolveBackgroundQuoteMessage","updatePremiumFunder","action_1","onlineFund","backgroundFund","premiumFunderUpdated","backgroundQuoteSuccessful","onlineQuoteSuccessful","paymentDueDateForApi","includes","moment__WEBPACK_IMPORTED_MODULE_12___default","utc","toISOString","_g","createPremiumFunderDetails","_m","updatePremiumFunderDetails","canOpenPortal","window","open","placeholderWindow","createRedPlanetQuote","redPlanetQuote","_h","url","fundingPreviouslySentViaRedPlanet","location","href","_j","focus","call","onlineQuote","_l","_k","join","close","hasClientAcceptanceLink","successTitle","successMessage","warningTitle","warningMessage","syncPremiumFunderQuote","Error","success","errorMessage","premiumFunderChanged","quoteNo","loanNo","modifyPolicyFunderStatusActionChanged","result_1","defaultRedPlanetRiskCode","defaultRedPlanetUnderwriterCode","insurerAbns_1","ps","matchingUnderwriters","uw","Ar","queueTask","openQuoteEnquiryUrl","portalWindow","getFunderMappingRiskLabel","option","redPlanetRiskName","getFunderMappingUnderwriterLabel","showFunderUnderwriterModal","components_ia_premium_funder_underwriter_lookup_ia_premium_funder_underwriter_lookup__WEBPACK_IMPORTED_MODULE_25__","modalId","Array","isArray","key","getClientAcceptanceUrl","accessDetails","getAccessDetails","rawUrl","clientAcceptanceUrl","booleanFlag","normaliseBooleanFlag","hasClientAcceptanceUrl","normalised","toLowerCase","normalise","nested","friendly","friendlyError","errorKey","push","item","friendlyErrors","index","collection","indexOf","cleanErrorMessage","payload_1","__values","payload_1_1","next","done","replace","declineByInsurerUpdated","insurer","declineByInsurer","updateDeclineByInsurerFlag","entityInsurerId","updateInsurerRecommendedFlag","referrers","showAddPdsLinksModal","clickPds","selectAllPdsIds","target","checked","deletePds","addPdsLink","all","deletePdsLink","clickReferrer","addReferrer","unshift","editReferrer","editModel","initializeReferrerValidation","reset","shift","deleteReferrer","saveReferrer","valid","patchReferrer","postReferrer","aurelia_validation__WEBPACK_IMPORTED_MODULE_18__","ValidationRules","off","ensure","required","on","usedReferrerIds","lodash__WEBPACK_IMPORTED_MODULE_20__","differenceBy","referrerName","getReferrerWarningLabel","messages","referrerActive","activeOnClient","sum","referrer","parseFloat","referrerIdChanged","defaultReferralFees","referralId","referralFee","showPayeeModal","parentEntityId","coverVersion","coverNumber","components_ia_multi_payee_ia_multi_payee__WEBPACK_IMPORTED_MODULE_22__","Q","callback","multiplePayeeConfig","calculateConfigTotals","totalAvailable","totalAllocated","object","premium","earthquakePremium","earthquakeLevy","fsl","gst","stampDuty","insurerAdminFee","insurerAdminFeeGst","adviserServiceFee","adviserServiceFeeGst","administrationFee","administrationFeeGst","minus","discountValue","addPdsText","editPdsText","initializePdsTextValidation","deletePdsText","savePdsText","patchPdsText","when","__decorate","aurelia_framework__WEBPACK_IMPORTED_MODULE_3__","observable","computedFrom","autoinject","_api__WEBPACK_IMPORTED_MODULE_6__","j","VC","aurelia_task_queue__WEBPACK_IMPORTED_MODULE_4__","P","aurelia_i18n__WEBPACK_IMPORTED_MODULE_5__","I18N","resources_services_lookup_data__WEBPACK_IMPORTED_MODULE_10__","g","aurelia_event_aggregator__WEBPACK_IMPORTED_MODULE_1__","EventAggregator","resources_services_claims_service__WEBPACK_IMPORTED_MODULE_14__","B","ValidationControllerFactory","components_modal_modal_service__WEBPACK_IMPORTED_MODULE_21__"],"sourceRoot":""}