{"version":3,"file":"app-42ad8ee1.xxxxxxxx.bundle.js","mappings":"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","sources":["webpack://iadviser/./src/routes/app-admin/entity-modal/entity-modal.html","webpack://iadviser/./src/routes/app-admin/entity-modal/entity-modal.css?1f9c","webpack://iadviser/./src/routes/app-admin/entity-modal/entity-modal.ts"],"sourcesContent":["// Module\nvar code = \"\\r\\n\";\n// Exports\nexport default code;","// extracted by mini-css-extract-plugin\nexport default {\"btn\":\"btn____Fafqc\",\"btn--flat\":\"btn--flat____rGmhb btn____Fafqc\",\"btn--submit\":\"btn--submit____CGDV5 btn____Fafqc\",\"btn--delete\":\"btn--delete____XxoJa btn____Fafqc\",\"btn--link\":\"btn--link____Vj_53 btn____Fafqc\",\"btn--inline-text-link\":\"btn--inline-text-link____ElgJh btn--link____Vj_53 btn____Fafqc\",\"btn--footer\":\"btn--footer____JCZEh btn____Fafqc\",\"btn--footer-submit\":\"btn--footer-submit____mDYk3 btn--submit____CGDV5 btn____Fafqc btn--footer____JCZEh btn____Fafqc\",\"btn--footer-cancel\":\"btn--footer-cancel____ixbQp btn--flat____rGmhb btn____Fafqc btn--footer____JCZEh btn____Fafqc\",\"btn--footer-delete\":\"btn--footer-delete____o7Ty1 btn--delete____XxoJa btn____Fafqc btn--footer____JCZEh btn____Fafqc\",\"btn--qce-dropdown\":\"btn--qce-dropdown____tdA9i btn--footer-submit____mDYk3 btn--submit____CGDV5 btn____Fafqc btn--footer____JCZEh btn____Fafqc\",\"btn--footer-combo\":\"btn--footer-combo____50hWF btn--footer____JCZEh btn____Fafqc\",\"btn--lmi-bicalc\":\"btn--lmi-bicalc____oyeLx btn____Fafqc\",\"btn--lmi-risk\":\"btn--lmi-risk____kqHqC btn____Fafqc\",\"btn--lmi-policy-comparison\":\"btn--lmi-policy-comparison____dLPgw btn____Fafqc\",\"btn--lmi-policy-coach\":\"btn--lmi-policy-coach____hUJ75 btn____Fafqc\",\"btn--andrew-nock\":\"btn--andrew-nock____YBbq3 btn____Fafqc\",\"btn--construction-cost-consultants\":\"btn--construction-cost-consultants____lK0ve btn____Fafqc\",\"btn--5-star\":\"btn--5-star____o8ltO btn____Fafqc\",\"btn--thermoscan\":\"btn--thermoscan____dgvUY btn____Fafqc\",\"btn--risk-survey-services\":\"btn--risk-survey-services____cLure btn____Fafqc\",\"btn--risk-management\":\"btn--risk-management____y1cIZ btn____Fafqc\",\"btn--lmi-bicalc--disabled\":\"btn--lmi-bicalc--disabled____O9OzX btn--lmi-bicalc____oyeLx btn____Fafqc\",\"btn--lmi-risk--disabled\":\"btn--lmi-risk--disabled____qsukI btn--lmi-risk____kqHqC btn____Fafqc\",\"btn--lmi-policy-comparison--disabled\":\"btn--lmi-policy-comparison--disabled____OMBLq btn--lmi-policy-comparison____dLPgw btn____Fafqc\",\"btn--initial-insured-location-risk\":\"btn--initial-insured-location-risk____EE0zJ btn--flat____rGmhb btn____Fafqc btn____Fafqc\",\"btn--icon\":\"btn--icon____QIwr6 btn____Fafqc\",\"badge-pop\":\"badge-pop____SgOWK\",\"btn--icon-no-border\":\"btn--icon-no-border____o9U4U\",\"btn--icon-task\":\"btn--icon-task____F3WRM btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-document\":\"btn--icon-document____VHHJ0 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-add\":\"btn--icon-add____mY3rh btn--icon____QIwr6 btn____Fafqc\",\"btn--add-risk\":\"btn--add-risk____GmHSJ btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-close\":\"btn--icon-close____ivKRc btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-delete\":\"btn--icon-delete____oCGF8 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-download\":\"btn--icon-download____k_bM4 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-edit\":\"btn--icon-edit____NqxMs btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-email\":\"btn--icon-email_____g6nO btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-download-email\":\"btn--icon-download-email____qfiLw btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-eye\":\"btn--icon-eye____SwwaW btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-eye-slash\":\"btn--icon-eye-slash____louA9 btn--icon-eye____SwwaW btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-folder\":\"btn--icon-folder____c84Ee btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-folder-locked\":\"btn--icon-folder-locked____WVGh1 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-folder-locked-active\":\"btn--icon-folder-locked-active____K5cdR btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-history\":\"btn--icon-history____lNVLx btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-info\":\"btn--icon-info____ZBoab btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-link\":\"btn--icon-link____GDi1r btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-unlink\":\"btn--icon-unlink____XD4X1 btn--icon-delete____oCGF8 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-map\":\"btn--icon-map____YOg7i btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-more\":\"btn--icon-more____GRUUg btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-open-in-new-window\":\"btn--icon-open-in-new-window____BHWTV btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-favourite--selected\":\"btn--icon-favourite--selected____qVxUc btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-favourite--deselected\":\"btn--icon-favourite--deselected____ryBDa btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-preview\":\"btn--icon-preview____EH9hj btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-pre-printed\":\"btn--icon-pre-printed____dK7G4 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-print\":\"btn--icon-print____rpwgR btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-save\":\"btn--icon-save____RW_3i btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-settings\":\"btn--icon-settings____foZcX btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-show-details\":\"btn--icon-show-details____H0MuD btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-show-details--alert\":\"btn--icon-show-details--alert____KzmH7 btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-show-summary\":\"btn--icon-show-summary____RfM3a btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-attachment\":\"btn--icon-attachment____drwkt btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-tag\":\"btn--icon-tag____NBGIB btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-undo\":\"btn--icon-undo____m0iRw btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-sync\":\"btn--icon-sync____s2_9b btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-arrow-forward\":\"btn--icon-arrow-forward____rT3Ox btn--icon____QIwr6 btn____Fafqc\",\"btn--aside-collapse\":\"btn--aside-collapse____AjVD_ btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-expand-more\":\"btn--icon-expand-more____UZh4n btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-expand-less\":\"btn--icon-expand-less____ZI0rN btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-general\":\"btn--icon-general____YNER_ btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-sales\":\"btn--icon-sales____fGcy_ btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-branch\":\"btn--icon-branch____Rjq1M btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-contact\":\"btn--icon-contact____GaFNM btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-consent\":\"btn--icon-consent____UVPpk btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-questions\":\"btn--icon-questions____vLcxs btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-associated\":\"btn--icon-associated____rFLAB btn--icon____QIwr6 btn____Fafqc\",\"btn--icon-notes\":\"btn--icon-notes____BAB5f btn--icon____QIwr6 btn____Fafqc\",\"btn--back\":\"btn--back____zNBnN btn____Fafqc\",\"btn--back-to-sign-in\":\"btn--back-to-sign-in____MQLKC btn--back____zNBnN btn____Fafqc\",\"btn--icon-advanced-search\":\"btn--icon-advanced-search____VgvWy btn--icon____QIwr6 btn____Fafqc\",\"btn--wizard\":\"btn--wizard____FullG btn____Fafqc\",\"btn--wizard-back\":\"btn--wizard-back____FBIgP btn--wizard____FullG btn____Fafqc\",\"btn--wizard-next\":\"btn--wizard-next____GmLAH btn--wizard____FullG btn____Fafqc\",\"fieldset\":\"fieldset____U9zDj\",\"fieldset-instruction\":\"fieldset-instruction____yViYh\",\"fieldset--no-padding\":\"fieldset--no-padding____yVFgq fieldset____U9zDj\",\"fieldset--alt\":\"fieldset--alt____nQBXX fieldset____U9zDj\",\"view-password\":\"view-password____CvK2F\",\"input-search\":\"input-search____IhnQh\",\"ia-currency-input\":\"ia-currency-input____clwtK\",\"ia-currency-negative\":\"ia-currency-negative____qJpDn\",\"select--mini\":\"select--mini____RR2GR\",\"required-label\":\"required-label____EftXB\",\"alert\":\"alert____V19BR\",\"alert--important\":\"alert--important____YwQaS\",\"input-label\":\"input-label____JRg5W\",\"input-toggle\":\"input-toggle____UU0pP\",\"w-100\":\"w-100____o94a5\",\"search-input-wrapper\":\"search-input-wrapper_____r3qX\",\"search-input--results\":\"search-input--results____IfYmu\",\"search-input--result\":\"search-input--result____Crjpc\",\"search-input--result--highlighted\":\"search-input--result--highlighted____lt4UL\",\"date-range-selections\":\"date-range-selections____nbUd5\",\"date-arrow-forward\":\"date-arrow-forward____UKOQs\",\"qce-dropdown\":\"qce-dropdown____EbWw9\",\"qce-or\":\"qce-or____vk7OZ\",\"qce-dropdown-with-dropdown\":\"qce-dropdown-with-dropdown____MJoAu\",\"qce-vehicle-registration-search\":\"qce-vehicle-registration-search____SFrje\",\"row-gap\":\"row-gap____QSYpv\",\"row-group\":\"row-group____TB3pn\",\"row-group--three\":\"row-group--three____lXvK7 row-group____TB3pn\",\"grid-14\":\"grid-14____Vinfv\",\"row-group--auto\":\"row-group--auto____SOupS row-group____TB3pn\",\"space\":\"space____BsEYX\",\"display-none--lg\":\"display-none--lg____QnoXr\",\"display-none--md\":\"display-none--md____U643L\",\"tab-navigation\":\"tab-navigation____P6XA5\",\"has-warnings\":\"has-warnings____sZdCo\",\"tab-selected\":\"tab-selected____Ow5bn tab____XAOqx\",\"disabled\":\"disabled____aq55j\",\"tab\":\"tab____XAOqx\",\"btn--tab-overflow\":\"btn--tab-overflow____TjSDQ\",\"btn--tab-overflow-left\":\"btn--tab-overflow-left____zdvwt btn--tab-overflow____TjSDQ\",\"btn--tab-overflow-left-disabled\":\"btn--tab-overflow-left-disabled____tDJyZ btn--tab-overflow-left____zdvwt btn--tab-overflow____TjSDQ\",\"btn--tab-overflow-right\":\"btn--tab-overflow-right____O68B0 btn--tab-overflow____TjSDQ\",\"btn--tab-overflow-right-disabled\":\"btn--tab-overflow-right-disabled____WJoAX btn--tab-overflow-right____O68B0 btn--tab-overflow____TjSDQ\",\"constrained-width\":\"constrained-width____Dx7HI\",\"constrained-width--tab\":\"constrained-width--tab____Dapba constrained-width____Dx7HI\",\"card\":\"card____NHUS0\",\"card-content\":\"card-content____PvBJE\",\"card-heading\":\"card-heading____HTpwc\",\"control-group\":\"control-group____IMy2N\",\"label-group\":\"label-group____nPsOm\",\"label-group-item\":\"label-group-item____sg96f\",\"button-group\":\"button-group____PVUGD\",\"card--alert\":\"card--alert____p2LYv card____NHUS0\",\"card-heading--alert\":\"card-heading--alert____iJaDG card-heading____HTpwc\",\"card--status-message\":\"card--status-message____bqNtJ\",\"card--status-message--left\":\"card--status-message--left____SPHHU card--status-message____bqNtJ\",\"card-heading--sticky-header\":\"card-heading--sticky-header____jCdVm\",\"card-heading--no-icon\":\"card-heading--no-icon____zeJ4o card-heading____HTpwc\",\"card-heading--bold-title\":\"card-heading--bold-title____zgkDW\",\"table\":\"table____OLLGi\",\"table-heading-row\":\"table-heading-row____fd_qQ\",\"table-row\":\"table-row____rXokp\",\"table-result-row\":\"table-result-row____lhAbS\",\"break-word\":\"break-word____vdVg_\",\"no-wrap\":\"no-wrap____psa4R\",\"table-result-row--disabled\":\"table-result-row--disabled____eSHn_\",\"table-modal\":\"table-modal____NqWuI table____OLLGi\",\"table-enhanced\":\"table-enhanced____Z8bt0\",\"table--no-border-bottom\":\"table--no-border-bottom____Flx8w table____OLLGi\",\"height-45\":\"height-45____h7peg\",\"edit-column\":\"edit-column____LR5yA\",\"delete-column\":\"delete-column____qk96N\",\"date-table-heading\":\"date-table-heading____jEG40\",\"button-edit\":\"button-edit____yfgSv\",\"button-delete\":\"button-delete____HlnXx\",\"table-row-selected\":\"table-row-selected_____Qyot\",\"table-row-alert\":\"table-row-alert____L2dWE\",\"table-filter-row\":\"table-filter-row____gihWt\",\"table-filter-row--endcap\":\"table-filter-row--endcap____l5PG5\",\"filter-column\":\"filter-column____QooFC\",\"table-pagination\":\"table-pagination____KRJuf\",\"table-pagination-with-filter\":\"table-pagination-with-filter____F7AGv table-pagination____KRJuf\",\"table-button-group\":\"table-button-group____gVaDZ\",\"table-child-container\":\"table-child-container____p3Yx6\",\"table-child-card\":\"table-child-card____tnWV5\",\"child-table--selected-row\":\"child-table--selected-row____VGEUQ\",\"child-table\":\"child-table____YWZsM table____OLLGi\",\"custom-pagination\":\"custom-pagination____MmyAl\",\"pagination-count\":\"pagination-count____hiKSc\",\"pagination-button\":\"pagination-button____nwdJZ btn____Fafqc\",\"pagination-prev\":\"pagination-prev____H98S3 pagination-button____nwdJZ btn____Fafqc\",\"pagination-next\":\"pagination-next____LwHwA pagination-button____nwdJZ btn____Fafqc\",\"pagination-disabled\":\"pagination-disabled____adVQy pagination-button____nwdJZ btn____Fafqc\",\"pagination-prev-disabled\":\"pagination-prev-disabled____T3drf pagination-disabled____adVQy pagination-button____nwdJZ btn____Fafqc\",\"pagination-next-disabled\":\"pagination-next-disabled____NONvk pagination-disabled____adVQy pagination-button____nwdJZ btn____Fafqc\",\"pagination\":\"pagination____yPUAh\",\"pagination-top\":\"pagination-top____TlsFY pagination____yPUAh\",\"pagination-bottom\":\"pagination-bottom____lLJY9 pagination____yPUAh\",\"pagination-bottom--documents\":\"pagination-bottom--documents____sOmZy pagination-bottom____lLJY9 pagination____yPUAh\",\"table-cell-btn-icon\":\"table-cell-btn-icon____ilRKY\",\"folder-table\":\"folder-table____KZJXv table--no-border-bottom____Flx8w table____OLLGi\",\"doc-table-group--heading\":\"doc-table-group--heading____o4QbC\",\"doc-table-group--heading-open\":\"doc-table-group--heading-open____qoEqi doc-table-group--heading____o4QbC\",\"doc-table-group--heading-with-options\":\"doc-table-group--heading-with-options____C8djZ\",\"constrained-width--folder-name\":\"constrained-width--folder-name____pmtAp constrained-width____Dx7HI\",\"disable-entity\":\"disable-entity____zwPOg\",\"button-options\":\"button-options____uwUSk\",\"button-options--add\":\"button-options--add____tzaLc button-options____uwUSk\",\"information-icon\":\"information-icon____GA6Lv\",\"deleted-icon\":\"deleted-icon____Lfxvv\",\"exclamation-icon\":\"exclamation-icon____smLrE\",\"success-icon\":\"success-icon____biao_\",\"text-align-center\":\"text-align-center____cipSf\",\"word-break\":\"word-break____ZUYTr\",\"btn-group\":\"btn-group____Pc2G6\",\"accordion-content\":\"accordion-content____q7SWc\",\"toggle-collapse\":\"toggle-collapse____b_V49\",\"toggle-collapse--disabled\":\"toggle-collapse--disabled____wmiAx toggle-collapse____b_V49\",\"toggle-expand\":\"toggle-expand____mGsg4 toggle-collapse____b_V49\",\"folder\":\"folder____jTQLa\",\"folder-locked\":\"folder-locked____rTOR9 folder____jTQLa\",\"yesNo-filter-width\":\"yesNo-filter-width____tMN8_\",\"w-5\":\"w-5_____BW8i\",\"w-10\":\"w-10____pKCS2\",\"w-15\":\"w-15____Buc1p\",\"w-20\":\"w-20____npMSJ\",\"w-25\":\"w-25____qKkmb\",\"w-30\":\"w-30____s2gqM\",\"w-35\":\"w-35____AXucB\",\"w-40\":\"w-40_____XFai\",\"w-45\":\"w-45____ZVFCT\",\"w-50\":\"w-50____h8FYT\",\"w-60\":\"w-60____osL3o\",\"table--sticky-header\":\"table--sticky-header____GjngQ\",\"table--sticky-footer\":\"table--sticky-footer____AvAq1\",\"table--sticky-column\":\"table--sticky-column____KDvWP\",\"table--sticky-column2\":\"table--sticky-column2____frnKY table--sticky-column____KDvWP\",\"table--sticky-column-right\":\"table--sticky-column-right____waJgC table--sticky-column____KDvWP\",\"scrollable-table-container\":\"scrollable-table-container____rYz_B\",\"view-block\":\"view-block____H2wyV\",\"view-block--heading\":\"view-block--heading____itOP8\",\"view-block--white\":\"view-block--white____tCy7Q view-block____H2wyV\",\"view-block--alert\":\"view-block--alert____PleAS view-block____H2wyV\",\"view-block--success\":\"view-block--success____swuy_ view-block____H2wyV\",\"view-block--info\":\"view-block--info____whlN_ view-block____H2wyV\",\"view-block--warning\":\"view-block--warning____vA3OR view-block____H2wyV\",\"view-block--alt\":\"view-block--alt____p3KqZ view-block____H2wyV\",\"view-block--with-icon\":\"view-block--with-icon____WzO2v view-block____H2wyV\",\"view-block-icon\":\"view-block-icon____EDUkZ\",\"view-block--warning--with-icon\":\"view-block--warning--with-icon____tin_u view-block--warning____vA3OR view-block____H2wyV\",\"view-block-checkbox\":\"view-block-checkbox____FOBYj view-block____H2wyV\",\"view-block-checkbox--alert\":\"view-block-checkbox--alert____za60w view-block--alert____PleAS view-block____H2wyV view-block-checkbox____FOBYj view-block____H2wyV\",\"text-view-content\":\"text-view-content____gA_F9\",\"ia-modal\":\"ia-modal____W5gzT\",\"ia-modal-inner\":\"ia-modal-inner____rSwp4\",\"ia-modal-inner--context-menu\":\"ia-modal-inner--context-menu____Dy2m7 ia-modal-inner____rSwp4\",\"ia-modal-inner--wide-lg\":\"ia-modal-inner--wide-lg____DOlNG ia-modal-inner____rSwp4\",\"ia-modal-inner--wide-xxl\":\"ia-modal-inner--wide-xxl____ihDC9 ia-modal-inner____rSwp4\",\"ia-modal-inner--take-over\":\"ia-modal-inner--take-over____Zt7fZ ia-modal-inner____rSwp4\",\"fixed-height\":\"fixed-height____Rez2X\",\"takeover-header\":\"takeover-header____p8qQJ\",\"logo\":\"logo____XCzzt\",\"logo--broker\":\"logo--broker____mKWuL logo____XCzzt\",\"close-search\":\"close-search____osaZT\",\"ia-modal-content\":\"ia-modal-content____Dj2Z1\",\"ia-modal-overlay--transparent\":\"ia-modal-overlay--transparent____Y5HlU ia-modal____W5gzT\",\"ia-modal-overlay--light-white\":\"ia-modal-overlay--light-white____FYLtC ia-modal____W5gzT\",\"ia-modal-overlay--transparent--light-white-client-nav\":\"ia-modal-overlay--transparent--light-white-client-nav____crl2q ia-modal-overlay--light-white____FYLtC ia-modal____W5gzT\",\"modal-header\":\"modal-header____UTOAu\",\"modal-footer\":\"modal-footer____ylB8X modal-header____UTOAu\",\"modal-footer--space-between\":\"modal-footer--space-between____FyueN modal-footer____ylB8X modal-header____UTOAu\",\"footer-btn-group\":\"footer-btn-group____atqYE\",\"header-label\":\"header-label____s7RSR\",\"header-label-icon\":\"header-label-icon____Zznpr header-label____s7RSR\",\"header-label--alert\":\"header-label--alert____kEKHL header-label-icon____Zznpr header-label____s7RSR\",\"header-label--info\":\"header-label--info____HkxT4 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--settings\":\"header-label--settings____GjB11 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--accounts\":\"header-label--accounts____ii4V_ header-label-icon____Zznpr header-label____s7RSR\",\"header-label--edit\":\"header-label--edit____gM6rk header-label-icon____Zznpr header-label____s7RSR\",\"header-label--download\":\"header-label--download____R2etg header-label-icon____Zznpr header-label____s7RSR\",\"header-label--delete\":\"header-label--delete_____DK4p header-label-icon____Zznpr header-label____s7RSR\",\"header-label--history\":\"header-label--history____muJKj header-label-icon____Zznpr header-label____s7RSR\",\"header-label--tag\":\"header-label--tag____eqwOl header-label-icon____Zznpr header-label____s7RSR\",\"header-label--search\":\"header-label--search____Mxe_O header-label-icon____Zznpr header-label____s7RSR\",\"header-label--kyc\":\"header-label--kyc____tHYeM header-label-icon____Zznpr header-label____s7RSR\",\"header-label--advice\":\"header-label--advice____Ra7lu header-label-icon____Zznpr header-label____s7RSR\",\"header-label--generate-advice\":\"header-label--generate-advice____RgA54 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--form\":\"header-label--form____Cbizj header-label-icon____Zznpr header-label____s7RSR\",\"header-label--insured\":\"header-label--insured____FFKI2 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--quote\":\"header-label--quote____ydBqD header-label-icon____Zznpr header-label____s7RSR\",\"header-label--policy\":\"header-label--policy____G4H2v header-label-icon____Zznpr header-label____s7RSR\",\"header-label--claim\":\"header-label--claim____bg1vg header-label-icon____Zznpr header-label____s7RSR\",\"header-label--fsg\":\"header-label--fsg____GyUWS header-label-icon____Zznpr header-label____s7RSR\",\"header-label--mandatory-document\":\"header-label--mandatory-document____h0Kpr header-label-icon____Zznpr header-label____s7RSR\",\"header-label--notification\":\"header-label--notification____XVOnF header-label-icon____Zznpr header-label____s7RSR\",\"header-label--task\":\"header-label--task____cSUuV header-label-icon____Zznpr header-label____s7RSR\",\"header-label--contact\":\"header-label--contact____HVAhY header-label-icon____Zznpr header-label____s7RSR\",\"header-label--note\":\"header-label--note____AdFB9 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--document\":\"header-label--document____GoQa3 header-label-icon____Zznpr header-label____s7RSR\",\"header-label--email\":\"header-label--email____SSpnz header-label-icon____Zznpr header-label____s7RSR\",\"header-label--template\":\"header-label--template____hUKta header-label-icon____Zznpr header-label____s7RSR\",\"header-details\":\"header-details____BZcYa\",\"header-detail-item\":\"header-detail-item____u9gu3\",\"header-label--context-menu\":\"header-label--context-menu____yaOw0 header-label-icon____Zznpr header-label____s7RSR\",\"context-menu-sep\":\"context-menu-sep____SCH1A\",\"context-menu--one-col\":\"context-menu--one-col____kC3g7\",\"context-menu-disabled\":\"context-menu-disabled____mowfy\",\"context-menu--two-col\":\"context-menu--two-col____WSBiR context-menu--one-col____kC3g7\",\"context-menu--three-col\":\"context-menu--three-col____KX0xO context-menu--two-col____WSBiR context-menu--one-col____kC3g7\",\"modal-content-copy\":\"modal-content-copy____eN2AH\",\"processing-step\":\"processing-step____KgFay\",\"processing-step--failed\":\"processing-step--failed____R_JLS processing-step____KgFay\",\"document--processing\":\"document--processing____Jy9uP\",\"eclipse-loader\":\"eclipse-loader____xPU93\",\"confirmation-content\":\"confirmation-content____u1qVn\",\"ia-modal--search\":\"ia-modal--search____jtbMu\",\"view-block--alert--progress-modal\":\"view-block--alert--progress-modal____r4edV view-block--alert____PleAS view-block____H2wyV\",\"layout\":\"layout____XZeGo\",\"grid-13\":\"grid-13____R2zWi\",\"scheme-phone-number-group\":\"scheme-phone-number-group____cZjEG\",\"scheme-group\":\"scheme-group____r9eDQ\",\"btn-group--image\":\"btn-group--image____rtve2 btn-group____Pc2G6\",\"company-office-description\":\"company-office-description____V1g5R\",\"notification-overridden\":\"notification-overridden____Vpa4e\"};","import { infoToast, successToast } from 'resources/utilities/toastr-helper';\r\nimport { customElement, autoinject, PLATFORM, useView, TaskQueue, computedFrom, observable } from 'aurelia-framework';\r\nimport { ModalService } from 'components/modal/modal-service';\r\nimport { LookupDataService } from 'resources/services/lookup-data';\r\nimport { modelMap } from './models/entity-models';\r\nimport { Api } from './api';\r\nimport { EventAggregator } from 'aurelia-event-aggregator';\r\nimport { ValidationControllerFactory, ValidationController, ValidationRules } from 'aurelia-validation';\r\nimport { FormValidationRenderer } from 'resources/form-validation-renderer';\r\nimport { PartyInstanceType } from 'resources/enums';\r\nimport { initScrollTabs, scrollTabs } from 'resources/tab-scroll';\r\nimport { momentToISOString } from 'resources/moment-helpers';\r\nimport { cloneDeep, orderBy } from 'lodash';\r\nimport { getAppClientType } from 'resources/parse-jwt';\r\nimport { IaHtmlEditorSettings } from 'components/ia-html-editor/ia-html-editor';\r\nimport styles from './entity-modal.css';\r\n\r\nPLATFORM.moduleName('./templates/details-insurer.html');\r\nPLATFORM.moduleName('./templates/details-insurerOffice.html');\r\nPLATFORM.moduleName('./templates/details-underwriter.html');\r\nPLATFORM.moduleName('./templates/details-adviser.html');\r\nPLATFORM.moduleName('./templates/details-referral.html');\r\nPLATFORM.moduleName('./templates/details-premiumFunder.html');\r\nPLATFORM.moduleName('./templates/details-company.html');\r\nPLATFORM.moduleName('./templates/details-companyOffice.html');\r\nPLATFORM.moduleName('./templates/details-group.html');\r\nPLATFORM.moduleName('./templates/details-user.html');\r\nPLATFORM.moduleName('./templates/details-riskGroup.html');\r\nPLATFORM.moduleName('./templates/details-risk.html');\r\nPLATFORM.moduleName('./templates/details-riskScheduleText.html');\r\nPLATFORM.moduleName('./templates/details-riskByInsurer.html');\r\nPLATFORM.moduleName('./templates/details-systemParameters.html');\r\nPLATFORM.moduleName('./templates/details-message.html');\r\nPLATFORM.moduleName('./templates/details-bank.html');\r\nPLATFORM.moduleName('./templates/details-bankBranch.html');\r\nPLATFORM.moduleName('./templates/details-instanceType.html');\r\nPLATFORM.moduleName('./templates/details-scheme.html');\r\nPLATFORM.moduleName('./templates/details-soaAdviceText.html');\r\nPLATFORM.moduleName('./templates/details-soaInsurerDefaultText.html');\r\nPLATFORM.moduleName('./templates/details-soaDocumentText.html');\r\nPLATFORM.moduleName('./templates/details-additionalPageTemplates.html');\r\nPLATFORM.moduleName('./templates/details-standardWordings.html');\r\nPLATFORM.moduleName('./templates/details-htmlTemplate.html');\r\nPLATFORM.moduleName('./templates/details-surchargePayee.html');\r\nPLATFORM.moduleName('./templates/details-emailClientStatementConfiguration.html');\r\n\r\nPLATFORM.moduleName('./templates/contact.html');\r\nPLATFORM.moduleName('./templates/gst.html');\r\nPLATFORM.moduleName('./templates/paymentTerms.html');\r\nPLATFORM.moduleName('./templates/accountNumber.html');\r\nPLATFORM.moduleName('./templates/bankAccount.html');\r\nPLATFORM.moduleName('./templates/policyNumbers.html');\r\nPLATFORM.moduleName('./templates/underwriter.html');\r\nPLATFORM.moduleName('./templates/note.html');\r\nPLATFORM.moduleName('./templates/risk.html');\r\nPLATFORM.moduleName('./templates/overseasTax.html');\r\nPLATFORM.moduleName('./templates/financialStrengthRating.html');\r\nPLATFORM.moduleName('./templates/companyOffice.html');\r\nPLATFORM.moduleName('./templates/descriptionText.html');\r\nPLATFORM.moduleName('./templates/documentText.html');\r\nPLATFORM.moduleName('./templates/overviewText.html');\r\nPLATFORM.moduleName('./templates/consentVerbalScriptText.html');\r\nPLATFORM.moduleName('./templates/logo.html');\r\nPLATFORM.moduleName('./templates/socialMedia.html');\r\nPLATFORM.moduleName('./templates/adviser.html');\r\nPLATFORM.moduleName('./templates/referral.html');\r\nPLATFORM.moduleName('./templates/margin.html');\r\nPLATFORM.moduleName('./templates/financialServicesGuide.html');\r\nPLATFORM.moduleName('./templates/adminFeeException.html');\r\nPLATFORM.moduleName('./templates/signature.html');\r\nPLATFORM.moduleName('./templates/referralPercentages.html');\r\nPLATFORM.moduleName('./templates/systemParameters-account.html');\r\nPLATFORM.moduleName('./templates/systemParameters-claim.html');\r\nPLATFORM.moduleName('./templates/systemParameters-client.html');\r\nPLATFORM.moduleName('./templates/systemParameters-document.html');\r\nPLATFORM.moduleName('./templates/systemParameters-policy.html');\r\nPLATFORM.moduleName('./templates/systemParameters-quote.html');\r\nPLATFORM.moduleName('./templates/insurer.html');\r\nPLATFORM.moduleName('./templates/message-content.html');\r\nPLATFORM.moduleName('./templates/message-attachment.html');\r\nPLATFORM.moduleName('./templates/insurerAdminFee.html');\r\nPLATFORM.moduleName('./templates/adminFee.html');\r\nPLATFORM.moduleName('./templates/brokerage.html');\r\nPLATFORM.moduleName('./templates/eqBrokerage.html');\r\nPLATFORM.moduleName('./templates/brokerageException.html');\r\nPLATFORM.moduleName('./templates/eqBrokerageException.html');\r\nPLATFORM.moduleName('./templates/fslLevy.html');\r\nPLATFORM.moduleName('./templates/stampDuty.html');\r\nPLATFORM.moduleName('./templates/riskGroup.html');\r\nPLATFORM.moduleName('./templates/group.html');\r\nPLATFORM.moduleName('./templates/menu.html');\r\nPLATFORM.moduleName('./templates/insurerOverride.html');\r\nPLATFORM.moduleName('./templates/twoStepVerification.html');\r\nPLATFORM.moduleName('./templates/emailText.html');\r\nPLATFORM.moduleName('./templates/helpText.html');\r\nPLATFORM.moduleName('./templates/riskMapping.html');\r\nPLATFORM.moduleName('./templates/statusMapping.html');\r\nPLATFORM.moduleName('./templates/overriderPercentage.html');\r\nPLATFORM.moduleName('./templates/wordingInsurer.html');\r\nPLATFORM.moduleName('./templates/wordingRiskByInsurer.html');\r\nPLATFORM.moduleName('./templates/wordingOccupationByRiskByInsurer.html');\r\nPLATFORM.moduleName('./templates/productDisclosureStatement.html');\r\nPLATFORM.moduleName('./templates/productDisclosureStatementMultiUpdate.html');\r\nPLATFORM.moduleName('./templates/environments.html');\r\nPLATFORM.moduleName('./templates/client.html');\r\nPLATFORM.moduleName('./templates/clientSettlementText.html');\r\nPLATFORM.moduleName('./templates/notification.html');\r\nPLATFORM.moduleName('./templates/formDisclaimerText.html');\r\nPLATFORM.moduleName('./templates/formSummaryText.html');\r\nPLATFORM.moduleName('./templates/formSubmitText.html');\r\nPLATFORM.moduleName('./templates/creditorCodeMapping.html');\r\nPLATFORM.moduleName('./templates/emailClientStatementConfiguration-branch.html');\r\nPLATFORM.moduleName('./templates/emailClientStatementConfiguration-risk.html');\r\n\r\ninterface IMenuItem {\r\n canAccess: boolean;\r\n itemObjects: [];\r\n menuItemId: number;\r\n menuItemText: string;\r\n overridden: boolean;\r\n parentMenuGroupId: number | null;\r\n sequence: number;\r\n isSubMenuItem?: boolean; // client-side added property\r\n isMenuItem?: boolean; // client-side added property\r\n children?: any[];\r\n}\r\n\r\ninterface IMenuAccess {\r\n application: number;\r\n canAccess: boolean;\r\n menuGroupId: number;\r\n menuGroupText: string;\r\n menuGroupType: 'Main Menu' | '';\r\n menuItems: IMenuItem[];\r\n overridden: boolean;\r\n parentMenuGroupId: number | null;\r\n sequence: number;\r\n subGroups: IMenuAccess[];\r\n visible: boolean;\r\n hasSubGroups?: boolean;\r\n}\r\n\r\ntype NodecollectionType = 'accountNodes' | 'adminNodes' | 'adviserNodes';\r\n\r\ninterface InputmaskOptions extends Inputmask.Options {\r\n autoGroup?: boolean;\r\n}\r\n\r\nconst wholeNumberInputMaskOptions: InputmaskOptions = {\r\n alias: 'numeric',\r\n digits: '0',\r\n placeholder: '',\r\n autoGroup: false,\r\n groupSeparator: '',\r\n autoUnmask: true,\r\n rightAlign: false,\r\n allowMinus: false\r\n};\r\n\r\n@autoinject()\r\n@useView(PLATFORM.moduleName('routes/app-admin/entity-modal/entity-modal.html'))\r\n@customElement('entity-modal')\r\nexport class EntityModal {\r\n private styles = styles;\r\n\r\n private adviserNodes = [];\r\n private selectedAdviserNodes = [];\r\n private accountNodes = [];\r\n private selectedAccountNodes = [];\r\n private adminNodes = [];\r\n private selectedAdminNodes = [];\r\n\r\n private tabs = [];\r\n private currentlySelectedTab;\r\n\r\n private config;\r\n private row;\r\n private isReadOnly = false;\r\n private entity;\r\n private isSaving = false;\r\n private canPreviewImage = false;\r\n\r\n private companyOffices = [];\r\n private advisers = [];\r\n private referrers = [];\r\n private insurers = [];\r\n private insurerOffices = [];\r\n\r\n private partyInstanceType;\r\n private countryTypes;\r\n private processTypes;\r\n private insurerTypes;\r\n private yesNoTypes;\r\n private settlementTypes;\r\n private electronicBankingFileTypes;\r\n private categoryTypes;\r\n private paymentOutTypes;\r\n private titleTypes;\r\n private adviserTypes;\r\n private partyTypes;\r\n private referralTypes;\r\n private branchTypes;\r\n private branchLocationTypes;\r\n private systemParameters;\r\n private messageSourceTypes;\r\n private messagePriorityTypes;\r\n private schemesByRiskClassType = [];\r\n private occupations;\r\n private apraClassTypes;\r\n private groupTypes;\r\n private invoiceNumberTypes;\r\n private riskClassTypes;\r\n private riskByClassTypes = [];\r\n private soaTypes = [];\r\n private insurerGroups;\r\n private riskGroupTypes;\r\n\r\n private tabUl: HTMLDivElement;\r\n private tabClass = '.entityTabs';\r\n private tabPosition;\r\n private isRightChevronDisabled = false;\r\n private appClientType = getAppClientType();\r\n private callback = (result) => ({});\r\n private iaHtmlEditorSettings: IaHtmlEditorSettings = { height: 600 };\r\n @observable() private fileList: FileList;\r\n\r\n private fsgPreview;\r\n private signaturePreview;\r\n private portraitImagePreview;\r\n private headerPageImagePreview;\r\n private messagePreview;\r\n private logoPreview;\r\n private insurerWordingPreview;\r\n private riskByInsurerWordingPreview;\r\n private occupationByRiskByInsurerWordingPreview;\r\n\r\n private wholeNumberInputMaskOptions = { ...wholeNumberInputMaskOptions };\r\n\r\n constructor(\r\n private api: Api,\r\n private modal: ModalService,\r\n private lookup: LookupDataService,\r\n private ea: EventAggregator,\r\n private taskQueue: TaskQueue,\r\n private validationControllerFactory: ValidationControllerFactory\r\n ) {}\r\n\r\n // GET entity, initialise entity & validation\r\n private async activate({ config, row, isReadOnly, callback }) {\r\n this.config = { ...config };\r\n this.row = row;\r\n this.isReadOnly = isReadOnly;\r\n this.callback = callback;\r\n\r\n if (this.config.entity && this.config.get) {\r\n await this.initialiseEntity(this.config.entity);\r\n this.entity = row.id ? await this.api.get(this.config.get) : new modelMap[this.config.entity]();\r\n\r\n // Setup group or user\r\n if (this.config.entity === 'group' || this.config.entity === 'user') {\r\n if (!row.id) {\r\n const config = await this.api.get(`admin/${this.config.entity}s/config`);\r\n\r\n if (this.config.entity === 'group') {\r\n this.entity.groupAccess = config.groupAccess;\r\n this.entity.menuAccess = config.menuAccess;\r\n this.entity.notificationAccess = config.notificationAccess;\r\n }\r\n\r\n if (this.config.entity === 'user') {\r\n this.entity.menuAccess = config.menuAccess;\r\n this.entity.notificationAccess = config.notificationAccess;\r\n this.entity.twoFactorAuthDetails = config.twoFactorAuthDetails;\r\n await this.groupIdChanged();\r\n }\r\n }\r\n\r\n // Setup menuAccess\r\n if (this.entity?.menuAccess) {\r\n this.adviserNodes = this.transformMenuItemResponse(this.entity.menuAccess.adviserGroupMenuAccess);\r\n this.accountNodes = this.transformMenuItemResponse(this.entity.menuAccess.accountsGroupMenuAccess);\r\n this.adminNodes = this.transformMenuItemResponse(this.entity.menuAccess.adminGroupMenuAccess);\r\n }\r\n\r\n // Setup notificationAccess\r\n if (this.entity?.notificationAccess) {\r\n this.filterNotificationAccess();\r\n }\r\n\r\n // Get user environments\r\n if(row.id && this.config.entity === 'user'){\r\n this.entity.environments = (await this.api.get(`admin/users/${this.entity.detail.id}/environments`)).map((x) => ({environment: x}));\r\n this.canPreviewImage = this.entity.detail?.portraitImage?.entityImageId > 0;\r\n }\r\n }\r\n\r\n // Setup parties array for instanceTypes\r\n if (this.config.entity === 'instanceType') {\r\n if (row.id) {\r\n this.entity.parties.forEach((party) => {\r\n party.checkboxDisabled = party.used && party.mandatory;\r\n });\r\n } else {\r\n this.entity.parties = (await this.lookup.partyInstanceTypes()).map((x) => ({\r\n id: x.id,\r\n mandatory: false,\r\n party: x.description,\r\n used: false,\r\n }));\r\n }\r\n }\r\n\r\n // Setup insurer or insurer office\r\n if (this.config.entity === 'insurer' || this.config.entity === 'insurerOffice') {\r\n this.settlementTypeChanged();\r\n\r\n if (this.config.entity === 'insurer') {\r\n this.entity.companyOffice = this.entity.companyOffice?.map((x) => ({ id: x }));\r\n this.entity.detail.originalSettlementTypeId = this.entity.detail.settlementTypeId;\r\n this.entity.detail.originalPaysOverrider = this.entity.detail.paysOverrider;\r\n\r\n // Set up model for multi PDS update\r\n this.entity.pdsMultiUpdate = {\r\n url: undefined,\r\n synopsis: undefined,\r\n validFrom: undefined,\r\n risksToUpdate: [],\r\n risks: this.entity.risks.filter((x) => x.active).map((x) => ({id: x.id, code: x.code, name: x.name}))\r\n }\r\n\r\n // Disabled PDS multi update for new insurers or those that don't have active risks\r\n if(!this.entity.detail.id || this.entity.risks.filter((x) => x.active).length === 0){\r\n const multiPdsUpdate = this.tabs.find((x) => x.name === 'productDisclosureStatementMultiUpdate');\r\n multiPdsUpdate.disabled = true;\r\n multiPdsUpdate.isValid = true;\r\n }\r\n\r\n this.categoryTypeChanged();\r\n this.insurerTypeChanged();\r\n this.autoGeneratePolicyNoChanged();\r\n }\r\n\r\n if (!row.id && this.config.entity === 'insurerOffice') {\r\n this.entity.detail.settlementTypeId = this.config.settlementTypeId;\r\n }\r\n }\r\n\r\n // Setup company\r\n if (this.config.entity === 'company') {\r\n // Init for validation\r\n if(!this.entity.detail.headerPageImage){\r\n this.entity.detail.headerPageImage = {};\r\n }\r\n\r\n this.canPreviewImage = this.entity.detail?.headerPageImage?.entityImageId > 0;\r\n }\r\n\r\n // Setup company office\r\n if (this.config.entity === 'companyOffice') {\r\n if (this.entity.detail !== null) {\r\n this.entity.detail.isCorporateAuthorisedRepresentative = this.entity.detail.corporateAuthorisedRepresentativeNumber !== null;\r\n }\r\n\r\n this.canPreviewImage = this.entity.detail?.headerPageImage?.entityImageId > 0;\r\n }\r\n\r\n // Setup new company office\r\n if (this.config.entity === 'companyOffice' && !row.id) {\r\n const config = await this.api.get(`admin/companys/config`);\r\n this.entity.detail.settlementTypeId = parseInt(config.settlementTypeId);\r\n this.entity.detail.isCorporateAuthorisedRepresentative = undefined;\r\n }\r\n\r\n // Setup scheme\r\n if (this.config.entity === 'scheme' && row.id) {\r\n await this.schemeCompanyOfficeIdChanged();\r\n await this.schemeInsurerIdChanged();\r\n }\r\n\r\n // Setup riskScheduleText\r\n if (this.config.entity === 'riskScheduleText' && row.id) {\r\n await this.riskClassTypeIdChanged();\r\n }\r\n\r\n // Setup riskByInsurer\r\n if (this.config.entity === 'riskByInsurer') {\r\n\r\n // Set code & name for modal header\r\n if(this.entity.detail.id){\r\n this.entity.detail.code = this.riskByClassTypes.find((x) => x.id === this.entity.detail.riskByClassId).label.split(' - ')[0];\r\n this.entity.detail.name = this.insurers.find((x) => x.id === this.entity.detail.insurerId).label.split(' - ')[1];\r\n }\r\n\r\n this.insurerIdChanged();\r\n }\r\n\r\n // Setup premiumFunder\r\n if (this.config.entity === 'premiumFunder') {\r\n await this.useInterfaceChanged();\r\n await this.paysOverriderChanged();\r\n }\r\n\r\n // Setup adviser\r\n if (this.config.entity === 'adviser') {\r\n this.canPreviewImage = this.entity.detail?.portraitImage?.entityImageId > 0;\r\n }\r\n\r\n this.initializeValidation(this.config.entity);\r\n\r\n this.modal.hideLoading();\r\n } else {\r\n console.error('activate: No entity or GET specified in entityConfig.');\r\n }\r\n }\r\n\r\n // Configure routes, load refData and create tabs\r\n private async initialiseEntity(entity) {\r\n if (entity === 'company') {\r\n this.config.get = this.config.get.replace('{companyid}', this.row.id);\r\n this.config.put = this.config.put.replace('{companyid}', this.row.id);\r\n\r\n this.headerPageImagePreview = `admin/companys/${this.row.id}/headerPageImage/{entityImageId}?imageFormat=Print`;\r\n this.logoPreview = `admin/companys/${this.row.id}/logo`;\r\n\r\n this.partyInstanceType = PartyInstanceType.Company;\r\n\r\n this.countryTypes = await this.lookup.countryCode();\r\n this.settlementTypes = await this.lookup.settlementTypes();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'logo', displayName: 'Logo' },\r\n { name: 'descriptionText', displayName: 'Description Text' },\r\n { name: 'documentText', displayName: 'Document Text' },\r\n { name: 'overviewText', displayName: 'Overview Text' },\r\n { name: 'consentVerbalScriptText', displayName: 'Consent Verbal Script' },\r\n { name: 'clientSettlementText', displayName: 'Client Settlement Text' },\r\n { name: 'socialMedia', displayName: 'Social Media' },\r\n { name: 'note', displayName: 'Note' },\r\n { name: 'twoStepVerification', displayName: 'Two-step Verification' }\r\n ]);\r\n\r\n if (this.appClientType === 'NZ') {\r\n const index = this.tabs.findIndex((x) => x.name === 'consentVerbalScriptText');\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n if (entity === 'companyOffice') {\r\n\r\n if (!this.row.companyId) {\r\n this.row.companyId = 1;\r\n }\r\n\r\n this.config.get = this.config.get\r\n .replace('{companyid}', this.row.companyId)\r\n .replace('{companyofficeid}', this.row.id);\r\n this.config.put = this.config.get\r\n .replace('{companyid}', this.row.companyId)\r\n .replace('{companyofficeid}', this.row.id);\r\n this.config.post = this.config.post\r\n .replace('{companyid}', this.row.companyId);\r\n\r\n this.headerPageImagePreview = `admin/companys/${this.row.companyId}/companyoffices/${this.row.id}/headerPageImage/{entityImageId}?imageFormat=Print`;\r\n this.logoPreview = `admin/companys/${this.row.id}/logo`;\r\n\r\n this.partyInstanceType = PartyInstanceType.CompanyOffice;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.branchTypes = await this.lookup.branchTypes();\r\n this.branchLocationTypes = await this.lookup.branchLocationTypes();\r\n this.settlementTypes = await this.lookup.settlementTypes();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n this.systemParameters = await this.lookup.systemParameters();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'descriptionText', displayName: 'Description Text' },\r\n { name: 'documentText', displayName: 'Document Text' },\r\n { name: 'overviewText', displayName: 'Overview Text' },\r\n { name: 'consentVerbalScriptText', displayName: 'Consent Verbal Script' },\r\n { name: 'logo', displayName: 'Logo' },\r\n { name: 'socialMedia', displayName: 'Social Media' },\r\n { name: 'margin', displayName: 'Margin' },\r\n { name: 'adviser', displayName: 'adviser' },\r\n { name: 'referral', displayName: 'Referral' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n\r\n this.tabs.find((x) => x.name === 'margin').disabled = !this.systemParameters.useCompanyBranchMargin;\r\n\r\n if (this.appClientType === 'NZ') {\r\n const index = this.tabs.findIndex((x) => x.name === 'consentVerbalScriptText');\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n if (entity === 'adviser') {\r\n this.config.get = this.config.get.replace('{adviserid}', this.row.id);\r\n this.config.put = this.config.put.replace('{adviserid}', this.row.id);\r\n\r\n this.fsgPreview = `admin/advisers/${this.row.id}/fsg`;\r\n this.signaturePreview = `admin/advisers/${this.row.id}/signature`;\r\n this.portraitImagePreview = `admin/advisers/${this.row.id}/portraitImage/{entityImageId}?imageFormat=Print`;\r\n\r\n this.partyInstanceType = PartyInstanceType.Adviser;\r\n\r\n this.titleTypes = await this.lookup.titleTypes();\r\n this.adviserTypes = await this.lookup.adviserTypes();\r\n this.countryTypes = await this.lookup.countryCode();\r\n this.systemParameters = await this.lookup.systemParameters();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'companyOffice', displayName: 'Company Branch' },\r\n { name: 'financialServicesGuide', displayName: 'fsg'},\r\n { name: 'adminFeeException', displayName: 'Fee Exception' },\r\n { name: 'signature', displayName: 'Signature' },\r\n { name: 'socialMedia', displayName: 'Social Media' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n\r\n if(!this.systemParameters.applyTransFeeFlag){\r\n const index = this.tabs.findIndex((x) => x.name === 'adminFeeException');\r\n\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n if (entity === 'referral') {\r\n this.config.get = this.config.get.replace('{referralid}', this.row.id);\r\n this.config.put = this.config.put.replace('{referralid}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.Referral;\r\n\r\n this.partyTypes = await this.lookup.partyTypes();\r\n this.titleTypes = await this.lookup.titleTypes();\r\n this.referralTypes = await this.lookup.referralTypes();\r\n this.countryTypes = await this.lookup.countryCode();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'companyOffice', displayName: 'Company Branch' },\r\n { name: 'referralPercentages', displayName: 'Referral Calculation' },\r\n { name: 'note', displayName: 'Note' },\r\n { name: 'client', displayName: 'Client' },\r\n ]);\r\n }\r\n\r\n if (entity === 'insurer') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.Insurer;\r\n\r\n this.settlementTypes = await this.lookup.settlementTypes();\r\n this.categoryTypes = orderBy(await this.lookup.insurerCategoryTypes(), ['label'], ['asc']);\r\n this.processTypes = await this.lookup.insurerProcessType();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n this.insurerTypes = orderBy(await this.lookup.insurerType(), ['label'], ['asc']);\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.countryTypes = await this.lookup.countryCode();\r\n this.companyOffices = (await this.lookup.branch()).map((x) => ({\r\n id: x.id,\r\n code: x.code,\r\n name: x.value,\r\n active: x.active,\r\n }));\r\n this.insurerGroups = await this.lookup.insurerGroup();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'paymentTerms', displayName: 'Payment Terms' },\r\n { name: 'accountNumber', displayName: 'Account Number' },\r\n { name: 'companyOffice', displayName: 'Company Branch' },\r\n { name: 'underwriter', displayName: 'Underwriter' },\r\n { name: 'overseasTax', displayName: 'Overseas Tax' },\r\n { name: 'financialStrengthRating', displayName: 'Financial Strength Rating' },\r\n { name: 'policyNumbers', displayName: 'Policy Numbers' },\r\n { name: 'risk', displayName: 'Risks' },\r\n { name: 'productDisclosureStatementMultiUpdate', displayName: 'pds' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n\r\n let index;\r\n if (this.appClientType === 'AU') {\r\n index = this.tabs.findIndex((x) => x.name === 'financialStrengthRating');\r\n } else if (this.appClientType === 'NZ') {\r\n index = this.tabs.findIndex((x) => x.name === 'overseasTax');\r\n }\r\n\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n\r\n if (entity === 'insurerOffice') {\r\n this.config.get = this.config.get.replace('{id}', this.row.insurerId).replace('{insurerofficeid}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.insurerId).replace('{insurerofficeid}', this.row.id);\r\n this.config.post = this.config.post.replace('{id}', this.config.pkid);\r\n\r\n this.partyInstanceType = PartyInstanceType.InsurerOffice;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.settlementTypes = await this.lookup.settlementTypes();\r\n this.processTypes = await this.lookup.insurerProcessType();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'paymentTerms', displayName: 'Payment Terms' },\r\n { name: 'accountNumber', displayName: 'Account Number' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n }\r\n\r\n if (entity === 'underwriter') {\r\n this.config.get = this.config.get.replace('{underwriterid}', this.row.id);\r\n this.config.put = this.config.put.replace('{underwriterid}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.Underwriter;\r\n\r\n this.countryTypes = await this.lookup.countryCode();\r\n this.processTypes = await this.lookup.insurerProcessType();\r\n this.insurerTypes = (await this.lookup.insurerType()).filter((x) => x.id !== 600000003); // remove \"Not Applicable\"\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'insurer', displayName: 'Insurers' },\r\n { name: 'financialStrengthRating', displayName: 'Financial Strength Rating' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n\r\n if (this.appClientType === 'AU') {\r\n const index = this.tabs.findIndex((x) => x.name === 'financialStrengthRating');\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n if (entity === 'premiumFunder') {\r\n this.config.get = this.config.get.replace('{premiumfunderid}', this.row.id);\r\n this.config.put = this.config.put.replace('{premiumfunderid}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.PremiumFunder;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n this.invoiceNumberTypes = await this.lookup.redPlanetInvoiceNumberFormatTypes();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'riskMapping', displayName: 'Risk Mapping' },\r\n { name: 'statusMapping', displayName: 'Status Mapping' },\r\n { name: 'creditorCodeMapping', displayName: 'Branch Mapping' },\r\n { name: 'overriderPercentage', displayName: 'Overrider Percentage' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n }\r\n\r\n if (entity === 'riskGroup') {\r\n this.config.get = this.config.get.replace('{riskgroupid}', this.row.id);\r\n this.config.put = this.config.put.replace('{riskgroupid}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.systemParameters = await this.lookup.systemParameters();\r\n\r\n if (this.row.id) {\r\n this.schemesByRiskClassType = await this.lookup.schemeTypesByRiskClassTypeId(this.row.id);\r\n }\r\n\r\n this.occupations = (await this.lookup.occupationCriteria()).map((x) => ({\r\n id: x.id,\r\n code: x.code,\r\n name: x.value,\r\n }));\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'insurerAdminFee', displayName: 'Insurer Admin Fee' },\r\n { name: 'adminFee', displayName: 'Admin Fee' },\r\n { name: 'risk', displayName: 'Risks' },\r\n { name: 'companyOffice', displayName: 'Company Branch' },\r\n ]);\r\n\r\n if(!this.systemParameters.applyTransFeeFlag){\r\n const index = this.tabs.findIndex((x) => x.name === 'adminFee');\r\n\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n }\r\n }\r\n\r\n if (entity === 'risk') {\r\n this.config.get = this.config.get.replace('{riskid}', this.row.id);\r\n this.config.put = this.config.put.replace('{riskid}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.apraClassTypes = await this.lookup.apraClassTypes();\r\n this.riskGroupTypes = await this.lookup.riskGroupType();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'brokerage', displayName: 'Brokerage' },\r\n { name: 'eqBrokerage', displayName: 'EQ Brokerage' },\r\n { name: 'fslLevy', displayName: 'F&ES Levy' },\r\n { name: 'stampDuty', displayName: 'Stamp Duty' },\r\n { name: 'riskGroup', displayName: 'Risk Group' },\r\n ]);\r\n\r\n if (this.appClientType === 'AU') {\r\n const index = this.tabs.findIndex((x) => x.name === 'eqBrokerage');\r\n\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n } else if (this.appClientType === 'NZ') {\r\n const auOnlyTabs = ['fslLevy', 'stampDuty'];\r\n\r\n auOnlyTabs.forEach((tabName) => {\r\n const index = this.tabs.findIndex((x) => x.name === tabName);\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (entity === 'riskScheduleText') {\r\n this.config.get = this.config.get.replace('{riskscheduletextid}', this.row.id);\r\n this.config.put = this.config.put.replace('{riskscheduletextid}', this.row.id);\r\n\r\n this.riskClassTypes = await this.lookup.riskClassType();\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'riskByInsurer') {\r\n this.config.get = this.config.get.replace('{riskbyinsurerid}', this.row.id);\r\n this.config.put = this.config.put.replace('{riskbyinsurerid}', this.row.id);\r\n\r\n this.insurerWordingPreview = `admin/risksbyinsurer/${this.row.id}/insurerwording`;\r\n this.riskByInsurerWordingPreview = `admin/risksbyinsurer/${this.row.id}/standardwording`;\r\n this.occupationByRiskByInsurerWordingPreview = `admin/risksbyinsurer/${this.row.id}/anzsicschedule`;\r\n\r\n this.riskByClassTypes = await this.lookup.riskByClassTypes();\r\n this.insurers = (await this.lookup.insurerTypes()).filter((x) => x.id !== 599999999);\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'brokerage', displayName: 'Brokerage' },\r\n { name: 'brokerageException', displayName: 'Brokerage Exception' },\r\n { name: 'eqBrokerage', displayName: 'EQ Brokerage' },\r\n { name: 'eqBrokerageException', displayName: 'EQ Brokerage Exception' },\r\n { name: 'wordingInsurer', displayName: 'Wording Insurer' },\r\n { name: 'wordingRiskByInsurer', displayName: 'Wording Risk by Insurer' },\r\n { name: 'wordingOccupationByRiskByInsurer', displayName: 'Wording Occupation by Risk by Insurer' },\r\n { name: 'productDisclosureStatement', displayName: 'pds' },\r\n { name: 'overriderPercentage', displayName: 'Overrider Percentage' },\r\n ]);\r\n\r\n if (this.appClientType === 'AU') {\r\n const nzOnlyTabs = ['eqBrokerage', 'eqBrokerageException'];\r\n\r\n nzOnlyTabs.forEach((tabName) => {\r\n const index = this.tabs.findIndex((x) => x.name === tabName);\r\n if (index >= 0) {\r\n this.tabs.splice(index, 1);\r\n }\r\n });\r\n }\r\n }\r\n\r\n if (entity === 'standardWordings') {\r\n this.config.get = this.config.get.replace('{standardwordingid}', this.row.id);\r\n this.config.put = this.config.put.replace('{standardwordingid}', this.row.id);\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'scheme') {\r\n this.config.get = this.config.get.replace('{schemeid}', this.row.id);\r\n this.config.put = this.config.put.replace('{schemeid}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.companyOffices = (await this.lookup.companyOffice()).filter((x) => x.id !== 1);\r\n this.insurers = (await this.lookup.insurerTypes()).filter((x) => x.id !== 599999999);\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'risk', displayName: 'Risks' },\r\n { name: 'emailText', displayName: 'Email Text' },\r\n { name: 'helpText', displayName: 'Help Text' },\r\n ]);\r\n }\r\n\r\n if (entity === 'soaAdviceText') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.soaTypes = await this.lookup.soaTypes();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'soaInsurerDefaultText') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.insurers = (await this.lookup.insurerTypes()).filter((x) => x.id !== 599999999);\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'soaDocumentText') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.soaTypes = await this.lookup.soaTypes();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'additionalPageTemplates') {\r\n this.config.get = this.config.get.replace('{additionalpagetemplateid}', this.row.id);\r\n this.config.put = this.config.put.replace('{additionalpagetemplateid}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.categoryTypes = await this.lookup.additionalPageTemplateCategoryTypes();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'htmlTemplate') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'group') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.config.get = this.config.get.replace('{securitygroupid}', this.row.id);\r\n this.config.put = this.config.put.replace('{securitygroupid}', this.row.id);\r\n\r\n this.adviserNodes = Array.from({ length: 5 }, (_, idx) => ({\r\n name: 'node-' + idx,\r\n children: Array.from({ length: 5 }, (_, idx) => ({\r\n name: 'node-' + idx,\r\n children: Array.from({ length: 5 }, (_, idx) => ({ name: 'node-' + idx })),\r\n })),\r\n }));\r\n this.accountNodes = Array.from({ length: 5 }, (_, idx) => ({ name: 'node-' + idx }));\r\n this.adminNodes = Array.from({ length: 5 }, (_, idx) => ({ name: 'node-' + idx }));\r\n\r\n this.systemParameters = await this.lookup.systemParameters();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'group', displayName: 'Groups' },\r\n { name: 'menu', displayName: 'Menu' },\r\n { name: 'notification', displayName: 'Notifications' },\r\n ]);\r\n }\r\n\r\n if (entity === 'user') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.portraitImagePreview = `admin/users/${this.row.id}/portraitImage/{entityImageId}?imageFormat=Print`;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.groupTypes = await this.lookup.groupTypes();\r\n this.systemParameters = await this.lookup.systemParameters();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'twoStepVerification', displayName: 'Two-step Verification' },\r\n { name: 'companyOffice', displayName: 'Company Branch' },\r\n { name: 'insurerOverride', displayName: 'Insurer Override' },\r\n { name: 'menu', displayName: 'Menu' },\r\n { name: 'notification', displayName: 'Notifications' },\r\n { name: 'environments', displayName: 'Environments' },\r\n ]);\r\n }\r\n\r\n if (entity === 'systemParameters') {\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.countryTypes = await this.lookup.countryTypes();\r\n this.settlementTypes = await this.lookup.settlementTypes();\r\n this.electronicBankingFileTypes = await this.lookup.electronicBankingFileTypes();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'General' },\r\n { name: 'systemParameters-client', displayName: 'Client' },\r\n { name: 'systemParameters-quote', displayName: 'Quote' },\r\n { name: 'systemParameters-policy', displayName: 'Policy' },\r\n { name: 'systemParameters-claim', displayName: 'Claim' },\r\n { name: 'systemParameters-document', displayName: 'Document' },\r\n { name: 'systemParameters-account', displayName: 'Account' },\r\n ]);\r\n }\r\n\r\n if (entity === 'message') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.messagePreview = `admin/messages/${this.row.id}/attachments`;\r\n\r\n this.messageSourceTypes = await this.lookup.messageSourceTypes();\r\n this.messagePriorityTypes = await this.lookup.messagePriorityTypes();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'message-content', displayName: 'Content' },\r\n { name: 'message-attachment', displayName: 'Attachments' },\r\n ]);\r\n }\r\n\r\n if (entity === 'bank') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.Bank;\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n }\r\n\r\n if (entity === 'bankBranch') {\r\n this.config.get = this.config.get.replace('{id}', this.row.bankId).replace('{bankbranchid}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.bankId).replace('{bankbranchid}', this.row.id);\r\n this.config.post = this.config.post.replace('{id}', this.config.pkid);\r\n\r\n this.partyInstanceType = PartyInstanceType.BankBranch;\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n }\r\n\r\n if (entity === 'instanceType') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n\r\n this.tabs = this.createTabs([{ name: 'details', displayName: 'Details' }]);\r\n }\r\n\r\n if (entity === 'webFormType') {\r\n this.config.get = this.config.get.replace('{id}', this.row.id);\r\n this.config.put = this.config.put.replace('{id}', this.row.id);\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'formDisclaimerText', displayName: 'Disclaimer Text' },\r\n { name: 'formSummaryText', displayName: 'Summary Text' },\r\n { name: 'formSubmitText', displayName: 'Submit Text' }\r\n ]);\r\n }\r\n\r\n if (entity === 'surchargePayee') {\r\n this.config.get = this.config.get.replace('{surchargepayeeid}', this.row.id);\r\n this.config.put = this.config.put.replace('{surchargepayeeid}', this.row.id);\r\n\r\n this.partyInstanceType = PartyInstanceType.SurchargePayee;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.paymentOutTypes = await this.lookup.paymentOutType();\r\n this.invoiceNumberTypes = await this.lookup.redPlanetInvoiceNumberFormatTypes();\r\n\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'contact', displayName: 'Contact' },\r\n { name: 'gst', displayName: 'GST' },\r\n { name: 'bankAccount', displayName: 'Bank Account' },\r\n { name: 'note', displayName: 'Note' },\r\n ]);\r\n }\r\n\r\n if (entity === 'emailClientStatementConfiguration') {\r\n this.tabs = this.createTabs([\r\n { name: 'details', displayName: 'General' },\r\n { name: 'emailClientStatementConfiguration-branch', displayName: 'Excluded Branches' },\r\n { name: 'emailClientStatementConfiguration-risk', displayName: 'Excluded Risks' }, \r\n ]); \r\n }\r\n\r\n if (this.tabs.length) {\r\n this.currentlySelectedTab = this.tabs[0].name;\r\n } else {\r\n console.error('initializeEntity: No tabs setup for entity ' + entity);\r\n }\r\n }\r\n\r\n // Validate tabs, parse data and call PUT or POST\r\n private async save() {\r\n await Promise.all(\r\n this.tabs\r\n .filter((x) => !x.disabled)\r\n .map(async (tab) => {\r\n // validate tab\r\n tab.isValid = (await tab.validationController.validate()).valid;\r\n\r\n // validate tab view models\r\n await Promise.all(\r\n tab.vms.map(async (vm) => {\r\n await vm.validate();\r\n }),\r\n );\r\n\r\n // mark tab invalid, if any view models are invalid\r\n if (tab.vms.length) {\r\n tab.isValid = !tab.vms.some((vm) => !vm.isValid);\r\n }\r\n }),\r\n );\r\n\r\n if (!this.tabs.filter((x) => !x.disabled).some((x) => !x.isValid)) {\r\n try {\r\n this.isSaving = true;\r\n this.isReadOnly = true;\r\n\r\n // clone entity\r\n const entityModel = cloneDeep(this.entity);\r\n\r\n // Parse dates\r\n for (const [key, value] of Object.entries(entityModel)) {\r\n if (\r\n this.keyExists(entityModel[key], 'termsOfEngagementStartDate') ||\r\n this.keyExists(entityModel[key], 'consentStartDate') ||\r\n this.keyExists(entityModel[key], 'validFrom') ||\r\n this.keyExists(entityModel[key], 'validTo') ||\r\n this.keyExists(entityModel[key], 'effectiveDate') ||\r\n this.keyExists(entityModel[key], 'expiryDate')\r\n ) {\r\n if (Array.isArray(entityModel[key])) {\r\n entityModel[key].forEach((x) => {\r\n this.parseDates(x);\r\n });\r\n } else {\r\n Object.keys(entityModel[key]).forEach((x) => {\r\n if (Array.isArray(entityModel[key][x])) {\r\n entityModel[key][x].forEach((y) => {\r\n this.parseDates(y);\r\n });\r\n } else {\r\n this.parseDates(entityModel[key]);\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n // referral specific checks\r\n if (this.config.entity === 'referral' && entityModel.detail.partyTypeId === 2) {\r\n entityModel.detail.titleId = 8; //N/A - Default for use by Organisations where title is required by DB\r\n }\r\n\r\n // insurer specific checks\r\n if (this.config.entity === 'insurer') {\r\n entityModel.companyOffice = entityModel.companyOffice.flatMap((x) => x.id);\r\n }\r\n\r\n // riskGroup specific checks\r\n if (this.config.entity === 'riskGroup') {\r\n entityModel.occupation = entityModel.occupation?.flatMap((x) => x.id);\r\n }\r\n\r\n if (this.config.entity === 'group' || this.config.entity === 'user') {\r\n entityModel.menuAccess = {\r\n adviserGroupMenuAccess: this.adviserNodes,\r\n accountsGroupMenuAccess: this.accountNodes,\r\n adminGroupMenuAccess: this.adminNodes,\r\n };\r\n\r\n }\r\n\r\n // save if all tabs are valid\r\n let result;\r\n if (entityModel.detail.id) {\r\n result = await this.api.put(this.config.put, entityModel);\r\n } else {\r\n result = await this.api.post(this.config.post, entityModel);\r\n }\r\n\r\n this.isSaving = false;\r\n this.isReadOnly = false;\r\n\r\n if (Number.isInteger(result) || Number.isInteger(result.id)) {\r\n this.close();\r\n successToast(`${this.config.name} saved`);\r\n this.callback(result);\r\n\r\n if (this.config.entity === 'insurer') {\r\n if(entityModel.detail.settlementTypeId === 2 && entityModel.detail.originalSettlementTypeId === 1){\r\n infoToast('
Please update each insurer branch and set the payment out type and bank account details.', 'Settlement Type Changed');\r\n }\r\n\r\n if(entityModel.detail.originalPaysOverrider && !entityModel.detail.paysOverrider){\r\n infoToast('
All risk by insurer overrider percentage rows have been deactivated.', 'Pays Overrider Changed');\r\n }else if(!entityModel.detail.originalPaysOverrider && entityModel.detail.paysOverrider){\r\n infoToast('
Please update each risk by insurer and set the overrider percentage details.', 'Pays Overrider Changed');\r\n }\r\n }\r\n\r\n if (!entityModel.detail.id && (this.config.entity === 'insurer' || this.config.entity === 'risk' || this.config.entity === 'riskGroup' || this.config.entity === 'riskByInsurer' )) {\r\n infoToast('
Please approve the newly added Question Collection.', 'Question Collection Added');\r\n }\r\n\r\n if (this.config.entity === 'user' ) {\r\n if(result.isUserInOtherDb){\r\n infoToast('
User exists in another environment, password remains the same.', 'Password');\r\n }\r\n\r\n if(result.tempPassword){\r\n infoToast(`
Please copy before dismissing this notification: ${result.tempPassword}`, 'Temporary Password');\r\n }\r\n\r\n // staff list downloaded in api when X-Affected-Client-Url header is present.\r\n }\r\n\r\n } else {\r\n this.handleApiValidationErrors(result);\r\n this.selectInvalidTab();\r\n }\r\n } catch (error) {\r\n this.isSaving = false;\r\n this.isReadOnly = false;\r\n }\r\n } else {\r\n this.selectInvalidTab();\r\n }\r\n }\r\n\r\n // Close entity modal and mark all tabs as valid\r\n private close() {\r\n this.modal.hide();\r\n this.tabs.forEach((x) => (x.isValid = true));\r\n }\r\n\r\n private handleApiValidationErrors(result){\r\n\r\n // reset all errors\r\n this.tabs.map((tab) => {\r\n tab.vms.map((vm) => {\r\n\r\n // mark rows valid\r\n vm.list?.map((row) => {\r\n\r\n row.isValid = true;\r\n row.error = [];\r\n\r\n return row;\r\n })\r\n\r\n // mark vm valid\r\n if(vm.list?.length){\r\n vm.isValid = true;\r\n }\r\n\r\n return vm;\r\n })\r\n\r\n // mark tab valid\r\n if (tab.vms.length) {\r\n tab.isValid = true;\r\n }\r\n\r\n return tab;\r\n })\r\n\r\n // apply errors\r\n result.map((obj) => {\r\n this.tabs.map((tab) => {\r\n tab.vms.map((vm) => {\r\n vm.list?.map((row) => {\r\n\r\n if(row.guid === obj.guid){\r\n row.isValid = false;\r\n row.error.push(obj.errors.map((x) => x.errorKey).join('\\n'));\r\n }\r\n\r\n return row;\r\n })\r\n\r\n // mark vm invalid, if any rows are invalid\r\n if(vm.list?.length){\r\n vm.isValid = !vm.list.some((x) => !x.isValid);\r\n }\r\n\r\n return vm;\r\n })\r\n\r\n // mark tab invalid, if any view models are invalid\r\n if (tab.vms.length) {\r\n tab.isValid = !tab.vms.some((x) => !x.isValid);\r\n if(!tab.isValid){\r\n tab.errors = obj.errors.map((x) => x.errorKey).join('\\n');\r\n }\r\n }\r\n\r\n return tab;\r\n })\r\n })\r\n }\r\n\r\n private selectInvalidTab(){\r\n // if currentlySelectedTab is valid, select the first invalid tab\r\n if (this.tabs.find((x) => x.name === this.currentlySelectedTab).isValid) {\r\n this.currentlySelectedTab = this.tabs.find((x) => !x.disabled && !x.isValid).name;\r\n }\r\n }\r\n\r\n // Validation rules for Details tab\r\n private initializeValidation(entity) {\r\n this.tabs.forEach((tab) => {\r\n tab.validationController = this.validationControllerFactory.createForCurrentScope();\r\n tab.validationController.addRenderer(new FormValidationRenderer());\r\n });\r\n\r\n if (typeof this.entity.detail === 'undefined') {\r\n console.error('initializeValidation: No detail object found on entity model.');\r\n return;\r\n }\r\n\r\n ValidationRules.off(this.entity.detail);\r\n\r\n if (entity === 'company') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.settlementTypeId)\r\n .required()\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .when((x: any) => x.settlementTypeId === 1)\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'companyOffice') {\r\n ValidationRules\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .when((x: any) => x.settlementTypeId === 2)\r\n .ensure((x: any) => x.branchTypeId)\r\n .required()\r\n .ensure((x: any) => x.inRunOff)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure(x => x.isCorporateAuthorisedRepresentative)\r\n .required()\r\n .then()\r\n .ensure(x => x.corporateAuthorisedRepresentativeNumber)\r\n .required()\r\n .when(x => x.isCorporateAuthorisedRepresentative === true)\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'adviser') {\r\n ValidationRules.ensure((x: any) => x.titleId)\r\n .required()\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.surname)\r\n .required()\r\n .ensure((x: any) => x.adviserTypeId)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'referral') {\r\n ValidationRules.ensure((x: any) => x.partyTypeId)\r\n .required()\r\n .ensure((x: any) => x.titleId)\r\n .required()\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.surname)\r\n .required()\r\n .ensure((x: any) => x.referralTypeId)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'insurer') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.afsl)\r\n .required()\r\n .when(() => this.appClientType === 'AU')\r\n .ensure((x: any) => x.countryCode)\r\n .required()\r\n .ensure((x: any) => x.processTypeId)\r\n .required()\r\n .ensure((x: any) => x.settlementTypeId)\r\n .required()\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .when((x: any) => x.settlementTypeId === 1)\r\n .ensure((x: any) => x.categoryId)\r\n .required()\r\n .ensure((x: any) => x.typeId)\r\n .required()\r\n .when((x: any) => x.categoryId === 600000000)\r\n .ensure((x: any) => x.isAustralianAuthorised)\r\n .required()\r\n .when((x: any) => x.typeId === 600000001)\r\n .ensure((x: any) => x.partnerInsurer)\r\n .required()\r\n .ensure((x: any) => x.paysOverrider)\r\n .required()\r\n .ensure((x: any) => x.autoGeneratePolicyNo)\r\n .required()\r\n .ensure((x: any) => x.allowPackageCosts)\r\n .required()\r\n .ensure((x: any) => x.defaultAutoratingFap)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.insurerGroupId)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'insurerOffice') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.agreementReceived)\r\n .required()\r\n .ensure((x: any) => x.processTypeId)\r\n .required()\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .when((x: any) => x.settlementTypeId === 2)\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'underwriter') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.countryCode)\r\n .required()\r\n .ensure((x: any) => x.processTypeId)\r\n .required()\r\n .ensure((x: any) => x.typeId)\r\n .required()\r\n .ensure((x: any) => x.isAustralianAuthorised)\r\n .required()\r\n .when((x: any) => x.typeId === 600000001)\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'premiumFunder') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.paysOverrider)\r\n .required()\r\n .ensure((x: any) => x.useInterface)\r\n .required()\r\n .ensure((x: any) => x.useSettlements)\r\n .required()\r\n .when((x: any) => x.useInterface || x.useBackgroundInterface)\r\n .ensure((x: any) => x.interfaceUrl)\r\n .required()\r\n .when((x: any) => x.useInterface)\r\n .ensure((x: any) => x.invoiceNoFormatId)\r\n .required()\r\n .when((x: any) => x.useInterface || x.useBackgroundInterface)\r\n .ensure((x: any) => x.useBackgroundInterface)\r\n .required()\r\n .ensure((x: any) => x.backgroundInterfaceUrl)\r\n .required()\r\n .when((x: any) => x.useBackgroundInterface)\r\n .ensure((x: any) => x.backgroundInterfaceUsername)\r\n .required()\r\n .when((x: any) => x.useBackgroundInterface)\r\n .ensure((x: any) => x.backgroundInterfacePassword)\r\n .required()\r\n .when((x: any) => x.useBackgroundInterface)\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'riskGroup') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.isAPackage)\r\n .required()\r\n .ensure((x: any) => x.additionalPageReadonly)\r\n .required()\r\n .ensure((x: any) => x.additionalPageReadonly)\r\n .required()\r\n .ensure((x: any) => x.defaultSchemeOnQuoteFlag)\r\n .required()\r\n .ensure((x: any) => x.defaultQuoteSchemeId)\r\n .required()\r\n .when((x: any) => x.defaultSchemeOnQuoteFlag === true)\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .ensure((x: any) => x.useOnWebFormsFlag)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'risk') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.gstExempt)\r\n .required()\r\n .ensure((x: any) => x.fsrRetailProduct)\r\n .required()\r\n .ensure((x: any) => x.soaProduct)\r\n .required()\r\n .when((x: any) => x.fsrRetailProduct)\r\n .ensure((x: any) => x.motorVehicleRisk)\r\n .required()\r\n .ensure((x: any) => x.travelRisk)\r\n .required()\r\n .ensure((x: any) => x.marineCargoRisk)\r\n .required()\r\n .ensure((x: any) => x.binderFlag)\r\n .required()\r\n .ensure((x: any) => x.eligibleClassFlag)\r\n .required()\r\n .ensure((x: any) => x.apraClassId)\r\n .required()\r\n .ensure((x: any) => x.disabledForNewQuoteFlag)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.riskGroupTypeId)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'riskScheduleText') {\r\n ValidationRules.ensure((x: any) => x.riskClassTypeId)\r\n .required()\r\n .ensure((x: any) => x.riskByClassId)\r\n .required()\r\n .when((x: any) => x.riskClassTypeId)\r\n .ensure((x: any) => x.scheduleText)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'riskByInsurer') {\r\n ValidationRules.ensure((x: any) => x.riskByClassId)\r\n .required()\r\n .ensure((x: any) => x.insurerId)\r\n .required()\r\n .ensure((x: any) => x.autoRated)\r\n .required()\r\n .ensure((x: any) => x.captureInsurerOccupation)\r\n .required()\r\n .ensure((x: any) => x.attractsTerrorismLevy)\r\n .required()\r\n .ensure((x: any) => x.insurerId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'standardWordings') {\r\n ValidationRules.ensure((x: any) => x.fileName)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'scheme') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.riskClassTypeId)\r\n .required()\r\n .ensure((x: any) => x.effectiveDateForwardDays)\r\n .required()\r\n .when((x: any) => x.useForWeb)\r\n .ensure((x: any) => x.paymentByCreditCard)\r\n .required()\r\n .when((x: any) => x.useForWeb)\r\n .ensure((x: any) => x.paymentByFunder)\r\n .required()\r\n .when((x: any) => x.useForWeb)\r\n .ensure((x: any) => x.useForWeb)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'soaAdviceText') {\r\n ValidationRules.ensure((x: any) => x.label)\r\n .required()\r\n .ensure((x: any) => x.soaTypeId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.defaultText)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'soaInsurerDefaultText') {\r\n ValidationRules.ensure((x: any) => x.label)\r\n .required()\r\n .ensure((x: any) => x.insurerId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.defaultText)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'soaDocumentText') {\r\n ValidationRules.ensure((x: any) => x.label)\r\n .required()\r\n .ensure((x: any) => x.soaTypeId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .ensure((x: any) => x.defaultText)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'additionalPageTemplates') {\r\n ValidationRules.ensure((x: any) => x.categoryTypeId)\r\n .required()\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.fileName)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'htmlTemplate') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .ensure((x: any) => x.htmlContent)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'group') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.synopsis)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'user') {\r\n /* istanbul ignore next */\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.fullName)\r\n .required()\r\n .ensure((x: any) => x.groupId)\r\n .required()\r\n .ensure((x: any) => x.email)\r\n .required()\r\n .email()\r\n .ensure((x: any) => x.gstOverride)\r\n .required()\r\n .ensure((x: any) => x.adminFeeOverride)\r\n .required()\r\n .ensure((x: any) => x.questionCollectionTestUser)\r\n .required()\r\n .ensure((x: any) => x.enableEnhancedLogging)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'message') {\r\n ValidationRules.ensure((x: any) => x.title)\r\n .required()\r\n .ensure((x: any) => x.synopsis)\r\n .required()\r\n .ensure((x: any) => x.author)\r\n .required()\r\n .ensure((x: any) => x.effectiveDate)\r\n .required()\r\n .ensure((x: any) => x.expiryDate)\r\n .required()\r\n .ensure((x: any) => x.sourceId)\r\n .required()\r\n .ensure((x: any) => x.priorityId)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'bank') {\r\n ValidationRules.ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.bpayFilesUsed)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'bankBranch') {\r\n ValidationRules.ensure((x: any) => x.bsb)\r\n .required()\r\n .ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'instanceType') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.active)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'systemParameters') {\r\n ValidationRules.customRule('isValidAmount', (value, obj) => typeof value !== 'undefined' && value != 0, '');\r\n\r\n ValidationRules.ensure((x: any) => x.prospectAutoDeactivateDays)\r\n .required()\r\n .satisfiesRule('isValidAmount')\r\n .when((x: any) => x.autoDeactivateProspectFlag)\r\n .ensure((x: any) => x.clientAutoDeactivateDays)\r\n .required()\r\n .satisfiesRule('isValidAmount')\r\n .when((x: any) => x.autoDeactivateClientFlag)\r\n .ensure((x: any) => x.termsOfEngagementStartDate)\r\n .required()\r\n .when((x: any) => x.useTermsOfEngagement)\r\n .ensure((x: any) => x.consentStartDate)\r\n .required()\r\n .ensure((x: any) => x.claimInitialEstimateWarning)\r\n .required()\r\n .satisfiesRule('isValidAmount')\r\n .when((x: any) => x.useClaimInitialEstimateWarning)\r\n .ensure((x: any) => x.claimInitialEstimateWarningText)\r\n .required()\r\n .when((x: any) => x.useClaimInitialEstimateWarning)\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'surchargePayee') {\r\n ValidationRules.ensure((x: any) => x.name)\r\n .required()\r\n .ensure((x: any) => x.code)\r\n .required()\r\n .ensure((x: any) => x.paymentOutTypeId)\r\n .required()\r\n .ensure((x: any) => x.validFrom)\r\n .required()\r\n .on(this.entity.detail);\r\n }\r\n\r\n if (entity === 'emailClientStatementConfiguration') {\r\n ValidationRules.ensure((x: any) => x.daysOutstanding)\r\n .required()\r\n .ensure((x: any) => x.dayOfMonthToRun)\r\n .required() \r\n .on(this.entity.detail);\r\n }\r\n }\r\n\r\n // Scroll Tab Methods\r\n private attached() {\r\n initScrollTabs(this);\r\n }\r\n\r\n private scrollTabs(direction) {\r\n scrollTabs(this, direction);\r\n }\r\n\r\n @computedFrom('tabPosition')\r\n private get isLeftChevronDisabled() {\r\n return this.tabPosition > 0;\r\n }\r\n\r\n // Helpers Methods\r\n private createTabs(tabs) {\r\n return tabs.map((x) => ({\r\n name: x.name,\r\n displayName: x.displayName,\r\n isValid: true,\r\n disabled: false,\r\n vms: [],\r\n validationController: {} as ValidationController,\r\n }));\r\n }\r\n\r\n private digitOnlyInput(e) {\r\n const t = e.target;\r\n const badValues = /[\\D]/gi;\r\n t.value = t.value.replace(badValues, '');\r\n }\r\n\r\n private parseDates(model) {\r\n if (model.termsOfEngagementStartDate?.includes('/')) {\r\n model.termsOfEngagementStartDate = momentToISOString(model.termsOfEngagementStartDate);\r\n }\r\n if (model.consentStartDate?.includes('/')) {\r\n model.consentStartDate = momentToISOString(model.consentStartDate);\r\n }\r\n if (model.validFrom?.includes('/')) {\r\n model.validFrom = momentToISOString(model.validFrom);\r\n }\r\n if (model.validTo?.includes('/')) {\r\n model.validTo = momentToISOString(model.validTo);\r\n }\r\n if (model.effectiveDate?.includes('/')) {\r\n model.effectiveDate = momentToISOString(model.effectiveDate);\r\n }\r\n if (model.expiryDate?.includes('/')) {\r\n model.expiryDate = momentToISOString(model.expiryDate);\r\n }\r\n }\r\n\r\n private keyExists(obj, key) {\r\n if (!obj || (typeof obj !== 'object' && !Array.isArray(obj))) {\r\n return false;\r\n } else if (obj.hasOwnProperty(key)) {\r\n return true;\r\n } else if (Array.isArray(obj)) {\r\n for (let i = 0; i < obj.length; i++) {\r\n const result = this.keyExists(obj[i], key);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n } else {\r\n for (const k in obj) {\r\n const result = this.keyExists(obj[k], key);\r\n if (result) {\r\n return result;\r\n }\r\n }\r\n }\r\n\r\n return false;\r\n }\r\n\r\n // Detail Tab Changed Methods\r\n private fieldChanged(entity = 'detail') {\r\n if (!Array.isArray(this.entity.isDirty)) {\r\n this.entity.isDirty = [];\r\n }\r\n\r\n if (!this.entity.isDirty.includes(entity)) {\r\n this.entity.isDirty.push(entity);\r\n }\r\n }\r\n\r\n private settlementTypeChanged() {\r\n this.taskQueue.queueMicroTask(() => {\r\n let settlementTypeIdToDisabled;\r\n if (this.config.entity === 'insurer') {\r\n // Disable Insurer tabs when settlementType == Pay by each Office\r\n settlementTypeIdToDisabled = 2;\r\n }\r\n\r\n const disable = ['contact', 'gst', 'paymentTerms', 'accountNumber', 'bankAccount'];\r\n this.tabs\r\n .filter((x) => disable.includes(x.name))\r\n .forEach((x) => {\r\n x.disabled = !this.entity.detail.settlementTypeId || this.entity.detail.settlementTypeId === settlementTypeIdToDisabled;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private categoryTypeChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n // Filter N/A from Insurer Type when Insurer Category = Insurer\r\n if (this.entity.detail.categoryId === 600000000) {\r\n this.insurerTypes = this.insurerTypes.filter((x) => x.id !== 600000003);\r\n } else {\r\n this.insurerTypes = this.insurerTypes = orderBy(await this.lookup.insurerType(), ['label'], ['asc']);\r\n }\r\n\r\n // Set Insurer Type = N/A when Insurer Category !== Insurer\r\n if (this.entity.detail.categoryId !== 600000000) {\r\n this.entity.detail.typeId = 600000003;\r\n }\r\n\r\n // Disable underwriter tab when Insurer Category = Insurer\r\n this.tabs\r\n .filter((x) => x.name === 'underwriter')\r\n .forEach((x) => {\r\n x.disabled =\r\n !this.entity.detail.categoryId ||\r\n this.entity.detail.categoryId === 600000000;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n\r\n if (this.appClientType === 'AU') {\r\n // Disable overseasTax when Insurer Category = Insurer / Australian Underwriting Agency / Australian Broker\r\n this.tabs\r\n .filter((x) => x.name === 'overseasTax')\r\n .forEach((x) => {\r\n x.disabled =\r\n !this.entity.detail.categoryId ||\r\n this.entity.detail.categoryId === 600000000 ||\r\n this.entity.detail.categoryId === 600000001 ||\r\n this.entity.detail.categoryId === 600000003;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n } else if (this.appClientType === 'NZ') {\r\n // Disable financialStrengthRating when Insurer Category != Insurer\r\n this.tabs\r\n .filter((x) => x.name === 'financialStrengthRating')\r\n .forEach((x) => {\r\n x.disabled = this.entity.detail.categoryId !== 600000000;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n private insurerTypeChanged() {\r\n this.taskQueue.queueMicroTask(() => {\r\n if (this.entity.detail.categoryId === 600000000) {\r\n // Disable overseasTax when Insurer Type = Australian Insurer / Not Applicable\r\n this.tabs\r\n .filter((x) => x.name === 'overseasTax')\r\n .forEach((x) => {\r\n x.disabled = this.entity.detail.typeId === 600000000 || this.entity.detail.typeId === 600000003;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n }\r\n\r\n if (this.appClientType === 'AU' && this.entity.detail.typeId !== 600000001) {\r\n this.entity.detail.isAustralianAuthorised = null;\r\n }\r\n });\r\n }\r\n\r\n private autoGeneratePolicyNoChanged() {\r\n this.taskQueue.queueMicroTask(() => {\r\n // Disable policyNumbers when !autoGeneratePolicyNo\r\n this.tabs\r\n .filter((x) => x.name === 'policyNumbers')\r\n .forEach((x) => {\r\n x.disabled = !this.entity.detail.autoGeneratePolicyNo;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private fsrRetailProductChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n if (this.appClientType === 'AU') {\r\n if (!this.entity.detail.fsrRetailProduct) {\r\n this.entity.detail.soaProduct = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n private mandatoryInstanceTypeChanged(event, party) {\r\n if (event.target.checked) {\r\n party.used = true;\r\n }\r\n\r\n party.checkboxDisabled = event.target.checked;\r\n }\r\n\r\n private notificationAccessChanged(event, item) {\r\n if (!event.target.checked) {\r\n item.mandatory = false;\r\n }\r\n }\r\n\r\n private async schemeCompanyOfficeIdChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n this.advisers = this.entity.detail.companyOfficeId\r\n ? await this.lookup.adviser(this.entity.detail.companyOfficeId)\r\n : [];\r\n this.referrers = this.entity.detail.companyOfficeId\r\n ? await this.lookup.referral(this.entity.detail.companyOfficeId)\r\n : [];\r\n });\r\n }\r\n\r\n private async schemeInsurerIdChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n this.insurerOffices = this.entity.detail.insurerId\r\n ? await this.lookup.insurerOfficeTypes(this.entity.detail.insurerId)\r\n : [];\r\n });\r\n }\r\n\r\n private useInterfaceChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n if (this.entity.detail.useInterface === false && this.entity.detail.useBackgroundInterface === false) {\r\n this.entity.detail.useSettlements = false;\r\n this.entity.detail.invoiceNoFormatId = 600000001; // Short\r\n }\r\n\r\n const interfaceEnabled = this.entity.detail.useInterface || this.entity.detail.useBackgroundInterface;\r\n\r\n // Disable riskMapping & statusMapping\r\n const disable = ['riskMapping', 'statusMapping'];\r\n this.tabs\r\n .filter((x) => disable.includes(x.name))\r\n .forEach((x) => {\r\n x.disabled = !interfaceEnabled;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private paysOverriderChanged() {\r\n this.taskQueue.queueMicroTask(() => {\r\n // Disable overriderPercentage\r\n this.tabs\r\n .filter((x) => x.name === 'overriderPercentage')\r\n .forEach((x) => {\r\n x.disabled = !this.entity.detail.paysOverrider;\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private riskClassTypeIdChanged() {\r\n this.taskQueue.queueMicroTask(async (x) => {\r\n this.riskByClassTypes = this.entity.detail.riskClassTypeId\r\n ? await this.lookup.risksByRiskClassType(this.entity.detail.riskClassTypeId)\r\n : [];\r\n });\r\n }\r\n\r\n private async fileListChanged(fileList: FileList) {\r\n this.taskQueue.queueTask(async () => {\r\n const base64 = await this.blobToBase64(fileList[0]).catch((error) => error);\r\n\r\n if (base64 instanceof Error) {\r\n return;\r\n }\r\n\r\n switch (this.config.entity) {\r\n case 'adviser':\r\n case 'user':\r\n\r\n if(!this.entity.detail.portraitImage){\r\n this.entity.detail.portraitImage = {};\r\n }\r\n\r\n this.entity.detail.portraitImage.entityId = this.entity.detail.id;\r\n this.entity.detail.portraitImage.fileName = fileList[0].name;\r\n this.entity.detail.portraitImage.file = base64;\r\n\r\n break;\r\n\r\n case 'company':\r\n case 'companyOffice':\r\n if(!this.entity.detail.headerPageImage){\r\n this.entity.detail.headerPageImage = {};\r\n }\r\n\r\n this.entity.detail.headerPageImage.entityId = this.entity.detail.id;\r\n this.entity.detail.headerPageImage.fileName = fileList[0].name;\r\n this.entity.detail.headerPageImage.file = base64;\r\n break;\r\n\r\n default:\r\n this.entity.detail.fileName = fileList[0].name;\r\n this.entity.detail.file = base64;\r\n break;\r\n }\r\n });\r\n }\r\n\r\n private insurerIdChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n const insurer = (await this.lookup.insurerTypes()).find((x) => x.id === this.entity.detail.insurerId);\r\n\r\n // Disable brokerageException, eqBrokerageException & overriderPercentage\r\n const disable = ['brokerageException', 'eqBrokerageException', 'overriderPercentage'];\r\n this.tabs\r\n .filter((x) => disable.includes(x.name))\r\n .forEach((x) => {\r\n x.disabled = !this.entity.detail.insurerId || (insurer && !insurer.paysOverrider && x.name === 'overriderPercentage');\r\n if (x.disabled) {\r\n x.isValid = true;\r\n }\r\n });\r\n });\r\n }\r\n\r\n private async groupIdChanged() {\r\n this.taskQueue.queueMicroTask(async () => {\r\n // Disable menu\r\n const menuTab = this.tabs.find((x) => x.name === 'menu');\r\n menuTab.disabled = !this.entity.detail.groupId;\r\n if (menuTab.disabled) {\r\n menuTab.isValid = true;\r\n }\r\n\r\n // Disable notification\r\n const notificationTab = this.tabs.find((x) => x.name === 'notification');\r\n notificationTab.disabled = !this.entity.detail.groupId;\r\n\r\n if (this.entity.detail.groupId) {\r\n\r\n // groups can take a few seconds to return, temporarily disable save button and menu tab\r\n this.isSaving = true;\r\n\r\n menuTab.disabled = true;\r\n const menuAccess = await this.api.get(`admin/groups/${this.entity.detail.groupId}/menu`);\r\n menuTab.disabled = false;\r\n\r\n notificationTab.disabled = true;\r\n const notificationAccess = await this.api.get(`admin/groups/${this.entity.detail.groupId}/notifications`);\r\n notificationTab.disabled = false;\r\n\r\n this.isSaving = false;\r\n\r\n if (menuAccess) {\r\n this.entity.menuAccess = menuAccess;\r\n this.adviserNodes = this.transformMenuItemResponse(this.entity.menuAccess.adviserGroupMenuAccess);\r\n this.accountNodes = this.transformMenuItemResponse(this.entity.menuAccess.accountsGroupMenuAccess);\r\n this.adminNodes = this.transformMenuItemResponse(this.entity.menuAccess.adminGroupMenuAccess);\r\n this.fieldChanged('menuAccess');\r\n }\r\n\r\n if (notificationAccess) {\r\n this.entity.notificationAccess = notificationAccess;\r\n this.filterNotificationAccess();\r\n this.fieldChanged('notificationAccess');\r\n }\r\n }\r\n });\r\n }\r\n\r\n private filterNotificationAccess() {\r\n // Tasks 600000001, QBE Interface 600000008, Allianz Interface 600000009\r\n const idsToFilter = [600000001, 600000008, 600000009]\r\n\r\n if (!this.systemParameters.useSales) {\r\n idsToFilter.push(600000014)\r\n }\r\n\r\n this.entity.notificationAccess.iAdviser = this.entity?.notificationAccess?.iAdviser.filter(x => !idsToFilter.includes(x.groupId));\r\n }\r\n\r\n private blobToBase64 = (file: Blob) =>\r\n new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.readAsDataURL(file);\r\n fileReader.onload = () => resolve((fileReader.result as string).split(',')[1]);\r\n fileReader.onerror = (error) => reject(error);\r\n });\r\n\r\n private async previewImage(type) {\r\n let route;\r\n\r\n switch (type) {\r\n case 'header':\r\n route = this.headerPageImagePreview.replace('{entityImageId}', this.entity.detail.headerPageImage.entityImageId);\r\n break;\r\n\r\n case 'portrait':\r\n route = this.portraitImagePreview.replace('{entityImageId}', this.entity.detail.portraitImage.entityImageId);\r\n break;\r\n }\r\n\r\n const result = await this.api.preview(route);\r\n\r\n if(result){\r\n PLATFORM.global.open(result, '_blank');\r\n }\r\n }\r\n\r\n private deleteImage(type) {\r\n this.canPreviewImage = false;\r\n\r\n let element;\r\n\r\n if(type === 'header') {\r\n element = '#headerPageImageFileInput'\r\n this.entity.detail.headerPageImage.fileName = null;\r\n }\r\n\r\n if(type === 'portrait') {\r\n element = '#portraitImageFileInput'\r\n this.entity.detail.portraitImage.fileName = null;\r\n }\r\n\r\n if(this.fileList?.length){\r\n const file = document.querySelector(element) as HTMLInputElement;\r\n file.value = '';\r\n }\r\n\r\n this.fieldChanged();\r\n }\r\n\r\n // Menu Tab Methods\r\n private adviserNodesModified(nodes, isParent, $mainEvent, $event) {\r\n this.fieldChanged('menuAccess');\r\n\r\n const checkbox = $event.target as HTMLInputElement;\r\n\r\n this.toggleChildMenuItems('adviserNodes', $mainEvent.detail.node, checkbox.checked);\r\n this.toggleParentSelectedStateIfChildChanges('adviserNodes', $mainEvent.detail.node);\r\n }\r\n\r\n private adminNodesModified(nodes, isParent, $mainEvent, $event) {\r\n this.fieldChanged('menuAccess');\r\n\r\n const checkbox = $event.target as HTMLInputElement;\r\n\r\n this.toggleChildMenuItems('adminNodes', $mainEvent.detail.node, checkbox.checked);\r\n this.toggleParentSelectedStateIfChildChanges('adminNodes', $mainEvent.detail.node);\r\n }\r\n\r\n private accountNodesModified(nodes, isParent, $mainEvent, $event) {\r\n this.fieldChanged('menuAccess');\r\n\r\n const checkbox = $event.target as HTMLInputElement;\r\n\r\n this.toggleChildMenuItems('accountNodes', $mainEvent.detail.node, checkbox.checked);\r\n this.toggleParentSelectedStateIfChildChanges('accountNodes', $mainEvent.detail.node);\r\n }\r\n\r\n childrenSelected(array){\r\n return array?.some((node) => node.canAccess);\r\n };\r\n\r\n toggleParentSelectedStateIfChildChanges(nodesList: NodecollectionType, node) {\r\n const list = this[nodesList];\r\n\r\n for (let listIndex = 0; listIndex < list.length; listIndex++) {\r\n const listItem = list[listIndex];\r\n\r\n if(node.parentMenuGroupId === listItem.menuGroupId){\r\n const childrenSelected = this.childrenSelected(listItem.children);\r\n listItem.canAccess = childrenSelected;\r\n break;\r\n }\r\n\r\n for (let subGroupIndex = 0; subGroupIndex < listItem.subGroups.length; subGroupIndex++) {\r\n const subGroup = listItem.subGroups[subGroupIndex];\r\n const childItem = list[listIndex].children[subGroupIndex];\r\n\r\n if(node.parentMenuGroupId === subGroup.menuGroupId){\r\n const childrenSelected = this.childrenSelected(childItem.children);\r\n\r\n subGroup.canAccess = childrenSelected;\r\n childItem.canAccess = childrenSelected;\r\n this.toggleParentSelectedStateIfChildChanges(nodesList, subGroup)\r\n break;\r\n }\r\n\r\n for (let menuItemIndex = 0; menuItemIndex < subGroup.menuItems.length; menuItemIndex++) {\r\n const menuItem = listItem.subGroups[subGroupIndex].menuItems[menuItemIndex];\r\n const childItem = list[listIndex].children[subGroupIndex].children[menuItemIndex];\r\n\r\n if(node.parentMenuItemId === menuItem.menuItemId){\r\n const childrenSelected = this.childrenSelected(childItem.children)\r\n\r\n menuItem.canAccess = childrenSelected;\r\n childItem.canAccess = childrenSelected;\r\n this.toggleParentSelectedStateIfChildChanges(nodesList, menuItem)\r\n break;\r\n }\r\n }\r\n\r\n for (let subGroupSubGroupIndex = 0; subGroupSubGroupIndex < subGroup.subGroups.length; subGroupSubGroupIndex++) {\r\n\r\n for (let subGroupSubGroupMenuItemIndex = 0; subGroupSubGroupMenuItemIndex < subGroup.subGroups[subGroupSubGroupIndex].menuItems.length; subGroupSubGroupMenuItemIndex++) {\r\n const menuItem = listItem.subGroups[subGroupIndex].subGroups[subGroupSubGroupIndex];\r\n const childItem = list[listIndex].children[subGroupIndex].children.find((x) => x.menuGroupId === menuItem.menuGroupId)\r\n\r\n if(node.parentMenuItemId === menuItem.menuItemId){\r\n const childrenSelected = this.childrenSelected(childItem.children)\r\n\r\n menuItem.canAccess = childrenSelected;\r\n childItem.canAccess = childrenSelected;\r\n this.toggleParentSelectedStateIfChildChanges(nodesList, menuItem)\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (let menuItemIndex = 0; menuItemIndex < listItem.menuItems.length; menuItemIndex++) {\r\n const menuItem = listItem.menuItems[menuItemIndex];\r\n const childItem = list[listIndex].children[menuItemIndex]\r\n\r\n if(node.parentMenuItemId === menuItem.menuItemId){\r\n const childrenSelected = this.childrenSelected(childItem.children);\r\n\r\n menuItem.canAccess = childrenSelected;\r\n childItem.canAccess = childrenSelected;\r\n this.toggleParentSelectedStateIfChildChanges(nodesList, menuItem)\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private checkMenuItems(menuItems, checked){\r\n menuItems?.forEach((menuItem) => {\r\n menuItem.canAccess = checked;\r\n });\r\n }\r\n\r\n private checkSubGroups(subGroups, checked){\r\n subGroups?.forEach((subGroup) => {\r\n subGroup.canAccess = checked;\r\n this.checkMenuItems(subGroup?.menuItems, checked);\r\n this.checkSubGroups(subGroup?.subGroups, checked);\r\n });\r\n }\r\n\r\n checkChildren(node, checked){\r\n node.children?.forEach((childItem) => {\r\n childItem.canAccess = checked;\r\n this.checkChildren(childItem, checked);\r\n });\r\n }\r\n\r\n private toggleChildMenuItems(nodesList: NodecollectionType, node, checked: boolean) {\r\n const list = this[nodesList];\r\n\r\n const firstNode = list.find((x) => x.menuGroupId === node.menuGroupId && node.parentMenuGroupId === null)\r\n if(firstNode){\r\n firstNode.canAccess = checked;\r\n this.checkMenuItems(firstNode.menuItems, checked);\r\n this.checkSubGroups(firstNode.subGroups, checked);\r\n }\r\n\r\n let secondNode;\r\n list.forEach((listItem) => {\r\n const menuFound = listItem.menuItems?.find((x) => x.menuItemId === node.menuItemId);\r\n if(menuFound){\r\n secondNode = menuFound;\r\n }\r\n\r\n const subGroupFound = listItem.subGroups?.find((x) => x.menuGroupId === node.menuGroupId);\r\n if(subGroupFound){\r\n secondNode = subGroupFound;\r\n }\r\n });\r\n\r\n if(secondNode){\r\n secondNode.canAccess = checked;\r\n this.checkMenuItems(secondNode.menuItems, checked)\r\n this.checkSubGroups(secondNode.subGroups, checked)\r\n }\r\n\r\n let thirdNode;\r\n list.forEach((listItem) => {\r\n listItem.subGroups.forEach(subGroup => {\r\n const menuFound = subGroup.menuItems?.find((x) => x.menuItemId === node.menuItemId);\r\n if(menuFound){\r\n thirdNode = menuFound;\r\n }\r\n\r\n const subGroupFound = subGroup.subGroups?.find((x) => x.menuGroupId === node.menuGroupId);\r\n if(subGroupFound){\r\n thirdNode = subGroupFound;\r\n }\r\n });\r\n });\r\n\r\n if(thirdNode){\r\n thirdNode.canAccess = checked;\r\n this.checkMenuItems(thirdNode.menuItems, checked);\r\n this.checkSubGroups(thirdNode.subGroups, checked);\r\n }\r\n\r\n // Set children object to update UI\r\n this.checkChildren(node, checked);\r\n }\r\n\r\n /**\r\n * Transform Menu Item Response\r\n *\r\n * Transforms menuAccess items into format suitable for presentation. Please see\r\n * entity-modal.spec.ts for tests covering this function\r\n * @param menuItemResponse\r\n */\r\n private transformMenuItemResponse(menuItemResponse: IMenuAccess[]) {\r\n if (!menuItemResponse) {\r\n return [];\r\n }\r\n\r\n return menuItemResponse.map((node) => {\r\n const newNode = { ...node, children: [] };\r\n\r\n newNode.hasSubGroups = false;\r\n\r\n if (node?.subGroups.length) {\r\n newNode.hasSubGroups = true;\r\n\r\n for (const subGroup of node.subGroups) {\r\n const subGroupNode = { ...subGroup, children: [] };\r\n\r\n for (const subMenuItem of subGroup.menuItems) {\r\n const subMenuItemNode = { ...subMenuItem, children: [] };\r\n\r\n for (const itemObject of subMenuItem.itemObjects) {\r\n subMenuItemNode.children.push(itemObject);\r\n }\r\n\r\n subGroupNode.children.push(subMenuItemNode);\r\n }\r\n\r\n for (const subGroupItem of subGroup.subGroups) {\r\n const subGroupItemNode = { ...subGroupItem, children: [] };\r\n\r\n for (const subGroupMenuItem of subGroupItem.menuItems) {\r\n subGroupItemNode.children.push(subGroupMenuItem);\r\n }\r\n\r\n subGroupNode.children.push(subGroupItemNode);\r\n }\r\n\r\n newNode.children.push(subGroupNode);\r\n }\r\n }\r\n\r\n if (node?.menuItems.length) {\r\n\r\n for (const menuItem of node.menuItems) {\r\n const menuItemNode = { ...menuItem, children: [] };\r\n\r\n for (const itemObject of menuItem.itemObjects) {\r\n menuItemNode.children.push(itemObject);\r\n }\r\n\r\n newNode.children.push(menuItemNode);\r\n }\r\n }\r\n\r\n return newNode;\r\n });\r\n }\r\n\r\n private reverseTransformMenuItems(transformedMenuItems = []) {\r\n if (!transformedMenuItems) {\r\n return [];\r\n }\r\n\r\n return transformedMenuItems.map((node) => {\r\n const newNode = {\r\n ...node,\r\n subGroups: node.children ?? [],\r\n };\r\n\r\n // Delete client-side properties\r\n delete newNode.expanded;\r\n delete newNode.selected;\r\n delete newNode.hasSubGroups;\r\n\r\n if (newNode.subGroups) {\r\n for (const subGroup of newNode.subGroups) {\r\n if (subGroup.children) {\r\n subGroup.menuItems = subGroup.children;\r\n\r\n delete subGroup.expanded;\r\n delete subGroup.children;\r\n delete subGroup.selected;\r\n\r\n for (const menuItem of subGroup.menuItems) {\r\n delete menuItem.selected;\r\n delete menuItem.children;\r\n delete menuItem.menuGroupText;\r\n }\r\n }\r\n }\r\n\r\n delete newNode.subGroup;\r\n }\r\n\r\n delete newNode.children;\r\n\r\n return newNode;\r\n });\r\n }\r\n}\r\n"],"names":["wholeNumberInputMaskOptions","alias","digits","placeholder","autoGroup","groupSeparator","autoUnmask","rightAlign","allowMinus","api","modal","lookup","ea","taskQueue","validationControllerFactory","styles","adviserNodes","selectedAdviserNodes","accountNodes","selectedAccountNodes","adminNodes","selectedAdminNodes","tabs","isReadOnly","isSaving","canPreviewImage","companyOffices","advisers","referrers","insurers","insurerOffices","schemesByRiskClassType","riskByClassTypes","soaTypes","tabClass","isRightChevronDisabled","appClientType","callback","result","iaHtmlEditorSettings","height","blobToBase64","file","Promise","resolve","reject","fileReader","FileReader","readAsDataURL","onload","split","onerror","error","activate","config","row","this","entity","get","initialiseEntity","id","groupAccess","menuAccess","notificationAccess","twoFactorAuthDetails","groupIdChanged","transformMenuItemResponse","adviserGroupMenuAccess","accountsGroupMenuAccess","adminGroupMenuAccess","filterNotificationAccess","detail","environments","map","x","environment","portraitImage","entityImageId","parties","forEach","party","checkboxDisabled","used","mandatory","partyInstanceTypes","description","settlementTypeChanged","companyOffice","originalSettlementTypeId","settlementTypeId","originalPaysOverrider","paysOverrider","pdsMultiUpdate","url","undefined","synopsis","validFrom","risksToUpdate","risks","filter","active","code","name","length","multiPdsUpdate","find","disabled","isValid","categoryTypeChanged","insurerTypeChanged","autoGeneratePolicyNoChanged","headerPageImage","isCorporateAuthorisedRepresentative","corporateAuthorisedRepresentativeNumber","parseInt","schemeCompanyOfficeIdChanged","schemeInsurerIdChanged","riskClassTypeIdChanged","riskByClassId","label","insurerId","insurerIdChanged","useInterfaceChanged","paysOverriderChanged","initializeValidation","hideLoading","console","replace","put","headerPageImagePreview","logoPreview","partyInstanceType","Company","countryCode","countryTypes","settlementTypes","paymentOutType","paymentOutTypes","createTabs","displayName","index","findIndex","splice","companyId","post","CompanyOffice","yesNo","yesNoTypes","branchTypes","branchLocationTypes","systemParameters","useCompanyBranchMargin","fsgPreview","signaturePreview","portraitImagePreview","Adviser","titleTypes","adviserTypes","applyTransFeeFlag","Referral","partyTypes","referralTypes","Insurer","orderBy","insurerCategoryTypes","categoryTypes","insurerProcessType","processTypes","insurerType","insurerTypes","branch","value","insurerGroup","insurerGroups","pkid","InsurerOffice","Underwriter","PremiumFunder","redPlanetInvoiceNumberFormatTypes","invoiceNumberTypes","schemeTypesByRiskClassTypeId","occupationCriteria","occupations","apraClassTypes","riskGroupType","riskGroupTypes","tabName","riskClassType","riskClassTypes","insurerWordingPreview","riskByInsurerWordingPreview","occupationByRiskByInsurerWordingPreview","additionalPageTemplateCategoryTypes","Array","from","_","idx","children","groupTypes","electronicBankingFileTypes","messagePreview","messageSourceTypes","messagePriorityTypes","Bank","bankId","BankBranch","SurchargePayee","currentlySelectedTab","save","all","tab","validationController","validate","valid","vms","vm","some","cloneDeep","key","keyExists","isArray","parseDates","Object","keys","y","entries","partyTypeId","titleId","flatMap","occupation","Number","isInteger","close","isUserInOtherDb","tempPassword","handleApiValidationErrors","selectInvalidTab","hide","list","obj","guid","push","errors","errorKey","join","createForCurrentScope","addRenderer","ValidationRules","off","ensure","required","paymentOutTypeId","when","on","branchTypeId","inRunOff","then","surname","adviserTypeId","referralTypeId","afsl","processTypeId","categoryId","typeId","isAustralianAuthorised","partnerInsurer","autoGeneratePolicyNo","allowPackageCosts","defaultAutoratingFap","insurerGroupId","agreementReceived","useInterface","useSettlements","useBackgroundInterface","interfaceUrl","invoiceNoFormatId","backgroundInterfaceUrl","backgroundInterfaceUsername","backgroundInterfacePassword","isAPackage","additionalPageReadonly","defaultSchemeOnQuoteFlag","defaultQuoteSchemeId","useOnWebFormsFlag","gstExempt","fsrRetailProduct","soaProduct","motorVehicleRisk","travelRisk","marineCargoRisk","binderFlag","eligibleClassFlag","apraClassId","disabledForNewQuoteFlag","riskGroupTypeId","riskClassTypeId","scheduleText","autoRated","captureInsurerOccupation","attractsTerrorismLevy","fileName","effectiveDateForwardDays","useForWeb","paymentByCreditCard","paymentByFunder","soaTypeId","defaultText","categoryTypeId","htmlContent","fullName","groupId","email","gstOverride","adminFeeOverride","questionCollectionTestUser","enableEnhancedLogging","title","author","effectiveDate","expiryDate","sourceId","priorityId","bpayFilesUsed","bsb","customRule","prospectAutoDeactivateDays","satisfiesRule","autoDeactivateProspectFlag","clientAutoDeactivateDays","autoDeactivateClientFlag","termsOfEngagementStartDate","useTermsOfEngagement","consentStartDate","claimInitialEstimateWarning","useClaimInitialEstimateWarning","claimInitialEstimateWarningText","daysOutstanding","dayOfMonthToRun","attached","scrollTabs","direction","tabPosition","digitOnlyInput","e","t","target","model","includes","validTo","hasOwnProperty","i","k","fieldChanged","isDirty","queueMicroTask","settlementTypeIdToDisabled","disable","fsrRetailProductChanged","mandatoryInstanceTypeChanged","event","checked","notificationAccessChanged","item","companyOfficeId","adviser","referral","insurerOfficeTypes","interfaceEnabled","risksByRiskClassType","fileListChanged","fileList","queueTask","catch","base64","Error","entityId","insurer","menuTab","notificationTab","idsToFilter","useSales","iAdviser","previewImage","type","route","preview","PLATFORM","global","open","deleteImage","element","document","querySelector","adviserNodesModified","nodes","isParent","$mainEvent","$event","checkbox","toggleChildMenuItems","node","toggleParentSelectedStateIfChildChanges","adminNodesModified","accountNodesModified","childrenSelected","array","canAccess","nodesList","listIndex","listItem","parentMenuGroupId","menuGroupId","subGroupIndex","subGroups","subGroup","childItem","menuItemIndex","menuItems","menuItem","parentMenuItemId","menuItemId","subGroupSubGroupIndex","subGroupSubGroupMenuItemIndex","checkMenuItems","checkSubGroups","checkChildren","secondNode","thirdNode","firstNode","menuFound","subGroupFound","menuItemResponse","newNode","hasSubGroups","subGroupNode","subMenuItem","subMenuItemNode","itemObjects","itemObject","subGroupItem","subGroupItemNode","subGroupMenuItem","menuItemNode","reverseTransformMenuItems","transformedMenuItems","expanded","selected","menuGroupText","observable","FileList","computedFrom","autoinject","useView","customElement","EventAggregator","TaskQueue","ValidationControllerFactory","EntityModal"],"sourceRoot":""}