{"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?f832","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--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\",\"btn--icon-no-border\":\"btn--icon-no-border____o9U4U\",\"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-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-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--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\",\"input-search\":\"input-search____IhnQh\",\"view-password\":\"view-password____CvK2F\",\"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\",\"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-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\",\"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\",\"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--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\",\"confirmation-content--alert\":\"confirmation-content--alert____QtUUx 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--portraitImage\":\"btn-group--portraitImage____F9P6F btn-group____Pc2G6\",\"company-office-description\":\"company-office-description____V1g5R\"};","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 { getAppClient } 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\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/documentText.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/referralPercentage.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/occupation.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\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\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 canPreviewPortraitImage = 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 appClient = getAppClient();\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 messagePreview;\r\n private logoPreview;\r\n private insurerWordingPreview;\r\n private riskByInsurerWordingPreview;\r\n private occupationByRiskByInsurerWordingPreview;\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 }\r\n\r\n if (this.config.entity === 'user') {\r\n this.entity.menuAccess = config.menuAccess;\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 // 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.canPreviewPortraitImage = 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 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 }\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.canPreviewPortraitImage = 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.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: 'documentText', displayName: 'Document Text' },\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\r\n if (entity === 'companyOffice') {\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.replace('{companyid}', 1);\r\n\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: 'documentText', displayName: 'Document Text' },\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\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/{entityId}/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\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\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: 'referralPercentage', displayName: 'Referral Percentage' },\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.appClient === 'AU') {\r\n index = this.tabs.findIndex((x) => x.name === 'financialStrengthRating');\r\n } else if (this.appClient === '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: 'bankAccount', displayName: 'Bank Account' },\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.appClient === '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: '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\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: 'occupation', displayName: 'Occupation' },\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\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.appClient === '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.appClient === '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.appClient === '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.tabs = this.createTabs([\r\n { name: 'details', displayName: 'Details' },\r\n { name: 'group', displayName: 'Groups' },\r\n { name: 'menu', displayName: 'Menu' },\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/{entityId}/portraitImage/{entityImageId}?imageFormat=Print`;\r\n\r\n this.yesNoTypes = await this.lookup.yesNo();\r\n this.groupTypes = await this.lookup.groupTypes();\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: '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\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 (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], '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 // 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.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 .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.appClient === '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)\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)\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.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\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 parseDates(model) {\r\n if (model.termsOfEngagementStartDate?.includes('/')) {\r\n model.termsOfEngagementStartDate = momentToISOString(model.termsOfEngagementStartDate);\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.appClient === '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.appClient === '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.appClient === '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.appClient === '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 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) {\r\n this.entity.detail.useSettlements = true;\r\n this.entity.detail.invoiceNoFormatId = 600000001; // Short\r\n }\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 = !this.entity.detail.useInterface;\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 if(this.config.entity === 'adviser' || this.config.entity === '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 }else {\r\n this.entity.detail.fileName = fileList[0].name;\r\n this.entity.detail.file = base64;\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 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 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 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 });\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 useClaimInitialEstimateWarningChanged(){\r\n this.taskQueue.queueTask(async () => {\r\n if(!this.entity.detail.useClaimInitialEstimateWarning){\r\n this.entity.detail.claimInitialEstimateWarning = 0;\r\n }\r\n })\r\n }\r\n\r\n private autoDeactivateChanged(clientType) {\r\n this.taskQueue.queueMicroTask(() => {\r\n\r\n if(clientType === 'prospect' && !this.entity.detail.autoDeactivateProspectFlag){\r\n this.entity.detail.prospectAutoDeactivateDays = 0;\r\n }\r\n\r\n if(clientType === 'client' && !this.entity.detail.autoDeactivateClientFlag){\r\n this.entity.detail.clientAutoDeactivateDays = 0;\r\n }\r\n });\r\n }\r\n\r\n private async previewPortraitImage() {\r\n this.portraitImagePreview = this.portraitImagePreview.replace('{entityId}', this.entity.detail.portraitImage.entityId);\r\n this.portraitImagePreview = this.portraitImagePreview.replace('{entityImageId}', this.entity.detail.portraitImage.entityImageId);\r\n\r\n const result = await this.api.preview(this.portraitImagePreview);\r\n if(result){\r\n PLATFORM.global.open(result, '_blank');\r\n }\r\n }\r\n\r\n private deletePortraitImage() {\r\n this.canPreviewPortraitImage = false;\r\n\r\n if(this.fileList?.length){\r\n const file = document.querySelector('#portraitImageFileInput') as HTMLInputElement;\r\n file.value = '';\r\n }\r\n\r\n this.entity.detail.portraitImage.fileName = null;\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 const secondNode = list.find((x) => x.menuGroupId === node.parentMenuGroupId)?.subGroups.find((x) => x.menuGroupId === node.menuGroupId)\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":["api","modal","lookup","ea","taskQueue","validationControllerFactory","styles","adviserNodes","selectedAdviserNodes","accountNodes","selectedAccountNodes","adminNodes","selectedAdminNodes","tabs","isReadOnly","isSaving","canPreviewPortraitImage","companyOffices","advisers","referrers","insurers","insurerOffices","schemesByRiskClassType","riskByClassTypes","soaTypes","tabClass","isRightChevronDisabled","appClient","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","twoFactorAuthDetails","groupIdChanged","transformMenuItemResponse","adviserGroupMenuAccess","accountsGroupMenuAccess","adminGroupMenuAccess","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","parseInt","schemeCompanyOfficeIdChanged","schemeInsurerIdChanged","riskClassTypeIdChanged","riskByClassId","label","insurerId","insurerIdChanged","useInterfaceChanged","paysOverriderChanged","initializeValidation","hideLoading","console","replace","put","logoPreview","partyInstanceType","countryCode","countryTypes","settlementTypes","paymentOutType","paymentOutTypes","createTabs","displayName","companyId","post","yesNo","yesNoTypes","branchTypes","branchLocationTypes","systemParameters","useCompanyBranchMargin","fsgPreview","signaturePreview","portraitImagePreview","titleTypes","adviserTypes","partyTypes","referralTypes","orderBy","insurerCategoryTypes","categoryTypes","insurerProcessType","processTypes","insurerType","insurerTypes","branch","value","insurerGroup","insurerGroups","index","findIndex","splice","pkid","redPlanetInvoiceNumberFormatTypes","invoiceNumberTypes","schemeTypesByRiskClassTypeId","occupationCriteria","occupations","apraClassTypes","riskGroupType","riskGroupTypes","tabName","riskClassType","riskClassTypes","insurerWordingPreview","riskByInsurerWordingPreview","occupationByRiskByInsurerWordingPreview","additionalPageTemplateCategoryTypes","Array","from","_","idx","children","groupTypes","electronicBankingFileTypes","messagePreview","messageSourceTypes","messagePriorityTypes","bankId","currentlySelectedTab","save","all","tab","validationController","validate","valid","vms","vm","some","cloneDeep","key","keyExists","isArray","parseDates","Object","keys","y","entries","flatMap","occupation","Number","isInteger","close","isUserInOtherDb","tempPassword","handleApiValidationErrors","selectInvalidTab","hide","list","obj","guid","push","errors","errorKey","join","createForCurrentScope","addRenderer","ValidationRules","required","ensure","paymentOutTypeId","when","on","branchTypeId","inRunOff","titleId","surname","adviserTypeId","partyTypeId","referralTypeId","afsl","processTypeId","categoryId","typeId","isAustralianAuthorised","partnerInsurer","autoGeneratePolicyNo","allowPackageCosts","defaultAutoratingFap","insurerGroupId","agreementReceived","useInterface","useSettlements","interfaceUrl","invoiceNoFormatId","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","bsb","attached","scrollTabs","direction","tabPosition","model","termsOfEngagementStartDate","includes","validTo","hasOwnProperty","i","k","fieldChanged","isDirty","queueMicroTask","settlementTypeIdToDisabled","disable","fsrRetailProductChanged","mandatoryInstanceTypeChanged","event","target","checked","companyOfficeId","adviser","referral","insurerOfficeTypes","risksByRiskClassType","fileListChanged","fileList","queueTask","catch","base64","Error","entityId","insurer","menuTab","useClaimInitialEstimateWarningChanged","useClaimInitialEstimateWarning","claimInitialEstimateWarning","autoDeactivateChanged","clientType","autoDeactivateProspectFlag","prospectAutoDeactivateDays","autoDeactivateClientFlag","clientAutoDeactivateDays","previewPortraitImage","preview","PLATFORM","deletePortraitImage","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","firstNode","thirdNode","secondNode","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":""}