{"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?6a12","webpack://iadviser/./src/routes/app-adviser/client/wizard/steps/quote/risk-package-costs/risk-package-costs.ts"],"sourcesContent":["// Module\nvar code = \"\\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\",\"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--flat____iaRc8 btn____p6ykY btn--footer____iDi32 btn____p6ykY\",\"btn--footer-delete\":\"btn--footer-delete____EQxjC btn--delete____o2gIv 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 btn--icon____yq7cr btn____p6ykY\",\"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-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-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--back\":\"btn--back____pxs24 btn____p6ykY\",\"btn--back-to-sign-in\":\"btn--back-to-sign-in____vCUP0 btn--back____pxs24 btn____p6ykY\",\"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\",\"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-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\",\"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\":\"button-options____D9TJZ\",\"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\",\"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\",\"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\",\"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--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\",\"confirmation-content--alert\":\"confirmation-content--alert____CVNnO 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\",\"client-footer--right\":\"client-footer--right____NeJbJ\",\"wizard-button-group\":\"wizard-button-group____rZbSe\",\"wizard-button-group--with-distribute\":\"wizard-button-group--with-distribute____nOfri wizard-button-group____rZbSe\",\"wizard-nav-group\":\"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\",\"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\"};","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 } from 'resources/services/ia-toast-service';\r\nimport { FormValidationRenderer } from 'resources/form-validation-renderer';\r\nimport { Api } from './api';\r\nimport { autoinject, TaskQueue, computedFrom } from 'aurelia-framework';\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 { 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 { getAppClient } 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 appClient: CountryCode;\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 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 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 ) {\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 }\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\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 bind() {\r\n this.appClient = getAppClient();\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 this.showGstWarning =\r\n this.params.entityMode === EntityMode.Edit &&\r\n (this.selectedInsurer.riskConfiguration.filter((x) => x.gstApplies === false).length > 0 ||\r\n this.selectedInsurer.packageConfiguration.gstApplies === false);\r\n const loadedInsurer = await this.getRiskPackageQuote(\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n );\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 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 }\r\n }\r\n\r\n if (!initialLoad) {\r\n this.toast.destroyAllToasts();\r\n }\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\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.appClient === 'AU';\r\n const isNz = this.appClient === '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\r\n resetCoInsuredGstValues() {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClient === 'AU';\r\n const isNz = this.appClient === '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 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 });\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 calculateFapGst(isAu, riskOrPackageCosts, config) {\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 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 calculateGst(isAu, riskOrPackageCosts, config) {\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 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 return config.gstApplies ? calculateGst(riskOrPackageCosts.brokerage, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateEarthquakeBrokerageGst(riskOrPackageCosts, config) {\r\n return config.gstApplies ? calculateGst(riskOrPackageCosts.earthquakeBrokerage, this.config.gstRate) : 0;\r\n }\r\n\r\n calculateCoInsuredRiskTotalGst(isAu, riskCosts, config) {\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 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 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 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 coInsuredRiskTotalsChanged(risk, fieldName, riskConfig) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClient === 'AU';\r\n const isNz = this.appClient === 'NZ';\r\n\r\n if (typeof riskConfig.fslRate === 'undefined' || riskConfig.fslRate === null) {\r\n riskConfig.fslRate = 0;\r\n }\r\n\r\n if (typeof riskConfig.stampDutyRate === 'undefined' || riskConfig.stampDutyRate === null) {\r\n riskConfig.stampDutyRate = 0;\r\n }\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 = evenRound(\r\n new BigNumber(riskConfig.fslRate).multipliedBy(risk.totalPremium).dividedBy(100).toNumber(),\r\n 2,\r\n );\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 /** 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 = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalFsl).dividedBy(100).toNumber(),\r\n 2,\r\n );\r\n }\r\n\r\n const gstFields = ['totalPremium', 'totalEarthquakePremium', 'totalEarthquakeLevy', 'totalFsl', 'totalGst'];\r\n if (gstFields.includes(fieldName)) {\r\n insurer.gst = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalGst).dividedBy(100).toNumber(),\r\n 2,\r\n );\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 = evenRound(\r\n new BigNumber(insurerConfig.percentageHeld).multipliedBy(risk.totalStampDuty).dividedBy(100).toNumber(),\r\n 2,\r\n );\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 }\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.appClient === 'AU';\r\n const isNz = this.appClient === 'NZ';\r\n\r\n if (typeof riskConfig.fslRate === 'undefined' || riskConfig.fslRate === null) {\r\n riskConfig.fslRate = 0;\r\n }\r\n\r\n if (typeof riskConfig.stampDutyRate === 'undefined' || riskConfig.stampDutyRate === null) {\r\n riskConfig.stampDutyRate = 0;\r\n }\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 = evenRound(\r\n new BigNumber(riskConfig.fslRate).multipliedBy(insurerRisk.premium).dividedBy(100).toNumber(),\r\n 2,\r\n );\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 });\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.appClient === 'AU';\r\n const isNz = this.appClient === '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 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 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 = evenRound(\r\n new BigNumber(config.fslRate).multipliedBy(risk.fapPremium).dividedBy(100).toNumber(),\r\n 2,\r\n );\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 = evenRound(new BigNumber(config.fslRate).multipliedBy(risk.premium).dividedBy(100).toNumber(), 2);\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 }\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 // 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 insurerIds = this.selectedRows.map((x) => x.insurerId);\r\n\r\n try {\r\n const response = 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 insurerIds,\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 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 console.log(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 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","styles","selectedInsurerTab","selectedSituationTab","context","this","insurers","overrideRiskId","overrideParentSituationIndex","showGstWarning","showRiskPackageCostsModal","setPackageFocus","isDirty","inputMaskOptions","tabClass","isRightChevronDisabled","showRequestBotQuoteModal","botRequestValidating","requestQuoteClicked","selectedRows","submittingQuoteRequest","showCancelQuoteRequestModal","isCancelingQuoteRequest","listType","showListModal","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","riskRatingStatuses","length","forEach","status","quoteInsurerRiskId","authorisationReasons","attached","scrollTabs","direction","tabPosition","getRiskPackageQuote","entityInsurerId","useFapFlag","isPackagedCosts","packageFlag","situations","situation","risks","risk","fapPremium","fapEarthquakePremium","fapEarthquakeLevy","fapFsl","fapGst","fapStampDuty","packageCosts","bind","appClient","insurer","initialLoad","$index","findIndex","el","updateCurrentInsurer","isUpdateSuccessful","window","confirm","selectedInsurer","riskConfiguration","filter","x","gstApplies","packageConfiguration","loadedInsurer","setPackageBrokerageTypes","setRiskBrokerageTypes","showUseFap","showViewFap","gstOverridden","gstOverrideFlag","autoRatedRisk","destroyAllToasts","selectedOption","configBrokerageOptions","find","entityRiskId","brokerageOptions","b","brokerageTypeId","selectedBrokerageOption","amountEditable","defaultPercentage","percentageEditable","configEarthquakeBrokerageOptions","earthquakeBrokerageOptions","earthquakeBrokerageTypeId","selectedEarthquakeBrokerageOption","earthquakeAmountEditable","earthquakeDefaultPercentage","earthquakePercentageEditable","insurerRisks","insurerRisk","s","entitySituationId","r","ir","entityInsurerRiskId","usePackageCosts","isReadOnly","packageCostsEnabled","changeRiskPackageCostTitle","changeRiskPackageCostCallBack","type","operation","op","path","value","patchRiskPackageQuote","queueTask","isCoInsured","isRiskCosts","resetGstValues","riskOrPackageCosts","isFap","isAu","isNz","fapValuesReadOnly","calculateFapGst","gst","calculateFapDerivedAmount","fapPrevGst","stampDutyRate","calculateFapStampDuty","stampDuty","fapPrevStampDuty","calculateGst","calculateStampDuty","brokerageGst","calculateBrokerageGst","earthquakeBrokerageGst","calculateEarthquakeBrokerageGst","resetCoInsuredGstValues","situationConfig","riskConfig","totalGst","calculateCoInsuredRiskTotalGst","totalStampDuty","calculateCoInsuredRiskTotalStampDuty","insurerConfig","percentageHeld","multipliedBy","dividedBy","toNumber","overrideGst","self","queueMicroTask","fapValue","fapPrevValue","derivedValue","prevValue","fapFormula","fapTransactionDays","Object","keys","plus","c","gstRate","premium","fsl","earthquakePremium","earthquakeLevy","brokerage","earthquakeBrokerage","riskCosts","totalPremium","totalFsl","totalEarthquakePremium","totalEarthquakeLevy","calculateCoInsuredInsurerRiskGst","insurerRiskCosts","calculateCoInsuredInsurerRiskStampDuty","coInsuredRiskTotalsChanged","fieldName","fslRate","includes","brokeragePercentage","earthquakeBrokeragePercentage","coInsuredInsurerRiskChanged","reduce","total","riskChanged","override","premiumTotal","fapFslRecalcFields","fapGstRecalcFields","fapStampDutyRecalcFields","fapPrevPremium","fapPrevEarthquakePremium","fapPrevEarthquakeLevy","fapPrevFsl","putRiskPackageQuoteAutoRate","ok","putRiskPackageQuote","updateCoInsured","putCoInsuredRiskQuote","validate","validateBotQuote","requestQuote","botValidationResult","index","canProcess","push","showSuccessStatus","checkboxDisabled","showErrorStatus","message","childIndex","validationIssues","submitQuoteRequest","insurerIds","map","insurerId","submitBotQuote","closeQuoteRequestModal","navigateToRoute","quoteId","policyId","parentEntityId","policyVersionId","statusTypeId","versionNo","undefined","cancelQuoteRequest","confirmCancelQuoteRequest","action","cancelBotQuote","location","reload","getList","insurerClauses","list","insurerReferrals","deleteAll","processDeleteAll","deleteAllInsurerClauses","deleteAllinsurerReferrals","disabledListButtons","console","log","deleteRow","row","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","some","overrideModel","authorisationReasonId","overrideComment","putOverride","closeOverride","computedFrom","autoinject","I18N","TaskQueue","ValidationControllerFactory","EventAggregator","RiskPackageCosts"],"sourceRoot":""}