{"version":3,"file":"app-1cadf792.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/routes/app-adviser/client/wizard/steps/quote/risk-package-costs/risk-package-costs.html","webpack://iadviser/./src/routes/app-adviser/client/wizard/steps/quote/risk-package-costs/risk-package-costs.css","webpack://iadviser/./src/routes/app-adviser/client/wizard/steps/quote/risk-package-costs/risk-package-costs.ts"],"sourcesContent":["// Module\nvar code = \"\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ${insurer.insurerOfficeName}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ${'gstExemptWarning' & t} ${gstExemptEntities.join(', ')}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n Insurer Clauses (${selectedInsurer.insurerClauseCount})\\r\\n 0 ? 'insurer-referrals' : ''}\\\" type=\\\"button\\\" click.trigger=\\\"getList('referral')\\\" disabled.bind=\\\"!selectedInsurer.referralIssuesPresent\\\">Insurer Referrals (${selectedInsurer.referralIssueCount})\\r\\n ${'insurerDocuments' & t} (${selectedInsurer.insurerDocumentCount || 0})\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n ${changeRiskPackageCostTitle}\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Validating...\\r\\n Submitting...\\r\\n\\r\\n \\r\\n Success! Your quote has been submitted.\\r\\n You will receive an email once the quote is complete and quote details updated to ${appClientType === 'AU' ? 'Aurora' : 'iBroker'}.\\r\\n If you do not receive an email within 30 minutes you may contact your helpdesk for further assistance.\\r\\n \\r\\n\\r\\n \\r\\n Note! Insurer(s) ${botPreviouslyRequestedForInsurerCodes.join(\\\", \\\")} have already been submitted to the Bot.\\r\\n By submitting these Insurers again new quotes will be created in the Insurer portal and replace existing premiums, clauses and referrals in ${appClientType === 'AU' ? 'Aurora' : 'iBroker'}.\\r\\n We recommend you resubmit ALL previous Insurers so their results are provided on the same basis as this request.\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Insurer ${listType === 'clause' ? 'Clauses' : 'Referrals'}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n All insurer ${listType === 'clause' ? 'clauses' : 'referrals'} have been deleted.\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ${listType === 'clause' ? row.clauseCodeAndDescription : row.referralMessage}\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n ${'insurerDocuments' & t} - ${selectedInsurer.insurerOfficeName}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ${row.documentName}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n ${'Reason(s)' & t}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n Override Comment\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n\";\n// Exports\nexport default code;","// extracted by mini-css-extract-plugin\nexport default {\"screen-container\":\"screen-container____IRzBo\",\"screen-container--client\":\"screen-container--client____lgk24 screen-container____IRzBo\",\"screen-container--dashboard\":\"screen-container--dashboard____SfXMJ screen-container--client____lgk24 screen-container____IRzBo\",\"screen-container--home\":\"screen-container--home____UviQE screen-container____IRzBo\",\"screen-container--menu\":\"screen-container--menu____Q9ktg screen-container____IRzBo\",\"screen-container--accounts-override\":\"screen-container--accounts-override____y1Xbk screen-container____IRzBo\",\"screen-container--accounts-override-xxl\":\"screen-container--accounts-override-xxl____Ioc8G screen-container____IRzBo\",\"empty-state\":\"empty-state____WOYPj\",\"empty-state--icon\":\"empty-state--icon____BuwW4\",\"empty-heading\":\"empty-heading____G5oub\",\"empty-subheading\":\"empty-subheading____puQMx\",\"kyc\":\"kyc____yNdFk\",\"advice\":\"advice____lt4Hn\",\"insured\":\"insured____j7DmG\",\"quotes\":\"quotes____VqUFK\",\"policies\":\"policies____MyEhB\",\"claims\":\"claims____j99HF\",\"tasks\":\"tasks____T7m7B\",\"documents\":\"documents____pNpQx\",\"forms\":\"forms____rAbmM\",\"btn\":\"btn____p6ykY\",\"btn--flat\":\"btn--flat____iaRc8 btn____p6ykY\",\"btn--submit\":\"btn--submit____dWOPH btn____p6ykY\",\"btn--delete\":\"btn--delete____o2gIv btn____p6ykY\",\"btn--link\":\"btn--link____xZNZx btn____p6ykY\",\"btn--inline-text-link\":\"btn--inline-text-link____t6HPK btn--link____xZNZx btn____p6ykY\",\"btn--footer\":\"btn--footer____iDi32 btn____p6ykY\",\"btn--footer-submit\":\"btn--footer-submit____Jgdj_ btn--submit____dWOPH btn____p6ykY btn--footer____iDi32 btn____p6ykY\",\"btn--footer-cancel\":\"btn--footer-cancel____kSj6E\",\"btn--footer---cancel\":\"btn--footer---cancel____Y1GG5\",\"btn--footer-delete\":\"btn--footer-delete____EQxjC btn--delete____o2gIv btn____p6ykY btn--footer____iDi32 btn____p6ykY\",\"btn--qce-dropdown\":\"btn--qce-dropdown____dUwRt btn--footer-submit____Jgdj_ btn--submit____dWOPH btn____p6ykY btn--footer____iDi32 btn____p6ykY\",\"btn--footer-combo\":\"btn--footer-combo____MM_AZ btn--footer____iDi32 btn____p6ykY\",\"btn--lmi-bicalc\":\"btn--lmi-bicalc____e8PHU btn____p6ykY\",\"btn--lmi-risk\":\"btn--lmi-risk____a8HCZ btn____p6ykY\",\"btn--lmi-policy-comparison\":\"btn--lmi-policy-comparison____JtqOO btn____p6ykY\",\"btn--lmi-policy-coach\":\"btn--lmi-policy-coach____lVQKX btn____p6ykY\",\"btn--andrew-nock\":\"btn--andrew-nock____lZNDh btn____p6ykY\",\"btn--construction-cost-consultants\":\"btn--construction-cost-consultants____VeNM6 btn____p6ykY\",\"btn--5-star\":\"btn--5-star____Bm8WW btn____p6ykY\",\"btn--thermoscan\":\"btn--thermoscan____hK47f btn____p6ykY\",\"btn--risk-survey-services\":\"btn--risk-survey-services____vzrkr btn____p6ykY\",\"btn--risk-management\":\"btn--risk-management____T299T btn____p6ykY\",\"btn--lmi-bicalc--disabled\":\"btn--lmi-bicalc--disabled____JQ3Rd btn--lmi-bicalc____e8PHU btn____p6ykY\",\"btn--lmi-risk--disabled\":\"btn--lmi-risk--disabled____ZFJ3O btn--lmi-risk____a8HCZ btn____p6ykY\",\"btn--lmi-policy-comparison--disabled\":\"btn--lmi-policy-comparison--disabled____TYREg btn--lmi-policy-comparison____JtqOO btn____p6ykY\",\"btn--initial-insured-location-risk\":\"btn--initial-insured-location-risk____sJt4f btn--flat____iaRc8 btn____p6ykY btn____p6ykY\",\"btn--icon\":\"btn--icon____yq7cr btn____p6ykY\",\"btn--icon-no-border\":\"btn--icon-no-border____e1mwz\",\"btn--icon-add\":\"btn--icon-add____btPij btn--icon____yq7cr btn____p6ykY\",\"btn--add-risk\":\"btn--add-risk____fUxPe btn--icon____yq7cr btn____p6ykY\",\"btn--icon-close\":\"btn--icon-close____xEGz6\",\"task-access-modal__close\":\"task-access-modal__close____f56fv\",\"btn--icon-delete\":\"btn--icon-delete____BBKeF btn--icon____yq7cr btn____p6ykY\",\"btn--icon-download\":\"btn--icon-download____m67OM btn--icon____yq7cr btn____p6ykY\",\"btn--icon-edit\":\"btn--icon-edit____nH95n btn--icon____yq7cr btn____p6ykY\",\"btn--icon-email\":\"btn--icon-email____m5tq_ btn--icon____yq7cr btn____p6ykY\",\"btn--icon-download-email\":\"btn--icon-download-email____NuF7r btn--icon____yq7cr btn____p6ykY\",\"btn--icon-folder\":\"btn--icon-folder____iDOIh btn--icon____yq7cr btn____p6ykY\",\"btn--icon-folder-locked\":\"btn--icon-folder-locked____FhCWJ btn--icon____yq7cr btn____p6ykY\",\"btn--icon-folder-locked-active\":\"btn--icon-folder-locked-active____crMnQ btn--icon____yq7cr btn____p6ykY\",\"btn--icon-history\":\"btn--icon-history____WBq8w btn--icon____yq7cr btn____p6ykY\",\"btn--icon-info\":\"btn--icon-info____rZuFD btn--icon____yq7cr btn____p6ykY\",\"btn--icon-task\":\"btn--icon-task____rvV8a btn--icon____yq7cr btn____p6ykY\",\"btn--icon-link\":\"btn--icon-link____fdDOt btn--icon____yq7cr btn____p6ykY\",\"btn--icon-unlink\":\"btn--icon-unlink____er4wf btn--icon-delete____BBKeF btn--icon____yq7cr btn____p6ykY\",\"btn--icon-map\":\"btn--icon-map____SRE26 btn--icon____yq7cr btn____p6ykY\",\"btn--icon-more\":\"btn--icon-more____R3yBh btn--icon____yq7cr btn____p6ykY\",\"btn--icon-open-in-new-window\":\"btn--icon-open-in-new-window____KwB3p btn--icon____yq7cr btn____p6ykY\",\"btn--icon-favourite--selected\":\"btn--icon-favourite--selected____YjqRn btn--icon____yq7cr btn____p6ykY\",\"btn--icon-favourite--deselected\":\"btn--icon-favourite--deselected____byjpv btn--icon____yq7cr btn____p6ykY\",\"btn--icon-preview\":\"btn--icon-preview____N9AAr btn--icon____yq7cr btn____p6ykY\",\"btn--icon-pre-printed\":\"btn--icon-pre-printed____aVdyd btn--icon____yq7cr btn____p6ykY\",\"btn--icon-print\":\"btn--icon-print____gjBoQ btn--icon____yq7cr btn____p6ykY\",\"btn--icon-save\":\"btn--icon-save____R4ytm btn--icon____yq7cr btn____p6ykY\",\"btn--icon-settings\":\"btn--icon-settings____C9ZTi btn--icon____yq7cr btn____p6ykY\",\"btn--icon-show-details\":\"btn--icon-show-details____htYO7 btn--icon____yq7cr btn____p6ykY\",\"btn--icon-show-details--alert\":\"btn--icon-show-details--alert____UJw58 btn--icon____yq7cr btn____p6ykY\",\"btn--icon-show-summary\":\"btn--icon-show-summary____1I1Yn btn--icon____yq7cr btn____p6ykY\",\"btn--icon-attachment\":\"btn--icon-attachment____ckvWg btn--icon____yq7cr btn____p6ykY\",\"btn--icon-tag\":\"btn--icon-tag____pB_ZF btn--icon____yq7cr btn____p6ykY\",\"btn--icon-undo\":\"btn--icon-undo____wZiUd btn--icon____yq7cr btn____p6ykY\",\"btn--icon-sync\":\"btn--icon-sync____tXcSM btn--icon____yq7cr btn____p6ykY\",\"btn--icon-arrow-forward\":\"btn--icon-arrow-forward____qKOrt btn--icon____yq7cr btn____p6ykY\",\"btn--aside-collapse\":\"btn--aside-collapse____WyQpV btn--icon____yq7cr btn____p6ykY\",\"btn--icon-expand-more\":\"btn--icon-expand-more____pTr5X btn--icon____yq7cr btn____p6ykY\",\"btn--icon-expand-less\":\"btn--icon-expand-less____TrXaV btn--icon____yq7cr btn____p6ykY\",\"btn--icon-general\":\"btn--icon-general____o26MX btn--icon____yq7cr btn____p6ykY\",\"btn--icon-sales\":\"btn--icon-sales____VZXHC btn--icon____yq7cr btn____p6ykY\",\"btn--icon-branch\":\"btn--icon-branch____Cmxm7 btn--icon____yq7cr btn____p6ykY\",\"btn--icon-contact\":\"btn--icon-contact____Stgcj btn--icon____yq7cr btn____p6ykY\",\"btn--icon-consent\":\"btn--icon-consent____mBBid btn--icon____yq7cr btn____p6ykY\",\"btn--icon-questions\":\"btn--icon-questions____jg337 btn--icon____yq7cr btn____p6ykY\",\"btn--icon-associated\":\"btn--icon-associated____eJycn btn--icon____yq7cr btn____p6ykY\",\"btn--icon-notes\":\"btn--icon-notes____RF8YK btn--icon____yq7cr btn____p6ykY\",\"btn--back\":\"btn--back____pxs24\",\"btn--back-to-sign-in\":\"btn--back-to-sign-in____vCUP0 btn--back____pxs24\",\"btn--icon-advanced-search\":\"btn--icon-advanced-search____DQclE btn--icon____yq7cr btn____p6ykY\",\"btn--wizard\":\"btn--wizard____p3AQv btn____p6ykY\",\"btn--wizard-back\":\"btn--wizard-back____sJp94 btn--wizard____p3AQv btn____p6ykY\",\"btn--wizard-next\":\"btn--wizard-next____sSaEE btn--wizard____p3AQv btn____p6ykY\",\"task-delete-confirm-modal__delete\":\"task-delete-confirm-modal__delete____YpJGn\",\"task-delete-confirm-modal__cancel\":\"task-delete-confirm-modal__cancel____vItOo\",\"button-options\":\"button-options____D9TJZ\",\"cancel\":\"cancel____I3eOT\",\"tasksubmit\":\"tasksubmit____HcC5Z\",\"forgotPasswordBtn\":\"forgotPasswordBtn____Jet4P\",\"show-complet-tasks\":\"show-complet-tasks____Y68cB\",\"fieldset\":\"fieldset____IqQIA\",\"fieldset-instruction\":\"fieldset-instruction____QpOof\",\"fieldset--no-padding\":\"fieldset--no-padding____YtlLW fieldset____IqQIA\",\"fieldset--alt\":\"fieldset--alt____O8nME fieldset____IqQIA\",\"input-search\":\"input-search____UArL3\",\"view-password\":\"view-password____pDlmj\",\"ia-currency-input\":\"ia-currency-input____Tou8U\",\"ia-currency-negative\":\"ia-currency-negative____mgrtz\",\"select--mini\":\"select--mini____o0D1A\",\"required-label\":\"required-label____haNa9\",\"alert\":\"alert____M1ia7\",\"alert--important\":\"alert--important____uvg7q\",\"input-label\":\"input-label____DFBhn\",\"w-100\":\"w-100____zW4nd\",\"search-input-wrapper\":\"search-input-wrapper_____2SoE\",\"search-input--results\":\"search-input--results____giqeD\",\"search-input--result\":\"search-input--result____yVZ0O\",\"search-input--result--highlighted\":\"search-input--result--highlighted____EYWmf\",\"date-range-selections\":\"date-range-selections____UGHKj\",\"date-arrow-forward\":\"date-arrow-forward____v35GX\",\"qce-dropdown\":\"qce-dropdown____AchVJ\",\"qce-or\":\"qce-or____JLkfo\",\"qce-dropdown-with-dropdown\":\"qce-dropdown-with-dropdown____X3BW3\",\"qce-vehicle-registration-search\":\"qce-vehicle-registration-search____uNvAM\",\"row-gap\":\"row-gap____t73ih\",\"row-group\":\"row-group____omBZj\",\"row-group--three\":\"row-group--three____nPXKU row-group____omBZj\",\"grid-14\":\"grid-14____dw0hQ\",\"row-group--auto\":\"row-group--auto____TX2jn row-group____omBZj\",\"space\":\"space____eF9cT\",\"display-none--lg\":\"display-none--lg____JQaL5\",\"display-none--md\":\"display-none--md____YG4oX\",\"tab-navigation\":\"tab-navigation____GwvrJ\",\"has-warnings\":\"has-warnings____Qw8jy\",\"tab-selected\":\"tab-selected____TT9B8 tab____CTCpq\",\"disabled\":\"disabled____apmOE\",\"tab\":\"tab____CTCpq\",\"btn--tab-overflow\":\"btn--tab-overflow____O8Pte\",\"btn--tab-overflow-left\":\"btn--tab-overflow-left____MkEE4 btn--tab-overflow____O8Pte\",\"btn--tab-overflow-left-disabled\":\"btn--tab-overflow-left-disabled____f38KE btn--tab-overflow-left____MkEE4 btn--tab-overflow____O8Pte\",\"btn--tab-overflow-right\":\"btn--tab-overflow-right____ktM8T btn--tab-overflow____O8Pte\",\"btn--tab-overflow-right-disabled\":\"btn--tab-overflow-right-disabled____C2uwa btn--tab-overflow-right____ktM8T btn--tab-overflow____O8Pte\",\"constrained-width\":\"constrained-width____HoDk0\",\"constrained-width--tab\":\"constrained-width--tab____Rb4RV constrained-width____HoDk0\",\"card\":\"card____p5yDN\",\"card-content\":\"card-content____j3IPC\",\"card-heading\":\"card-heading____AWJzS\",\"control-group\":\"control-group____wBSkY\",\"label-group\":\"label-group____lMQU2\",\"label-group-item\":\"label-group-item____sDfCk\",\"button-group\":\"button-group____UV6Mj checkbox-group____YE3uX\",\"card--alert\":\"card--alert_____SbN1 card____p5yDN\",\"card-heading--alert\":\"card-heading--alert____CBiu6 card-heading____AWJzS\",\"card--status-message\":\"card--status-message____XxMjs\",\"card--status-message--left\":\"card--status-message--left____X9rti card--status-message____XxMjs\",\"card-heading--sticky-header\":\"card-heading--sticky-header____q69lu\",\"card-heading--no-icon\":\"card-heading--no-icon____MjXfV card-heading____AWJzS\",\"card-heading--bold-title\":\"card-heading--bold-title____Bz2ND\",\"bg-blue-sky\":\"bg-blue-sky____cAvTn\",\"card-heading--advanced-search-results\":\"card-heading--advanced-search-results____ZhVbF\",\"table\":\"table____qVgjv\",\"table-heading-row\":\"table-heading-row____exmJK\",\"table-row\":\"table-row____YNWNd\",\"table-result-row\":\"table-result-row____qfvim\",\"break-word\":\"break-word____kiwhh\",\"no-wrap\":\"no-wrap____IUSWn\",\"table-result-row--disabled\":\"table-result-row--disabled____it_nz\",\"table-modal\":\"table-modal____LwYYR table____qVgjv\",\"table-enhanced\":\"table-enhanced____Ul0v_\",\"table--no-border-bottom\":\"table--no-border-bottom____qdw65 table____qVgjv\",\"height-45\":\"height-45____rzHOJ\",\"edit-column\":\"edit-column____NR6Oz\",\"delete-column\":\"delete-column____EYmGc\",\"date-table-heading\":\"date-table-heading____O78ku\",\"button-edit\":\"button-edit____dj4ST\",\"button-delete\":\"button-delete____nUSv9\",\"table-row-selected\":\"table-row-selected____LGfe8\",\"table-row-alert\":\"table-row-alert____E4XC8\",\"table-filter-row\":\"table-filter-row____NYz4c\",\"table-filter-row--endcap\":\"table-filter-row--endcap____ywAyD\",\"filter-column\":\"filter-column____lBWc8\",\"table-pagination\":\"table-pagination____OaL6j\",\"table-pagination-with-filter\":\"table-pagination-with-filter____fd27g table-pagination____OaL6j\",\"table-button-group\":\"table-button-group_____slKf\",\"table-child-container\":\"table-child-container____BF9eA\",\"table-child-card\":\"table-child-card____EgtHG\",\"child-table--selected-row\":\"child-table--selected-row____BdsJR\",\"child-table\":\"child-table____Wb6Ak table____qVgjv\",\"custom-pagination\":\"custom-pagination____enZXU\",\"pagination-count\":\"pagination-count____tvCv1\",\"pagination-button\":\"pagination-button____Ytd5V btn____p6ykY\",\"pagination-prev\":\"pagination-prev____NKLMF pagination-button____Ytd5V btn____p6ykY\",\"pagination-next\":\"pagination-next____NaSsX pagination-button____Ytd5V btn____p6ykY\",\"pagination-disabled\":\"pagination-disabled____CajnF pagination-button____Ytd5V btn____p6ykY\",\"pagination-prev-disabled\":\"pagination-prev-disabled____HZ7ZL pagination-disabled____CajnF pagination-button____Ytd5V btn____p6ykY\",\"pagination-next-disabled\":\"pagination-next-disabled____c1gyb pagination-disabled____CajnF pagination-button____Ytd5V btn____p6ykY\",\"pagination\":\"pagination____uGlan\",\"pagination-top\":\"pagination-top____TPL7I pagination____uGlan\",\"pagination-bottom\":\"pagination-bottom____jOqvk pagination____uGlan\",\"pagination-bottom--documents\":\"pagination-bottom--documents____RDNCT pagination-bottom____jOqvk pagination____uGlan\",\"table-cell-btn-icon\":\"table-cell-btn-icon____XK4jw\",\"folder-table\":\"folder-table____mzldC table--no-border-bottom____qdw65 table____qVgjv\",\"doc-table-group--heading\":\"doc-table-group--heading____NL5Ju\",\"doc-table-group--heading-open\":\"doc-table-group--heading-open_____HAOK doc-table-group--heading____NL5Ju\",\"doc-table-group--heading-with-options\":\"doc-table-group--heading-with-options____D5No5\",\"constrained-width--folder-name\":\"constrained-width--folder-name____PRkwE constrained-width____HoDk0\",\"disable-entity\":\"disable-entity____DGpvD\",\"button-options--add\":\"button-options--add____HwrZZ button-options____D9TJZ\",\"information-icon\":\"information-icon_____XHaL\",\"deleted-icon\":\"deleted-icon____N1OQC\",\"exclamation-icon\":\"exclamation-icon____T8oJh\",\"success-icon\":\"success-icon____xKXiZ\",\"text-align-center\":\"text-align-center____eIrRg\",\"word-break\":\"word-break____lq5Dz\",\"btn-group\":\"btn-group____EgOxm\",\"accordion-content\":\"accordion-content____lkwyB\",\"toggle-collapse\":\"toggle-collapse____TfbtR\",\"toggle-collapse--disabled\":\"toggle-collapse--disabled____VR_PT toggle-collapse____TfbtR\",\"toggle-expand\":\"toggle-expand____qHo7o toggle-collapse____TfbtR\",\"folder\":\"folder____iafx4\",\"folder-locked\":\"folder-locked____GM4Bo folder____iafx4\",\"yesNo-filter-width\":\"yesNo-filter-width____fYuFg\",\"w-5\":\"w-5____u0SKK\",\"w-10\":\"w-10____sC1in\",\"w-15\":\"w-15____hmrhE\",\"w-20\":\"w-20____vBiEj\",\"w-25\":\"w-25____r59aZ\",\"w-30\":\"w-30____LGsTV\",\"w-35\":\"w-35____VxsuA\",\"w-40\":\"w-40____VgtTf\",\"w-45\":\"w-45____UOuhz\",\"w-50\":\"w-50____L0Lso\",\"w-60\":\"w-60____Txpbo\",\"table--sticky-header\":\"table--sticky-header____NXRv6\",\"table--sticky-footer\":\"table--sticky-footer____vQDQa\",\"table--sticky-column\":\"table--sticky-column____v9xxX\",\"table--sticky-column2\":\"table--sticky-column2____RrMKn table--sticky-column____v9xxX\",\"table--sticky-column-right\":\"table--sticky-column-right____brnUv table--sticky-column____v9xxX\",\"scrollable-table-container\":\"scrollable-table-container____y2L5C\",\"task-options-modal\":\"task-options-modal____PmyJi\",\"recent-link-name\":\"recent-link-name____ABcEJ\",\"view-block\":\"view-block____MihFj\",\"view-block--heading\":\"view-block--heading____niUt3\",\"view-block--white\":\"view-block--white____odZqh view-block____MihFj\",\"view-block--alert\":\"view-block--alert____kll0v view-block____MihFj\",\"view-block--success\":\"view-block--success____Y4TLy view-block____MihFj\",\"view-block--info\":\"view-block--info____IV7x_ view-block____MihFj\",\"view-block--warning\":\"view-block--warning____hjlCc view-block____MihFj\",\"view-block--alt\":\"view-block--alt____MiwsG view-block____MihFj\",\"view-block--with-icon\":\"view-block--with-icon____XtVJL view-block____MihFj\",\"view-block-icon\":\"view-block-icon____Znjn6\",\"view-block--warning--with-icon\":\"view-block--warning--with-icon____rQ84L view-block--warning____hjlCc view-block____MihFj\",\"view-block-checkbox\":\"view-block-checkbox____JYhIJ view-block____MihFj\",\"view-block-checkbox--alert\":\"view-block-checkbox--alert____iHlVt view-block--alert____kll0v view-block____MihFj view-block-checkbox____JYhIJ view-block____MihFj\",\"text-view-content\":\"text-view-content____tD8E3\",\"ia-modal\":\"ia-modal____qjTPZ\",\"ia-modal-inner\":\"ia-modal-inner____a7kzu\",\"ia-modal-inner--context-menu\":\"ia-modal-inner--context-menu____pcomt ia-modal-inner____a7kzu\",\"ia-modal-inner--wide-lg\":\"ia-modal-inner--wide-lg____wm2G_ ia-modal-inner____a7kzu\",\"ia-modal-inner--wide-xxl\":\"ia-modal-inner--wide-xxl____IxAZB ia-modal-inner____a7kzu\",\"ia-modal-inner--take-over\":\"ia-modal-inner--take-over____gKoVu ia-modal-inner____a7kzu\",\"fixed-height\":\"fixed-height____F1j8b\",\"takeover-header\":\"takeover-header____VFPqY\",\"logo\":\"logo_____hH9W\",\"logo--broker\":\"logo--broker____kAkN5 logo_____hH9W logo_____hH9W\",\"close-search\":\"close-search____vV2BU\",\"ia-modal-content\":\"ia-modal-content____GAlVY\",\"ia-modal-overlay--transparent\":\"ia-modal-overlay--transparent____yNBdP ia-modal____qjTPZ\",\"ia-modal-overlay--light-white\":\"ia-modal-overlay--light-white____uNTxr ia-modal____qjTPZ\",\"ia-modal-overlay--transparent--light-white-client-nav\":\"ia-modal-overlay--transparent--light-white-client-nav____LnZMl ia-modal-overlay--light-white____uNTxr ia-modal____qjTPZ\",\"modal-header\":\"modal-header____mYCBQ\",\"modal-footer\":\"modal-footer____FdxAv modal-header____mYCBQ\",\"modal-footer--space-between\":\"modal-footer--space-between____oVQyd modal-footer____FdxAv modal-header____mYCBQ\",\"footer-btn-group\":\"footer-btn-group____F_VJ_\",\"header-label\":\"header-label____LE4NP\",\"header-label-icon\":\"header-label-icon____Yv71j header-label____LE4NP\",\"header-label--alert\":\"header-label--alert____vxn1e header-label-icon____Yv71j header-label____LE4NP\",\"header-label--info\":\"header-label--info____uf8Vq header-label-icon____Yv71j header-label____LE4NP\",\"header-label--settings\":\"header-label--settings____VtpH4 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--accounts\":\"header-label--accounts____HxKqn header-label-icon____Yv71j header-label____LE4NP\",\"header-label--edit\":\"header-label--edit____SiOT_ header-label-icon____Yv71j header-label____LE4NP\",\"header-label--download\":\"header-label--download____qjYpE header-label-icon____Yv71j header-label____LE4NP\",\"header-label--delete\":\"header-label--delete____kJ1yz header-label-icon____Yv71j header-label____LE4NP\",\"header-label--history\":\"header-label--history____nOJA4 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--tag\":\"header-label--tag____Vobt8 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--search\":\"header-label--search____tlst4 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--kyc\":\"header-label--kyc____p8tGF header-label-icon____Yv71j header-label____LE4NP\",\"header-label--advice\":\"header-label--advice____oxKGn header-label-icon____Yv71j header-label____LE4NP\",\"header-label--generate-advice\":\"header-label--generate-advice____lVJFq header-label-icon____Yv71j header-label____LE4NP\",\"header-label--form\":\"header-label--form____AgQK4 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--insured\":\"header-label--insured____jGzCv header-label-icon____Yv71j header-label____LE4NP\",\"header-label--quote\":\"header-label--quote____rmq2E header-label-icon____Yv71j header-label____LE4NP\",\"header-label--policy\":\"header-label--policy____ISnpr header-label-icon____Yv71j header-label____LE4NP\",\"header-label--claim\":\"header-label--claim____Bs2mm header-label-icon____Yv71j header-label____LE4NP\",\"header-label--fsg\":\"header-label--fsg____B5sDG header-label-icon____Yv71j header-label____LE4NP\",\"header-label--mandatory-document\":\"header-label--mandatory-document____ngrj2 header-label-icon____Yv71j header-label____LE4NP\",\"header-label--notification\":\"header-label--notification____dTpix header-label-icon____Yv71j header-label____LE4NP\",\"header-label--task\":\"header-label--task____m0ZDS header-label-icon____Yv71j header-label____LE4NP\",\"header-label--contact\":\"header-label--contact____WeBlW header-label-icon____Yv71j header-label____LE4NP\",\"header-label--note\":\"header-label--note____kBTgh header-label-icon____Yv71j header-label____LE4NP\",\"header-label--document\":\"header-label--document____PLCdu header-label-icon____Yv71j header-label____LE4NP\",\"header-label--email\":\"header-label--email____TGCsU header-label-icon____Yv71j header-label____LE4NP\",\"header-label--template\":\"header-label--template____UD9u0 header-label-icon____Yv71j header-label____LE4NP\",\"header-details\":\"header-details____sJl1V\",\"header-detail-item\":\"header-detail-item____RZBYE\",\"header-label--context-menu\":\"header-label--context-menu____xdn7l header-label-icon____Yv71j header-label____LE4NP\",\"context-menu-sep\":\"context-menu-sep____clyDN\",\"context-menu--one-col\":\"context-menu--one-col____mmlJJ\",\"context-menu-disabled\":\"context-menu-disabled____nIqQz\",\"context-menu--two-col\":\"context-menu--two-col____YocRy context-menu--one-col____mmlJJ\",\"context-menu--three-col\":\"context-menu--three-col____vFX8l context-menu--two-col____YocRy context-menu--one-col____mmlJJ\",\"modal-content-copy\":\"modal-content-copy____vFykD\",\"processing-step\":\"processing-step____KsNyu\",\"processing-step--failed\":\"processing-step--failed____krZ84 processing-step____KsNyu\",\"document--processing\":\"document--processing____dZmV3\",\"eclipse-loader\":\"eclipse-loader____oRVZx\",\"confirmation-content\":\"confirmation-content____BXaZw\",\"ia-modal--search\":\"ia-modal--search____Xqo05\",\"view-block--alert--progress-modal\":\"view-block--alert--progress-modal____jGjEL view-block--alert____kll0v view-block____MihFj\",\"btn--footer--cancel\":\"btn--footer--cancel____xbkdL\",\"modal--header\":\"modal--header____C3Soh\",\"client-footer--right\":\"client-footer--right____NeJbJ\",\"wizard-button-group\":\"wizard-button-group____rZbSe\",\"wizard-nav-group\":\"wizard-nav-group____W_oFj\",\"wizard-nav-group--form\":\"wizard-nav-group--form____tXeBa wizard-nav-group____W_oFj\",\"footer-combo-selections\":\"footer-combo-selections____Esj5l\",\"btn--combo-option\":\"btn--combo-option____KYVNL\",\"footer-combo-container\":\"footer-combo-container____Yxl5q\",\"right\":\"right____HnWMg\",\"pdf-selection\":\"pdf-selection____nqB3i\",\"ia-file-upload\":\"ia-file-upload____hSEbM btn____p6ykY\",\"ia-file-upload--disabled\":\"ia-file-upload--disabled____f2K9A\",\"ia-file-info\":\"ia-file-info____bPMYo\",\"delete-pdf\":\"delete-pdf____qerma btn--icon-delete____BBKeF btn--icon____yq7cr btn____p6ykY\",\"pdf-section\":\"pdf-section____gGS_A\",\"margin-top\":\"margin-top____G7Wik\",\"new-pdf-action-buttons\":\"new-pdf-action-buttons____tq_0Y\",\"page-pdf-controls\":\"page-pdf-controls____JGPqM\",\"step-message\":\"step-message____kOg49\",\"checkbox-group\":\"checkbox-group____YE3uX\",\"fap\":\"fap____SirwJ\",\"packaged\":\"packaged____XAv5R\",\"risk-group\":\"risk-group____K9lBZ card____p5yDN\",\"risk-group-label\":\"risk-group-label____JxIDJ\",\"risk-headings\":\"risk-headings____swJL4\",\"risk-row\":\"risk-row____OXazm\",\"risk-headings--au\":\"risk-headings--au____kv4p0 risk-headings____swJL4\",\"risk-row--au\":\"risk-row--au____XPIya risk-headings____swJL4\",\"risk-headings--nz\":\"risk-headings--nz____Y_IUB risk-headings____swJL4\",\"risk-row--nz\":\"risk-row--nz____E6EO0 risk-headings____swJL4\",\"risk-package-costs-nav\":\"risk-package-costs-nav____WZ7F0\",\"risk\":\"risk_____TiyF\",\"risk--co-insured\":\"risk--co-insured____yqspQ risk_____TiyF\",\"risk-type\":\"risk-type____PFj0I\",\"co-insured-name\":\"co-insured-name____PC8NI risk-type____PFj0I\",\"co-insured-name-total\":\"co-insured-name-total____kLBRn co-insured-name____PC8NI risk-type____PFj0I\",\"co-insured-name--primary\":\"co-insured-name--primary____HMvrt co-insured-name____PC8NI risk-type____PFj0I\",\"co-insured-name-total--primary\":\"co-insured-name-total--primary____tkSzF co-insured-name--primary____HMvrt co-insured-name____PC8NI risk-type____PFj0I\",\"risk-heading-row\":\"risk-heading-row____mQpnF input-label____DFBhn\",\"totals\":\"totals____AuBY3\",\"totals--nz\":\"totals--nz____lpE0S totals____AuBY3\",\"totals--au\":\"totals--au____QYwZx totals____AuBY3\",\"totals--co-insured\":\"totals--co-insured____uGJl4 totals____AuBY3\",\"total-cell\":\"total-cell____WGF0l\",\"premium-total\":\"premium-total____JLOxX total-cell____WGF0l\",\"fes-total\":\"fes-total____oxFXj total-cell____WGF0l\",\"earthquake-premium\":\"earthquake-premium____vWCi8 total-cell____WGF0l\",\"earthquake-levy\":\"earthquake-levy____BSERU total-cell____WGF0l\",\"gst-total\":\"gst-total____oivUC total-cell____WGF0l\",\"fsl\":\"fsl____L0pEF total-cell____WGF0l\",\"gst\":\"gst____QwCJ3 total-cell____WGF0l\",\"stamp-duty-total\":\"stamp-duty-total____PlHmR total-cell____WGF0l\",\"premium-total-total\":\"premium-total-total____KlGm9 total-cell____WGF0l\",\"bkge-total\":\"bkge-total____YqQFj total-cell____WGF0l\",\"bkge-gst-total\":\"bkge-gst-total____eTesR total-cell____WGF0l\",\"empty-total-cell\":\"empty-total-cell____lG_hs total-cell____WGF0l\",\"bkge-total--co-insured\":\"bkge-total--co-insured____DLU_k total-cell____WGF0l\",\"bkge-gst-total--co-insured\":\"bkge-gst-total--co-insured_____4Lp5 total-cell____WGF0l\",\"bkge-total--co-insured-primary\":\"bkge-total--co-insured-primary____yr23J total-cell____WGF0l\",\"bkge-gst-total--co-insured-primary\":\"bkge-gst-total--co-insured-primary____eEXqJ total-cell____WGF0l\",\"cs-button-checkbox-group\":\"cs-button-checkbox-group____HSwyO\",\"deletedRisk\":\"deletedRisk____R71iQ\",\"insurer-referrals\":\"insurer-referrals____hPxAk\",\"co-insured-content\":\"co-insured-content____mmL6C\",\"co-insured-lead-insurer\":\"co-insured-lead-insurer____RU9l8\",\"co-insured-lead-insurer-false\":\"co-insured-lead-insurer-false____McQz_ co-insured-lead-insurer____RU9l8\",\"gst-exempt-warning\":\"gst-exempt-warning____v1mbX view-block--warning____hjlCc view-block____MihFj\",\"gstExemptRisk\":\"gstExemptRisk____lTLVv\",\"clause-text\":\"clause-text____Sxl3l\",\"calculated-value-overridden\":\"calculated-value-overridden____IE_sM\"};","import { LookupDataService } from 'resources/services/lookup-data';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { CountryCode } from 'libphonenumber-js';\r\nimport { I18N } from 'aurelia-i18n';\r\nimport { AppRouter } from 'aurelia-router';\r\nimport { IaToastService, IaToastMessage } from 'resources/services/ia-toast-service';\r\nimport { FormValidationRenderer } from 'resources/form-validation-renderer';\r\nimport { Api } from './api';\r\nimport { autoinject, TaskQueue, computedFrom, PLATFORM } from 'aurelia-framework';\r\nimport { BlobService } from 'resources/services/blob-service';\r\n\r\nimport styles from './risk-package-costs.css';\r\nimport { CoInsuredRiskConfigModel, RiskPackageConfigModel } from '../../../models/risk-package-config';\r\nimport { CoInsuredRiskCostsModel, RiskPackageCostsModel } from '../../../models/risk-package-costs-model';\r\nimport { ValidationControllerFactory, ValidationController } from 'aurelia-validation';\r\n\r\nimport { BigNumber } from 'bignumber.js';\r\nimport { log } from 'resources/services/log-service';\r\nimport { printPdfBlob } from 'resources/utilities/print-pdf';\r\nimport { calculateGst } from 'resources/calculate-gst';\r\nimport { evenRound } from 'resources/even-round';\r\nimport { EntityMode, EntityActionType, EntityType } from 'routes/app-adviser/client/quotes/interfaces';\r\nimport { ConfirmModalActions } from 'components/ia-modal/ia-modal';\r\nimport { getAppClientType } from 'resources/parse-jwt';\r\nimport { initScrollTabs, scrollTabs } from 'resources/tab-scroll';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\n@autoinject()\r\nexport class RiskPackageCosts {\r\n public validationController: ValidationController;\r\n public config;\r\n private params: IStepModel;\r\n private model;\r\n private modelClone: RiskPackageCostsModel;\r\n private quote;\r\n private step;\r\n private styles = styles;\r\n private selectedInsurer;\r\n private selectedSituation;\r\n private selectedInsurerTab = 0;\r\n private selectedSituationTab = 0;\r\n private context = this;\r\n private insurers = {};\r\n private appClientType: CountryCode = getAppClientType();\r\n private coInsuredFlag;\r\n private botInsurerInterfaceAvailable;\r\n private botPreviouslyRequestedFlag;\r\n private botPreviouslyRequestedForInsurerCodes;\r\n private overrideRiskId = -1;\r\n private overrideParentSituationIndex = -1;\r\n\r\n private showGstWarning = false;\r\n private gstExemptEntities = [];\r\n\r\n private showRiskPackageCostsModal = false;\r\n private setPackageFocus = false;\r\n private changeRiskPackageCostTitle: string;\r\n private isDirty = false;\r\n\r\n private inputMaskOptions: any = {};\r\n\r\n private tabUl: HTMLDivElement;\r\n private tabClass = 'a.insurerTabs';\r\n private tabPosition;\r\n private isRightChevronDisabled = false;\r\n\r\n public showRequestBotQuoteModal = false;\r\n public botRequestValidating = false;\r\n public requestQuoteClicked = false;\r\n public botValidationResult;\r\n public selectedRows = [];\r\n public submittingQuoteRequest = false;\r\n public showCancelQuoteRequestModal = false;\r\n public isCancelingQuoteRequest = false;\r\n\r\n public listType = '';\r\n public showListModal = false;\r\n public list;\r\n\r\n public showInsurerDocumentsModal = false;\r\n public insurerDocuments = [];\r\n public insurerDocumentsLoading = false;\r\n public insurerDocumentBusyId = null;\r\n public popupBlocked = false;\r\n private iframeContainer: HTMLDivElement;\r\n // Object urls outlive the call that creates them - the preview tab and the print iframe both read\r\n // from them - so they are revoked together when the step goes away.\r\n private insurerDocumentObjectUrls: string[] = [];\r\n\r\n public isDeleteAllMode = false;\r\n public isDeleteMode = false;\r\n\r\n public isQuoteRequestSubmitted = false;\r\n\r\n private autorateConfig;\r\n\r\n private showReferralDetails = false;\r\n private showOverrideDetails = false;\r\n private authReasons = [];\r\n\r\n private ratingStatuses: any = {};\r\n\r\n private rejectSituation = '';\r\n private rejectRisk = '';\r\n private rejectReason = '';\r\n\r\n private authorisationCode = '';\r\n private authorisationReason = 0;\r\n\r\n private currentlySelectedRiskId = null;\r\n private overrideDetails: IOverride;\r\n\r\n private oldRisksModel = {};\r\n\r\n constructor(\r\n private api: Api,\r\n private i18n: I18N,\r\n private router: AppRouter,\r\n private taskQueue: TaskQueue,\r\n private toast: IaToastService,\r\n private validationControllerFactory: ValidationControllerFactory,\r\n private ea: EventAggregator,\r\n private lookupData: LookupDataService,\r\n private blobService: BlobService,\r\n ) {\r\n this.validationController = this.validationControllerFactory.createForCurrentScope();\r\n this.validationController.addRenderer(new FormValidationRenderer());\r\n }\r\n\r\n async activate(model: IStepModel) {\r\n try {\r\n this.params = model;\r\n\r\n // Prevent negatives\r\n if (\r\n this.params.actionType == EntityActionType.NewBusiness ||\r\n this.params.actionType == EntityActionType.Reinstatement\r\n ) {\r\n this.inputMaskOptions.minimumValue = 0;\r\n }\r\n\r\n this.validationController.removeObject(this.model);\r\n\r\n await this.loadConfiguration();\r\n\r\n this.ea.publish('stepRendered');\r\n\r\n log.debug(`Step 8 params: `, this.params);\r\n log.debug(`Step 8 'activate' config: `, this.config);\r\n log.debug(`Step 8 'activate' model: `, this.model);\r\n } catch (e) {\r\n this.ea.publish('stepRendered');\r\n }\r\n }\r\n\r\n async loadConfiguration() {\r\n const loadedConfig = await this.api.getRiskPackageCostsConfig(\r\n this.params.id,\r\n parseInt(this.params.entityId),\r\n this.params.actionType,\r\n this.params.entityType,\r\n this.params.entityMode,\r\n );\r\n\r\n this.coInsuredFlag = loadedConfig.coInsuredFlag;\r\n\r\n this.botInsurerInterfaceAvailable = loadedConfig.botInsurerInterfaceAvailable;\r\n this.botPreviouslyRequestedFlag = loadedConfig.botPreviouslyRequestedFlag;\r\n this.botPreviouslyRequestedForInsurerCodes = loadedConfig.botPreviouslyRequestedForInsurerCodes;\r\n\r\n this.config = this.coInsuredFlag\r\n ? new CoInsuredRiskConfigModel(loadedConfig.coInsuredRiskCostsConfig)\r\n : new RiskPackageConfigModel(loadedConfig.riskPackageCostsConfig);\r\n\r\n if (this.config?.ratingRequired) {\r\n try {\r\n const response = await this.api.postAutorate(\r\n this.params.id,\r\n parseInt(this.params.entityId),\r\n this.params.actionType,\r\n this.params.entityType,\r\n );\r\n\r\n log.debug('Autorate response after requiring: ', response);\r\n\r\n if (!response) {\r\n log.debug(`Autorate response had no body, it is valid: `, response);\r\n await this.loadConfiguration();\r\n\r\n return;\r\n }\r\n } catch (e) {\r\n log.error(e);\r\n }\r\n }\r\n\r\n if (!this.coInsuredFlag) {\r\n await this.insurerTabChanged(this.config.insurers[this.selectedInsurerTab], true);\r\n } else {\r\n const result = await this.getCoInsuredRiskQuote();\r\n this.model = new CoInsuredRiskCostsModel(result);\r\n this.setCoInsuredInsurerRiskBrokerageTypes();\r\n this.checkGstExemptStatus();\r\n }\r\n\r\n if (this.config.riskRatingStatuses?.length) {\r\n this.ratingStatuses = {};\r\n\r\n this.config.riskRatingStatuses.forEach((status) => {\r\n if (!this.ratingStatuses?.[status.quoteInsurerRiskId]) {\r\n this.ratingStatuses[status.quoteInsurerRiskId] = status;\r\n } else {\r\n this.ratingStatuses[status.quoteInsurerRiskId] = {\r\n ...this.ratingStatuses[status.quoteInsurerRiskId],\r\n ...status,\r\n };\r\n }\r\n });\r\n }\r\n\r\n this.authReasons = await this.lookupData.authorisationReasons();\r\n\r\n this.applyOverrideStyles();\r\n }\r\n\r\n applyOverrideStyles() {\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model?.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n const isAu = this.appClientType === 'AU';\r\n const isFap = this.model.useFapFlag;\r\n\r\n if(isCoInsured){\r\n this.model?.situations.forEach((situation) => {\r\n const situationConfig = this.config.situations.find((x) => x.entitySituationId === situation.entitySituationId);\r\n\r\n situation?.risks.forEach((risk) => {\r\n const config = situationConfig.risks.find((x) => x.entityRiskId == risk.entityRiskId);\r\n this.parseFslStampDutyRate(config);\r\n\r\n this.isCoInsuredTotalOverridden(isAu, risk, config);\r\n\r\n risk?.insurerRisks.forEach((insurerRisk) => {\r\n this.isValueOverridden(isAu, insurerRisk, config);\r\n });\r\n });\r\n });\r\n }\r\n\r\n if(isPackagedCosts){\r\n const config = this.selectedInsurer.packageConfiguration;\r\n this.parseFslStampDutyRate(config);\r\n this.isValueOverridden(isAu, this.model.packageCosts, config);\r\n }\r\n\r\n if(isRiskCosts) {\r\n this.model?.situations.forEach((situation) => {\r\n situation?.risks.forEach((risk) => {\r\n const config = this.config.insurers[this.selectedInsurerTab].riskConfiguration.find((x) => x.entityRiskId == risk.entityRiskId);\r\n this.parseFslStampDutyRate(config);\r\n\r\n if(isFap) {\r\n this.isFapValueOverridden(isAu, risk, config);\r\n }\r\n\r\n this.isValueOverridden(isAu, risk, config);\r\n });\r\n });\r\n }\r\n }\r\n\r\n parseFslStampDutyRate(config) {\r\n if (typeof config.fslRate === 'undefined' || config.fslRate === null) {\r\n config.fslRate = 0;\r\n }\r\n\r\n if (typeof config.stampDutyRate === 'undefined' || config.stampDutyRate === null) {\r\n config.stampDutyRate = 0;\r\n }\r\n }\r\n\r\n attached() {\r\n if (!this.coInsuredFlag) {\r\n initScrollTabs(this);\r\n }\r\n }\r\n\r\n scrollTabs(direction) {\r\n scrollTabs(this, direction);\r\n }\r\n\r\n @computedFrom('tabPosition')\r\n get isLeftChevronDisabled() {\r\n return this.tabPosition > 0;\r\n }\r\n\r\n async getRiskPackageQuote(entityInsurerId: number) {\r\n const result = await this.api.getRiskPackageQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n entityInsurerId,\r\n );\r\n\r\n // Ensure any null FAP values are set to 0\r\n if (result.useFapFlag) {\r\n const isPackagedCosts = result.packageFlag;\r\n const isRiskCosts = !isPackagedCosts;\r\n\r\n if (isRiskCosts && result.situations) {\r\n for (const situation of result.situations) {\r\n for (const risk of situation.risks) {\r\n risk.fapPremium = risk.fapPremium === null ? 0 : risk.fapPremium;\r\n risk.fapEarthquakePremium = risk.fapEarthquakePremium === null ? 0 : risk.fapEarthquakePremium;\r\n risk.fapEarthquakeLevy = risk.fapEarthquakeLevy === null ? 0 : risk.fapEarthquakeLevy;\r\n risk.fapFsl = risk.fapFsl === null ? 0 : risk.fapFsl;\r\n risk.fapGst = risk.fapGst === null ? 0 : risk.fapGst;\r\n risk.fapStampDuty = risk.fapStampDuty === null ? 0 : risk.fapStampDuty;\r\n }\r\n }\r\n }\r\n\r\n if (isPackagedCosts) {\r\n result.packageCosts.fapPremium = result.packageCosts.fapPremium === null ? 0 : result.packageCosts.fapPremium;\r\n result.packageCosts.fapEarthquakePremium =\r\n result.packageCosts.fapEarthquakePremium === null ? 0 : result.packageCosts.fapEarthquakePremium;\r\n result.packageCosts.fapEarthquakeLevy =\r\n result.packageCosts.fapEarthquakeLevy === null ? 0 : result.packageCosts.fapEarthquakeLevy;\r\n result.packageCosts.fapFsl = result.packageCosts.fapFsl === null ? 0 : result.packageCosts.fapFsl;\r\n result.packageCosts.fapGst = result.packageCosts.fapGst === null ? 0 : result.packageCosts.fapGst;\r\n result.packageCosts.fapStampDuty =\r\n result.packageCosts.fapStampDuty === null ? 0 : result.packageCosts.fapStampDuty;\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n async getCoInsuredRiskQuote() {\r\n const result = await this.api.getCoInsuredRiskQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n );\r\n\r\n return result;\r\n }\r\n\r\n async insurerTabChanged(insurer, initialLoad = false) {\r\n let isUpdateSuccessful;\r\n const $index = this.config.insurers.findIndex((el) => el.entityInsurerId === insurer.entityInsurerId);\r\n\r\n if (this.selectedInsurerTab !== $index) {\r\n isUpdateSuccessful = await this.updateCurrentInsurer();\r\n\r\n if (!isUpdateSuccessful) {\r\n const confirm = window.confirm(\r\n 'You have unsaved changes which are currently invalid. Do you want to discard them and change the selected insurer?',\r\n );\r\n\r\n if (confirm) {\r\n isUpdateSuccessful = true;\r\n }\r\n }\r\n\r\n this.selectedInsurerTab = isUpdateSuccessful ? $index : this.selectedInsurerTab;\r\n }\r\n\r\n if (initialLoad || isUpdateSuccessful) {\r\n this.selectedInsurer = insurer;\r\n\r\n const loadedInsurer = await this.getRiskPackageQuote(this.config.insurers[this.selectedInsurerTab].entityInsurerId);\r\n\r\n this.model = new RiskPackageCostsModel(loadedInsurer);\r\n this.model.packageFlag ? this.setPackageBrokerageTypes() : this.setRiskBrokerageTypes();\r\n this.setPackageFocus = this.model.packageFlag;\r\n this.model.showUseFap = this.config.insurers[this.selectedInsurerTab].showUseFap;\r\n this.model.showViewFap = this.config.insurers[this.selectedInsurerTab].showViewFap;\r\n\r\n this.checkGstExemptStatus();\r\n\r\n log.debug(`Insurer changed:`, this.model);\r\n\r\n log.debug(`Selected insurer`, this.selectedInsurer);\r\n\r\n if (this.model?.situations?.length) {\r\n this.model.situations.forEach((situation) => {\r\n if (situation?.risks?.length) {\r\n situation.risks.forEach((risk) => {\r\n if (risk.gstOverridden) {\r\n this.model.gstOverrideFlag = true;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // So we can disable GST checkbox\r\n if (this?.selectedInsurer?.riskConfiguration?.[0]?.autoRatedRisk) {\r\n this.config.autoRatedRisk = true;\r\n // Auto-check GST override for autorated risks\r\n this.model.gstOverrideFlag = true;\r\n }\r\n }\r\n\r\n if (!initialLoad) {\r\n this.toast.destroyAllToasts();\r\n }\r\n }\r\n\r\n checkGstExemptStatus () {\r\n const isPackagedCosts = this.model.packageFlag ?? false;\r\n\r\n const clientGstExempt = this.config.clientGstExemptFlag;\r\n const insurerOfficeGstExempt = this.coInsuredFlag ? false : this.selectedInsurer.insurerOfficeGstExemptFlag;\r\n const riskGstExempt = this.coInsuredFlag ?\r\n this.config.situations.some((x) => x.risks.some((r) => !r.gstApplies)) :\r\n !isPackagedCosts && this.selectedInsurer.riskConfiguration.some((x) => !x.gstApplies);\r\n\r\n this.gstExemptEntities = [];\r\n\r\n if(clientGstExempt){\r\n this.gstExemptEntities.push('Client');\r\n }\r\n\r\n if(insurerOfficeGstExempt){\r\n this.gstExemptEntities.push('Insurer');\r\n }\r\n\r\n if(!clientGstExempt && !insurerOfficeGstExempt && riskGstExempt){\r\n this.gstExemptEntities.push('Risk');\r\n }\r\n\r\n this.showGstWarning = this.params.entityMode === EntityMode.Edit && (clientGstExempt || insurerOfficeGstExempt || riskGstExempt);\r\n }\r\n\r\n setRiskBrokerageTypes() {\r\n if (this.model.situations) {\r\n for (const situation of this.model.situations) {\r\n for (const risk of situation.risks) {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.selectedInsurer.riskConfiguration.find(\r\n (x) => x.entityRiskId === risk.entityRiskId,\r\n ).brokerageOptions;\r\n\r\n selectedOption = configBrokerageOptions.find((b) => b.brokerageTypeId === parseInt(risk.brokerageTypeId));\r\n\r\n if (selectedOption) {\r\n risk.configBrokerageOptions = configBrokerageOptions;\r\n risk.selectedBrokerageOption = selectedOption;\r\n risk.brokerageTypeId = parseInt(selectedOption.brokerageTypeId);\r\n risk.amountEditable = selectedOption.amountEditable;\r\n risk.defaultPercentage = selectedOption.defaultPercentage;\r\n risk.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.selectedInsurer.riskConfiguration.find(\r\n (x) => x.entityRiskId === risk.entityRiskId,\r\n ).earthquakeBrokerageOptions;\r\n\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === parseInt(risk.earthquakeBrokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n risk.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n risk.selectedEarthquakeBrokerageOption = selectedOption;\r\n risk.earthquakeBrokerageTypeId = parseInt(selectedOption.brokerageTypeId);\r\n risk.earthquakeAmountEditable = selectedOption.amountEditable;\r\n risk.earthquakeDefaultPercentage = selectedOption.defaultPercentage;\r\n risk.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setPackageBrokerageTypes() {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.selectedInsurer.packageConfiguration.brokerageOptions;\r\n selectedOption = configBrokerageOptions.find(\r\n (b) => b.brokerageTypeId === parseInt(this.model.packageCosts.brokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n this.model.packageCosts.configBrokerageOptions = configBrokerageOptions;\r\n this.model.packageCosts.selectedBrokerageOption = selectedOption;\r\n this.model.packageCosts.brokerageTypeId = selectedOption.brokerageTypeId;\r\n this.model.packageCosts.amountEditable = selectedOption.amountEditable;\r\n this.model.packageCosts.defaultPercentage = selectedOption.defaultPercentage;\r\n this.model.packageCosts.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.selectedInsurer.packageConfiguration.earthquakeBrokerageOptions;\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === parseInt(this.model.packageCosts.earthquakeBrokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n this.model.packageCosts.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n this.model.packageCosts.selectedEarthquakeBrokerageOption = selectedOption;\r\n this.model.packageCosts.earthquakeBrokerageTypeId = selectedOption.brokerageTypeId;\r\n this.model.packageCosts.earthquakeAmountEditable = selectedOption.amountEditable;\r\n this.model.packageCosts.earthquakeDefaultPercentage = selectedOption.defaultPercentage;\r\n this.model.packageCosts.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n }\r\n\r\n setCoInsuredInsurerRiskBrokerageTypes() {\r\n if (this.model.situations) {\r\n this.model.situations.forEach((situation) => {\r\n situation.risks.forEach((risk) => {\r\n risk.insurerRisks.forEach((insurerRisk) => {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.config.situations\r\n .find((s) => s.entitySituationId === situation.entitySituationId)\r\n .risks.find((r) => r.entityRiskId == risk.entityRiskId)\r\n .insurerRisks.find((ir) => ir.entityInsurerRiskId === insurerRisk.entityInsurerRiskId).brokerageOptions;\r\n\r\n selectedOption = configBrokerageOptions.find((b) => b.brokerageTypeId === insurerRisk.brokerageTypeId);\r\n\r\n if (selectedOption) {\r\n insurerRisk.configBrokerageOptions = configBrokerageOptions;\r\n insurerRisk.amountEditable = selectedOption.amountEditable;\r\n insurerRisk.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.config.situations\r\n .find((s) => s.entitySituationId === situation.entitySituationId)\r\n .risks.find((r) => r.entityRiskId == risk.entityRiskId)\r\n .insurerRisks.find(\r\n (ir) => ir.entityInsurerRiskId === insurerRisk.entityInsurerRiskId,\r\n ).earthquakeBrokerageOptions;\r\n\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === insurerRisk.earthquakeBrokerageTypeId,\r\n );\r\n\r\n if (selectedOption) {\r\n insurerRisk.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n insurerRisk.earthquakeAmountEditable = selectedOption.amountEditable;\r\n insurerRisk.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n // Called on toggle of the \"use package costs\" checkbox\r\n usePackageCosts() {\r\n if (this.config.isReadOnly || !this.selectedInsurer.packageCostsEnabled) {\r\n return;\r\n }\r\n\r\n this.changeRiskPackageCostTitle = !this.model.packageFlag\r\n ? 'Change to package costs and delete all risk costs?'\r\n : 'Change to risk costs and delete all package costs?';\r\n this.setPackageFocus = false;\r\n this.showRiskPackageCostsModal = true;\r\n }\r\n\r\n // Called on the confirm of Use Package Costs Modal\r\n async changeRiskPackageCostCallBack(type: ConfirmModalActions) {\r\n if (type === 'confirm') {\r\n this.model.packageFlag = !this.model.packageFlag;\r\n\r\n const operation = [{ op: 'replace', path: '/packageFlag', value: this.model.packageFlag }];\r\n this.model = await this.api.patchRiskPackageQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n operation,\r\n );\r\n\r\n if (this.model.packageFlag) {\r\n this.setPackageBrokerageTypes();\r\n this.setPackageFocus = true;\r\n } else {\r\n this.setRiskBrokerageTypes();\r\n }\r\n\r\n this.model.showUseFap = this.config.insurers[this.selectedInsurerTab].showUseFap;\r\n this.model.showViewFap = this.config.insurers[this.selectedInsurerTab].showViewFap;\r\n\r\n this.checkGstExemptStatus();\r\n }\r\n\r\n this.showRiskPackageCostsModal = false;\r\n }\r\n\r\n useFapFlag(selectedInsurer, $index: number) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n\r\n if (this.model.useFapFlag) {\r\n if (isRiskCosts && this.model.situations) {\r\n for (const situation of this.model.situations) {\r\n for (const risk of situation.risks) {\r\n risk.fapPremium = risk.fapPremium === null ? 0 : risk.fapPremium;\r\n risk.fapEarthquakePremium = risk.fapEarthquakePremium === null ? 0 : risk.fapEarthquakePremium;\r\n risk.fapEarthquakeLevy = risk.fapEarthquakeLevy === null ? 0 : risk.fapEarthquakeLevy;\r\n risk.fapFsl = risk.fapFsl === null ? 0 : risk.fapFsl;\r\n risk.fapGst = risk.fapGst === null ? 0 : risk.fapGst;\r\n risk.fapStampDuty = risk.fapStampDuty === null ? 0 : risk.fapStampDuty;\r\n }\r\n }\r\n }\r\n\r\n if (isPackagedCosts) {\r\n this.model.packageCosts.fapPremium =\r\n this.model.packageCosts.fapPremium === null ? 0 : this.model.packageCosts.fapPremium;\r\n this.model.packageCosts.fapEarthquakePremium =\r\n this.model.packageCosts.fapEarthquakePremium === null ? 0 : this.model.packageCosts.fapEarthquakePremium;\r\n this.model.packageCosts.fapEarthquakeLevy =\r\n this.model.packageCosts.fapEarthquakeLevy === null ? 0 : this.model.packageCosts.fapEarthquakeLevy;\r\n this.model.packageCosts.fapFsl = this.model.packageCosts.fapFsl === null ? 0 : this.model.packageCosts.fapFsl;\r\n this.model.packageCosts.fapGst = this.model.packageCosts.fapGst === null ? 0 : this.model.packageCosts.fapGst;\r\n this.model.packageCosts.fapStampDuty =\r\n this.model.packageCosts.fapStampDuty === null ? 0 : this.model.packageCosts.fapStampDuty;\r\n }\r\n }\r\n });\r\n }\r\n\r\n resetGstValues(riskOrPackageCosts, config) {\r\n this.isDirty = true;\r\n\r\n const isFap = this.model.useFapFlag;\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n if (isFap) {\r\n if (!this.config.fapValuesReadOnly) {\r\n riskOrPackageCosts.fapGst = this.calculateFapGst(isAu, riskOrPackageCosts, config);\r\n }\r\n riskOrPackageCosts.gst = this.calculateFapDerivedAmount(\r\n this.config,\r\n riskOrPackageCosts.fapGst,\r\n riskOrPackageCosts.fapPrevGst,\r\n );\r\n\r\n if (typeof config.stampDutyRate !== 'undefined' && config.stampDutyRate !== 0) {\r\n if (!this.config.fapValuesReadOnly) {\r\n riskOrPackageCosts.fapStampDuty = this.calculateFapStampDuty(riskOrPackageCosts, config);\r\n }\r\n riskOrPackageCosts.stampDuty = this.calculateFapDerivedAmount(\r\n this.config,\r\n riskOrPackageCosts.fapStampDuty,\r\n riskOrPackageCosts.fapPrevStampDuty,\r\n );\r\n }\r\n } else {\r\n riskOrPackageCosts.gst = this.calculateGst(isAu, riskOrPackageCosts, config);\r\n\r\n if (typeof config.stampDutyRate !== 'undefined' && config.stampDutyRate !== 0) {\r\n riskOrPackageCosts.stampDuty = this.calculateStampDuty(riskOrPackageCosts, config);\r\n }\r\n }\r\n\r\n riskOrPackageCosts.brokerageGst = this.calculateBrokerageGst(riskOrPackageCosts, config);\r\n\r\n if (isNz) {\r\n riskOrPackageCosts.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(riskOrPackageCosts, config);\r\n }\r\n\r\n if(isFap) {\r\n this.isFapValueOverridden(isAu, riskOrPackageCosts, config);\r\n }\r\n\r\n this.isValueOverridden(isAu, riskOrPackageCosts, config);\r\n }\r\n\r\n resetCoInsuredGstValues() {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n this.model.situations.forEach((situation) => {\r\n const situationConfig = this.config.situations.find((x) => x.entitySituationId === situation.entitySituationId);\r\n\r\n situation.risks.forEach((risk) => {\r\n const riskConfig = situationConfig.risks.find((x) => x.entityRiskId === risk.entityRiskId);\r\n\r\n risk.totalGst = this.calculateCoInsuredRiskTotalGst(isAu, risk, riskConfig);\r\n\r\n if (typeof riskConfig.stampDutyRate !== 'undefined' && riskConfig.stampDutyRate !== 0) {\r\n risk.totalStampDuty = this.calculateCoInsuredRiskTotalStampDuty(risk, riskConfig);\r\n }\r\n\r\n this.isCoInsuredTotalOverridden(isAu, risk, riskConfig);\r\n\r\n risk.insurerRisks.forEach((insurerRisk) => {\r\n const insurerConfig = riskConfig.insurerRisks.find(\r\n (x) => x.entityInsurerRiskId === insurerRisk.entityInsurerRiskId,\r\n );\r\n\r\n insurerRisk.gst = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalGst).dividedBy(100).toNumber(),\r\n 2,\r\n );\r\n\r\n insurerRisk.stampDuty = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalStampDuty).dividedBy(100).toNumber(),\r\n 2,\r\n );\r\n\r\n insurerRisk.brokerageGst = this.calculateBrokerageGst(insurerRisk, riskConfig);\r\n\r\n if (isNz) {\r\n insurerRisk.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(insurerRisk, riskConfig);\r\n }\r\n\r\n this.isValueOverridden(isAu, insurerRisk, riskConfig);\r\n });\r\n });\r\n });\r\n }\r\n\r\n // Called on toggle of the \"override gst\" checkbox\r\n overrideGst(selectedInsurer, $index: number) {\r\n const self = this;\r\n this.taskQueue.queueMicroTask(() => {\r\n this.isDirty = true;\r\n\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n\r\n if (!this.model.gstOverrideFlag) {\r\n if (isRiskCosts) {\r\n this.model.situations.forEach((situation) => {\r\n if (situation.risks) {\r\n situation.risks.forEach((risk) => {\r\n const config = this.selectedInsurer.riskConfiguration.find((x) => x.entityRiskId === risk.entityRiskId);\r\n if (!config?.autoRatedRisk) {\r\n self.resetGstValues(risk, config);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n if (isPackagedCosts) {\r\n const config = this.selectedInsurer.packageConfiguration;\r\n self.resetGstValues(this.model.packageCosts, config);\r\n }\r\n\r\n if (isCoInsured) {\r\n self.resetCoInsuredGstValues();\r\n }\r\n }\r\n });\r\n }\r\n\r\n calculateFapDerivedAmount(config, fapValue, fapPrevValue) {\r\n let derivedValue = 0;\r\n const value = fapValue ? fapValue : 0;\r\n const prevValue = fapPrevValue ? fapPrevValue : 0;\r\n\r\n if (config.fapFormula === 'Math.Round(fapAmount * (fapTransactionDays / 365), 2)') {\r\n derivedValue = evenRound(value * (config.fapTransactionDays / 365), 2);\r\n } else if (config.fapFormula === 'Math.Round(fapAmount * (fapTransactionDays / 366), 2)') {\r\n derivedValue = evenRound(value * (config.fapTransactionDays / 366), 2);\r\n } else if (config.fapFormula === 'Math.Round((fapAmount - fapPrevAmount) * (fapTransactionDays / 365), 2)') {\r\n derivedValue = evenRound((value - prevValue) * (config.fapTransactionDays / 365), 2);\r\n } else if (config.fapFormula === 'Math.Round((fapAmount - fapPrevAmount) * (fapTransactionDays / 366), 2)') {\r\n derivedValue = evenRound((value - prevValue) * (config.fapTransactionDays / 366), 2);\r\n }\r\n\r\n return derivedValue;\r\n }\r\n\r\n calculateFapFsl(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isFapFslOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.fslRate)\r\n .multipliedBy(riskOrPackageCosts.fapPremium)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateFapGst(isAu, riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isFapGstOverridden = false;\r\n\r\n if (!Object.keys(riskOrPackageCosts).length) {\r\n return 0;\r\n }\r\n\r\n const value = isAu\r\n ? new BigNumber(riskOrPackageCosts.fapPremium).plus(riskOrPackageCosts.fapFsl).toNumber()\r\n : new BigNumber(riskOrPackageCosts.fapPremium)\r\n .plus(riskOrPackageCosts.fapEarthquakePremium)\r\n .plus(riskOrPackageCosts.fapEarthquakeLevy)\r\n .plus(riskOrPackageCosts.fapFsl)\r\n .toNumber();\r\n\r\n return config.gstApplies ? calculateGst(value, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateFapStampDuty(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isFapStampDutyOverridden = false;\r\n\r\n if (!Object.keys(riskOrPackageCosts).length) {\r\n return 0;\r\n }\r\n\r\n return evenRound(\r\n new BigNumber(riskOrPackageCosts.fapPremium)\r\n .plus(riskOrPackageCosts.fapFsl)\r\n .plus(riskOrPackageCosts.fapGst)\r\n .multipliedBy(config.stampDutyRate)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateFsl(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isFslOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.fslRate)\r\n .multipliedBy(riskOrPackageCosts.premium)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2\r\n );\r\n }\r\n\r\n calculateGst(isAu, riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isGstOverridden = false;\r\n\r\n const value = isAu\r\n ? new BigNumber(riskOrPackageCosts.premium).plus(riskOrPackageCosts.fsl).toNumber()\r\n : new BigNumber(riskOrPackageCosts.premium)\r\n .plus(riskOrPackageCosts.earthquakePremium)\r\n .plus(riskOrPackageCosts.earthquakeLevy)\r\n .plus(riskOrPackageCosts.fsl)\r\n .toNumber();\r\n\r\n return config.gstApplies ? calculateGst(value, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateStampDuty(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isStampDutyOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(riskOrPackageCosts.premium)\r\n .plus(riskOrPackageCosts.fsl)\r\n .plus(riskOrPackageCosts.gst)\r\n .multipliedBy(config.stampDutyRate)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateBrokerageGst(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isBrokerageGstOverridden = false;\r\n\r\n return config.gstApplies ? calculateGst(riskOrPackageCosts.brokerage, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateEarthquakeBrokerageGst(riskOrPackageCosts, config) {\r\n riskOrPackageCosts.isEarthquakeBrokerageGstOverridden = false;\r\n\r\n return config.gstApplies ? calculateGst(riskOrPackageCosts.earthquakeBrokerage, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateCoInsuredInsurerRiskFsl(insurerRiskCosts, config) {\r\n insurerRiskCosts.isFslOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.fslRate)\r\n .multipliedBy(insurerRiskCosts.premium)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredRiskTotalGst(isAu, riskCosts, config) {\r\n riskCosts.isTotalGstOverridden = false;\r\n\r\n const value = isAu\r\n ? new BigNumber(riskCosts.totalPremium).plus(riskCosts.totalFsl).toNumber()\r\n : new BigNumber(riskCosts.totalPremium)\r\n .plus(riskCosts.totalEarthquakePremium)\r\n .plus(riskCosts.totalEarthquakeLevy)\r\n .plus(riskCosts.totalFsl)\r\n .toNumber();\r\n\r\n return config.gstApplies ? calculateGst(value, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateCoInsuredInsurerRiskGst(isAu, insurerRiskCosts, config) {\r\n insurerRiskCosts.isGstOverridden = false;\r\n\r\n const value = isAu\r\n ? new BigNumber(insurerRiskCosts.premium).plus(insurerRiskCosts.fsl).toNumber()\r\n : new BigNumber(insurerRiskCosts.premium)\r\n .plus(insurerRiskCosts.earthquakePremium)\r\n .plus(insurerRiskCosts.earthquakeLevy)\r\n .plus(insurerRiskCosts.fsl)\r\n .toNumber();\r\n\r\n return config.gstApplies ? calculateGst(value, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateCoInsuredRiskTotalStampDuty(riskCosts, config) {\r\n riskCosts.isTotalStampDutyOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(riskCosts.totalPremium)\r\n .plus(riskCosts.totalFsl)\r\n .plus(riskCosts.totalGst)\r\n .multipliedBy(config.stampDutyRate)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredInsurerRiskStampDuty(insurerRiskCosts, config) {\r\n insurerRiskCosts.isStampDutyOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(insurerRiskCosts.premium)\r\n .plus(insurerRiskCosts.fsl)\r\n .plus(insurerRiskCosts.gst)\r\n .multipliedBy(config.stampDutyRate)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredRiskTotalFsl(riskCosts, config) {\r\n riskCosts.isTotalFslOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.fslRate)\r\n .multipliedBy(riskCosts.totalPremium)\r\n .dividedBy(100).toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredRiskFsl(risk, config) {\r\n risk.isFslOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.percentageHeld)\r\n .multipliedBy(risk.totalFsl)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredRiskGst(risk, config) {\r\n risk.isGstOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.percentageHeld)\r\n .multipliedBy(risk.totalGst)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n calculateCoInsuredStampDuty(risk, config) {\r\n risk.isStampDutyOverridden = false;\r\n\r\n return evenRound(\r\n new BigNumber(config.percentageHeld)\r\n .multipliedBy(risk.totalStampDuty)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n coInsuredRiskTotalsChanged(risk, fieldName, riskConfig) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n this.parseFslStampDutyRate(riskConfig);\r\n\r\n /** Recalc Total Fsl **/\r\n const totalFslRecalcFields = ['totalPremium'];\r\n if (totalFslRecalcFields.includes(fieldName)) {\r\n if (riskConfig.fslRate !== 0) {\r\n risk.totalFsl = this.calculateCoInsuredRiskTotalFsl(risk, riskConfig);\r\n }\r\n }\r\n\r\n /** Recalc Total GST **/\r\n const totalGstRecalcFields = ['totalPremium', 'totalEarthquakePremium', 'totalEarthquakeLevy', 'totalFsl'];\r\n if (totalGstRecalcFields.includes(fieldName)) {\r\n risk.totalGst = this.calculateCoInsuredRiskTotalGst(isAu, risk, riskConfig);\r\n }\r\n\r\n /** Recalc Total Stamp Duty **/\r\n const totalStampDutyRecalcFields = ['totalPremium', 'totalFsl', 'totalGst'];\r\n if (totalStampDutyRecalcFields.includes(fieldName)) {\r\n if (riskConfig.stampDutyRate !== 0) {\r\n risk.totalStampDuty = this.calculateCoInsuredRiskTotalStampDuty(risk, riskConfig);\r\n }\r\n }\r\n\r\n this.isCoInsuredTotalOverridden(isAu, risk, riskConfig);\r\n\r\n /** Recalc Insurer Risks **/\r\n const insurerRiskRecalcFields = [\r\n 'totalPremium',\r\n 'totalEarthquakePremium',\r\n 'totalEarthquakeLevy',\r\n 'totalFsl',\r\n 'totalGst',\r\n 'totalStampDuty',\r\n ];\r\n if (insurerRiskRecalcFields.includes(fieldName)) {\r\n risk.insurerRisks.forEach((insurer) => {\r\n const insurerConfig = riskConfig.insurerRisks.find(\r\n (x) => x.entityInsurerRiskId === insurer.entityInsurerRiskId,\r\n );\r\n\r\n const premiumFields = ['totalPremium'];\r\n if (premiumFields.includes(fieldName)) {\r\n insurer.premium = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalPremium).dividedBy(100).toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n if (isNz) {\r\n const earthquakePremiumFields = ['totalEarthquakePremium'];\r\n if (earthquakePremiumFields.includes(fieldName)) {\r\n insurer.earthquakePremium = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld)\r\n .multipliedBy(risk.totalEarthquakePremium)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n const earthquakeLevyFields = ['totalEarthquakeLevy'];\r\n if (earthquakeLevyFields.includes(fieldName)) {\r\n insurer.earthquakeLevy = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld)\r\n .multipliedBy(risk.totalEarthquakeLevy)\r\n .dividedBy(100)\r\n .toNumber(),\r\n 2,\r\n );\r\n }\r\n }\r\n\r\n const fslFields = ['totalPremium', 'totalEarthquakePremium', 'totalEarthquakeLevy', 'totalFsl'];\r\n if (fslFields.includes(fieldName)) {\r\n insurer.fsl = this.calculateCoInsuredRiskFsl(risk, insurerConfig);\r\n }\r\n\r\n const gstFields = ['totalPremium', 'totalEarthquakePremium', 'totalEarthquakeLevy', 'totalFsl', 'totalGst'];\r\n if (gstFields.includes(fieldName)) {\r\n insurer.gst = this.calculateCoInsuredRiskGst(risk, insurerConfig);\r\n }\r\n\r\n const stampDutyFields = [\r\n 'totalPremium',\r\n 'totalEarthquakePremium',\r\n 'totalEarthquakeLevy',\r\n 'totalFsl',\r\n 'totalGst',\r\n 'totalStampDuty',\r\n ];\r\n if (stampDutyFields.includes(fieldName)) {\r\n insurer.stampDuty = this.calculateCoInsuredStampDuty(risk, insurerConfig);\r\n }\r\n\r\n // calculate brokerage and brokerageGst\r\n const brokerageFields = ['totalPremium'];\r\n if (brokerageFields.includes(fieldName)) {\r\n switch (insurer.brokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n insurer.brokerage = evenRound((insurer.premium * insurer.brokeragePercentage) / 100, 2);\r\n insurer.brokerageGst = this.calculateBrokerageGst(insurer, riskConfig);\r\n break;\r\n case 3: // Advised Value\r\n insurer.brokerageGst = this.calculateBrokerageGst(insurer, riskConfig);\r\n break;\r\n }\r\n }\r\n\r\n // calculate earthquakeBrokerage and earthquakeBrokerageGst\r\n const earthquakeBrokerageFields = ['totalEarthquakePremium'];\r\n if (earthquakeBrokerageFields.includes(fieldName)) {\r\n switch (insurer.earthquakeBrokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n insurer.earthquakeBrokerage = evenRound(\r\n (insurer.earthquakePremium * insurer.earthquakeBrokeragePercentage) / 100,\r\n 2,\r\n );\r\n insurer.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(insurer, riskConfig);\r\n break;\r\n case 3: // Advised Value\r\n insurer.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(insurer, riskConfig);\r\n break;\r\n }\r\n }\r\n\r\n this.isValueOverridden(isAu, insurer, riskConfig);\r\n });\r\n }\r\n });\r\n }\r\n\r\n coInsuredInsurerRiskChanged(risk, insurerRisk, fieldName, riskConfig) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n this.parseFslStampDutyRate(riskConfig);\r\n\r\n /** Recalc Fsl **/\r\n const fslRecalcFields = ['premium'];\r\n if (fslRecalcFields.includes(fieldName)) {\r\n if (riskConfig.fslRate !== 0) {\r\n insurerRisk.fsl = this.calculateCoInsuredInsurerRiskFsl(insurerRisk, riskConfig);\r\n }\r\n }\r\n\r\n /** Recalc GST **/\r\n const gstRecalcFields = ['premium', 'earthquakePremium', 'earthquakeLevy', 'fsl'];\r\n if (gstRecalcFields.includes(fieldName)) {\r\n insurerRisk.gst = this.calculateCoInsuredInsurerRiskGst(isAu, insurerRisk, riskConfig);\r\n }\r\n\r\n /** Recalc Stamp Duty **/\r\n const stampDutyRecalcFields = ['premium', 'fsl', 'gst'];\r\n if (stampDutyRecalcFields.includes(fieldName)) {\r\n if (riskConfig.stampDutyRate !== 0) {\r\n insurerRisk.stampDuty = this.calculateCoInsuredInsurerRiskStampDuty(insurerRisk, riskConfig);\r\n }\r\n }\r\n\r\n /** Brokerage Options **/\r\n const brokerageFields = [\r\n 'premium',\r\n 'earthquakePremium',\r\n 'brokerageOptions',\r\n 'earthquakeBrokerageOptions',\r\n 'brokerage',\r\n 'earthquakeBrokerage',\r\n 'brokeragePercentage',\r\n 'earthquakeBrokeragePercentage',\r\n ];\r\n if (brokerageFields.includes(fieldName)) {\r\n const selectedBrokerageOption = riskConfig.insurerRisks\r\n .find((x) => x.entityInsurerRiskId === insurerRisk.entityInsurerRiskId)\r\n .brokerageOptions.find((b) => b.brokerageTypeId === insurerRisk.brokerageTypeId);\r\n\r\n // Merge in selected brokerage option\r\n insurerRisk.amountEditable = selectedBrokerageOption.amountEditable;\r\n insurerRisk.percentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n insurerRisk.brokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n // only reset values when dropdown changes\r\n if (fieldName === 'brokerageOptions') {\r\n switch (insurerRisk.brokerageTypeId) {\r\n case 2: // Non Standard\r\n case 3: // Advised Value\r\n case 4: // To be Advised\r\n insurerRisk.brokeragePercentage = 0;\r\n insurerRisk.brokerage = 0.0;\r\n insurerRisk.brokerageGst = 0.0;\r\n break;\r\n }\r\n }\r\n\r\n // calculate brokerage and brokerageGst\r\n switch (insurerRisk.brokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n insurerRisk.brokerage = evenRound((insurerRisk.premium * insurerRisk.brokeragePercentage) / 100, 2);\r\n insurerRisk.brokerageGst = this.calculateBrokerageGst(insurerRisk, riskConfig);\r\n break;\r\n case 3: // Advised Value\r\n insurerRisk.brokerageGst = this.calculateBrokerageGst(insurerRisk, riskConfig);\r\n break;\r\n }\r\n\r\n if (isNz) {\r\n /** Earthquake Brokerage Options **/\r\n const selectedBrokerageOption = riskConfig.insurerRisks\r\n .find((x) => x.entityInsurerRiskId === insurerRisk.entityInsurerRiskId)\r\n .earthquakeBrokerageOptions.find((b) => b.brokerageTypeId === insurerRisk.earthquakeBrokerageTypeId);\r\n\r\n // Merge in selected brokerage option\r\n insurerRisk.earthquakeAmountEditable = selectedBrokerageOption.amountEditable;\r\n insurerRisk.earthquakePercentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n insurerRisk.earthquakeBrokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n // only reset values when dropdown changes\r\n if (fieldName === 'earthquakeBrokerageOptions') {\r\n switch (insurerRisk.earthquakeBrokerageTypeId) {\r\n case 2: // Non Standard\r\n case 3: // Advised Value\r\n case 4: // To be Advised\r\n insurerRisk.earthquakeBrokeragePercentage = 0;\r\n insurerRisk.earthquakeBrokerage = 0.0;\r\n insurerRisk.earthquakeBrokerageGst = 0.0;\r\n break;\r\n }\r\n }\r\n\r\n // calculate earthquakeBrokerage and earthquakeBrokerageGst\r\n switch (insurerRisk.earthquakeBrokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n insurerRisk.earthquakeBrokerage = evenRound(\r\n (insurerRisk.earthquakePremium * insurerRisk.earthquakeBrokeragePercentage) / 100,\r\n 2,\r\n );\r\n insurerRisk.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(insurerRisk, riskConfig);\r\n break;\r\n case 3: // Advised Value\r\n insurerRisk.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(insurerRisk, riskConfig);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /** Update Risk Totals **/\r\n const totalRecalcFields = ['premium', 'earthquakePremium', 'earthquakeLevy', 'fsl', 'gst', 'stampDuty'];\r\n if (totalRecalcFields.includes(fieldName)) {\r\n risk.totalPremium = risk.insurerRisks.reduce(\r\n (total, { premium }) => evenRound(new BigNumber(total).plus(premium).toNumber(), 2),\r\n 0,\r\n );\r\n\r\n if (isNz) {\r\n risk.totalEarthquakePremium = risk.insurerRisks.reduce(\r\n (total, { earthquakePremium }) => evenRound(new BigNumber(total).plus(earthquakePremium).toNumber(), 2),\r\n 0,\r\n );\r\n risk.totalEarthquakeLevy = risk.insurerRisks.reduce(\r\n (total, { earthquakeLevy }) => evenRound(new BigNumber(total).plus(earthquakeLevy).toNumber(), 2),\r\n 0,\r\n );\r\n }\r\n\r\n risk.totalFsl = risk.insurerRisks.reduce(\r\n (total, { fsl }) => evenRound(new BigNumber(total).plus(fsl).toNumber(), 2),\r\n 0,\r\n );\r\n risk.totalGst = risk.insurerRisks.reduce(\r\n (total, { gst }) => evenRound(new BigNumber(total).plus(gst).toNumber(), 2),\r\n 0,\r\n );\r\n risk.totalStampDuty = risk.insurerRisks.reduce(\r\n (total, { stampDuty }) => evenRound(new BigNumber(total).plus(stampDuty).toNumber(), 2),\r\n 0,\r\n );\r\n\r\n this.isCoInsuredTotalOverridden(isAu, risk, riskConfig);\r\n }\r\n\r\n this.isValueOverridden(isAu, insurerRisk, riskConfig);\r\n });\r\n }\r\n\r\n riskChanged(risk, fieldName, riskConfiguration = null, override = false) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n if (fieldName === 'gst' && override) {\r\n this.model.gstOverrideFlag = true;\r\n }\r\n\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n const isFap = this.model.useFapFlag;\r\n const config = isRiskCosts\r\n ? this.selectedInsurer.riskConfiguration.find((x) => x.entityRiskId === risk.entityRiskId)\r\n : this.selectedInsurer.packageConfiguration;\r\n\r\n this.parseFslStampDutyRate(config);\r\n\r\n risk.premiumTotal = evenRound(\r\n new BigNumber(risk.premium)\r\n .plus(risk.fsl)\r\n .plus(risk.gst)\r\n .plus(risk.stampDuty || 0)\r\n .toNumber(),\r\n 2,\r\n );\r\n\r\n /** Recalc fapFsl **/\r\n const fapFslRecalcFields = ['fapPremium'];\r\n if (fapFslRecalcFields.includes(fieldName)) {\r\n if (config.fslRate !== 0) {\r\n risk.fapFsl = this.calculateFapFsl(risk, config);\r\n }\r\n }\r\n\r\n /** Recalc fapGst **/\r\n const fapGstRecalcFields = ['fapPremium', 'fapEarthquakePremium', 'fapEarthquakeLevy', 'fapFsl'];\r\n if (fapGstRecalcFields.includes(fieldName)) {\r\n risk.fapGst = this.calculateFapGst(isAu, risk, config);\r\n }\r\n\r\n /** Recalc fapStampDuty **/\r\n const fapStampDutyRecalcFields = ['fapPremium', 'fapFsl', 'fapGst'];\r\n if (fapStampDutyRecalcFields.includes(fieldName)) {\r\n if (config.stampDutyRate !== 0) {\r\n risk.fapStampDuty = this.calculateFapStampDuty(risk, config);\r\n }\r\n }\r\n\r\n /** Set premium **/\r\n if (fieldName === 'fapPremium') {\r\n risk.premium = this.calculateFapDerivedAmount(this.config, risk.fapPremium, risk.fapPrevPremium);\r\n\r\n // TODO: revisit this late on\r\n // this fixes an issue where updating the fapPremium causes the GST amount to be rounded incorrectly\r\n this.riskChanged(risk, 'premium');\r\n }\r\n\r\n /** Set earthquakePremium **/\r\n if (fieldName === 'fapEarthquakePremium') {\r\n risk.earthquakePremium = this.calculateFapDerivedAmount(\r\n this.config,\r\n risk.fapEarthquakePremium,\r\n risk.fapPrevEarthquakePremium,\r\n );\r\n }\r\n\r\n /** Set earthquakeLevy **/\r\n if (fieldName === 'fapEarthquakeLevy') {\r\n risk.earthquakeLevy = this.calculateFapDerivedAmount(\r\n this.config,\r\n risk.fapEarthquakeLevy,\r\n risk.fapPrevEarthquakeLevy,\r\n );\r\n }\r\n\r\n /** Set fsl **/\r\n if (fieldName === 'fapFsl' || (config.fslRate !== 0 && fapFslRecalcFields.includes(fieldName))) {\r\n risk.fsl = this.calculateFapDerivedAmount(this.config, risk.fapFsl, risk.fapPrevFsl);\r\n }\r\n\r\n /** Set gst **/\r\n if (fieldName === 'fapGst' || fapGstRecalcFields.includes(fieldName)) {\r\n risk.gst = this.calculateFapDerivedAmount(this.config, risk.fapGst, risk.fapPrevGst);\r\n }\r\n\r\n /** Set stampDuty **/\r\n if (\r\n fieldName === 'fapStampDuty' ||\r\n (config.stampDutyRate !== 0 && fapStampDutyRecalcFields.includes(fieldName))\r\n ) {\r\n risk.stampDuty = this.calculateFapDerivedAmount(this.config, risk.fapStampDuty, risk.fapPrevStampDuty);\r\n }\r\n\r\n /** Recalc FSL **/\r\n const fslRecalcFields = ['premium'];\r\n if (fslRecalcFields.includes(fieldName)) {\r\n if (config.fslRate !== 0) {\r\n risk.fsl = this.calculateFsl(risk, config);\r\n }\r\n }\r\n\r\n /** Recalc GST **/\r\n const gstRecalcFields = ['premium', 'earthquakePremium', 'earthquakeLevy', 'fsl'];\r\n if (gstRecalcFields.includes(fieldName)) {\r\n risk.gst = this.calculateGst(isAu, risk, config);\r\n }\r\n\r\n /** Recalc Stamp Duty **/\r\n const stampDutyRecalcFields = ['premium', 'fsl', 'gst'];\r\n if (stampDutyRecalcFields.includes(fieldName)) {\r\n if (config.stampDutyRate !== 0) {\r\n risk.stampDuty = this.calculateStampDuty(risk, config);\r\n }\r\n }\r\n\r\n /** Brokerage Options **/\r\n const brokerageFields = [\r\n 'premium',\r\n 'earthquakePremium',\r\n 'fapPremium',\r\n 'fapEarthquakePremium',\r\n 'brokerageOptions',\r\n 'earthquakeBrokerageOptions',\r\n 'brokerage',\r\n 'earthquakeBrokerage',\r\n 'brokeragePercentage',\r\n 'earthquakeBrokeragePercentage',\r\n ];\r\n if (brokerageFields.includes(fieldName)) {\r\n if (isRiskCosts) {\r\n const selectedBrokerageOption = config.brokerageOptions.find(\r\n (b) => b.brokerageTypeId === parseInt(risk.selectedBrokerageOption.brokerageTypeId),\r\n );\r\n\r\n // Merge in selected brokerage option\r\n risk.brokerageTypeId = selectedBrokerageOption.brokerageTypeId;\r\n risk.amountEditable = selectedBrokerageOption.amountEditable;\r\n risk.defaultPercentage = selectedBrokerageOption.defaultPercentage;\r\n risk.percentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n risk.brokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n // only reset values when dropdown changes\r\n if (fieldName === 'brokerageOptions') {\r\n switch (risk.brokerageTypeId) {\r\n case 2: // Non Standard\r\n case 3: // Advised Value\r\n case 4: // To be Advised\r\n risk.brokeragePercentage = 0;\r\n risk.brokerage = 0.0;\r\n risk.brokerageGst = 0.0;\r\n break;\r\n }\r\n }\r\n\r\n // calculate brokerage and brokerageGst\r\n switch (risk.brokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n risk.brokerage = evenRound((risk.premium * risk.brokeragePercentage) / 100, 2);\r\n\r\n risk.brokerageGst = this.calculateBrokerageGst(risk, config);\r\n break;\r\n case 3: // Advised Value\r\n risk.brokerageGst = this.calculateBrokerageGst(risk, config);\r\n break;\r\n }\r\n\r\n if (isNz) {\r\n /** Earthquake Brokerage Options **/\r\n const selectedBrokerageOption = config.earthquakeBrokerageOptions.find(\r\n (b) => b.brokerageTypeId === parseInt(risk.selectedEarthquakeBrokerageOption.brokerageTypeId),\r\n );\r\n\r\n // Merge in selected brokerage option\r\n risk.earthquakeBrokerageTypeId = selectedBrokerageOption.brokerageTypeId;\r\n risk.earthquakeAmountEditable = selectedBrokerageOption.amountEditable;\r\n risk.earthquakeDefaultPercentage = selectedBrokerageOption.defaultPercentage;\r\n risk.earthquakePercentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n risk.earthquakeBrokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n // only reset values when dropdown changes\r\n if (fieldName === 'earthquakeBrokerageOptions') {\r\n switch (risk.earthquakeBrokerageTypeId) {\r\n case 2: // Non Standard\r\n case 3: // Advised Value\r\n case 4: // To be Advised\r\n risk.earthquakeBrokeragePercentage = 0;\r\n risk.earthquakeBrokerage = 0.0;\r\n risk.earthquakeBrokerageGst = 0.0;\r\n break;\r\n }\r\n }\r\n\r\n // calculate earthquakeBrokerage and earthquakeBrokerageGst\r\n switch (risk.earthquakeBrokerageTypeId) {\r\n case 1: // Standard\r\n case 2: // Non Standard\r\n risk.earthquakeBrokerage = evenRound(\r\n (risk.earthquakePremium * risk.earthquakeBrokeragePercentage) / 100,\r\n 2,\r\n );\r\n\r\n risk.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(risk, config);\r\n break;\r\n case 3: // Advised Value\r\n risk.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(risk, config);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (isPackagedCosts) {\r\n const selectedBrokerageOption = config.brokerageOptions.find(\r\n (b) => b.brokerageTypeId === parseInt(this.model.packageCosts.selectedBrokerageOption.brokerageTypeId),\r\n );\r\n\r\n // Merge in selected brokerage option\r\n this.model.packageCosts.brokerageTypeId = selectedBrokerageOption.brokerageTypeId;\r\n this.model.packageCosts.amountEditable = selectedBrokerageOption.amountEditable;\r\n this.model.packageCosts.defaultPercentage = selectedBrokerageOption.defaultPercentage;\r\n this.model.packageCosts.percentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n this.model.packageCosts.brokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n switch (this.model.packageCosts.brokerageTypeId) {\r\n case 2: // Non Standard\r\n this.model.packageCosts.brokerage = evenRound(\r\n (this.model.packageCosts.premium * this.model.packageCosts.brokeragePercentage) / 100,\r\n 2,\r\n );\r\n\r\n this.model.packageCosts.brokerageGst = this.calculateBrokerageGst(this.model.packageCosts, config);\r\n break;\r\n case 3: // Advised Value\r\n this.model.packageCosts.brokerageGst = this.calculateBrokerageGst(this.model.packageCosts, config);\r\n break;\r\n }\r\n\r\n if (isNz) {\r\n /** Earthquake Brokerage Options **/\r\n const selectedBrokerageOption = config.earthquakeBrokerageOptions.find(\r\n (b) =>\r\n b.brokerageTypeId ===\r\n parseInt(this.model.packageCosts.selectedEarthquakeBrokerageOption.brokerageTypeId),\r\n );\r\n\r\n // Merge in selected brokerage option\r\n this.model.packageCosts.earthquakeBrokerageTypeId = selectedBrokerageOption.brokerageTypeId;\r\n this.model.packageCosts.earthquakeAmountEditable = selectedBrokerageOption.amountEditable;\r\n this.model.packageCosts.earthquakeDefaultPercentage = selectedBrokerageOption.defaultPercentage;\r\n this.model.packageCosts.earthquakePercentageEditable = selectedBrokerageOption.percentageEditable;\r\n\r\n if (!selectedBrokerageOption.percentageEditable) {\r\n this.model.packageCosts.earthquakeBrokeragePercentage = selectedBrokerageOption.defaultPercentage;\r\n }\r\n\r\n switch (this.model.packageCosts.earthquakeBrokerageTypeId) {\r\n case 2: // Non Standard\r\n this.model.packageCosts.earthquakeBrokerage = evenRound(\r\n (this.model.packageCosts.earthquakePremium * this.model.packageCosts.earthquakeBrokeragePercentage) /\r\n 100,\r\n 2,\r\n );\r\n\r\n this.model.packageCosts.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(\r\n this.model.packageCosts,\r\n config,\r\n );\r\n break;\r\n case 3: // Advised Value\r\n this.model.packageCosts.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(\r\n this.model.packageCosts,\r\n config,\r\n );\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if(isFap) {\r\n this.isFapValueOverridden(isAu, risk, config);\r\n }\r\n\r\n this.isValueOverridden(isAu, risk, config);\r\n });\r\n }\r\n\r\n isCoInsuredTotalOverridden(isAu, risk, config) {\r\n this.isCoInsuredTotalFslOverridden(risk, config);\r\n this.isCoInsuredTotalGstOverridden(isAu, risk, config);\r\n this.isCoInsuredTotalStampDutyOverridden(risk, config);\r\n }\r\n\r\n isFapValueOverridden(isAu, costs, config) {\r\n this.isFapFslOverridden(costs, config);\r\n this.isFapGstOverridden(isAu, costs, config);\r\n this.isFapStampDutyOverridden(costs, config);\r\n }\r\n\r\n isValueOverridden(isAu, costs, config) {\r\n this.isFslOverridden(costs, config);\r\n this.isGstOverridden(isAu, costs, config);\r\n this.isStampDutyOverridden(costs, config);\r\n this.isBrokerageGstOverridden(costs, config);\r\n this.isEarthquakeBrokerageGstOverridden(costs, config);\r\n }\r\n\r\n isFapFslOverridden(costs, config) {\r\n costs.isFapFslOverridden = new BigNumber(costs.fapFsl).toNumber() !== this.calculateFapFsl(costs, config);\r\n }\r\n\r\n isFapGstOverridden(isAu, costs, config) {\r\n costs.isFapGstOverridden = new BigNumber(costs.fapGst).toNumber() !== this.calculateFapGst(isAu, costs, config);\r\n }\r\n\r\n isFapStampDutyOverridden(costs, config) {\r\n costs.isFapStampDutyOverridden = new BigNumber(costs.fapStampDuty).toNumber() !== this.calculateFapStampDuty(costs, config);\r\n }\r\n\r\n isFslOverridden(costs, config) {\r\n costs.isFslOverridden = new BigNumber(costs.fsl).toNumber() !== this.calculateFsl(costs, config);\r\n }\r\n\r\n isGstOverridden(isAu, costs, config) {\r\n costs.isGstOverridden = new BigNumber(costs.gst).toNumber() !== this.calculateGst(isAu, costs, config);\r\n }\r\n\r\n isStampDutyOverridden(costs, config) {\r\n costs.isStampDutyOverridden = new BigNumber(costs.stampDuty).toNumber() !== this.calculateStampDuty(costs, config);\r\n }\r\n\r\n isBrokerageGstOverridden(costs, config) {\r\n costs.isBrokerageGstOverridden = new BigNumber(costs.brokerageGst).toNumber() !== this.calculateBrokerageGst(costs, config);\r\n }\r\n\r\n isEarthquakeBrokerageGstOverridden(costs, config) {\r\n costs.isEarthquakeBrokerageGstOverridden = new BigNumber(costs.earthquakeBrokerageGst).toNumber() !== this.calculateEarthquakeBrokerageGst(costs, config);\r\n }\r\n\r\n isCoInsuredTotalFslOverridden(risk, config) {\r\n risk.isTotalFslOverridden = new BigNumber(risk.totalFsl).toNumber() !== this.calculateCoInsuredRiskTotalFsl(risk, config);\r\n }\r\n\r\n isCoInsuredTotalGstOverridden(isAu, risk, config) {\r\n risk.isTotalGstOverridden = new BigNumber(risk.totalGst).toNumber() !== this.calculateCoInsuredRiskTotalGst(isAu, risk, config);\r\n }\r\n\r\n isCoInsuredTotalStampDutyOverridden(risk, config) {\r\n risk.isTotalStampDutyOverridden = new BigNumber(risk.totalStampDuty).toNumber() !== this.calculateCoInsuredRiskTotalStampDuty(risk, config);\r\n }\r\n\r\n async updateCurrentInsurer() {\r\n if (\r\n this.params.entityMode === EntityMode.View ||\r\n typeof this.config.insurers[this.selectedInsurerTab] === 'undefined' ||\r\n this.config.isReadOnly\r\n ) {\r\n return true;\r\n }\r\n\r\n if (this.config?.ratingRequired) {\r\n const entityInsurerRiskId = this.model.situations?.[0]?.risks?.[0]?.entityInsurerRiskId;\r\n\r\n const response = await this.api.putRiskPackageQuoteAutoRate(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n entityInsurerRiskId,\r\n this.model,\r\n );\r\n\r\n return response.ok ? true : false;\r\n } else {\r\n const response = await this.api.putRiskPackageQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n this.model,\r\n );\r\n\r\n return response.ok ? true : false;\r\n }\r\n }\r\n\r\n async updateCoInsured() {\r\n if (this.params.entityMode === EntityMode.View || this.config.isReadOnly) {\r\n return true;\r\n }\r\n\r\n const response = await this.api.putCoInsuredRiskQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.model,\r\n );\r\n\r\n return response.ok ? true : false;\r\n }\r\n\r\n async validate() {\r\n return this.coInsuredFlag ? this.updateCoInsured() : this.updateCurrentInsurer();\r\n }\r\n\r\n async validateBotQuote() {\r\n return await this.api.validateBotQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n );\r\n }\r\n\r\n // Open request quote modal\r\n async requestQuote() {\r\n // prevent double click of request quote button\r\n if (this.requestQuoteClicked || this.botRequestValidating || this.showRequestBotQuoteModal) {\r\n return;\r\n }\r\n\r\n this.requestQuoteClicked = true;\r\n\r\n if (await this.validate()) {\r\n try {\r\n this.botRequestValidating = true;\r\n this.showRequestBotQuoteModal = true;\r\n\r\n this.botValidationResult = (await this.validateBotQuote()).insurers;\r\n\r\n // Add id for table select row support\r\n if (this.botValidationResult) {\r\n for (let index = 0; index < this.botValidationResult.length; index++) {\r\n this.botValidationResult[index].id = index;\r\n\r\n // The rest of this response is camelCase, but the bot contract documents this flag as\r\n // CaptureDiscountCode, so accept either rather than silently hiding the discount input.\r\n this.botValidationResult[index].captureDiscountCode =\r\n this.botValidationResult[index].captureDiscountCode ?? this.botValidationResult[index].CaptureDiscountCode;\r\n\r\n // Pre-select or disable\r\n if (this.botValidationResult[index].canProcess) {\r\n this.selectedRows.push(this.botValidationResult[index]);\r\n this.botValidationResult[index].showSuccessStatus = true;\r\n } else {\r\n this.botValidationResult[index].checkboxDisabled = true;\r\n this.botValidationResult[index].showErrorStatus = true;\r\n this.botValidationResult[index].message = 'Validation failed. Expand row for details.';\r\n }\r\n\r\n for (\r\n let childIndex = 0;\r\n childIndex < this.botValidationResult[index].validationIssues.length;\r\n childIndex++\r\n ) {\r\n this.botValidationResult[index].validationIssues[childIndex].id = childIndex;\r\n }\r\n }\r\n }\r\n\r\n this.botRequestValidating = false;\r\n } catch (error) {\r\n this.botRequestValidating = false;\r\n this.showRequestBotQuoteModal = false;\r\n this.requestQuoteClicked = false;\r\n }\r\n }\r\n }\r\n\r\n async submitQuoteRequest() {\r\n this.submittingQuoteRequest = true;\r\n const requestedInsurers = this.selectedRows.map((x) => ({\r\n insurerId: x.insurerId,\r\n discountCode: (x.captureDiscountCode && x.discountCode) || null,\r\n }));\r\n\r\n try {\r\n // An endorsement rates through the amendment endpoint, which fixes the insurer server-side. The modal still\r\n // runs so the broker sees the validation issues, but there is no insurer selection to send.\r\n // loose equality throughout - actionType arrives from the router as a string\r\n const isEndorsement = this.params.actionType == EntityActionType.Endorsement;\r\n\r\n const response = isEndorsement\r\n ? await this.api.submitBotAmendment(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n )\r\n : await this.api.submitBotQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n requestedInsurers,\r\n );\r\n\r\n if (response) {\r\n this.isQuoteRequestSubmitted = true;\r\n }\r\n\r\n this.submittingQuoteRequest = false;\r\n } catch (error) {\r\n this.submittingQuoteRequest = false;\r\n }\r\n }\r\n\r\n closeQuoteRequestModal() {\r\n if (this.isQuoteRequestSubmitted) {\r\n if (this.params.entityType === EntityType.Quote) {\r\n this.router.navigateToRoute('clientQuotes', { id: this.params.id, quoteId: this.params.entityId });\r\n } else if (this.params.entityType === EntityType.Incomplete || this.params.entityType === EntityType.Policy) {\r\n this.router.navigateToRoute('clientPolicies', {\r\n id: this.params.id,\r\n policyId: this.params.parentEntityId,\r\n policyVersionId: 0,\r\n statusTypeId: this.params.statusTypeId,\r\n versionNo: this.params.versionNo,\r\n });\r\n }\r\n } else {\r\n this.botRequestValidating = false;\r\n this.showRequestBotQuoteModal = false;\r\n this.requestQuoteClicked = false;\r\n this.botValidationResult = undefined;\r\n this.selectedRows = [];\r\n }\r\n }\r\n\r\n // Open cancel quote request modal\r\n async cancelQuoteRequest() {\r\n this.showCancelQuoteRequestModal = true;\r\n }\r\n\r\n async confirmCancelQuoteRequest(action: ConfirmModalActions) {\r\n if (action === 'cancel') {\r\n this.showCancelQuoteRequestModal = false;\r\n return;\r\n }\r\n\r\n if (action === 'confirm') {\r\n try {\r\n this.isCancelingQuoteRequest = true;\r\n const response = await this.api.cancelBotQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n );\r\n\r\n if (response) {\r\n window.location.reload();\r\n }\r\n\r\n this.showCancelQuoteRequestModal = false;\r\n this.isCancelingQuoteRequest = false;\r\n } catch (error) {\r\n this.showCancelQuoteRequestModal = false;\r\n this.isCancelingQuoteRequest = false;\r\n }\r\n }\r\n }\r\n\r\n async getList(type) {\r\n this.listType = type;\r\n if (type === 'clause') {\r\n this.list = await this.api.insurerClauses(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\r\n } else if (type === 'referral') {\r\n this.list = await this.api.insurerReferrals(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\r\n }\r\n\r\n this.showListModal = true;\r\n }\r\n\r\n // Reads the insurer off the selected tab exactly as getList does, which is what keeps the\r\n // Insurer Documents popup scoped to one insurer without touching the recommended insurer.\r\n async getInsurerDocuments() {\r\n this.insurerDocuments = [];\r\n this.popupBlocked = false;\r\n this.insurerDocumentsLoading = true;\r\n this.showInsurerDocumentsModal = true;\r\n\r\n try {\r\n this.insurerDocuments = await this.api.insurerDocuments(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\r\n } catch (error) {\r\n log.error('Could not load insurer documents', error);\r\n this.showInsurerDocumentError('insurerDocumentsLoadFailed');\r\n this.showInsurerDocumentsModal = false;\r\n } finally {\r\n this.insurerDocumentsLoading = false;\r\n }\r\n }\r\n\r\n closeInsurerDocumentsModal() {\r\n this.showInsurerDocumentsModal = false;\r\n this.popupBlocked = false;\r\n // The object urls are deliberately left alive here - a preview tab opened from this modal still\r\n // reads from one. They are revoked on deactivate, when the step itself goes away.\r\n }\r\n\r\n async previewInsurerDocument(row) {\r\n this.popupBlocked = false;\r\n\r\n await this.withInsurerDocument(row, (objectUrl) => {\r\n const routeFragment = this.router.generate('pdfPreview', { title: row.documentName, url: objectUrl });\r\n const openPreview = PLATFORM.global.open(routeFragment, '_blank');\r\n\r\n if (!openPreview) {\r\n this.popupBlocked = true;\r\n }\r\n });\r\n }\r\n\r\n async printInsurerDocument(row) {\r\n this.insurerDocumentBusyId = row.entityInsurerDocumentId;\r\n\r\n try {\r\n // printPdfBlob owns the object url for the print frame, so this does not go through\r\n // withInsurerDocument - that tracks urls handed to preview tabs, which outlive this call.\r\n const blob = await this.fetchInsurerDocument(row);\r\n await printPdfBlob(blob, this.iframeContainer);\r\n } catch (error) {\r\n log.error('Could not print insurer document', error);\r\n this.showInsurerDocumentError('insurerDocumentFailed');\r\n } finally {\r\n this.insurerDocumentBusyId = null;\r\n }\r\n }\r\n\r\n async downloadInsurerDocument(row) {\r\n this.insurerDocumentBusyId = row.entityInsurerDocumentId;\r\n\r\n try {\r\n const blob = await this.fetchInsurerDocument(row);\r\n // downloadFile rather than downloadBlobFromUrl - we already hold the bytes, so there is\r\n // nothing to round trip through the octet-stream endpoint.\r\n this.blobService.downloadFile(blob, `${row.documentName}.pdf`);\r\n } catch (error) {\r\n log.error('Could not download insurer document', error);\r\n this.showInsurerDocumentError('insurerDocumentFailed');\r\n } finally {\r\n this.insurerDocumentBusyId = null;\r\n }\r\n }\r\n\r\n private async withInsurerDocument(row, action: (objectUrl: string) => void) {\r\n this.insurerDocumentBusyId = row.entityInsurerDocumentId;\r\n\r\n try {\r\n const blob = await this.fetchInsurerDocument(row);\r\n const objectUrl = URL.createObjectURL(blob);\r\n this.insurerDocumentObjectUrls.push(objectUrl);\r\n\r\n action(objectUrl);\r\n } catch (error) {\r\n log.error('Could not open insurer document', error);\r\n this.showInsurerDocumentError('insurerDocumentFailed');\r\n } finally {\r\n this.insurerDocumentBusyId = null;\r\n }\r\n }\r\n\r\n private fetchInsurerDocument(row): Promise {\r\n return this.api.insurerDocumentContent(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n row.entityInsurerDocumentId,\r\n );\r\n }\r\n\r\n private showInsurerDocumentError(translationKey: string) {\r\n const toast = new IaToastMessage();\r\n toast.title = this.i18n.tr('insurerDocuments');\r\n toast.message = this.i18n.tr(translationKey);\r\n this.toast.error(toast);\r\n }\r\n\r\n private revokeInsurerDocumentObjectUrls() {\r\n this.insurerDocumentObjectUrls.forEach((url) => URL.revokeObjectURL(url));\r\n this.insurerDocumentObjectUrls = [];\r\n }\r\n\r\n // The wizard composes each step, so detached is the hook that reliably fires when this step goes\r\n // away; deactivate covers a direct route change. Revoking twice is a no-op.\r\n detached() {\r\n this.revokeInsurerDocumentObjectUrls();\r\n }\r\n\r\n deactivate() {\r\n this.revokeInsurerDocumentObjectUrls();\r\n }\r\n\r\n deleteAll(action = 'delete') {\r\n this.isDeleteAllMode = action === 'delete';\r\n }\r\n\r\n async processDeleteAll() {\r\n try {\r\n let response;\r\n if (this.listType === 'clause') {\r\n response = await this.api.deleteAllInsurerClauses(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\r\n } else if (this.listType === 'referral') {\r\n response = await this.api.deleteAllinsurerReferrals(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\r\n }\r\n\r\n if (response) {\r\n this.isDeleteAllMode = false;\r\n this.list = [];\r\n this.disabledListButtons();\r\n }\r\n } catch (error) {\r\n this.isDeleteAllMode = false;\r\n console.log(error);\r\n }\r\n }\r\n\r\n deleteRow(row, action = 'delete') {\r\n this.isDeleteMode = action === 'delete';\r\n row.isDeleteMode = action === 'delete';\r\n }\r\n\r\n async processDeleteRow(row) {\r\n try {\r\n let response;\r\n if (this.listType === 'clause') {\r\n response = await this.api.deleteInsurerClause(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n row.entityInsurerClauseListId,\r\n );\r\n } else if (this.listType === 'referral') {\r\n response = await this.api.deleteinsurerReferral(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n row.entityReferDeclineValidationIssueId,\r\n );\r\n }\r\n\r\n if (response) {\r\n if (this.listType === 'clause') {\r\n this.config.insurers[this.selectedInsurerTab].insurerClauseCount =\r\n this.config.insurers[this.selectedInsurerTab].insurerClauseCount - 1;\r\n } else if (this.listType === 'referral') {\r\n this.config.insurers[this.selectedInsurerTab].referralIssueCount =\r\n this.config.insurers[this.selectedInsurerTab].referralIssueCount - 1;\r\n }\r\n\r\n const index = this.list.indexOf(row);\r\n this.list.splice(index, 1);\r\n this.isDeleteMode = false;\r\n if (!this.list.length) {\r\n this.disabledListButtons();\r\n }\r\n }\r\n } catch (error) {\r\n this.isDeleteMode = false;\r\n log.error(error);\r\n }\r\n }\r\n\r\n disabledListButtons() {\r\n if (this.listType === 'clause') {\r\n this.config.insurers[this.selectedInsurerTab].insurerClauseCount = 0;\r\n this.config.insurers[this.selectedInsurerTab].insurerClausesPresent = false;\r\n } else if (this.listType === 'referral') {\r\n this.config.insurers[this.selectedInsurerTab].referralIssueCount = 0;\r\n this.config.insurers[this.selectedInsurerTab].referralIssuesPresent = false;\r\n }\r\n }\r\n\r\n canShowOverrideButton(entityInsurerRiskId, riskConfig) {\r\n let canShow = false;\r\n\r\n // Don't show override if it's a decline\r\n if (this.isDeclineDetails(entityInsurerRiskId)) {\r\n return false;\r\n }\r\n\r\n const status = this.ratingStatuses[entityInsurerRiskId];\r\n\r\n if (status) {\r\n if (status.transactionStatus === 600000000) {\r\n canShow = true;\r\n }\r\n\r\n if (!status.errorDecline || !Object.keys(status.errorDecline).length) {\r\n if (riskConfig.autoRatedRisk) {\r\n canShow = false;\r\n }\r\n }\r\n }\r\n\r\n return canShow;\r\n }\r\n\r\n isDeclineDetails(entityInsurerRiskId) {\r\n let isDecline = false;\r\n\r\n const status = this.ratingStatuses[entityInsurerRiskId];\r\n\r\n // if (status && status.errorDecline) {\r\n // if (Object.keys(status.errorDecline).length) {\r\n // isDecline = true;\r\n // }\r\n // }\r\n\r\n if (status && status.transactionStatus === 600000004) {\r\n isDecline = true;\r\n }\r\n\r\n return isDecline;\r\n }\r\n\r\n canShowReferralDetailsButton(entityInsurerRiskId) {\r\n let canShow = false;\r\n\r\n const status = this.ratingStatuses[entityInsurerRiskId];\r\n\r\n if (status && status.errorDecline) {\r\n if (Object.keys(status.errorDecline).length) {\r\n canShow = true;\r\n }\r\n }\r\n\r\n return canShow;\r\n }\r\n\r\n async referralDetails(riskId, riskConfig) {\r\n this.showReferralDetails = true;\r\n\r\n this.rejectSituation = '';\r\n this.rejectRisk = '';\r\n this.rejectReason = '';\r\n\r\n const rejection = await this.api.getRejection(\r\n this.params.id,\r\n parseInt(this.params.entityId),\r\n this.params.actionType,\r\n this.params.entityType,\r\n riskId,\r\n );\r\n\r\n this.rejectSituation = rejection?.situation;\r\n this.rejectRisk = rejection?.risk;\r\n this.rejectReason = rejection?.rejectionReason ?? '';\r\n }\r\n\r\n async override(riskId, parentIndex, riskConfig) {\r\n this.oldRisksModel = cloneDeep(this.model);\r\n this.currentlySelectedRiskId = riskId;\r\n this.showOverrideDetails = true;\r\n\r\n const overrideDetails: IOverride = await this.api.getOverrideDetails(\r\n this.params.id,\r\n parseInt(this.params.entityId),\r\n this.params.actionType,\r\n this.params.entityType,\r\n riskId,\r\n );\r\n\r\n this.overrideDetails = overrideDetails;\r\n this.overrideRiskId = riskId;\r\n this.overrideParentSituationIndex = parentIndex;\r\n }\r\n\r\n async saveOverride() {\r\n const riskId = this.currentlySelectedRiskId;\r\n\r\n const foundRisk = this.model.situations\r\n .find((s) => s.risks.some((r) => r.entityInsurerRiskId === riskId))\r\n ?.risks.find((r) => r.entityInsurerRiskId === riskId);\r\n\r\n if (!foundRisk) {\r\n return false;\r\n }\r\n\r\n const overrideModel = {\r\n entityInsurerRiskId: riskId,\r\n authorisationCode: this.overrideDetails.authorisationCode,\r\n authorisationReasonId: this.overrideDetails.authorisationReasonId,\r\n overrideComment: this.overrideDetails.overrideComment,\r\n fapPremium: foundRisk.fapPremium,\r\n fapEarthquakePremium: foundRisk.fapEarthquakePremium,\r\n fapEarthquakeLevy: foundRisk.fapEarthquakeLevy,\r\n fapFsl: foundRisk.fapFsl,\r\n fapGst: foundRisk.fapGst,\r\n premium: foundRisk.premium,\r\n earthquakePremium: foundRisk.earthquakePremium,\r\n earthquakeLevy: foundRisk.earthquakeLevy,\r\n fsl: foundRisk.fsl,\r\n gst: foundRisk.gst,\r\n brokerageTypeId: foundRisk.brokerageTypeId,\r\n brokeragePercentage: foundRisk.brokeragePercentage,\r\n brokerage: foundRisk.brokerage,\r\n brokerageGst: foundRisk.brokerageGst,\r\n earthquakeBrokerageTypeId: foundRisk.earthquakeBrokerageTypeId,\r\n earthquakeBrokeragePercentage: foundRisk.earthquakeBrokeragePercentage,\r\n earthquakeBrokerage: foundRisk.earthquakeBrokerage,\r\n earthquakeBrokerageGst: foundRisk.earthquakeBrokerageGst,\r\n stampDuty: foundRisk.stampDuty\r\n };\r\n\r\n const response = await this.api.putOverride(\r\n this.params.id,\r\n parseInt(this.params.entityId),\r\n this.params.actionType,\r\n this.params.entityType,\r\n this.currentlySelectedRiskId,\r\n overrideModel,\r\n );\r\n\r\n if (response.ok === true) {\r\n this.currentlySelectedRiskId = null;\r\n this.showOverrideDetails = false;\r\n\r\n await this.loadConfiguration();\r\n }\r\n }\r\n\r\n closeOverride() {\r\n this.showOverrideDetails = false;\r\n this.overrideRiskId = -1;\r\n this.model = cloneDeep(this.oldRisksModel);\r\n this.currentlySelectedRiskId = null;\r\n\r\n this.oldRisksModel = {};\r\n }\r\n}\r\n\r\ninterface IOverride {\r\n authorisationCode: string;\r\n authorisationReasonId: number;\r\n brokerage?: number;\r\n brokerageGst?: number;\r\n brokeragePercentage?: number;\r\n brokerageTypeId?: number;\r\n earthquakeBrokerage?: number;\r\n earthquakeBrokerageGst?: number;\r\n earthquakeBrokeragePercentage?: number;\r\n earthquakeBrokerageTypeId?: number;\r\n earthquakeLevy?: number;\r\n earthquakePremium?: number;\r\n entityInsurerRiskId: number;\r\n fsl?: number;\r\n gst?: number;\r\n overrideComment: string;\r\n premium?: number;\r\n}\r\n"],"names":["api","i18n","router","taskQueue","toast","validationControllerFactory","ea","lookupData","blobService","styles","selectedInsurerTab","selectedSituationTab","context","this","insurers","appClientType","overrideRiskId","overrideParentSituationIndex","showGstWarning","gstExemptEntities","showRiskPackageCostsModal","setPackageFocus","isDirty","inputMaskOptions","tabClass","isRightChevronDisabled","showRequestBotQuoteModal","botRequestValidating","requestQuoteClicked","selectedRows","submittingQuoteRequest","showCancelQuoteRequestModal","isCancelingQuoteRequest","listType","showListModal","showInsurerDocumentsModal","insurerDocuments","insurerDocumentsLoading","insurerDocumentBusyId","popupBlocked","insurerDocumentObjectUrls","isDeleteAllMode","isDeleteMode","isQuoteRequestSubmitted","showReferralDetails","showOverrideDetails","authReasons","ratingStatuses","rejectSituation","rejectRisk","rejectReason","authorisationCode","authorisationReason","currentlySelectedRiskId","oldRisksModel","validationController","createForCurrentScope","addRenderer","activate","model","params","actionType","minimumValue","removeObject","loadConfiguration","publish","config","getRiskPackageCostsConfig","id","parseInt","entityId","entityType","entityMode","loadedConfig","coInsuredFlag","botInsurerInterfaceAvailable","botPreviouslyRequestedFlag","botPreviouslyRequestedForInsurerCodes","coInsuredRiskCostsConfig","riskPackageCostsConfig","ratingRequired","postAutorate","response","insurerTabChanged","getCoInsuredRiskQuote","result","setCoInsuredInsurerRiskBrokerageTypes","checkGstExemptStatus","riskRatingStatuses","length","forEach","status","quoteInsurerRiskId","authorisationReasons","applyOverrideStyles","isCoInsured","isPackagedCosts","packageFlag","isRiskCosts","isAu","isFap","useFapFlag","situations","situation","situationConfig","find","x","entitySituationId","risks","risk","entityRiskId","parseFslStampDutyRate","isCoInsuredTotalOverridden","insurerRisks","insurerRisk","isValueOverridden","selectedInsurer","packageConfiguration","packageCosts","riskConfiguration","isFapValueOverridden","fslRate","stampDutyRate","attached","scrollTabs","direction","tabPosition","getRiskPackageQuote","entityInsurerId","fapPremium","fapEarthquakePremium","fapEarthquakeLevy","fapFsl","fapGst","fapStampDuty","insurer","initialLoad","$index","findIndex","el","updateCurrentInsurer","isUpdateSuccessful","window","confirm","loadedInsurer","setPackageBrokerageTypes","setRiskBrokerageTypes","showUseFap","showViewFap","gstOverridden","gstOverrideFlag","autoRatedRisk","destroyAllToasts","clientGstExempt","clientGstExemptFlag","insurerOfficeGstExempt","insurerOfficeGstExemptFlag","riskGstExempt","some","r","gstApplies","push","selectedOption","configBrokerageOptions","brokerageOptions","b","brokerageTypeId","selectedBrokerageOption","amountEditable","defaultPercentage","percentageEditable","configEarthquakeBrokerageOptions","earthquakeBrokerageOptions","earthquakeBrokerageTypeId","selectedEarthquakeBrokerageOption","earthquakeAmountEditable","earthquakeDefaultPercentage","earthquakePercentageEditable","s","ir","entityInsurerRiskId","usePackageCosts","isReadOnly","packageCostsEnabled","changeRiskPackageCostTitle","changeRiskPackageCostCallBack","type","operation","op","path","value","patchRiskPackageQuote","queueTask","resetGstValues","riskOrPackageCosts","isNz","fapValuesReadOnly","calculateFapGst","gst","calculateFapDerivedAmount","fapPrevGst","calculateFapStampDuty","stampDuty","fapPrevStampDuty","calculateGst","calculateStampDuty","brokerageGst","calculateBrokerageGst","earthquakeBrokerageGst","calculateEarthquakeBrokerageGst","resetCoInsuredGstValues","riskConfig","totalGst","calculateCoInsuredRiskTotalGst","totalStampDuty","calculateCoInsuredRiskTotalStampDuty","insurerConfig","percentageHeld","multipliedBy","dividedBy","toNumber","overrideGst","self","queueMicroTask","fapValue","fapPrevValue","derivedValue","prevValue","fapFormula","fapTransactionDays","calculateFapFsl","isFapFslOverridden","isFapGstOverridden","Object","keys","plus","c","gstRate","isFapStampDutyOverridden","calculateFsl","isFslOverridden","premium","isGstOverridden","fsl","earthquakePremium","earthquakeLevy","isStampDutyOverridden","isBrokerageGstOverridden","brokerage","isEarthquakeBrokerageGstOverridden","earthquakeBrokerage","calculateCoInsuredInsurerRiskFsl","insurerRiskCosts","riskCosts","isTotalGstOverridden","totalPremium","totalFsl","totalEarthquakePremium","totalEarthquakeLevy","calculateCoInsuredInsurerRiskGst","isTotalStampDutyOverridden","calculateCoInsuredInsurerRiskStampDuty","calculateCoInsuredRiskTotalFsl","isTotalFslOverridden","calculateCoInsuredRiskFsl","calculateCoInsuredRiskGst","calculateCoInsuredStampDuty","coInsuredRiskTotalsChanged","fieldName","includes","brokeragePercentage","earthquakeBrokeragePercentage","coInsuredInsurerRiskChanged","reduce","total","riskChanged","override","premiumTotal","fapFslRecalcFields","fapGstRecalcFields","fapStampDutyRecalcFields","fapPrevPremium","fapPrevEarthquakePremium","fapPrevEarthquakeLevy","fapPrevFsl","isCoInsuredTotalFslOverridden","isCoInsuredTotalGstOverridden","isCoInsuredTotalStampDutyOverridden","costs","putRiskPackageQuoteAutoRate","ok","putRiskPackageQuote","updateCoInsured","putCoInsuredRiskQuote","validate","validateBotQuote","requestQuote","botValidationResult","index","captureDiscountCode","CaptureDiscountCode","canProcess","showSuccessStatus","checkboxDisabled","showErrorStatus","message","childIndex","validationIssues","submitQuoteRequest","requestedInsurers","map","insurerId","discountCode","submitBotAmendment","submitBotQuote","closeQuoteRequestModal","navigateToRoute","quoteId","policyId","parentEntityId","policyVersionId","statusTypeId","versionNo","undefined","cancelQuoteRequest","confirmCancelQuoteRequest","action","cancelBotQuote","location","reload","getList","insurerClauses","list","insurerReferrals","getInsurerDocuments","showInsurerDocumentError","closeInsurerDocumentsModal","previewInsurerDocument","row","withInsurerDocument","objectUrl","routeFragment","generate","title","documentName","url","PLATFORM","printInsurerDocument","entityInsurerDocumentId","fetchInsurerDocument","blob","iframeContainer","downloadInsurerDocument","downloadFile","URL","createObjectURL","insurerDocumentContent","translationKey","tr","error","revokeInsurerDocumentObjectUrls","revokeObjectURL","detached","deactivate","deleteAll","processDeleteAll","deleteAllInsurerClauses","deleteAllinsurerReferrals","disabledListButtons","console","log","deleteRow","processDeleteRow","deleteInsurerClause","entityInsurerClauseListId","deleteinsurerReferral","entityReferDeclineValidationIssueId","insurerClauseCount","referralIssueCount","indexOf","splice","insurerClausesPresent","referralIssuesPresent","canShowOverrideButton","canShow","isDeclineDetails","transactionStatus","errorDecline","isDecline","canShowReferralDetailsButton","referralDetails","riskId","getRejection","rejection","rejectionReason","parentIndex","getOverrideDetails","overrideDetails","saveOverride","foundRisk","overrideModel","authorisationReasonId","overrideComment","putOverride","closeOverride","computedFrom","autoinject","I18N","TaskQueue","ValidationControllerFactory","EventAggregator","RiskPackageCosts"],"sourceRoot":""}