{"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\",\"scrollable-table-container\":\"scrollable-table-container____y2L5C\",\"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\",\"gst-exempt-warning\":\"gst-exempt-warning____v1mbX view-block--warning____hjlCc view-block____MihFj\",\"gstExemptRisk\":\"gstExemptRisk____lTLVv\"};","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 { getAppClientType } from 'resources/parse-jwt';\r\nimport { initScrollTabs, scrollTabs } from 'resources/tab-scroll';\r\nimport cloneDeep from 'lodash/cloneDeep';\r\n@autoinject()\r\nexport class RiskPackageCosts {\r\n public validationController: ValidationController;\r\n public config;\r\n private params: IStepModel;\r\n private model;\r\n private modelClone: RiskPackageCostsModel;\r\n private quote;\r\n private step;\r\n private styles = styles;\r\n private selectedInsurer;\r\n private selectedSituation;\r\n private selectedInsurerTab = 0;\r\n private selectedSituationTab = 0;\r\n private context = this;\r\n private insurers = {};\r\n private appClientType: CountryCode;\r\n private coInsuredFlag;\r\n private botInsurerInterfaceAvailable;\r\n private botPreviouslyRequestedFlag;\r\n private botPreviouslyRequestedForInsurerCodes;\r\n private overrideRiskId = -1;\r\n private overrideParentSituationIndex = -1;\r\n\r\n private showGstWarning = false;\r\n private gstExemptEntities = [];\r\n\r\n private showRiskPackageCostsModal = false;\r\n private setPackageFocus = false;\r\n private changeRiskPackageCostTitle: string;\r\n private isDirty = false;\r\n\r\n private inputMaskOptions: any = {};\r\n\r\n private tabUl: HTMLDivElement;\r\n private tabClass = 'a.insurerTabs';\r\n private tabPosition;\r\n private isRightChevronDisabled = false;\r\n\r\n public showRequestBotQuoteModal = false;\r\n public botRequestValidating = false;\r\n public requestQuoteClicked = false;\r\n public botValidationResult;\r\n public selectedRows = [];\r\n public submittingQuoteRequest = false;\r\n public showCancelQuoteRequestModal = false;\r\n public isCancelingQuoteRequest = false;\r\n\r\n public listType = '';\r\n public showListModal = false;\r\n public list;\r\n\r\n public 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 this.checkGstExemptStatus();\r\n }\r\n\r\n if (this.config.riskRatingStatuses?.length) {\r\n this.ratingStatuses = {};\r\n\r\n this.config.riskRatingStatuses.forEach((status) => {\r\n if (!this.ratingStatuses?.[status.quoteInsurerRiskId]) {\r\n this.ratingStatuses[status.quoteInsurerRiskId] = status;\r\n } else {\r\n this.ratingStatuses[status.quoteInsurerRiskId] = {\r\n ...this.ratingStatuses[status.quoteInsurerRiskId],\r\n ...status,\r\n };\r\n }\r\n });\r\n }\r\n\r\n this.authReasons = await this.lookupData.authorisationReasons();\r\n }\r\n\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.appClientType = getAppClientType();\r\n }\r\n\r\n async insurerTabChanged(insurer, initialLoad = false) {\r\n let isUpdateSuccessful;\r\n const $index = this.config.insurers.findIndex((el) => el.entityInsurerId === insurer.entityInsurerId);\r\n\r\n if (this.selectedInsurerTab !== $index) {\r\n isUpdateSuccessful = await this.updateCurrentInsurer();\r\n\r\n if (!isUpdateSuccessful) {\r\n const confirm = window.confirm(\r\n 'You have unsaved changes which are currently invalid. Do you want to discard them and change the selected insurer?',\r\n );\r\n\r\n if (confirm) {\r\n isUpdateSuccessful = true;\r\n }\r\n }\r\n\r\n this.selectedInsurerTab = isUpdateSuccessful ? $index : this.selectedInsurerTab;\r\n }\r\n\r\n if (initialLoad || isUpdateSuccessful) {\r\n this.selectedInsurer = insurer;\r\n\r\n const loadedInsurer = await this.getRiskPackageQuote(this.config.insurers[this.selectedInsurerTab].entityInsurerId);\r\n\r\n this.model = new RiskPackageCostsModel(loadedInsurer);\r\n this.model.packageFlag ? this.setPackageBrokerageTypes() : this.setRiskBrokerageTypes();\r\n this.setPackageFocus = this.model.packageFlag;\r\n this.model.showUseFap = this.config.insurers[this.selectedInsurerTab].showUseFap;\r\n this.model.showViewFap = this.config.insurers[this.selectedInsurerTab].showViewFap;\r\n\r\n this.checkGstExemptStatus();\r\n\r\n log.debug(`Insurer changed:`, this.model);\r\n\r\n log.debug(`Selected insurer`, this.selectedInsurer);\r\n\r\n if (this.model?.situations?.length) {\r\n this.model.situations.forEach((situation) => {\r\n if (situation?.risks?.length) {\r\n situation.risks.forEach((risk) => {\r\n if (risk.gstOverridden) {\r\n this.model.gstOverrideFlag = true;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n // So we can disable GST checkbox\r\n if (this?.selectedInsurer?.riskConfiguration?.[0]?.autoRatedRisk) {\r\n this.config.autoRatedRisk = true;\r\n }\r\n }\r\n\r\n if (!initialLoad) {\r\n this.toast.destroyAllToasts();\r\n }\r\n }\r\n\r\n checkGstExemptStatus () {\r\n const isPackagedCosts = this.model.packageFlag ?? false;\r\n\r\n const clientGstExempt = this.config.clientGstExemptFlag;\r\n const insurerOfficeGstExempt = this.coInsuredFlag ? false : this.selectedInsurer.insurerOfficeGstExemptFlag;\r\n const riskGstExempt = this.coInsuredFlag ?\r\n this.config.situations.some((x) => x.risks.some((r) => !r.gstApplies)) :\r\n !isPackagedCosts && this.selectedInsurer.riskConfiguration.some((x) => !x.gstApplies);\r\n\r\n this.gstExemptEntities = [];\r\n\r\n if(clientGstExempt){\r\n this.gstExemptEntities.push('Client');\r\n }\r\n\r\n if(insurerOfficeGstExempt){\r\n this.gstExemptEntities.push('Insurer');\r\n }\r\n\r\n if(!clientGstExempt && !insurerOfficeGstExempt && riskGstExempt){\r\n this.gstExemptEntities.push('Risk');\r\n }\r\n\r\n this.showGstWarning = this.params.entityMode === EntityMode.Edit && (clientGstExempt || insurerOfficeGstExempt || riskGstExempt);\r\n }\r\n\r\n setRiskBrokerageTypes() {\r\n if (this.model.situations) {\r\n for (const situation of this.model.situations) {\r\n for (const risk of situation.risks) {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.selectedInsurer.riskConfiguration.find(\r\n (x) => x.entityRiskId === risk.entityRiskId,\r\n ).brokerageOptions;\r\n\r\n selectedOption = configBrokerageOptions.find((b) => b.brokerageTypeId === parseInt(risk.brokerageTypeId));\r\n\r\n if (selectedOption) {\r\n risk.configBrokerageOptions = configBrokerageOptions;\r\n risk.selectedBrokerageOption = selectedOption;\r\n risk.brokerageTypeId = parseInt(selectedOption.brokerageTypeId);\r\n risk.amountEditable = selectedOption.amountEditable;\r\n risk.defaultPercentage = selectedOption.defaultPercentage;\r\n risk.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.selectedInsurer.riskConfiguration.find(\r\n (x) => x.entityRiskId === risk.entityRiskId,\r\n ).earthquakeBrokerageOptions;\r\n\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === parseInt(risk.earthquakeBrokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n risk.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n risk.selectedEarthquakeBrokerageOption = selectedOption;\r\n risk.earthquakeBrokerageTypeId = parseInt(selectedOption.brokerageTypeId);\r\n risk.earthquakeAmountEditable = selectedOption.amountEditable;\r\n risk.earthquakeDefaultPercentage = selectedOption.defaultPercentage;\r\n risk.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n setPackageBrokerageTypes() {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.selectedInsurer.packageConfiguration.brokerageOptions;\r\n selectedOption = configBrokerageOptions.find(\r\n (b) => b.brokerageTypeId === parseInt(this.model.packageCosts.brokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n this.model.packageCosts.configBrokerageOptions = configBrokerageOptions;\r\n this.model.packageCosts.selectedBrokerageOption = selectedOption;\r\n this.model.packageCosts.brokerageTypeId = selectedOption.brokerageTypeId;\r\n this.model.packageCosts.amountEditable = selectedOption.amountEditable;\r\n this.model.packageCosts.defaultPercentage = selectedOption.defaultPercentage;\r\n this.model.packageCosts.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.selectedInsurer.packageConfiguration.earthquakeBrokerageOptions;\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === parseInt(this.model.packageCosts.earthquakeBrokerageTypeId),\r\n );\r\n\r\n if (selectedOption) {\r\n this.model.packageCosts.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n this.model.packageCosts.selectedEarthquakeBrokerageOption = selectedOption;\r\n this.model.packageCosts.earthquakeBrokerageTypeId = selectedOption.brokerageTypeId;\r\n this.model.packageCosts.earthquakeAmountEditable = selectedOption.amountEditable;\r\n this.model.packageCosts.earthquakeDefaultPercentage = selectedOption.defaultPercentage;\r\n this.model.packageCosts.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n }\r\n\r\n setCoInsuredInsurerRiskBrokerageTypes() {\r\n if (this.model.situations) {\r\n this.model.situations.forEach((situation) => {\r\n situation.risks.forEach((risk) => {\r\n risk.insurerRisks.forEach((insurerRisk) => {\r\n let selectedOption;\r\n\r\n const configBrokerageOptions = this.config.situations\r\n .find((s) => s.entitySituationId === situation.entitySituationId)\r\n .risks.find((r) => r.entityRiskId == risk.entityRiskId)\r\n .insurerRisks.find((ir) => ir.entityInsurerRiskId === insurerRisk.entityInsurerRiskId).brokerageOptions;\r\n\r\n selectedOption = configBrokerageOptions.find((b) => b.brokerageTypeId === insurerRisk.brokerageTypeId);\r\n\r\n if (selectedOption) {\r\n insurerRisk.configBrokerageOptions = configBrokerageOptions;\r\n insurerRisk.amountEditable = selectedOption.amountEditable;\r\n insurerRisk.percentageEditable = selectedOption.percentageEditable;\r\n }\r\n\r\n const configEarthquakeBrokerageOptions = this.config.situations\r\n .find((s) => s.entitySituationId === situation.entitySituationId)\r\n .risks.find((r) => r.entityRiskId == risk.entityRiskId)\r\n .insurerRisks.find(\r\n (ir) => ir.entityInsurerRiskId === insurerRisk.entityInsurerRiskId,\r\n ).earthquakeBrokerageOptions;\r\n\r\n selectedOption = configEarthquakeBrokerageOptions?.find(\r\n (b) => b.brokerageTypeId === insurerRisk.earthquakeBrokerageTypeId,\r\n );\r\n\r\n if (selectedOption) {\r\n insurerRisk.configEarthquakeBrokerageOptions = configEarthquakeBrokerageOptions;\r\n insurerRisk.earthquakeAmountEditable = selectedOption.amountEditable;\r\n insurerRisk.earthquakePercentageEditable = selectedOption.percentageEditable;\r\n }\r\n });\r\n });\r\n });\r\n }\r\n }\r\n\r\n // Called on toggle of the \"use package costs\" checkbox\r\n usePackageCosts() {\r\n if (this.config.isReadOnly || !this.selectedInsurer.packageCostsEnabled) {\r\n return;\r\n }\r\n\r\n this.changeRiskPackageCostTitle = !this.model.packageFlag\r\n ? 'Change to package costs and delete all risk costs?'\r\n : 'Change to risk costs and delete all package costs?';\r\n this.setPackageFocus = false;\r\n this.showRiskPackageCostsModal = true;\r\n }\r\n\r\n // Called on the confirm of Use Package Costs Modal\r\n async changeRiskPackageCostCallBack(type: ConfirmModalActions) {\r\n if (type === 'confirm') {\r\n this.model.packageFlag = !this.model.packageFlag;\r\n\r\n const operation = [{ op: 'replace', path: '/packageFlag', value: this.model.packageFlag }];\r\n this.model = await this.api.patchRiskPackageQuote(\r\n this.params.id,\r\n this.params.actionType,\r\n this.params.entityType,\r\n parseInt(this.params.entityId),\r\n this.config.insurers[this.selectedInsurerTab].entityInsurerId,\r\n operation,\r\n );\r\n\r\n if (this.model.packageFlag) {\r\n this.setPackageBrokerageTypes();\r\n this.setPackageFocus = true;\r\n } else {\r\n this.setRiskBrokerageTypes();\r\n }\r\n\r\n this.model.showUseFap = this.config.insurers[this.selectedInsurerTab].showUseFap;\r\n this.model.showViewFap = this.config.insurers[this.selectedInsurerTab].showViewFap;\r\n\r\n this.checkGstExemptStatus();\r\n }\r\n\r\n this.showRiskPackageCostsModal = false;\r\n }\r\n\r\n useFapFlag(selectedInsurer, $index: number) {\r\n this.taskQueue.queueTask(() => {\r\n this.isDirty = true;\r\n\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n\r\n if (this.model.useFapFlag) {\r\n if (isRiskCosts && this.model.situations) {\r\n for (const situation of this.model.situations) {\r\n for (const risk of situation.risks) {\r\n risk.fapPremium = risk.fapPremium === null ? 0 : risk.fapPremium;\r\n risk.fapEarthquakePremium = risk.fapEarthquakePremium === null ? 0 : risk.fapEarthquakePremium;\r\n risk.fapEarthquakeLevy = risk.fapEarthquakeLevy === null ? 0 : risk.fapEarthquakeLevy;\r\n risk.fapFsl = risk.fapFsl === null ? 0 : risk.fapFsl;\r\n risk.fapGst = risk.fapGst === null ? 0 : risk.fapGst;\r\n risk.fapStampDuty = risk.fapStampDuty === null ? 0 : risk.fapStampDuty;\r\n }\r\n }\r\n }\r\n\r\n if (isPackagedCosts) {\r\n this.model.packageCosts.fapPremium =\r\n this.model.packageCosts.fapPremium === null ? 0 : this.model.packageCosts.fapPremium;\r\n this.model.packageCosts.fapEarthquakePremium =\r\n this.model.packageCosts.fapEarthquakePremium === null ? 0 : this.model.packageCosts.fapEarthquakePremium;\r\n this.model.packageCosts.fapEarthquakeLevy =\r\n this.model.packageCosts.fapEarthquakeLevy === null ? 0 : this.model.packageCosts.fapEarthquakeLevy;\r\n this.model.packageCosts.fapFsl = this.model.packageCosts.fapFsl === null ? 0 : this.model.packageCosts.fapFsl;\r\n this.model.packageCosts.fapGst = this.model.packageCosts.fapGst === null ? 0 : this.model.packageCosts.fapGst;\r\n this.model.packageCosts.fapStampDuty =\r\n this.model.packageCosts.fapStampDuty === null ? 0 : this.model.packageCosts.fapStampDuty;\r\n }\r\n }\r\n });\r\n }\r\n\r\n resetGstValues(riskOrPackageCosts, config) {\r\n this.isDirty = true;\r\n\r\n const isFap = this.model.useFapFlag;\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n if (isFap) {\r\n if (!this.config.fapValuesReadOnly) {\r\n riskOrPackageCosts.fapGst = this.calculateFapGst(isAu, riskOrPackageCosts, config);\r\n }\r\n riskOrPackageCosts.gst = this.calculateFapDerivedAmount(\r\n this.config,\r\n riskOrPackageCosts.fapGst,\r\n riskOrPackageCosts.fapPrevGst,\r\n );\r\n\r\n if (typeof config.stampDutyRate !== 'undefined' && config.stampDutyRate !== 0) {\r\n if (!this.config.fapValuesReadOnly) {\r\n riskOrPackageCosts.fapStampDuty = this.calculateFapStampDuty(riskOrPackageCosts, config);\r\n }\r\n riskOrPackageCosts.stampDuty = this.calculateFapDerivedAmount(\r\n this.config,\r\n riskOrPackageCosts.fapStampDuty,\r\n riskOrPackageCosts.fapPrevStampDuty,\r\n );\r\n }\r\n } else {\r\n riskOrPackageCosts.gst = this.calculateGst(isAu, riskOrPackageCosts, config);\r\n\r\n if (typeof config.stampDutyRate !== 'undefined' && config.stampDutyRate !== 0) {\r\n riskOrPackageCosts.stampDuty = this.calculateStampDuty(riskOrPackageCosts, config);\r\n }\r\n }\r\n\r\n riskOrPackageCosts.brokerageGst = this.calculateBrokerageGst(riskOrPackageCosts, config);\r\n\r\n if (isNz) {\r\n riskOrPackageCosts.earthquakeBrokerageGst = this.calculateEarthquakeBrokerageGst(riskOrPackageCosts, config);\r\n }\r\n }\r\n\r\n resetCoInsuredGstValues() {\r\n this.isDirty = true;\r\n\r\n const isAu = this.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n\r\n this.model.situations.forEach((situation) => {\r\n const situationConfig = this.config.situations.find((x) => x.entitySituationId === situation.entitySituationId);\r\n\r\n situation.risks.forEach((risk) => {\r\n const riskConfig = situationConfig.risks.find((x) => x.entityRiskId === risk.entityRiskId);\r\n\r\n risk.totalGst = this.calculateCoInsuredRiskTotalGst(isAu, risk, riskConfig);\r\n\r\n if (typeof riskConfig.stampDutyRate !== 'undefined' && riskConfig.stampDutyRate !== 0) {\r\n risk.totalStampDuty = this.calculateCoInsuredRiskTotalStampDuty(risk, riskConfig);\r\n }\r\n\r\n 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.appClientType === 'AU';\r\n const isNz = this.appClientType === '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.appClientType === 'AU';\r\n const isNz = this.appClientType === '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.appClientType === 'AU';\r\n const isNz = this.appClientType === 'NZ';\r\n const isCoInsured = this.coInsuredFlag;\r\n const isPackagedCosts = this.model.packageFlag;\r\n const isRiskCosts = !isPackagedCosts && !isCoInsured;\r\n const isFap = this.model.useFapFlag;\r\n const config = isRiskCosts\r\n ? this.selectedInsurer.riskConfiguration.find((x) => x.entityRiskId === risk.entityRiskId)\r\n : this.selectedInsurer.packageConfiguration;\r\n\r\n 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","gstExemptEntities","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","checkGstExemptStatus","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","appClientType","insurer","initialLoad","$index","findIndex","el","updateCurrentInsurer","isUpdateSuccessful","window","confirm","selectedInsurer","loadedInsurer","setPackageBrokerageTypes","setRiskBrokerageTypes","showUseFap","showViewFap","gstOverridden","gstOverrideFlag","riskConfiguration","autoRatedRisk","destroyAllToasts","clientGstExempt","clientGstExemptFlag","insurerOfficeGstExempt","insurerOfficeGstExemptFlag","riskGstExempt","some","x","r","gstApplies","push","selectedOption","configBrokerageOptions","find","entityRiskId","brokerageOptions","b","brokerageTypeId","selectedBrokerageOption","amountEditable","defaultPercentage","percentageEditable","configEarthquakeBrokerageOptions","earthquakeBrokerageOptions","earthquakeBrokerageTypeId","selectedEarthquakeBrokerageOption","earthquakeAmountEditable","earthquakeDefaultPercentage","earthquakePercentageEditable","packageConfiguration","insurerRisks","insurerRisk","s","entitySituationId","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","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","overrideModel","authorisationReasonId","overrideComment","putOverride","closeOverride","computedFrom","autoinject","I18N","TaskQueue","ValidationControllerFactory","EventAggregator","RiskPackageCosts"],"sourceRoot":""}