{"version":3,"file":"main.js","mappings":"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,gCAAgC,yCAAyC,iCAAiC,kCAAkC,oCAAoC,oCAAoC,oCAAoC,sCAAsC,qCAAqC,6BAA6B,uCAAuC,yCAAyC,uCAAuC,6CAA6C,sCAAsC,2CAA2C,gDAAgD,sDAAsD,0BAA0B,oCAAoC,8BAA8B,iCAAiC,uCAAuC,4BAA4B,oCAAoC,qCAAqC,0BAA0B,kCAAkC,kCAAkC,4BAA4B,gDAAgD,kDAAkD,sCAAsC,6BAA6B,4BAA4B,mCAAmC,mHAAmH,sDAAsD,+EAA+E,oCAAoC,oCAAoC,kCAAkC,kCAAkC,kCAAkC,wCAAwC,oFAAoF,0FAA0F,yCAAyC,yCAAyC,+CAA+C,2FAA2F,2CAA2C,+CAA+C,+CAA+C,gDAAgD,+CAA+C,+CAA+C,6DAA6D,qDAAqD,+DAA+D,oCAAoC,yEAAyE,2DAA2D,0BAA0B,mCAAmC,oBAAoB,KAAK,kBAAkB,qBAAqB,mCAAmC,KAAK,0BAA0B,qDAAqD,wDAAwD,KAAK,0DAA0D,mCAAmC,KAAK,qCAAqC,qBAAqB,KAAK,wBAAwB,2BAA2B,kBAAkB,2BAA2B,yBAAyB,gDAAgD,0DAA0D,8CAA8C,KAAK,uBAAuB;AACz+J;AACA;;;;;;;;;;;AClFA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACnSA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;ACAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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","sources":["./projects/wtw-atp-claims/src/app/app-routing.module.ts","./projects/wtw-atp-claims/src/app/app.component.ts","./projects/wtw-atp-claims/src/app/app.module.ts","./projects/wtw-atp-claims/src/app/authentication/components/login/login.component.ts","./projects/wtw-atp-claims/src/app/core/app.config.ts","./projects/wtw-atp-claims/src/app/core/core.module.ts","./projects/wtw-atp-claims/src/app/services/constants/constant.service.ts","./projects/wtw-atp-claims/src/app/services/settings/settings.service.ts","./projects/wtw-atp-claims/src/app/shared/guards/site-inactive.guard.ts","./projects/wtw-atp-claims/src/app/shared/models/claim-details-request.model.ts","./projects/wtw-atp-claims/src/app/shared/models/claim-details-response.model.ts","./projects/wtw-atp-claims/src/app/shared/models/claim-details.model.ts","./projects/wtw-atp-claims/src/app/shared/models/claim-page-order.ts","./projects/wtw-atp-claims/src/app/shared/models/existing-draft-claim-request.model.ts","./projects/wtw-atp-claims/src/app/shared/models/index.ts","./projects/wtw-atp-claims/src/app/shared/models/nested-accordion.model.ts","./projects/wtw-atp-claims/src/app/shared/models/new-claim-content-data.model.ts","./projects/wtw-atp-claims/src/app/shared/models/policy.model.ts","./projects/wtw-atp-claims/src/app/shared/models/sidebar-object.model.ts","./projects/wtw-atp-claims/src/app/shared/models/upload-documents.model.ts","./projects/wtw-atp-claims/src/app/shared/models/user-details.model.ts","./projects/wtw-atp-claims/src/app/shared/question-set/question-container/question-container.component.ts","./projects/wtw-atp-claims/src/app/shared/shared.module.ts","./projects/wtw-atp-claims/src/environments/environment.ts","./projects/wtw-atp-claims/src/main.ts","./projects/wtw-ui-components/src/lib/services/CreatePassword.service.ts","./projects/wtw-ui-components/src/lib/services/breakpoints/breakpoints.service.ts","./projects/wtw-ui-components/src/lib/services/common-auth/msalauthentication.service.ts","./projects/wtw-ui-components/src/lib/services/common-http/common-http.service.ts","./projects/wtw-ui-components/src/lib/services/config/config.service.ts","./projects/wtw-ui-components/src/lib/services/constant/base-constant.service.ts","./projects/wtw-ui-components/src/lib/services/cookie-banner/cookie-banner.service.ts","./projects/wtw-ui-components/src/lib/services/form-group/form-group.service.ts","./projects/wtw-ui-components/src/lib/services/layout/layout.service.ts","./projects/wtw-ui-components/src/lib/services/settings/settings-base.service.ts","./projects/wtw-ui-components/src/lib/shared/core/app-insights/logging.service.ts","./projects/wtw-ui-components/src/lib/shared/core/app.config.ts","./projects/wtw-ui-components/src/lib/shared/pipes/currency-format.pipe.ts","./projects/wtw-atp-claims/src/app/app.component.css","./projects/wtw-atp-claims/src/app/authentication/components/login/login.component.scss","./projects/wtw-atp-claims/src/app/shared/question-set/question-container/question-container.component.scss","./node_modules/moment/locale/ sync ^\\.\\/.*$","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|canvas","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|fs","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|http","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|https","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|url","ignored|D:\\a\\1\\s\\src\\WTW.ATP.Web\\ClientApp\\node_modules\\pdfjs-dist\\build|zlib","./projects/wtw-ui-components/src/lib/wtw-ui-components.service.ts","./projects/wtw-ui-components/src/lib/wtw-ui-components.component.ts","./projects/wtw-ui-components/src/lib/shared/app-material/app-material.module.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/button-base.ts","./projects/wtw-ui-components/src/lib/shared/directives/auto-focus.directive.ts","./projects/wtw-ui-components/src/lib/shared/pipes/safe-html.pipe.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/primary-button/primary-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/primary-button/primary-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/navigation-link-button/navigation-link-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/navigation-link-button/navigation-link-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/secondary-button/secondary-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/secondary-button/secondary-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/simple-button/simple-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/simple-button/simple-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/simple-wide-card/simple-wide-card.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/simple-wide-card/simple-wide-card.component.ts","./projects/wtw-ui-components/src/lib/shared/image/mci-spinner-image.ts","./projects/wtw-ui-components/src/lib/shared/components/spinner-modal/spinner-modal.component.html","./projects/wtw-ui-components/src/lib/shared/components/spinner-modal/spinner-modal.component.ts","./projects/wtw-ui-components/src/lib/services/localization/localization.service.ts","./projects/wtw-ui-components/src/lib/services/app-insights/paging-service.ts","./projects/wtw-ui-components/src/lib/shared/models/tile.model.ts","./projects/wtw-ui-components/src/lib/shared/models/dropdown-item.model.ts","./projects/wtw-ui-components/src/lib/shared/models/info-card.model.ts","./projects/wtw-ui-components/src/lib/shared/models/question-logic-resolver-data.ts","./projects/wtw-ui-components/src/lib/shared/models/iteration-data.model.ts","./projects/wtw-ui-components/src/lib/shared/models/error-state.model.ts","./projects/wtw-ui-components/src/lib/shared/models/modal-content.ts","./projects/wtw-ui-components/src/lib/shared/models/save-user-consents.model.ts","./projects/wtw-ui-components/src/lib/shared/models/questionAnsweredEventArgs.model.ts","./projects/wtw-ui-components/src/lib/shared/form-field/form-field-base.ts","./projects/wtw-ui-components/src/lib/shared/form-field/date-picker-field.ts","./projects/wtw-ui-components/src/lib/shared/form-field/dropdown-field.ts","./projects/wtw-ui-components/src/lib/shared/form-field/radio-group-field.ts","./projects/wtw-ui-components/src/lib/shared/form-field/textbox-field.ts","./projects/wtw-ui-components/src/lib/shared/form-field/CountryCodePhoneNumber-Field.ts","./projects/wtw-ui-components/src/lib/shared/models/your-profile.model.ts","./projects/wtw-ui-components/src/lib/shared/models/your-policy.model.ts","./projects/wtw-ui-components/src/lib/shared/models/nested-accordion.model.ts","./projects/wtw-ui-components/src/lib/shared/models/alert.model.ts","./projects/wtw-ui-components/src/lib/shared/models/external-validation-request.model.ts","./projects/wtw-ui-components/src/lib/shared/models/mci-context.model.ts","./projects/wtw-ui-components/src/lib/shared/models/mandatory-coverages-response.model.ts","./projects/wtw-ui-components/src/lib/shared/models/mandatoryforcoverages.model.ts","./projects/wtw-ui-components/src/lib/shared/models/button-toggle.model.ts","./projects/wtw-ui-components/src/lib/services/notification-alert/notification-alert.service.ts","./projects/wtw-ui-components/src/lib/services/question-set/question-set.service.ts","./projects/wtw-ui-components/src/lib/shared/directives/is-ellipsis-active.directive.ts","./projects/wtw-ui-components/src/lib/shared/pipes/moment-offset-date-pipe.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/wide-button/wide-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/wide-button/wide-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/close-top/close-top.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/close-top/close-top.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-button/icon-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-button/icon-button.component.html","./projects/wtw-ui-components/src/lib/services/date-manipulation/date-manipulation.service.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/date-picker/date-picker.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/date-picker/date-picker.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/auto-search-dropdown/auto-search-dropdown.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/auto-search-dropdown/auto-search-dropdown.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/drop-down/drop-down.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/drop-down/drop-down.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/auto-suggest-input/auto-suggest-input.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/auto-suggest-input/auto-suggest-input.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/text-box/text-box.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/text-box/text-box.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/text-area/text-area.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/text-area/text-area.component.html","./projects/wtw-ui-components/src/lib/services/utilities/utilities.service.ts","./projects/wtw-ui-components/src/lib/services/Assently/assently.service.ts","./projects/wtw-ui-components/src/lib/services/external-validation/external-validation.service.ts","./projects/wtw-ui-components/src/lib/shared/components/assently-login/assently-login/assently-login.component.ts","./projects/wtw-ui-components/src/lib/shared/components/progress-spinner/progress-spinner.component.html","./projects/wtw-ui-components/src/lib/shared/components/progress-spinner/progress-spinner.component.ts","./projects/wtw-ui-components/src/lib/shared/components/login-register-logout/login-register-logout.component.html","./projects/wtw-ui-components/src/lib/shared/components/login-register-logout/login-register-logout.component.ts","./projects/wtw-ui-components/src/lib/shared/components/top-bar-with-icon-and-link/top-bar-with-icon-and-link.component.html","./projects/wtw-ui-components/src/lib/shared/components/top-bar-with-icon-and-link/top-bar-with-icon-and-link.component.ts","./projects/wtw-ui-components/src/lib/shared/components/bottomsheet/bottomsheet.component.html","./projects/wtw-ui-components/src/lib/shared/components/bottomsheet/bottomsheet.component.ts","./projects/wtw-ui-components/src/lib/shared/directives/numbers-only.directive.ts","./projects/wtw-ui-components/src/lib/shared/pipes/strip-html-tags.pipe.ts","./projects/wtw-ui-components/src/lib/shared/components/heading-sub-heading/heading-sub-heading.component.html","./projects/wtw-ui-components/src/lib/shared/components/heading-sub-heading/heading-sub-heading.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/card-button/card-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/card-button/card-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/progress/progress-bar/progress-bar.component.ts","./projects/wtw-ui-components/src/lib/shared/components/progress/progress-bar/progress-bar.component.html","./projects/wtw-ui-components/src/lib/shared/components/cookie-banner/cookie-banner.component.html","./projects/wtw-ui-components/src/lib/shared/components/cookie-banner/cookie-banner.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/link-button/link-button.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/link-button/link-button.component.html","./projects/wtw-ui-components/src/lib/shared/components/tile/tile-with-image/tile-with-image.component.html","./projects/wtw-ui-components/src/lib/shared/components/tile/tile-with-image/tile-with-image.component.ts","./projects/wtw-ui-components/src/lib/shared/components/tile/tile-list/tile-list.component.html","./projects/wtw-ui-components/src/lib/shared/components/tile/tile-list/tile-list.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-drop-down/icon-drop-down.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-drop-down/icon-drop-down.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/info-card/info-card.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/info-card/info-card.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/view-pdf/view-pdf.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/view-pdf/view-pdf.component.ts","./projects/wtw-ui-components/src/lib/shared/components/content-section/content-section/content-section.component.html","./projects/wtw-ui-components/src/lib/shared/components/content-section/content-section/content-section.component.ts","./projects/wtw-ui-components/src/lib/shared/components/content-section/content-list/content-list.component.html","./projects/wtw-ui-components/src/lib/shared/components/content-section/content-list/content-list.component.ts","./projects/wtw-ui-components/src/lib/shared/components/contact-us/contact-us.component.html","./projects/wtw-ui-components/src/lib/shared/components/contact-us/contact-us.component.ts","./projects/wtw-ui-components/src/lib/shared/components/footer/footer.component.html","./projects/wtw-ui-components/src/lib/shared/components/footer/footer.component.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/faq/faq.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/faq/faq.component.ts","./projects/wtw-ui-components/src/lib/shared/components/strapline-content/strapline-content.component.html","./projects/wtw-ui-components/src/lib/shared/components/strapline-content/strapline-content.component.ts","./projects/wtw-ui-components/src/lib/shared/animation/slidein-animation.ts","./projects/wtw-ui-components/src/lib/services/sponsor/sponsor.service.ts","./projects/wtw-ui-components/src/lib/services/account/base-account.service.ts","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-menu/icon-menu.component.html","./projects/wtw-ui-components/src/lib/shared/components/controls/icon-menu/icon-menu.component.ts","./projects/wtw-ui-components/src/lib/shared/components/topbar-switcher/topbar-dropdown/topbar-dropdown.component.html","./projects/wtw-ui-components/src/lib/shared/components/topbar-switcher/topbar-dropdown/topbar-dropdown.component.ts","./projects/wtw-ui-components/src/lib/shared/components/topbar-switcher/topbar-switcher.component.html","./projects/wtw-ui-components/src/lib/shared/components/topbar-switcher/topbar-switcher.component.ts","./projects/wtw-ui-components/src/lib/shared/components/authentication/logout/logout.component.html","./projects/wtw-ui-components/src/lib/shared/components/authentication/logout/logout.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture.directive.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/wide-button-with-accordion/wide-button-with-accordion.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/wide-button-with-accordion/wide-button-with-accordion.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/previous/previous.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/previous/previous.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/data-capture-heading/data-capture-heading.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/data-capture-heading/data-capture-heading.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/image-button/image-button.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/image-button/image-button.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/radio-data-capture/radio-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/radio-data-capture/radio-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/field-mapper-base.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/textbox-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/text-data-capture/text-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/text-data-capture/text-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/option-list-data-capture/option-list-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/option-list-data-capture/option-list-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/plus-minus-data-capture/plus-minus-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/plus-minus-data-capture/plus-minus-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/form-field/checkbox-field.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/checkbox-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/check-box/check-box.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/check-box/check-box.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/check-box-data-capture/check-box-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/check-box-data-capture/check-box-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/number-data-capture/number-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/number-data-capture/number-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/dropdown-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/dropdown-data-capture/dropdown-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/dropdown-data-capture/dropdown-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/date-picker-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/form-field/textarea-field.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/textarea-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/form-field/re-captcha-field.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/recaptcha-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/form-field/currencybox-field.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/currencybox-field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/strategies/index.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/field-mapper-strategy/field-mapper.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/recaptcha-v2/recaptcha-v2.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/recaptcha-v2/recaptcha-v2.component.html","./projects/wtw-ui-components/src/lib/shared/components/notification-alert/notification-alert.component.html","./projects/wtw-ui-components/src/lib/shared/components/notification-alert/notification-alert.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/currency-box/currency-box.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/currency-box/currency-box.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/group-panel-data-capture/group-panel-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/group-panel-data-capture/group-panel-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/datepicker-data-capture/datepicker-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/datepicker-data-capture/datepicker-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/textarea-data-capture/textarea-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/textarea-data-capture/textarea-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/recaptcha-data-capture/recaptcha-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/recaptcha-data-capture/recaptcha-data-capture.component.html","./projects/wtw-ui-components/src/lib/services/idle-user/idle-user.service.ts","./projects/wtw-ui-components/src/lib/shared/components/modal/modal-template/modal-template.component.html","./projects/wtw-ui-components/src/lib/shared/components/modal/modal-template/modal-template.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/repeating-group-data-capture/base-repeating-group-data-capture.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/repeating-group-data-capture/repeating-group-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/repeating-group-data-capture/repeating-group-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/currency-data-capture/currency-data-capture.component.ts","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/currency-data-capture/currency-data-capture.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/data-capture-components/index.ts","./projects/wtw-ui-components/src/lib/shared/components/progress/progress-bar-steps/progress-bar-steps.component.html","./projects/wtw-ui-components/src/lib/shared/components/progress/progress-bar-steps/progress-bar-steps.component.ts","./projects/wtw-ui-components/src/lib/shared/components/error-page/error-page.component.html","./projects/wtw-ui-components/src/lib/shared/components/error-page/error-page.component.ts","./projects/wtw-ui-components/src/lib/services/customer/base-customer.service.ts","./projects/wtw-ui-components/src/lib/services/References/reference.service.ts","./projects/wtw-ui-components/src/lib/services/base-product-template/base-product-template.service.ts","./projects/wtw-ui-components/src/lib/shared/question-set/base-question-logic/base-question-logic.component.html","./projects/wtw-ui-components/src/lib/shared/question-set/base-question-logic/base-question-logic.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/time-picker/time-picker.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/time-picker/time-picker.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/file-upload/file-upload.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/file-upload/file-upload.component.ts","./projects/wtw-ui-components/src/lib/shared/components/authentication/session-expiry/session-timeout.component.html","./projects/wtw-ui-components/src/lib/shared/components/authentication/session-expiry/session-timeout.component.ts","./projects/wtw-ui-components/src/lib/services/side-bar/side-bar.service.ts","./projects/wtw-ui-components/src/lib/shared/components/side-bar/side-bar.component.html","./projects/wtw-ui-components/src/lib/shared/components/side-bar/side-bar.component.ts","./projects/wtw-ui-components/src/lib/shared/components/inputs/radio-group/radio-group.component.html","./projects/wtw-ui-components/src/lib/shared/components/inputs/radio-group/radio-group.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/personal-details/personal-details.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/personal-details/personal-details.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/address-modal/address-modal.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/address-modal/address-modal.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/manage-addresses/manage-addresses.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/manage-addresses/manage-addresses.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/lang-preference/lang-preference.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/lang-preference/lang-preference.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/consent-preferences/consent-preferences.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/consent-preferences/consent-preferences.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/contact-preferences/contact-preferences.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/components/contact-preferences/contact-preferences.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/base-your-profile.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/base-your-profile/base-your-profile.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/your-profile/your-profile.component.ts","./projects/wtw-ui-components/src/lib/shared/profile-details/your-profile/your-profile.component.html","./projects/wtw-ui-components/src/lib/shared/profile-details/index.ts","./projects/wtw-ui-components/src/lib/services/document/base-document.service.ts","./projects/wtw-ui-components/src/lib/services/policy/policy.service.ts","./projects/wtw-ui-components/src/lib/shared/pipes/local-date-format-pipe.ts","./projects/wtw-ui-components/src/lib/shared/your-policies/your-policies.component.html","./projects/wtw-ui-components/src/lib/shared/your-policies/your-policies.component.ts","./projects/wtw-ui-components/src/lib/shared/components/header/header.component.ts","./projects/wtw-ui-components/src/lib/shared/components/header/header.component.html","./projects/wtw-ui-components/src/lib/shared/components/error-page/docusign-error-page/docusign-error-page.component.html","./projects/wtw-ui-components/src/lib/shared/components/error-page/docusign-error-page/docusign-error-page.component.ts","./projects/wtw-ui-components/src/lib/shared/components/link-expired-screen/link-expired-screen.component.html","./projects/wtw-ui-components/src/lib/shared/components/link-expired-screen/link-expired-screen.component.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/button-toggle/button-toggle.component.html","./projects/wtw-ui-components/src/lib/shared/components/buttons/button-toggle/button-toggle.component.ts","./projects/wtw-ui-components/src/lib/wtw-ui-components.module.ts","./projects/wtw-ui-components/src/lib/shared/form-field/time-picker-field.ts","./projects/wtw-ui-components/src/lib/services/back-office-users/back-office-users.service.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/card-button/card-button-base.ts","./projects/wtw-ui-components/src/lib/shared/components/buttons/card-button/card-with-menu.ts","./projects/wtw-ui-components/src/lib/shared/core/http-interceptor/msal.http-interceptors.ts","./projects/wtw-ui-components/src/lib/services/translations/base-translations-resolver.ts","./projects/wtw-ui-components/src/lib/shared/guards/authentication.guard.ts","./projects/wtw-ui-components/src/lib/shared/components/authentication/login-base.ts","./projects/wtw-ui-components/src/lib/shared/form-field/file-upload-field.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/user-account-resolver/account-verification.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/sponsor-resolver/sponsor-language.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/profile-details-resolver/your-profile.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/profile-details-resolver/get-logo.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/profile-details-resolver/profile-enabled-details.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/your-policies-resolver/your-policies.resolver.ts","./projects/wtw-ui-components/src/lib/shared/resolvers/my-transactions-label-resolver/my-transactions-label.resolver.ts","./projects/wtw-ui-components/src/public-api.ts","./projects/wtw-ui-components/src/wtw-ui-components.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { LoginComponent } from './authentication/components/login/login.component';\r\nimport { LogoutComponent, SessionTimeoutComponent } from 'wtw-ui-components';\r\nimport { ErrorPageComponent } from 'wtw-ui-components';\r\nimport { SiteInactiveGuard } from './shared/guards/site-inactive.guard';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: 'home/new-claim',\r\n pathMatch: 'full'\r\n \r\n },\r\n {\r\n path: 'home', canActivate: [SiteInactiveGuard],\r\n loadChildren: () => import('./home/home.module').then(m => m.HomeModule),\r\n \r\n },\r\n {\r\n path: 'account', canActivate: [SiteInactiveGuard],\r\n loadChildren: () => import('./account/account.module').then(m => m.AccountModule)\r\n },\r\n {\r\n path: 'claim', canActivate: [SiteInactiveGuard],\r\n loadChildren: () => import('./claim/claim.module').then(m => m.ClaimModule)\r\n },\r\n {\r\n path: 'account-details', canActivate: [SiteInactiveGuard],\r\n loadChildren: () => import('./account-details/account-details.module').then(m => m.AccountDetailsModule)\r\n },\r\n\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'logout',\r\n component: LogoutComponent\r\n },\r\n {\r\n path: 'sessiontimeout',\r\n component: SessionTimeoutComponent\r\n },\r\n {\r\n path: 'error-page',\r\n component: ErrorPageComponent\r\n },\r\n { path: '**', redirectTo: 'home/new-claim', data: {\r\n reuseComponent: true\r\n } },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes,\r\n {\r\n onSameUrlNavigation: 'reload',\r\n scrollPositionRestoration: 'top',\r\n initialNavigation: 'disabled'\r\n})],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Observable, forkJoin, lastValueFrom, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { NavigationCancel, NavigationEnd, NavigationError, NavigationStart, Router, RouterEvent } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { ClaimsSettingsService } from './services/settings/settings.service';\r\nimport {\r\n SponsorService, ISponsor, UtilitiesService, LocalizationService, ReferenceService, IGetUIElementsPayload,\r\n IGetUIElement, IPrivacyNoticeLanguage, ICookieNoticeLanguage, ITermsOfUse, LoggingService, ConfigService,\r\n MsalAuthenticationService, BaseCustomerService, BaseAccountService, UserName, AssentlyService,\r\n SharedSettingsService, ExternalValidationResponse, ExternalValidationRequest, ExternalValidationService\r\n} from 'wtw-ui-components';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport cssVars from 'css-vars-ponyfill';\r\n\r\nconst okButtonLabel = 'Shared.lblOk';\r\nconst inactiveErrorPath = 'SiteInactive';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent implements OnInit {\r\n\r\n isLoading = false;\r\n initialized: boolean;\r\n okButtonText: string;\r\n footerLinksAndContent: object;\r\n applicationCurrentURL: string;\r\n errorTitle: string;\r\n errorContent: string;\r\n hasSponsorErrors = false;\r\n\r\n private sponsor: ISponsor;\r\n private sponsorName: string;\r\n private url: string = '';\r\n private routePrefix = '';\r\n private isProductDetail: boolean = false;\r\n\r\n\r\n constructor(\r\n private router: Router,\r\n // Todo: Let's try and avoid using SessionStorageService, instead use below ClaimsSettingsService.\r\n private sessionStorage: SessionStorageService,\r\n private settingsService: ClaimsSettingsService,\r\n private sponsorService: SponsorService,\r\n private utilitiesService: UtilitiesService,\r\n private localizationService: LocalizationService,\r\n private translate: TranslateService,\r\n private referenceService: ReferenceService,\r\n private loggingService: LoggingService,\r\n private configService: ConfigService,\r\n private readonly baseCustomerService: BaseCustomerService,\r\n private baseAccountService: BaseAccountService,\r\n // Do not remove the below unreferenced dependency as it is required to ensure that the MSAL library\r\n // is initialized after common auth redirection.\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private assentlyService: AssentlyService,\r\n private baseSettingsService: SharedSettingsService,\r\n private externalValidationService: ExternalValidationService\r\n ) {\r\n router.events.subscribe((routerEvent) => {\r\n this.checkRouterEvent(routerEvent);\r\n });\r\n sponsorService.languageObservable.subscribe(languageId => {\r\n this.settingsService.languageId = languageId;\r\n this.loadLanguageSpecificContent();\r\n });\r\n\r\n }\r\n\r\n checkRouterEvent(routerEvent): void {\r\n if (routerEvent instanceof NavigationStart) {\r\n // Upon initiating navigation we will always re-attempt to initialize Application Insights.\r\n if (this.sponsorName) {\r\n const instrumentationKey: string = this.configService.getServiceConfigData().appInsights.instrumentationKey;\r\n this.loggingService.initializeAppInsights(instrumentationKey, 'B2CClaimsV2', this.sponsorName, '');\r\n }\r\n this.isLoading = true;\r\n }\r\n\r\n if (routerEvent instanceof NavigationEnd &&\r\n routerEvent.urlAfterRedirects !== '/error-page') {\r\n this.isLoading = false;\r\n this.sessionStorage.set('ErrorPagePreviousUrl', routerEvent.urlAfterRedirects);\r\n let currentPageRoute = this.router.url.split('/').pop();\r\n if (currentPageRoute?.toLowerCase().indexOf('product') > -1) {\r\n currentPageRoute = this.sessionStorage.get('ProductName') ?? '';\r\n this.isProductDetail = true;\r\n }\r\n this.routePrefix = currentPageRoute.replace(/[^\\w+]/gi, '-');\r\n this.sessionStorage.set('PageId', '');\r\n }\r\n\r\n if (routerEvent instanceof NavigationEnd ||\r\n routerEvent instanceof NavigationCancel ||\r\n routerEvent instanceof NavigationError) {\r\n this.settingsService.applicationPreviousURL = this.applicationCurrentURL;\r\n this.applicationCurrentURL = routerEvent.url;\r\n this.isLoading = false;\r\n }\r\n }\r\n\r\n getAssentlyURL() {\r\n this.assentlyService.getassentlyurl().then(data => {\r\n this.url = data?.url\r\n if (this.url !== '') {\r\n const id = document.getElementById(\"assentlyUrl\");\r\n if (id === null) {\r\n const script = document.createElement('script');\r\n script.src = this.url;\r\n script.id = \"assentlyUrl\"\r\n document.head.appendChild(script);\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n\r\n // Todo: inject constants service\r\n this.sponsorName = this.settingsService.sponsorName || this.utilitiesService.getUrlParameterByName('sname');\r\n\r\n // TEMP! - Defaulting Product Id to 1405 (Rejseforkring) until populated in Select Policy Page.\r\n // this.settingsService.productId = 1405;\r\n\r\n const currentUrl = this.settingsService.currentUrl;\r\n const previousUrl = this.settingsService.previousUrl;\r\n\r\n\r\n // Get 'id_token' from query string and store it local storage.\r\n const idToken = this.utilitiesService.getUrlParameterByName('id_token', false);\r\n if (idToken) {\r\n localStorage.setItem('msal.idtoken', idToken);\r\n const currentTime = new Date();\r\n // Add 30 minutes in current time and stores it in session storage to check expiry of generated 'id_token'.\r\n localStorage.setItem('idTokenExpiryTime', String(currentTime.setMinutes(currentTime.getMinutes() + 30)));\r\n }\r\n\r\n // Stash the SponsorName for later use. Skip this if we are re-routing after authentication.\r\n if (!currentUrl && !previousUrl) {\r\n // this.title.setTitle(`Home - ${this.sponsorName}`);\r\n this.settingsService.sponsorName = this.sponsorName;\r\n }\r\n\r\n // Pull in shared translations.\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n const currentLang = this.sessionStorage.get('LanguageCode');\r\n if (currentLang === null || currentLang === undefined) {\r\n this.translate.setDefaultLang('en-GB');\r\n }\r\n else {\r\n this.translate.setDefaultLang(currentLang);\r\n }\r\n\r\n this.sponsorService.getSponsor().subscribe(result => {\r\n\r\n // Todo: Do we need to verify site activity?\r\n this.sponsor = result;\r\n if (this.sponsor?.activateNewClaimsWebsiteUrl) {\r\n this.hasSponsorErrors = false;\r\n this.sessionStorage.set('SiteActive', !this.hasSponsorErrors);\r\n\r\n if (this.sponsor?.activateNewClaimsWebsiteUrl && this.sponsor?.enableAssently) {\r\n this.getAssentlyURL();\r\n }\r\n\r\n\r\n\r\n this.setupOnetrustCookieBanner(this.sponsor.oneTrustCookieBannerScriptId);\r\n\r\n // PBI-187615\r\n this.setLocalDateFormat();\r\n\r\n this.sponsorService.applyWillisBranding = this.sponsor.applyWillisBranding;\r\n this.sponsorService.sponsorLogo = this.sponsor.sponsorLogo;\r\n this.settingsService.enableSponsorLogo = !this.sponsor.applyWillisBranding;\r\n this.settingsService.sponsorId = this.sponsor.sponsorId;\r\n this.settingsService.timeZone = this.sponsor.timeZone;\r\n this.settingsService.timeZoneOffset = this.sponsor.timeZoneOffset;\r\n this.settingsService.disableNewClaims = this.sponsor.disableNewClaims;\r\n this.settingsService.enableGuestPurchase = this.sponsor.enableGuestPurchase;\r\n this.settingsService.enableAssently = this.sponsor.enableAssently;\r\n this.settingsService.enableCustomerIdentityB2CClaims = this.sponsor.enableCustomerIdentityB2CClaims;\r\n this.settingsService.allowCustomerIdentification = this.sponsor.allowCustomerIdentification;\r\n this.settingsService.blockedTimeForCutomerIdentifaction = this.sponsor.blockedTimeForCutomerIdentifaction;\r\n this.baseSettingsService.minimumCharForAutoSuggestion = this.sponsor.minimumCharactersforWebServiceCall;\r\n let customerId = this.sessionStorage.get('customerId');\r\n this.referenceService.applySponsorLogoAsFavicon(this.sponsor.sponsorId, this.sponsor.applyWillisBranding);\r\n\r\n if (customerId !== null && customerId !== undefined && customerId >= 0\r\n && this.msalAuthenticationService.isAuthenticated()) {\r\n this.setCustomerPreferredLanguage(customerId);\r\n } else if (!customerId && localStorage.hasOwnProperty('msal.idtoken') && this.msalAuthenticationService.isAuthenticated()) {\r\n /* After the login we couldn't see the CustomerId in Session.\r\n Hence, it couldn't set Customer's Preferred Language\r\n to handle that scenario we have added this else-if block */\r\n this.baseAccountService.getUserName().then((userDetail: UserName) => {\r\n this.settingsService.customerId = userDetail.customerID;\r\n customerId = userDetail.customerID;\r\n this.baseSettingsService.loggedInUser = userDetail.firstName;\r\n this.baseSettingsService.customerId = userDetail.customerID;\r\n this.setCustomerPreferredLanguage(customerId);\r\n });\r\n } else {\r\n this.setSponsorLanguage();\r\n this.settingsService.isPreferredLanguageSet = true;\r\n }\r\n\r\n\r\n // the lang to use, if the lang isn't available, it will use the current loader to get them\r\n lastValueFrom(this.translate.use(this.settingsService.languageCode));\r\n // Trigger asynchronously, fire and forget.\r\n this.loadLocalizationAndPageContent().subscribe();\r\n if ((localStorage.getItem('msal.error') === 'access_denied' || !previousUrl) && currentUrl) {\r\n // Post authentication - error.\r\n this.router.navigate([currentUrl]);\r\n this.clearPreviousRoutes();\r\n } else if (previousUrl) {\r\n // Post authentication - success.\r\n this.router.navigate([previousUrl]);\r\n this.clearPreviousRoutes();\r\n } else if (this.settingsService.enableAssently && this.msalAuthenticationService.isAuthenticated()\r\n && this.msalAuthenticationService.isSessionTimedOut()) {\r\n this.router.navigate(['account/confirm-registration']);\r\n }\r\n // if allow customer identification flag is enabled, then it should act like guest purchase\r\n else if (this.settingsService.allowCustomerIdentification && localStorage.getItem('msal.idtoken') == null) {\r\n this.conditionallyGetExternalValidationStatus().subscribe(async (result) => {\r\n if (result) {\r\n if (result && result?.success === true && this.baseSettingsService.externalValidationResult == null) {\r\n this.processExternalValidationResult(result);\r\n } else {\r\n // Initial navigation.\r\n this.router.initialNavigation();\r\n }\r\n }\r\n });\r\n }\r\n else {\r\n // Initial navigation.\r\n this.router.initialNavigation();\r\n }\r\n\r\n this.ApplyBrandingSettings();\r\n if (this.sponsor.activateNewClaimsWebsiteUrl) {\r\n this.createTermsOfUseScriptBox();\r\n }\r\n }\r\n else {\r\n this.hasSponsorErrors = true;\r\n this.loadErrorPageContent();\r\n }\r\n // IE fallback measure.\r\n cssVars({\r\n watch: true\r\n });\r\n });\r\n\r\n\r\n this.settingsService.getGlobalLoader().subscribe((loaderFlag) => {\r\n this.isLoading = loaderFlag;\r\n });\r\n\r\n }\r\n\r\n private setCustomerPreferredLanguage(customerId: number) {\r\n this.baseCustomerService.getCustomerPreferredLanguage(customerId).then((langObject) => {\r\n this.settingsService.userPreferredLanguageId = langObject?.languageID;\r\n if (langObject?.languageID && langObject?.languageID !== null) {\r\n this.baseCustomerService.setCustomerPreferredLanguage(langObject.languageID, langObject.languageCode);\r\n this.settingsService.isPreferredLanguageSet = true;\r\n }\r\n });\r\n }\r\n\r\n\r\n loadLocalizationAndPageContent(): Observable {\r\n this.applyTranslations();\r\n const pageNames = ['Footer_Claims', 'ContactUs', 'Home', 'HowTo'];\r\n const getUiElementPayload: IGetUIElementsPayload = {\r\n sponsorEnglishName: this.sponsorName,\r\n PageNames: pageNames,\r\n languageId: this.settingsService.languageId,\r\n applicationName: 'Claims'\r\n };\r\n\r\n const getUIElement: Observable = this.localizationService.getUIElements(getUiElementPayload);\r\n const getTermsOfUseContent: Observable = this.sponsorService.getTermsOfUsebySponsorName(this.sponsorName,\r\n this.settingsService.languageId?.toString());\r\n const getGlobalPrivacyPolicy: Observable\r\n = this.referenceService.getGlobalPrivacyPolicyText(this.sessionStorage.get('LanguageCode'));\r\n const getCookieNoticeData: Observable\r\n = this.referenceService.getCookieNoticeText(this.sessionStorage.get('LanguageCode'));\r\n\r\n\r\n return forkJoin([getUIElement, getTermsOfUseContent, getGlobalPrivacyPolicy, getCookieNoticeData])\r\n .pipe(map(results => {\r\n const [resUiElement, resTermsOfUse, resGlobalPrivacyPolicyText, resCookieNoticeData] = results;\r\n // this.localizationService.setUIElementObj(resUiElement); // set result of UI element into shared service\r\n this.localizationService.sharedUIElement = resUiElement;\r\n\r\n const privacyPolicyData = resGlobalPrivacyPolicyText;\r\n const cookieNoticeData = resCookieNoticeData;\r\n const termsAndConditionsData = resTermsOfUse;\r\n\r\n const copyrightsTextElement = resUiElement.find(item => item.uiElementCode === 'lblFooterCopyrightsLabel_Claims');\r\n const privacyPolicyLinkElement = resUiElement.find(item => item.uiElementCode === 'lblFooterPrivacyLabel_Claims');\r\n const cookieNoticeLinkElement = resUiElement.find(item => item.uiElementCode === 'lblFooterCookiesLabel_Claims');\r\n const termsAndConditionsLinkElement = resUiElement.find(item => item.uiElementCode === 'lblFooterTermsOfUseLabel_Claims');\r\n const contactUsTitleElement = resUiElement.find(item => item.uiElementCode === 'lblContactUsLable_Claims');\r\n const contactUsContentElement = resUiElement.find(item => item.uiElementCode === 'lblContactUsPage');\r\n const contactUsContactNumberElement = resUiElement.find(item => item.uiElementCode === 'lblContactUsNumber_Claims');\r\n const contactUsPageElement = resUiElement.find(item => item.uiElementCode === 'lblContactUsPageText_Claims');\r\n\r\n const copyrightsText = copyrightsTextElement?.uiElementValue;\r\n const privacyPolicyLink = privacyPolicyLinkElement?.uiElementValue;\r\n const cookieNoticeLink = cookieNoticeLinkElement?.uiElementValue;\r\n const termsAndConditionsLink = termsAndConditionsLinkElement?.uiElementValue;\r\n\r\n const contactUsTitle = contactUsTitleElement?.uiElementValue;\r\n const contactUsContent = contactUsContentElement?.uiElementValue;\r\n const contactUsTelephoneNumber = contactUsContactNumberElement?.uiElementValue;\r\n const contactUsPage = contactUsPageElement?.uiElementValue;\r\n\r\n const menuLinks = [\r\n {\r\n key: 'contactUs',\r\n label: contactUsTitle ? contactUsTitle : '',\r\n openTo: 'bottomsheet',\r\n title: contactUsTitle,\r\n content: contactUsContent,\r\n telephoneNumber: contactUsTelephoneNumber,\r\n enableCloseBtn: false,\r\n overlayPanelClass: 'fullWidthBottomSheet',\r\n helpText: contactUsPage\r\n },\r\n {\r\n key: 'privacyPolicy',\r\n label: privacyPolicyLink,\r\n openTo: 'bottomsheet',\r\n title: privacyPolicyLink,\r\n content: privacyPolicyData?.privacyNoticeDescription,\r\n enableCloseBtn: true,\r\n overlayPanelClass: 'fullWidthBottomSheet',\r\n buttonText: this.okButtonText\r\n },\r\n {\r\n key: 'termsOfUse',\r\n label: termsAndConditionsLink,\r\n openTo: 'bottomsheet',\r\n title: termsAndConditionsLink,\r\n content: termsAndConditionsData?.termsOfUseDescription,\r\n enableCloseBtn: true,\r\n overlayPanelClass: 'fullWidthBottomSheet',\r\n buttonText: this.okButtonText\r\n },\r\n {\r\n key: 'cookies',\r\n label: cookieNoticeLink,\r\n openTo: 'bottomsheet',\r\n title: cookieNoticeLink,\r\n content: cookieNoticeData?.description,\r\n enableCloseBtn: true,\r\n overlayPanelClass: 'fullWidthBottomSheet',\r\n buttonText: this.okButtonText\r\n }\r\n\r\n ];\r\n this.footerLinksAndContent = {\r\n key: 'footerlinks',\r\n copyrightsText,\r\n menuLinks\r\n };\r\n\r\n // Show content.\r\n this.initialized = true;\r\n }));\r\n }\r\n private setSponsorLanguage() {\r\n this.settingsService.languageCode = this.sponsor.languageCode;\r\n this.settingsService.languageId = this.sponsor.languageId;\r\n this.sponsorService.languageObservable.next(this.sponsor.languageId);\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([okButtonLabel]).subscribe((res) => {\r\n this.okButtonText = res[okButtonLabel];\r\n });\r\n }\r\n\r\n private setupOnetrustCookieBanner(cookieBannerScriptId: string) {\r\n const element = document.createElement('script');\r\n element.setAttribute('src', 'https://cdn.cookielaw.org/scripttemplates/otSDKStub.js');\r\n element.setAttribute('type', 'text/javascript');\r\n element.setAttribute('charset', 'UTF-8');\r\n element.setAttribute('data-domain-script', cookieBannerScriptId);\r\n document.head.appendChild(element);\r\n }\r\n\r\n private async loadLanguageSpecificContent() {\r\n await lastValueFrom(this.translate.use(this.settingsService.languageCode));\r\n await lastValueFrom(this.loadLocalizationAndPageContent());\r\n const currentUrl = window.location.pathname.replace('/claims', '');\r\n if (currentUrl.includes('new-claim')) {\r\n this.router.navigateByUrl(currentUrl);\r\n }\r\n }\r\n\r\n private clearPreviousRoutes() {\r\n this.settingsService.remove('currentUrl');\r\n this.settingsService.remove('previousUrl');\r\n }\r\n\r\n private setLocalDateFormat() {\r\n if (this.sponsor?.preferredDateFormatId > 0) {\r\n this.sponsorService.getLocalisedDateFormatById(this.sponsor.preferredDateFormatId).subscribe(result => {\r\n if (result) {\r\n if (result.localDateFormat) {\r\n this.sessionStorage.set('LocalisedDateFormat', result.localDateFormat);\r\n }\r\n }\r\n });\r\n } else {\r\n this.sessionStorage.set('LocalisedDateFormat', 'DD/MM/YYYY');\r\n }\r\n }\r\n\r\n createTermsOfUseScriptBox() {\r\n this.sponsorService.getJavaScript(this.sessionStorage.get('SponsorId')).subscribe(result => {\r\n if (result) {\r\n const element = document.createElement('script');\r\n element.setAttribute('class', 'terms-of-use');\r\n element.setAttribute('type', 'text/javascript');\r\n element.setAttribute('id', result.javaScriptUploadID);\r\n const inlineCode = document.createTextNode(result?.fileContent);\r\n element.appendChild(inlineCode);\r\n document.body.appendChild(element);\r\n }\r\n });\r\n }\r\n\r\n ApplyBrandingSettings() {\r\n this.sponsorService.getB2CWebsiteBrandingDetails(this.baseSettingsService.sponsorId).subscribe(result => {\r\n if (result) {\r\n if (result.isNewUIUXBrandingEnabled) {\r\n if (Object.entries) {\r\n // eslint-disable-next-line no-irregular-whitespace\r\n // Iterate over branding variables, setting relevant properties.       \r\n if (this.sponsor && this.sponsor.brandingSettings) {\r\n Object.entries(this.sponsor.brandingSettings).forEach(\r\n ([key, value]) => document.documentElement.style.setProperty(`--${key}`, value));\r\n }\r\n }\r\n }\r\n else {\r\n const element = document.createElement('style');\r\n const inlineCode = document.createTextNode(result?.content);\r\n element.appendChild(inlineCode);\r\n document.head.appendChild(element);\r\n }\r\n }\r\n });\r\n }\r\n\r\n private conditionallyGetExternalValidationStatus(): Observable {\r\n if (this.settingsService.allowCustomerIdentification) {\r\n const request = new ExternalValidationRequest();\r\n request.sponsorId = this.sponsor.sponsorId;\r\n request.data = this.utilitiesService.getAllParameters();\r\n request.isGuestPurchase = true; // for customer identification flow create token like guest purchase\r\n request.appName = 'claimsv2';\r\n request.isB2BFlow = false;\r\n request.isSSOSAML = false;\r\n\r\n return this.externalValidationService.getExternalValidationStatus(request);\r\n }\r\n return of(null);\r\n }\r\n\r\n private processExternalValidationResult(externalValidationResult: ExternalValidationResponse) {\r\n this.baseSettingsService.tokenGenerationRedirectUrl = externalValidationResult?.tokenGenerationRedirectUrl;\r\n this.baseSettingsService.externalValidationResult = externalValidationResult;\r\n\r\n if (externalValidationResult && externalValidationResult != null && externalValidationResult?.success) {\r\n window.location.href = externalValidationResult.tokenGenerationRedirectUrl;\r\n }\r\n\r\n }\r\n\r\n public get getPageUniqueSelector(): string {\r\n if (!this.sponsorName) {\r\n return;\r\n }\r\n\r\n const pageId = this.sessionStorage.get('PageId');\r\n if (!pageId) {\r\n return ((this.isProductDetail ? \"product-detail\" : this.routePrefix) + \" \" + this.sponsorName\r\n + \"-\" + this.routePrefix)?.toLowerCase();\r\n }\r\n return ((this.isProductDetail ? \"product-detail\" : this.routePrefix) + \" \" + this.sponsorName\r\n + \"-\" + this.routePrefix + (pageId ? \"-\" + pageId : ''))?.toLowerCase();\r\n }\r\n\r\n private loadErrorPageContent(): void {\r\n const languageId = this.sessionStorage.get('LanguageId') || 0;\r\n this.localizationService.getErrorContent(inactiveErrorPath, languageId, this.sponsor?.sponsorId).subscribe((errorContent) => {\r\n this.errorTitle = errorContent.title;\r\n this.errorContent = errorContent.content;\r\n this.initialized = true;\r\n });\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA, APP_INITIALIZER, ErrorHandler } from '@angular/core';\r\nimport { HttpClientModule, HttpClient, HttpParams } from '@angular/common/http';\r\nimport { AppComponent } from './app.component';\r\nimport { AppMaterialModule, WtwUiComponentsModule, ConfigService } from 'wtw-ui-components';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { CoreModule } from './core/core.module';\r\nimport { APP_CONFIG, AppConfig } from './core/app.config';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { endPoints } from './core/app.config';\r\nimport { Location } from '@angular/common';\r\nimport { ConstantService } from './services/constants/constant.service';\r\nimport { CurrencyFormatPipe } from '../../../wtw-ui-components/src/lib/shared/pipes/currency-format.pipe';\r\n\r\nexport function initializeApp(configService: ConfigService, config) {\r\n const promise = configService.loadServiceConfigData(config);\r\n return () => promise;\r\n}\r\n\r\nexport function httpLoaderFactory(\r\n http: HttpClient,\r\n location: Location,\r\n sessionStorage: SessionStorageService,\r\n constantService: ConstantService) {\r\n const sponsorId = sessionStorage.get('SponsorId');\r\n if (sponsorId) {\r\n return new TranslateHttpLoader(http, `${endPoints.apiUrl}Localization/GetTranslations/${sponsorId}/Shared/`);\r\n }\r\n const sponsorName = sessionStorage.get('SponsorName') || getUrlParameterByName(ConstantService.SponsorNameQueryParamName) || 'unknown';\r\n return new TranslateHttpLoader(http,\r\n `${endPoints.apiUrl}Localization/GetTranslationsForNamedSponsor/${sponsorName}/Shared/`);\r\n}\r\n\r\nfunction getUrlParameterByName(paramName: string) {\r\n const stashedResult = JSON.parse(sessionStorage.getItem('QueryParams'));\r\n if (stashedResult) {\r\n const queryParams = JSON.parse(stashedResult._value);\r\n return queryParams[paramName];\r\n }\r\n const url = window.location.href;\r\n let paramValue;\r\n if (url.includes('?')) {\r\n const httpParams = new HttpParams({ fromString: url.split('?')[1] });\r\n paramValue = httpParams.get(paramName);\r\n }\r\n return paramValue;\r\n}\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n CurrencyFormatPipe\r\n ],\r\n imports: [\r\n BrowserModule,\r\n HttpClientModule,\r\n WtwUiComponentsModule,\r\n FormsModule,\r\n AppMaterialModule,\r\n ReactiveFormsModule.withConfig({ callSetDisabledState: 'whenDisabledForLegacyCode' }),\r\n BrowserAnimationsModule,\r\n AppRoutingModule,\r\n CoreModule,\r\n SharedModule,\r\n TranslateModule.forRoot({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: httpLoaderFactory,\r\n deps: [HttpClient, Location, SessionStorageService, ConstantService]\r\n }\r\n })\r\n\r\n ],\r\n providers: [\r\n ConstantService,\r\n { provide: APP_CONFIG, useValue: AppConfig },\r\n {\r\n provide: APP_INITIALIZER,\r\n useFactory: initializeApp, deps: [ConfigService, APP_CONFIG], multi: true\r\n },\r\n CurrencyFormatPipe\r\n ],\r\n bootstrap: [AppComponent],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ]\r\n})\r\n\r\nexport class AppModule { }\r\n","import { Component } from '@angular/core';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport {\r\n MsalAuthenticationService, PagingService, LoginBaseComponent, SharedSettingsService\r\n} from 'wtw-ui-components';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.scss']\r\n})\r\nexport class LoginComponent extends LoginBaseComponent {\r\n\r\n constructor(\r\n route: ActivatedRoute,\r\n router: Router,\r\n public msalService: MsalAuthenticationService,\r\n metaTag: Meta,\r\n public sharedSettingsService: SharedSettingsService,\r\n pagingService: PagingService) {\r\n super(route, router, msalService, metaTag, sharedSettingsService, pagingService);\r\n }\r\n\r\n}\r\n","import { InjectionToken } from '@angular/core';\r\nexport const APP_CONFIG = new InjectionToken('app.config');\r\n\r\nexport const endPoints = {\r\n host: window.location.origin,\r\n baseUrl: '/claims/',\r\n apiUrl: 'api/',\r\n endPointName: {\r\n configurationEndPoint: 'Configuration',\r\n validateCustomer: 'Account/ValidateCustomer',\r\n getClaimReasons: 'B2CProductTemplate/getProductClaimReasons',\r\n blockCustomer: 'Account/BlockCustomer',\r\n claimEndPoint: 'Claim',\r\n documentEndPoint: 'Documents',\r\n claimReasonEndPoint: 'ClaimReason',\r\n saveCustomerVerificationAttemptLog: 'Account/SaveCustomerVerificationAttemptLog',\r\n getCustomerVerificationAttemptLog: 'Account/GetCustomerVerificationAttemptLog',\r\n getClaimQuestionSet: 'B2CProductTemplate/GetClaimsQuestionsSet',\r\n getPolicyDetailsForNewClaims: 'Claim/GetPolicyDetailsForNewClaims',\r\n getClaimReasonDocumentTypes: 'Claim/getClaimReasonDocumentTypes',\r\n saveClaim: 'Claim/SaveClaimDetails',\r\n createSkeletalPolicy: 'Policy/CreateSkeletalPolicy',\r\n updateSkeletalPolicy: 'Policy/UpdateSkeletalPolicy',\r\n expireSkeletalPolicy: 'Policy/ExpireSkeletalPolicy',\r\n resumeDraftClaim: 'Claim/ResumeDraftClaim',\r\n getExistingDraftClaim: 'Claim/GetExistingDraftClaim',\r\n getPartialClaimsCount: 'Claim/GetPartialClaimsCount',\r\n getClaimsByCustomer: 'Claim/GetClaimsByCustomer',\r\n submitClaim: 'Claim/SubmitClaim',\r\n getClaims: 'Claim/GetClaimDetails',\r\n getClaimAttachments: 'Claim/GetClaimAttachments',\r\n setClaimPage: 'Claim/SetClaimPage',\r\n getMenuByProfile: 'Account/GetB2CMenuByProfile',\r\n getToken: 'Account/GetInitToken',\r\n checkToken: 'Account/ValidateToken',\r\n getcustomeridentifier: 'Account/GetCustomerIdentifier',\r\n getProductTemplates: 'B2CProductTemplate/GetProductTemplatesBySponsorId',\r\n getProductHideTimeLoss: 'B2CProductTemplate/GetProductClaimParametersAsync',\r\n getProductTemplate: 'B2CProductTemplate/getProductTemplate',\r\n getClaimsDetailsByCustomer: 'Claim/GetClaimsByCustomer',\r\n }\r\n};\r\n\r\nexport const AppConfig = {\r\n apiUrl: 'api/',\r\n configApiEndPoints: {\r\n GetConfigurationUrl: endPoints.apiUrl + endPoints.endPointName.configurationEndPoint + '/get'\r\n },\r\n assetsImagesPath: '/assets/images/'\r\n};\r\n\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\nimport { SharedModule } from '../shared/shared.module';\r\nimport { HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { MsalHttpInterceptor } from 'wtw-ui-components';\r\n\r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n RouterModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n ],\r\n providers: [\r\n {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: MsalHttpInterceptor,\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class CoreModule { }\r\n","import { Injectable, Injector } from '@angular/core';\r\nimport { MsalAuthenticationService } from 'wtw-ui-components/';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConstantService {\r\n static readonly SponsorNameQueryParamName = 'sname';\r\n static readonly ProductIdQueryParamName = 'pid';\r\n static readonly MenuTypeID = '8'; // Static menu type id will be different for each portal\r\n static readonly ProfileName = 'Customer';\r\n\r\n static readonly PageName = {\r\n NewClaims: 'Shared.pageNewClaims',\r\n AccountVerification: 'Shared.pageAccountVerification',\r\n ClaimDetails: 'Shared.pageClaimDetails',\r\n Policy: 'Shared.pagePolicy',\r\n UploadDocuments: 'Shared.pageUploadDocuments',\r\n DataConsent: 'Shared.pageDataConsent',\r\n ReviewConfirm: 'Shared.pageReviewAndConfirm',\r\n YourClaims: 'Shared.pageYourClaims',\r\n YourPolicies: 'Shared.pageYourPolicies',\r\n ClaimsNotificationDeclaration: 'Shared.pageClaimDeclaration',\r\n ClaimSubmitted: 'Shared.pageClaimSubmitted',\r\n YourProfile: 'Shared.pageYourProfile'\r\n };\r\n\r\n constructor(private msalAuthenticationService: MsalAuthenticationService,\r\n private injector: Injector) { }\r\n\r\n readonly metaDataAllowSearch: string = 'index, follow';\r\n readonly metaDataDenySearch: string = 'noindex, nofollow';\r\n\r\n async getLogOutText(logoutText: string) {\r\n\r\n // *** If 'VoucherBasedAcces' is enable then 'LogOut' option shouldn't be shown to users *** //\r\n const voucherBasedAccess = sessionStorage.getItem('enableVoucherBasedAccess');\r\n if (voucherBasedAccess) {\r\n const enableVoucherBasedAccess = JSON.parse(voucherBasedAccess)._value;\r\n if (enableVoucherBasedAccess === true) {\r\n return '';\r\n }\r\n }\r\n\r\n // *** Once the user is 'LoggedIn' then only 'LogOut' option should be shown to users *** //\r\n return await this.msalAuthenticationService.authenticated().then(result => {\r\n if (!result) {\r\n return '';\r\n }\r\n return logoutText;\r\n });\r\n\r\n }\r\n\r\n applyTranslations(pageName: string): string {\r\n let response: string;\r\n const translate = this.injector.get(TranslateService);\r\n translate.get(pageName).subscribe((res) => {\r\n response = res;\r\n });\r\n return response;\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { SharedSettingsService, Policy } from 'wtw-ui-components';\r\nimport { ClaimDetails, UploadDocuments } from '../../shared/models';\r\n\r\n\r\nexport const ClaimDetailsKey = 'ClaimDetails';\r\nexport const UploadDocumentsKey = 'UploadDocuments';\r\nexport const ClaimIdKey = 'ClaimId';\r\nexport const CustomerIdKey = 'customerId';\r\nexport const ClaimResumeFlag = 'isClaimResume';\r\nexport const AnswersToResumeKey = 'AnswersToResumeKey';\r\nexport const ApplicationPreviousURL = 'ApplicationPreviousURL';\r\nexport const AllQuestionsAnsweredKey = 'AllQuestionsAnswered';\r\nexport const UserPreferredLanguageID = 'UserPreferredLanguageID';\r\nexport const DisableNewClaimsKey = 'DisableNewClaims';\r\nexport const CurrentDocumentCountKey = 'CurrentDocumentCount';\r\nexport const ManageClaimsb2cSalesPortalEnabledKey = 'ManageClaimsb2cSalesPortalEnabled'\r\nexport const EnableCustomerIdentityB2CClaimsKey = 'EnableCustomerIdentityB2CClaims';\r\nexport const EmailIdKey = 'EmailId';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ClaimsSettingsService extends SharedSettingsService {\r\n\r\n private isLoading = new Subject();\r\n\r\n constructor(sessionStorageService: SessionStorageService) {\r\n super(sessionStorageService);\r\n }\r\n\r\n /* Define Claims Application scoped Settings here, global settings on base. */\r\n\r\n public get currentDocumentCount(): number {\r\n return this.getValue(CurrentDocumentCountKey);\r\n }\r\n\r\n public set currentDocumentCount(value: number) {\r\n this.setValue(CurrentDocumentCountKey, value);\r\n }\r\n\r\n // CustomerId\r\n public get customerId(): number {\r\n return this.getValue(CustomerIdKey);\r\n }\r\n\r\n public set customerId(value: number) {\r\n this.setValue(CustomerIdKey, value);\r\n }\r\n\r\n // DisableNewClaimsKey\r\n public get disableNewClaims(): boolean {\r\n return this.getValue(DisableNewClaimsKey);\r\n }\r\n\r\n public set disableNewClaims(value: boolean) {\r\n this.setValue(DisableNewClaimsKey, value);\r\n }\r\n\r\n\r\n // ClaimDetails\r\n public get claimDetails(): ClaimDetails {\r\n return this.getValue(ClaimDetailsKey);\r\n }\r\n\r\n public set claimDetails(value: ClaimDetails) {\r\n this.setValue(ClaimDetailsKey, value);\r\n }\r\n\r\n // Selectd documents by user\r\n public get uploadDocuments(): UploadDocuments {\r\n return this.getValue(UploadDocumentsKey);\r\n }\r\n\r\n public set uploadDocuments(value: UploadDocuments) {\r\n this.setValue(UploadDocumentsKey, value);\r\n }\r\n\r\n // Claim Id\r\n public get claimId(): number {\r\n return this.getValue(ClaimIdKey);\r\n }\r\n\r\n public set claimId(value: number) {\r\n this.setValue(ClaimIdKey, value);\r\n }\r\n\r\n // Userpreferredlanguage Id\r\n public get userPreferredLanguageId(): number {\r\n return this.getValue(UserPreferredLanguageID);\r\n }\r\n\r\n public set userPreferredLanguageId(value: number) {\r\n this.setValue(UserPreferredLanguageID, value);\r\n }\r\n\r\n public resetClaim() {\r\n this.claimDetails = null;\r\n this.uploadDocuments = null;\r\n this.answersToResume = null;\r\n this.allQuestionsAnswered = false;\r\n }\r\n\r\n // Claim status\r\n public get isClaimResume(): boolean {\r\n return this.getValue(ClaimResumeFlag);\r\n }\r\n\r\n public set isClaimResume(value: boolean) {\r\n this.setValue(ClaimResumeFlag, value);\r\n }\r\n\r\n public get answersToResume() {\r\n return this.getValue(AnswersToResumeKey);\r\n }\r\n\r\n public set answersToResume(value) {\r\n this.setValue(AnswersToResumeKey, value);\r\n }\r\n\r\n public get applicationPreviousURL(): string {\r\n return this.getValue(ApplicationPreviousURL);\r\n }\r\n\r\n public set applicationPreviousURL(value: string) {\r\n this.setValue(ApplicationPreviousURL, value);\r\n }\r\n\r\n public getGlobalLoader(): Observable {\r\n return this.isLoading.asObservable();\r\n }\r\n\r\n public setGlobalLoader(value: boolean) {\r\n this.isLoading.next(value);\r\n }\r\n\r\n public get allQuestionsAnswered(): boolean {\r\n return this.getValue(AllQuestionsAnsweredKey);\r\n }\r\n\r\n public set allQuestionsAnswered(value: boolean) {\r\n this.setValue(AllQuestionsAnsweredKey, value);\r\n }\r\n\r\n // EnableCustomerIdentityB2CClaimsKey\r\n public get enableCustomerIdentityB2CClaims(): boolean {\r\n return this.getValue(EnableCustomerIdentityB2CClaimsKey);\r\n }\r\n\r\n public set enableCustomerIdentityB2CClaims(value: boolean) {\r\n this.setValue(EnableCustomerIdentityB2CClaimsKey, value);\r\n }\r\n\r\n // ManageClaimsb2cSalesPortalEnabledKey\r\n public get manageClaimsb2cSalesPortalEnabled(): boolean {\r\n return this.getValue(ManageClaimsb2cSalesPortalEnabledKey);\r\n }\r\n\r\n public set manageClaimsb2cSalesPortalEnabled(value: boolean) {\r\n this.setValue(ManageClaimsb2cSalesPortalEnabledKey, value);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class SiteInactiveGuard {\r\n\r\n constructor(\r\n private sessionStorage: SessionStorageService) { }\r\n\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): boolean {\r\n return this.sessionStorage.get('SiteActive') === true;\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\r\n return this.canActivate(childRoute, state);\r\n }\r\n}\r\n","import { ClaimDetails } from '.';\r\nimport { Question, QuestionResponse } from 'wtw-ui-components';\r\n\r\nexport class ClaimDetailsRequest {\r\n public claimDetails: ClaimDetails;\r\n public sponsorId: number;\r\n public productId: number;\r\n public policyId: number;\r\n public languageId: number;\r\n public answeredQuestions: Question[];\r\n public claimQuestionResponse: QuestionResponse[];\r\n public finalQuestionAnswered: boolean;\r\n public allQuestionsAnswered: boolean;\r\n public emailId: string;\r\n public customerId: number;\r\n\r\n constructor(claimDetails: ClaimDetails, sponsorId: number, productId: number, policyId: number, languageId: number,\r\n claimQuestionResponse: QuestionResponse[] = null,\r\n finalQuestionAnswered: boolean = false, allQuestionsAnswered: boolean = false, customerId: number = 0, emailId?: string ) {\r\n this.claimDetails = claimDetails;\r\n this.sponsorId = sponsorId;\r\n this.productId = productId;\r\n this.policyId = policyId;\r\n this.languageId = languageId;\r\n this.claimQuestionResponse = claimQuestionResponse;\r\n this.finalQuestionAnswered = finalQuestionAnswered;\r\n this.allQuestionsAnswered = allQuestionsAnswered;\r\n this.emailId = emailId;\r\n this.customerId = customerId;\r\n }\r\n}\r\n","import { ClaimDetails } from './claim-details.model';\r\nimport { UploadDocuments } from './upload-documents.model';\r\n\r\nexport class ClaimDetailsResponse {\r\n public claimDetails: ClaimDetails;\r\n public documents: UploadDocuments;\r\n public responses: { [index: string]: [string, string] };\r\n}\r\n","export class ClaimDetails {\r\n public claimId?: number;\r\n public lossDate: any; // Todo: Apply pre-persistence date formatting\r\n public lossTime: any;\r\n public timeZoneId: string;\r\n public claimReasonId: number;\r\n public claimDetails: string;\r\n public awareDate: any; // Todo: Apply pre-persistence date formatting\r\n public claimReason: string;\r\n public timeZone: string;\r\n public currentPage: number;\r\n}\r\n","export enum ClaimPageOrder {\r\n Details = 0,\r\n Questionnaire = 1,\r\n Documents = 2,\r\n Review = 3\r\n}\r\n","export class ExistingDraftClaimRequest {\r\n public sponsorId: number;\r\n public policyId: number;\r\n public emailId: string;\r\n public customerId: number;\r\n }\r\n","export { NewClaimContentData } from './new-claim-content-data.model';\r\nexport { IUserDetailsObject, UserDetailsObject } from './user-details.model';\r\nexport { IClaimReason } from './claim-reason.model';\r\nexport { ClaimDetails } from './claim-details.model';\r\nexport { PolicyDetails } from './policy.model'\r\nexport { ClaimDetailsRequest } from './claim-details-request.model';\r\nexport { ClaimDetailsResponse } from './claim-details-response.model';\r\nexport { UploadDocuments, ISupportingDocuments, UploadedDocs } from './upload-documents.model';\r\nexport { IValidateCustomerRequest } from './validate-customer-request-model';\r\nexport { IValidateCustomerResponse } from './validate-customer-response-model';\r\nexport { ICustomerVerificationAttemptLogRequest } from './customer-verification-attempt-log-request.model';\r\nexport { ICustomerVerificationAttemptLogResponse } from './customer-verification-attempt-log-response.model';\r\nexport { ClaimQuestionPayload } from './claim-questions.payload.model';\r\nexport { SidebarObject } from './sidebar-object.model';\r\nexport { IDropdownObject } from './dropdown-object.model';\r\nexport { NestedAccordion, Policy } from './nested-accordion.model';\r\nexport { ClaimPageOrder } from './claim-page-order';\r\nexport { ExistingDraftClaimRequest } from './existing-draft-claim-request.model';\r\nexport { ProductTemplate } from './product-template.model';\r\n","export class NestedAccordion {\r\n productCategory: string;\r\n productWisePolicyList: ProductWisePolicy[];\r\n}\r\n\r\nexport class ProductWisePolicy {\r\n productName: string;\r\n productIcon: string;\r\n currencyIso4217: string;\r\n cultureName: string;\r\n isEligibleForClaims: boolean;\r\n policies: Policy[];\r\n}\r\nexport class Policy {\r\n policyNumber: string;\r\n policyInceptionDate: string;\r\n policyExpiryDate: string;\r\n policyTerm: string;\r\n premium: string;\r\n policyID: number;\r\n productTemplateId: number;\r\n}\r\n","\r\nimport { IGetUIElement } from 'wtw-ui-components';\r\n\r\nexport class NewClaimContentData {\r\n uiElements: IGetUIElement[];\r\n}\r\n","export class PolicyDetails {\r\n policyId?: number;\r\n policyNumber?: string;\r\n productTemplateId: number;\r\n inceptionDate: string;\r\n customerId: number;\r\n sponsorId: number;\r\n expiryDate?: string;\r\n}\r\n","export class SidebarObject {\r\n label = '';\r\n labels: string[] = [];\r\n details: string[] = [];\r\n}\r\n","import { IClaimReason } from './claim-reason.model';\r\nexport class UploadDocuments {\r\n claimId?: number;\r\n attachmentTypeId: number;\r\n // attachDescription: string;\r\n fileUpload: any;\r\n uploadedFilesName: string;\r\n fileName?: string;\r\n}\r\n\r\nexport interface UploadedDocs extends UploadDocuments {\r\n iconName: string;\r\n titleLabel: string;\r\n subTitleLabel: string;\r\n menuInfo?: MenuDescription[];\r\n\r\n}\r\nexport interface MenuDescription {\r\n iconName: string;\r\n menuLabel: string;\r\n data: any;\r\n}\r\n\r\nexport interface ISupportingDocuments {\r\n documentTypeID: number;\r\n isOptional: number;\r\n claimReasonID: number;\r\n claimReasonDocTypeName: string;\r\n claimReasonDocumentTypeID: number;\r\n}\r\n\r\n\r\n\r\n","export interface IUserDetailsObject {\r\n label: string;\r\n value: string;\r\n}\r\n\r\nexport class UserDetailsObject implements IUserDetailsObject {\r\n label: string;\r\n value: string;\r\n constructor(label: string, value: string) {\r\n this.label = label;\r\n this.value = value;\r\n }\r\n}\r\n","import { Component, OnInit, OnChanges, Output, EventEmitter, ViewChild, Input } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { ClaimsSettingsService } from '../../../services/settings/settings.service';\r\nimport { QuestionSetService, LayoutService, Question, BaseQuestionLogicComponent, PagingService, \r\n SharedSettingsService } from 'wtw-ui-components';\r\nimport { ClaimDetails, SidebarObject, UploadDocuments } from '../../models';\r\nimport moment from 'moment';\r\n\r\n\r\nconst pageLabels = {\r\n editLabel: 'Shared.lblEdit',\r\n policyDetailsHeadingLabel: 'Shared.lblPolicyDetailsHeading',\r\n policyNumberLabel: 'Shared.lblPolicyNumber',\r\n policyInceptionDateLabel: 'Shared.lbPolicyInceptionDate',\r\n policyExpiryDateLabel: 'Shared.lblPolicyExpiryDate',\r\n policyTermLabel: 'Shared.lblPolicyTerm',\r\n policyPremiumLabel: 'Shared.lblPolicyPremium',\r\n startClaimLabel: 'Claim.lblNewClaimStartClaim',\r\n lossDateLabel: 'Claim.lblLossDate',\r\n lossTimeLabel: 'Claim.lblLossTime',\r\n timeZoneLabel: 'Claim.lblTimeZone',\r\n claimReasonLabel: 'Claim.lblClaimReason',\r\n claimDetailsLabel: 'Claim.lblClaimDetails',\r\n awareDateLabel: 'Claim.lblAwareDate',\r\n previousAnswersLabel: 'Shared.lblPreviousAnswers',\r\n supportingDocumentsLabel: 'Claim.lblNewClaimSupportingDocuments',\r\n claimQuestionnaireLabel: 'Claim.lblNewClaimQuestionnaire',\r\n claimUploadedDocumentsLabel: 'Claim.lblNewClaimUploadedDocuments'\r\n\r\n};\r\n\r\n@Component({\r\n selector: 'app-question-container',\r\n templateUrl: './question-container.component.html',\r\n styleUrls: ['./question-container.component.scss'],\r\n})\r\nexport class QuestionContainerComponent implements OnInit, OnChanges {\r\n // @Output() clicked = new EventEmitter();\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n isSkeletalPolicy = false;\r\n isEnableAssently = false;\r\n policyData: SidebarObject = new SidebarObject();\r\n\r\n claimDataObject: SidebarObject;\r\n uploadDocumentsObject: SidebarObject;\r\n allowCustomerIdentification: any;\r\n labels = {\r\n edit: '',\r\n policyDetailsHeading: '',\r\n policyNumber: '',\r\n policyInceptionDate: '',\r\n policyExpiryDate: '',\r\n policyTerm: '',\r\n policyPremium: '',\r\n startClaim: '',\r\n lossDate: '',\r\n lossTime: '',\r\n timeZone: '',\r\n claimReason: '',\r\n claimDetails: '',\r\n awareDate: '',\r\n previousAnswers: '',\r\n supportingDocuments: '',\r\n uploadedDocuments: ''\r\n };\r\n\r\n private sponsorId: number;\r\n private claimQuestionnaireLabel: string;\r\n @Output() changeClaimQuestion = new EventEmitter();\r\n @Input() refreshRequired = false;\r\n\r\n constructor(\r\n private questionSetService: QuestionSetService,\r\n private layoutService: LayoutService,\r\n private translate: TranslateService,\r\n private sessionStorage: SessionStorageService,\r\n private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private settingsService: ClaimsSettingsService,\r\n private readonly pagingService: PagingService,\r\n private sharedSettings: SharedSettingsService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.sponsorId = this.sessionStorage.get('SponsorId'); \r\n this.applyTranslations();\r\n this.loadPreviousAnswers();\r\n this.checkDeviceWidth();\r\n this.isSkeletalPolicy = !JSON.parse(sessionStorage.getItem('EnableCustomerIdentityB2CClaims'))._value &&\r\n JSON.parse(sessionStorage.getItem('ManageClaimsb2cSalesPortalEnabled'))._value;\r\n this.isEnableAssently = JSON.parse(sessionStorage.getItem('EnableAssently'))._value;\r\n this.allowCustomerIdentification = this.sharedSettings.allowCustomerIdentification\r\n }\r\n\r\n ngOnChanges() {\r\n this.loadPreviousAnswers();\r\n }\r\n\r\n private loadPreviousAnswers() {\r\n this.populatePolicyDetails();\r\n this.populateBasicClaimDetails();\r\n this.populateUploadDocuments();\r\n }\r\n\r\n private applyTranslations() {\r\n const { editLabel, policyDetailsHeadingLabel, policyNumberLabel, policyInceptionDateLabel,\r\n policyExpiryDateLabel, policyTermLabel, policyPremiumLabel, startClaimLabel, lossDateLabel, lossTimeLabel,\r\n timeZoneLabel, claimReasonLabel, claimDetailsLabel, awareDateLabel, previousAnswersLabel,\r\n claimQuestionnaireLabel, supportingDocumentsLabel, claimUploadedDocumentsLabel } = pageLabels;\r\n this.translate.get([editLabel, policyDetailsHeadingLabel, policyNumberLabel, policyInceptionDateLabel,\r\n policyExpiryDateLabel, policyTermLabel, policyPremiumLabel, startClaimLabel, lossDateLabel, lossTimeLabel,\r\n timeZoneLabel, claimReasonLabel, claimDetailsLabel, awareDateLabel, previousAnswersLabel,\r\n claimQuestionnaireLabel, supportingDocumentsLabel, claimUploadedDocumentsLabel]).subscribe((res) => {\r\n this.labels.edit = res[editLabel];\r\n this.labels.policyDetailsHeading = res[policyDetailsHeadingLabel] ?? 'policyDetailsHeadingLabel'; // TEMP!: Remove failovers!\r\n this.labels.policyNumber = res[policyNumberLabel] ?? 'policyNumberLabel';\r\n this.labels.policyInceptionDate = res[policyInceptionDateLabel] ?? 'policyInceptionDateLabel';\r\n this.labels.policyExpiryDate = res[policyExpiryDateLabel] ?? 'policyExpiryDateLabel';\r\n this.labels.policyTerm = res[policyTermLabel] ?? 'policyTermLabel';\r\n this.labels.policyPremium = res[policyPremiumLabel] ?? 'policyPremiumLabel';\r\n this.labels.startClaim = res[startClaimLabel] ?? 'startClaimLabel';\r\n this.labels.lossDate = res[lossDateLabel] ?? 'lossDateLabel';\r\n this.labels.lossTime = res[lossTimeLabel] ?? 'lossTimeLabel';\r\n this.labels.timeZone = res[timeZoneLabel] ?? 'timeZoneLabel';\r\n this.labels.claimReason = res[claimReasonLabel] ?? 'claimReasonLabel';\r\n this.labels.claimDetails = res[claimDetailsLabel] ?? 'claimDetailsLabel';\r\n this.labels.awareDate = res[awareDateLabel] ?? 'awareDateLabel';\r\n this.labels.previousAnswers = res[previousAnswersLabel] ?? 'previousAnswersLabel';\r\n this.labels.supportingDocuments = res[supportingDocumentsLabel] ?? 'supportingDocumentsLabel';\r\n this.claimQuestionnaireLabel = res[claimQuestionnaireLabel] ?? 'claimQuestionnaireLabel';\r\n this.labels.uploadedDocuments = res[claimUploadedDocumentsLabel] ?? 'claimUploadedDocumentsLabel';\r\n\r\n });\r\n }\r\n\r\n populatePolicyDetails() {\r\n const policy = this.settingsService.selectedPolicy;\r\n\r\n if (policy?.policyNumber) {\r\n this.policyData = new SidebarObject();\r\n this.policyData = {\r\n label: this.labels.policyDetailsHeading,\r\n labels: [\r\n this.labels.policyNumber,\r\n this.labels.policyInceptionDate,\r\n this.labels.policyExpiryDate,\r\n this.labels.policyTerm,\r\n this.labels.policyPremium\r\n ],\r\n details: [\r\n policy.policyNumber,\r\n this.pagingService.convertDateIntoUTC(policy.policyInceptionDate),\r\n this.pagingService.convertDateIntoUTC(policy.policyExpiryDate), \r\n policy.policyTerm,\r\n policy.premium\r\n ]\r\n };\r\n }\r\n if (policy?.isContinuous) {\r\n\r\n this.policyData?.details?.splice(2, 1);\r\n this.policyData?.labels?.splice(2, 1);\r\n this.policyData?.details?.splice(3, 1);\r\n this.policyData?.labels?.splice(3, 1);\r\n\r\n }\r\n return this.policyData;\r\n }\r\n\r\n populateBasicClaimDetails() {\r\n const claimDetails: ClaimDetails = this.settingsService.claimDetails;\r\n if (claimDetails) {\r\n this.claimDataObject = new SidebarObject();\r\n this.claimDataObject = {\r\n label: this.labels.startClaim,\r\n labels: [\r\n this.labels.lossDate,\r\n this.labels.lossTime,\r\n this.labels.timeZone,\r\n this.labels.claimReason,\r\n this.labels.claimDetails,\r\n this.labels.awareDate\r\n ],\r\n details: [\r\n claimDetails.lossDate,\r\n claimDetails.lossTime,\r\n claimDetails.timeZone,\r\n claimDetails.claimReason,\r\n claimDetails.claimDetails,\r\n claimDetails.awareDate\r\n ]\r\n };\r\n }\r\n }\r\n\r\n populateUploadDocuments() {\r\n this.uploadDocumentsObject = null;\r\n if (this.settingsService.uploadDocuments) {\r\n const uploadDocuments: UploadDocuments = this.settingsService.uploadDocuments;\r\n this.uploadDocumentsObject = new SidebarObject();\r\n this.uploadDocumentsObject = {\r\n label: this.labels.uploadedDocuments,\r\n labels: [this.labels.supportingDocuments],\r\n details: [\r\n uploadDocuments.uploadedFilesName\r\n ]\r\n };\r\n }\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n editClicked(question: Question) {\r\n if (this.router.url === '/claim/claim-questionnaire') {\r\n this.changeClaimQuestion.emit(question);\r\n } else {\r\n this.questionSetService.navigateToIntentCode(question.qIntentCode);\r\n if (question && question.qQuestionType === 'Notification') {\r\n this.goToClaimQuestions();\r\n }\r\n }\r\n }\r\n\r\n goToClaimQuestions() {\r\n this.router.navigate(['claim/claim-questionnaire']);\r\n }\r\n\r\n goToPolicySelection() {\r\n if (!this.sharedSettings.allowCustomerIdentification) {\r\n this.router.navigate(['/account/policy']);\r\n }\r\n else {\r\n this.router.navigate(['/home/new-claim']); \r\n }\r\n }\r\n\r\n goToBasicClaimDetails() {\r\n this.router.navigate(['/claim/claim-details']);\r\n }\r\n\r\n goToUploadDocuments() {\r\n this.router.navigate(['/claim/upload-documents']);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { AppMaterialModule } from 'wtw-ui-components';\r\nimport { WtwUiComponentsModule } from 'wtw-ui-components';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { QuestionContainerComponent } from './question-set/question-container/question-container.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n QuestionContainerComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n AppMaterialModule,\r\n WtwUiComponentsModule,\r\n TranslateModule,\r\n FormsModule,\r\n ReactiveFormsModule.withConfig({callSetDisabledState: 'whenDisabledForLegacyCode'}),\r\n ],\r\n exports: [\r\n CommonModule,\r\n AppMaterialModule,\r\n WtwUiComponentsModule,\r\n TranslateModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n \r\n QuestionContainerComponent\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/plugins/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpParams } from '@angular/common/http';\r\nimport { CommonHttpService } from './common-http/common-http.service';\r\nimport { endPoints } from '../shared/core/app.config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CreatePasswordService {\r\n\r\n private getupdatecratepwdUrl = endPoints.apiUrl + endPoints.endPointName.updatecreatePasswordId;\r\n private geturl = endPoints.apiUrl + endPoints.endPointName.createPassword;\r\n\r\n\r\n constructor(private commonHttpService: CommonHttpService) { }\r\n\r\n updateCreateNewPasswordStatus(createPasswordId: any) {\r\n const getcreatepasswordUrl = this.getupdatecratepwdUrl + '/' + createPasswordId;\r\n return this.commonHttpService.httpGetService(getcreatepasswordUrl).subscribe(data => {\r\n });\r\n }\r\n validateNewCreatePassword(createPasswordId: any) {\r\n const getcreatepasswordUrl = this.geturl + '/' + createPasswordId;\r\n return this.commonHttpService.httpGetService(getcreatepasswordUrl);\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\n\r\nexport const CustomBreakpointNames = {\r\n mobile: 'mobile', /* Small - */\r\n tablet: 'tablet', /* Medium -*/\r\n desktop: 'desktop' /* Large */\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BreakpointsService {\r\n breakpoints: object = {\r\n '(max-width: 759px)': CustomBreakpointNames.mobile,\r\n '(min-width: 760px) and (max-width: 1280px)': CustomBreakpointNames.tablet,\r\n '(min-width: 1281px)': CustomBreakpointNames.desktop\r\n };\r\n\r\n getBreakpoints(): string[] {\r\n return Object.keys(this.breakpoints);\r\n }\r\n\r\n getBreakpointName(breakpointValue): string {\r\n return this.breakpoints[breakpointValue];\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport * as Msal from 'msal';\r\nimport { Router } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { CookieBannerService } from '../cookie-banner/cookie-banner.service';\r\nimport { ConfigService } from '../config/config.service';\r\nimport { IConfig } from '../../shared/models/app-config.model';\r\nimport * as jwt_decode from 'jwt-decode';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { CreatePasswordService } from '../CreatePassword.service';\r\n\r\nexport interface MSALTokenInfo {\r\n unique_name: string;\r\n iat: string; // issued at time\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MsalAuthenticationService {\r\n\r\n private authority: string;\r\n private clientApplication: Msal.UserAgentApplication;\r\n private appConfig: IConfig;\r\n private msalTokenInfo: MSALTokenInfo;\r\n private baseAuthorityUrl: string;\r\n private baseUrl = endPoints.baseUrl;\r\n private apiUrl = endPoints.apiUrl;\r\n private b2cLoginAuditLogUrl: string = endPoints.endPointName.b2cLoginAuditLog;\r\n createpasswordid: any;\r\n\r\n constructor(\r\n private configService: ConfigService,\r\n private router: Router,\r\n private cookieBannerService: CookieBannerService,\r\n private sessionStorage: SessionStorageService,\r\n private commonHttpService: CommonHttpService,\r\n private settingsService: SharedSettingsService,\r\n private createPasswordService: CreatePasswordService\r\n ) {\r\n\r\n this.setConfigServiceData(this.configService.getServiceConfigData());\r\n\r\n }\r\n\r\n private setConfigServiceData(configServiceData) {\r\n if (configServiceData) {\r\n this.appConfig = configServiceData;\r\n }\r\n if (this.appConfig) {\r\n this.baseAuthorityUrl = `${this.appConfig.azureAd.instance}/tfp/${this.appConfig.azureAd.tenantId}/`;\r\n this.authority = this.baseAuthorityUrl + (this.sessionStorage.get('EnableMFA') === true ?\r\n `${this.appConfig.azureAd.signUpSignInMFAPolicy}` : `${this.appConfig.azureAd.signUpSignInPolicy}`);\r\n this.buildUserAgentApplication();\r\n }\r\n }\r\n\r\n private authCallback(errorDesc: any, token: any, error: any, tokenType: any) {\r\n let msalKeysToRetain: string[];\r\n if (error) {\r\n msalKeysToRetain = ['msal.error', 'msal.login.error', 'msal.error.description'];\r\n this.removeMSALItems(msalKeysToRetain);\r\n console.error(`${error} ${errorDesc}`);\r\n if (errorDesc.indexOf('AADB2C90118') > -1) {\r\n sessionStorage.setItem('forgotPassword', 'true');\r\n this.forgotPassword();\r\n } else if (errorDesc.indexOf('AADB2C90091') > -1) {\r\n // Signup Cancel\r\n this.buildUserAgentApplication();\r\n this.login();\r\n }\r\n } else if (localStorage.getItem('msal.error') !== 'access_denied') {\r\n this.createpasswordid = sessionStorage.getItem('createpasswordid');\r\n if (this.createpasswordid !== null && this.createpasswordid !== '' &&\r\n this.createpasswordid !== undefined && this.createpasswordid !== 'null') {\r\n this.createPasswordService.updateCreateNewPasswordStatus(this.createpasswordid);\r\n }\r\n // Signin/Signup success\r\n this.b2cLoginAuditLog();\r\n msalKeysToRetain = ['msal.idtoken'];\r\n this.removeMSALItems(msalKeysToRetain);\r\n const currentTime = new Date();\r\n this.settingsService.ATPLoginExpiryTime = (currentTime.setMinutes(currentTime.getMinutes() + this.settingsService.TimeOutDuration));\r\n\r\n }\r\n }\r\n\r\n private forgotPassword() {\r\n this.authority = this.baseAuthorityUrl + `${this.appConfig.azureAd.resetPasswordPolicy}`;\r\n this.buildUserAgentApplication();\r\n this.login();\r\n }\r\n\r\n public createPassword(createpasswordid: any) {\r\n sessionStorage.setItem('createpasswordid', createpasswordid);\r\n this.authority = this.baseAuthorityUrl + `${this.appConfig.azureAd.resetPasswordPolicy}`;\r\n this.buildUserAgentApplication();\r\n this.login();\r\n }\r\n\r\n private buildUserAgentApplication(): void {\r\n this.clientApplication = new Msal.UserAgentApplication(\r\n this.appConfig.azureAd.clientId,\r\n this.authority,\r\n this.authCallback.bind(this),\r\n {\r\n cacheLocation: 'localStorage',\r\n navigateToLoginRequestUrl: false,\r\n postLogoutRedirectUri: window.location.origin + this.baseUrl + 'logout',\r\n redirectUri: window.location.origin + this.baseUrl,\r\n unprotectedResources: ['api/configuration/get'], // Bearer token is not required for the unprotected API resources\r\n validateAuthority: false,\r\n loadFrameTimeout: 30000\r\n });\r\n }\r\n\r\n b2cLoginAuditLog() {\r\n const apiURL = this.apiUrl + this.b2cLoginAuditLogUrl;\r\n return this.commonHttpService.httpPostServiceWithBearer(apiURL, null);\r\n }\r\n\r\n public login(): void {\r\n this.removeMSALItems();\r\n this.clientApplication.loginRedirect(this.appConfig.azureAd.b2cScopes, this.buildB2CLoginQueryString());\r\n }\r\n\r\n public logout(): void {\r\n this.cookieBannerService.clearLocalStorage();\r\n this.cookieBannerService.clearSessionStorage();\r\n this.cookieBannerService.clearExternalIntegrationSessionStorage();\r\n this.clientApplication.logout();\r\n }\r\n\r\n public getUserEmail(): string {\r\n this.msalTokenInfo = this.clientApplication.getUser().idToken as MSALTokenInfo;\r\n return this.msalTokenInfo.unique_name;\r\n }\r\n\r\n // This method provides the token issued time (user logged in time)\r\n // iat -> Issued at Time\r\n public getUserLoggedInDateTime(): string {\r\n this.msalTokenInfo = this.clientApplication.getUser().idToken as MSALTokenInfo;\r\n return this.msalTokenInfo.iat;\r\n }\r\n\r\n public changePassword() {\r\n this.authority = this.baseAuthorityUrl + `${this.appConfig.azureAd.changePasswordPolicyId}`;\r\n this.buildUserAgentApplication();\r\n this.login();\r\n }\r\n\r\n public getUser(): Msal.User {\r\n return this.clientApplication.getUser();\r\n }\r\n\r\n public authenticated(): Promise {\r\n const promise: Promise = new Promise(\r\n (resolve: (res: boolean) => void, reject: (res: boolean) => void) => {\r\n this.clientApplication.acquireTokenSilent(this.appConfig.azureAd.b2cScopes)\r\n .then(token => {\r\n resolve(true);\r\n }).catch((error) => {\r\n resolve(false);\r\n });\r\n });\r\n return promise;\r\n }\r\n\r\n public isSessionTimedOut(): boolean {\r\n const jwtToken = localStorage.getItem('msal.idtoken');\r\n\r\n if (jwtToken === null) {\r\n return false;\r\n }\r\n\r\n let tokenExpiryTime;\r\n if (this.settingsService.isATPLogin) {\r\n tokenExpiryTime = localStorage.getItem('ATPLoginExpiryTime');\r\n\r\n if (tokenExpiryTime === null || tokenExpiryTime === 'null' || tokenExpiryTime === undefined) {\r\n // *** To validate the 'msal.idtoken' we need ATPLoginExpirytime from SessonStorage.. *** //\r\n // *** If it is not available then we can get it by decoding the 'msal.idtoken' ***' //\r\n // const jwtObject = jwt_decode(jwtToken);\r\n // // this.settingsService.ATPLoginExpiryTime = jwtObject.exp * 1000;\r\n // // tokenExpiryTime = this.settingsService.ATPLoginExpiryTime;\r\n this.logout();\r\n return true;\r\n }\r\n\r\n } else {\r\n tokenExpiryTime = localStorage.getItem('idTokenExpiryTime');\r\n }\r\n\r\n // *** If we don't have Expiry Time in session then\r\n // *** we can cosnider that session a invalid session and can remove the msal token ***//\r\n if (tokenExpiryTime === null || tokenExpiryTime === 'null' || tokenExpiryTime === undefined) {\r\n localStorage.removeItem('ATPLoginExpiryTime');\r\n localStorage.removeItem('idTokenExpiryTime');\r\n\r\n this.cookieBannerService.clearLocalStorage();\r\n this.cookieBannerService.clearSessionStorage();\r\n this.cookieBannerService.clearExternalIntegrationSessionStorage();\r\n this.router.navigate(['**']);\r\n }\r\n\r\n const currentTime = new Date().getTime();\r\n if (jwtToken && tokenExpiryTime && tokenExpiryTime < currentTime) {\r\n localStorage.removeItem('ATPLoginExpiryTime');\r\n localStorage.removeItem('idTokenExpiryTime');\r\n localStorage.removeItem('msal.idtoken');\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n public isAuthenticated(): boolean {\r\n const isSessionTimeout = this.isSessionTimedOut();\r\n const jwtToken = localStorage.getItem('msal.idtoken');\r\n if (jwtToken === null || isSessionTimeout) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n public removeMSALItems(msalKeysToRetain?: string[]) {\r\n const keys: string[] = [];\r\n for (let i = 0; i < localStorage.length; i++) {\r\n if (localStorage.key(i).startsWith('msal')) {\r\n if (msalKeysToRetain && msalKeysToRetain.indexOf(localStorage.key(i)) > -1) {\r\n continue;\r\n }\r\n keys.push(localStorage.key(i));\r\n }\r\n }\r\n\r\n for (const key of keys) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n\r\n private buildB2CLoginQueryString(): string {\r\n const languageCode = this.sessionStorage.get('LanguageCode');\r\n const URL = 'ui_locales=' + (languageCode === 'zh-CHS' ? 'zh-Hans' : (languageCode === 'sr-RS' ? 'sr-latn-cs' : languageCode)) +\r\n '&campaignId=' + this.sessionStorage.get('SponsorName');\r\n return URL;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders, HttpRequest, HttpResponse, HttpBackend } from '@angular/common/http';\r\nimport { catchError } from 'rxjs/operators';\r\n\r\nimport { Observable, of } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { HttpOptions } from '../../shared/models/http-options.model';\r\nimport { LoggingService } from '../../shared/core/app-insights/logging.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class CommonHttpService {\r\n\r\n private httpOptions = {\r\n headers: new HttpHeaders({\r\n 'Content-Type': 'application/json'\r\n })\r\n };\r\n\r\n private httpClient: HttpClient;\r\n\r\n constructor(\r\n private http: HttpClient,\r\n private router: Router,\r\n private httpBackend: HttpBackend,\r\n private loggingService: LoggingService\r\n ) {\r\n // To Bypass the MSAL interceptor\r\n this.httpClient = new HttpClient(httpBackend);\r\n }\r\n\r\n // HTTP COMMON GET METHOD TO RETRIEVE FILE CONTENT\r\n httpGetFileService(url, httpOptions) {\r\n const req = new HttpRequest('GET', url, httpOptions);\r\n return this.http.request(req);\r\n }\r\n\r\n // HTTP COMMON GET METHOD - Bearer token is not added in the header.\r\n httpGetService(url) {\r\n return this.httpClient.get(url, this.httpOptions)\r\n .pipe(\r\n catchError(this.handleError('get', []))\r\n );\r\n }\r\n\r\n\r\n // HTTP COMMON POST METHOD - Bearer token is not added in the header.\r\n httpPostService(url, data) {\r\n return this.httpClient.post(url, data, this.httpOptions)\r\n .pipe(\r\n catchError(this.handleError('post', []))\r\n );\r\n }\r\n\r\n // HTTP COMMON GET METHOD - Bearer token is added in the header.\r\n httpGetServiceWithBearer(url) {\r\n return this.http.get(url, this.httpOptions)\r\n .pipe(\r\n catchError(this.handleError('get', []))\r\n );\r\n }\r\n\r\n // HTTP COMMON POST METHOD - Bearer token is added in the header.\r\n httpPostServiceWithBearer(url, data) {\r\n return this.http.post(url, data, this.httpOptions)\r\n .pipe(\r\n catchError(this.handleError('post', []))\r\n );\r\n }\r\n\r\n // Http Get To Retrieve File content\r\n httpGetFile(url) {\r\n const headers = new HttpHeaders().set('content-type', 'application/json');\r\n return this.http.get(url, { headers, responseType: 'blob' })\r\n .pipe(\r\n catchError(this.handleError('get', []))\r\n );\r\n }\r\n // Http Post for file content\r\n httpPostFile(url, data): Observable> {\r\n const headers = new HttpHeaders({\r\n Accept: 'application/json',\r\n });\r\n\r\n const options: HttpOptions = {\r\n headers,\r\n params: { data },\r\n observe: 'response' as 'response',\r\n responseType: 'blob' as 'blob'\r\n };\r\n return this.http.post(url, data, options);\r\n }\r\n\r\n httpPutService(url, data) {\r\n return this.http.put(url, data, this.httpOptions)\r\n .pipe(\r\n catchError(this.handleError('put', []))\r\n );\r\n }\r\n\r\n // HTTP COMMON ERROR HANDLER\r\n private handleError(operation = 'operation', result?: T) {\r\n return (error: any): Observable => {\r\n // TODO: send the error to remote logging infrastructure\r\n // Send the error details to AppInsights\r\n this.loggingService.logError(error);\r\n\r\n switch (error.status) {\r\n case 500: {\r\n console.log('Internal server error');\r\n this.navigateErrorPage();\r\n /* this._notificationService.showMessage(\r\n this._translationService.getTranslatedValue('ADMIN.SAVEFAIL'),\r\n this._translationService.getTranslatedValue('ADMIN.DISMISS'), 4000); */\r\n break;\r\n }\r\n case 401: {\r\n console.log('unauthorized');\r\n this.router.navigate(['/login']);\r\n break;\r\n }\r\n case 403: {\r\n this.router.navigate(['/error-page']);\r\n console.log('Forbidden/unauthorized');\r\n break;\r\n }\r\n default: {\r\n console.log('Invalid error');\r\n this.navigateErrorPage();\r\n break;\r\n }\r\n }\r\n // TODO: better job of transforming error for user consumption\r\n this.log(`${operation} failed: ${error.message}`);\r\n\r\n // Let the app keep running by returning an empty result.\r\n return of(result as T);\r\n };\r\n }\r\n\r\n private navigateErrorPage() {\r\n this.router.navigate(['/error-page']);\r\n }\r\n\r\n private log(message: string) {\r\n console.log('API service issue: ' + message);\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { IAppConfig, IConfig } from '../../shared/models';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class ConfigService {\r\n private serviceConfig: IConfig = null;\r\n\r\n constructor(private http: CommonHttpService) { }\r\n\r\n // ---- returning the confirguarion data object which get from below function api\r\n getServiceConfigData() {\r\n return this.serviceConfig;\r\n }\r\n\r\n // ----- This is to load configuration data(insyance, tenantId, clientId etc) from config controlls\r\n loadServiceConfigData(config: IAppConfig): Promise {\r\n const promise: Promise = new Promise((resolve: any) => {\r\n this.http.httpGetService(config.configApiEndPoints.GetConfigurationUrl)\r\n .subscribe(srvConfig => {\r\n this.serviceConfig = srvConfig as IConfig;\r\n resolve(true);\r\n });\r\n });\r\n return promise;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { MsalAuthenticationService } from '../common-auth/msalauthentication.service';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\n\r\n// added for question type mapping with control type\r\ntype controlMapping = { [key: string ]: string };\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseConstantService {\r\n\r\n static readonly SponsorNameQueryParamName = 'sname';\r\n static readonly ExtAuthNavQueryParamName = 'extauth';\r\n static readonly ProductIdQueryParamName = 'pid';\r\n static readonly SkipLandingPage = 'skiplp';\r\n static readonly Key_IsB2B = 'isb2b';\r\n static readonly Key_B2BUserName = 'b2busername';\r\n static readonly Key_B2BEmail = 'b2bemail';\r\n static readonly Key_IsATPDocumentDownloadForMCI = 'IsATPDocumentDownloadForMCI ';\r\n static readonly Key_ExistingCustomerQuote = 'ExistingCustomerQuote';\r\n static readonly Key_IsNetPremiumOverridden = 'IsNetPremiumOverridden';\r\n static readonly Key_IsQuoteReferredCheck = \"IsQuoteReferredCheck\";\r\n static readonly Key_ResumeCustomerId = 'ResumeCustomerId';\r\n static readonly Key_IsDefaultListViewForMCI = 'IsDefaultListViewForMCI'\r\n static readonly DefaultDateFormat = 'DD/MM/YYYY';\r\n static readonly YearMonthDayDateFormat = 'YYYY-MM-DD';\r\n static readonly WizardSponsorSponsorEnglishName = 'WIZARDSPONSOR';\r\n\r\n static readonly metaDataAllowSearch = 'index, follow';\r\n static readonly metaDataDenySearch = 'noindex, nofollow';\r\n\r\n static readonly Key_OrderId = 'OrderId';\r\n static readonly Key_QuoteReferenceID = 'QuoteReferenceID';\r\n static readonly Key_ProductId = 'ProductId';\r\n static readonly Key_IsB2cSingleCarrierMultiQuoteEnabled = 'isB2cSingleCarrierMultiQuoteEnabled';\r\n static readonly Key_IsB2cMultiCarrierQuotingEnabled = 'isB2cMultiCarrierQuotingEnabled';\r\n\r\n static readonly defaultSponsorBrandNameClaims = 'B2C Claims';\r\n static readonly Key_QuoteOrigin = 'NewSales';\r\n static readonly Key_Renewals = 'Renewals';\r\n static readonly Key_RepeatingGroupLength = \"RepeatingGroupLength\";\r\n static readonly Key_RepeatingGroupQuestionFormat = \"RepeatingGroup\";\r\n static readonly CattributeCustomerType = 'CattributeCustomerType';\r\n static readonly Key_Province = \"PROVINCE\";\r\n static readonly Key_QuoteStatusChangedFromReferred = \"QuoteStatusChangedFromReferred\"\r\n\r\n static readonly customerTypeList = [\r\n { id: 0, value: 'Both' },\r\n { id: 2, value: 'Company' },\r\n { id: 1, value: 'Person' }\r\n ]\r\n\r\n static readonly QUOTE_ORIGIN = {\r\n RENEWALS: 'Renewals',\r\n NEW_BUSINESS: 'NewBusiness'\r\n };\r\n\r\n // *** it is for isB2cSingleCarrierMultiQuoteEnabled ***/\r\n static readonly CoverageTerm = 'CoverageTerm';\r\n // static readonly DiscountRate = 'DiscountRate';\r\n\r\n //* ** PolicySearch Clone >> START */\r\n static readonly KEY_PolicyIdToBeCloned = 'PolicyIdToBeCloned';\r\n //* ** PolicySearch Clone >> END */\r\n\r\n static readonly KEY_PrimaryQuestionData = 'primaryQuestionData';\r\n static readonly KEY_AnsweredQuestionSet = 'AnsweredQuestionSet'\r\n static readonly KEY_IsRefreshRequired = 'IsRefreshRequired'\r\n static readonly IsCopyQuoteAtpClientQueryParamName = 'isCopyQuoteAtpClient';\r\n static readonly ProductTemplateIdQueryParamName = 'prtmpid';\r\n static readonly PolicyExternalRef = \"PolicyExternalRef\";\r\n static readonly KEY_PrimaryGrossPremium=\"PrimaryGrossPremium\";\r\n // static readonly KEY_DiscountRate=\"DiscountRate\";\r\n\r\n static readonly KEY_hidePolicyQuestionsEdit = 'HidePolicyQuestionsEdit'\r\n\r\n static readonly QuestionType = {\r\n Subtotal: 'SUBTOTAL',\r\n TaxOnPremium: 'TAXONPREMIUM',\r\n TaxSubtotal: 'TAXSUBTOTAL',\r\n Charge: 'CHARGE',\r\n TaxOnCharge: 'TAXONCHARGE',\r\n Commission: 'TAXONCHARGE',\r\n Policy: 'POLICY'\r\n };\r\n\r\n static mappedControlType: controlMapping = {\r\n dropdown: \"SELECT\",\r\n text: \"TEXT\",\r\n checkbox: \"CHECKBOX\",\r\n datepicker: \"DATEPICKER\",\r\n }\r\n\r\n static readonly Session = {\r\n msalIdToken: 'msal.idtoken',\r\n idTokenExpiryTime: 'idTokenExpiryTime',\r\n atpLoginExpiryTime: 'ATPLoginExpiryTime'\r\n }\r\n\r\n constructor(\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private settingsService: SharedSettingsService) { }\r\n\r\n async getLogOutText(logoutText: string) {\r\n\r\n // *** If 'VoucherBasedAcces' is enable then 'LogOut' option shouldn't be shown to users *** //\r\n const enableVoucherBasedAccess = this.settingsService.enableVoucherBasedAccess;\r\n if (enableVoucherBasedAccess === true) {\r\n return '';\r\n }\r\n\r\n // *** Once the user is 'LoggedIn' then only 'LogOut' option should be shown to users *** //\r\n return await this.msalAuthenticationService.authenticated().then(result => {\r\n if (!result) {\r\n return '';\r\n }\r\n return logoutText;\r\n });\r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\n\r\n\r\nexport class CookieBannerService {\r\n constructor(\r\n private router: Router,\r\n protected sharedSettingsService: SharedSettingsService,\r\n\r\n ) { }\r\n checkBannerStatus(): boolean {\r\n if (localStorage.getItem('cookie-enable') === '-1') {\r\n return false;\r\n } else if (localStorage.getItem('cookie-enable') === '1') {\r\n return true;\r\n } else if (!localStorage.getItem('cookie-enable')) {\r\n localStorage.setItem('cookie-enable', '1');\r\n return true;\r\n }\r\n }\r\n\r\n clearLocalStorageExceptCookie() {\r\n const keys: string[] = [];\r\n for (let i = 0; i < localStorage.length; i++) {\r\n if (localStorage.key(i) !== 'cookie-enable') {\r\n keys.push(localStorage.key(i));\r\n }\r\n }\r\n for (const key of keys) {\r\n localStorage.removeItem(key);\r\n }\r\n }\r\n\r\n clearLocalStorage() {\r\n localStorage.clear();\r\n }\r\n\r\n clearSessionStorage() {\r\n const sponsorId = sessionStorage.getItem('SponsorId');\r\n const customerIdentifier = sessionStorage.getItem('customerIdentifier');\r\n const sponsorName = sessionStorage.getItem('SponsorName');\r\n const productId = sessionStorage.getItem('ProductId');\r\n const languageId = sessionStorage.getItem('LanguageId');\r\n const languageCode = sessionStorage.getItem('LanguageCode');\r\n const QueryParams = sessionStorage.getItem('QueryParams');\r\n const siteActive = sessionStorage.getItem('SiteActive');\r\n const saveQuoteEnabled = sessionStorage.getItem('saveQuoteEnabled');\r\n const isPreferredLanguageSet = sessionStorage.getItem('IsPreferredLanguageSet');\r\n const isMultiProductLanding = sessionStorage.getItem('IsMultiProductLanding');\r\n const timeZoneOffset = sessionStorage.getItem('timeZoneOffset');\r\n const timeZone = sessionStorage.getItem('timeZone');\r\n const isSearchMetaDataRequired = sessionStorage.getItem('isSearchMetaDataRequired');\r\n const ErrorPagePreviousUrl = sessionStorage.getItem('ErrorPagePreviousUrl');\r\n const atpLoginExpiryTime = localStorage.getItem('ATPLoginExpiryTime');\r\n const idTokenExpiryTime = localStorage.getItem('idTokenExpiryTime');\r\n\r\n const enableVoucherBasedAccess = sessionStorage.getItem('EnableVoucherBasedAccess');\r\n const enableSSOBasedAccess = sessionStorage.getItem('EnableSSOBasedAccess');\r\n const enableICECommonAuth = sessionStorage.getItem('EnableICECommonAuth');\r\n const recaptchaVerified = sessionStorage.getItem('RecaptchaVerified');\r\n\r\n const enableMFA = sessionStorage.getItem('EnableMFA');\r\n\r\n const extAuthNav = sessionStorage.getItem('ExtAuthNav');\r\n\r\n const enableGuestPurchase = sessionStorage.getItem('EnableGuestPurchase');\r\n const allowCustomerIdentification = sessionStorage.getItem('allowCustomerIdentification');\r\n const enableAssently = sessionStorage.getItem('EnableAssently');\r\n const enableCustomerIdentityB2CClaims = sessionStorage.getItem('EnableCustomerIdentityB2CClaims');\r\n const isb2b = sessionStorage.getItem('isb2b');\r\n const externalData = sessionStorage.getItem('ExternalData');\r\n const externalValidationResult = sessionStorage.getItem('externalValidationResult');\r\n const tokenGenerationRedirectUrl = sessionStorage.getItem('tokenGenerationRedirectUrl');\r\n const CompressedViewOfPreviousAnswers = sessionStorage.getItem('CompressedViewOfPreviousAnswers');\r\n const isB2cSingleCarrierMultiQuoteEnabled = sessionStorage.getItem('isB2cSingleCarrierMultiQuoteEnabled');\r\n const customerId = sessionStorage.getItem('customerId');\r\n const email = sessionStorage.getItem('Email');\r\n const loggedInUser = sessionStorage.getItem('LoggedInUser');\r\n const newCreatePwdId = sessionStorage.getItem('createpasswordid');\r\n const EnableSalesV2Home = sessionStorage.getItem('EnableSalesV2Home');\r\n const legalApprovedRegionAppInsights = sessionStorage.getItem('legalApprovedRegionAppInsights');\r\n const gtm = sessionStorage.getItem('GTM');\r\n const DisplayGrossPremium = sessionStorage.getItem('DisplayGrossPremium');\r\n const LocalisedDateFormat = sessionStorage.getItem('LocalisedDateFormat');\r\n\r\n sessionStorage.clear();\r\n\r\n sessionStorage.setItem('SponsorId', sponsorId);\r\n sessionStorage.setItem('customerIdentifier', customerIdentifier);\r\n sessionStorage.setItem('SponsorName', sponsorName);\r\n sessionStorage.setItem('ProductId', productId);\r\n sessionStorage.setItem('LanguageId', languageId);\r\n sessionStorage.setItem('LanguageCode', languageCode);\r\n sessionStorage.setItem('QueryParams', QueryParams); // adding this to fix bug 169296 as after logout\r\n sessionStorage.setItem('SiteActive', siteActive);\r\n sessionStorage.setItem('saveQuoteEnabled', saveQuoteEnabled);\r\n sessionStorage.setItem('IsPreferredLanguageSet', isPreferredLanguageSet);\r\n sessionStorage.setItem('IsMultiProductLanding', isMultiProductLanding);\r\n sessionStorage.setItem('timeZoneOffset', timeZoneOffset);\r\n sessionStorage.setItem('timeZone', timeZone);\r\n sessionStorage.setItem('isSearchMetaDataRequired', isSearchMetaDataRequired);\r\n sessionStorage.setItem('ErrorPagePreviousUrl', ErrorPagePreviousUrl);\r\n localStorage.setItem('ATPLoginExpiryTime', atpLoginExpiryTime);\r\n localStorage.setItem('idTokenExpiryTime', idTokenExpiryTime);\r\n sessionStorage.setItem('EnableVoucherBasedAccess', enableVoucherBasedAccess);\r\n sessionStorage.setItem('EnableSSOBasedAccess', enableSSOBasedAccess);\r\n sessionStorage.setItem('EnableICECommonAuth', enableICECommonAuth);\r\n sessionStorage.setItem('RecaptchaVerified', recaptchaVerified);\r\n sessionStorage.setItem('EnableMFA', enableMFA);\r\n sessionStorage.setItem('ExtAuthNav', extAuthNav);\r\n sessionStorage.setItem('EnableGuestPurchase', enableGuestPurchase);\r\n sessionStorage.setItem('EnableAssently', enableAssently);\r\n sessionStorage.setItem('isb2b', isb2b);\r\n sessionStorage.setItem('ExternalData', externalData);\r\n sessionStorage.setItem('externalValidationResult', externalValidationResult);\r\n sessionStorage.setItem('tokenGenerationRedirectUrl', tokenGenerationRedirectUrl);\r\n sessionStorage.setItem('CompressedViewOfPreviousAnswers', CompressedViewOfPreviousAnswers);\r\n sessionStorage.setItem('isB2cSingleCarrierMultiQuoteEnabled', isB2cSingleCarrierMultiQuoteEnabled);\r\n sessionStorage.setItem('createpasswordid', newCreatePwdId);\r\n sessionStorage.setItem('EnableSalesV2Home', EnableSalesV2Home);\r\n sessionStorage.setItem('legalApprovedRegionAppInsights', legalApprovedRegionAppInsights);\r\n sessionStorage.setItem('EnableCustomerIdentityB2CClaims', enableCustomerIdentityB2CClaims);\r\n sessionStorage.setItem('GTM', gtm);\r\n sessionStorage.setItem('DisplayGrossPremium', DisplayGrossPremium);\r\n sessionStorage.setItem('allowCustomerIdentification', allowCustomerIdentification);\r\n sessionStorage.setItem('LocalisedDateFormat', LocalisedDateFormat);\r\n\r\n if (this.sharedSettingsService.extAuthNav === true) {\r\n sessionStorage.setItem('customerId', customerId);\r\n }\r\n\r\n if (this.router.url.includes('claim-submit') && this.sharedSettingsService.enableAssently === true) {\r\n sessionStorage.setItem('customerId', customerId);\r\n sessionStorage.setItem('Email', email);\r\n sessionStorage.setItem('LoggedInUser', loggedInUser);\r\n }\r\n\r\n\r\n // QueryParams gets clear from session storage which is causing this bug\r\n }\r\n\r\n clearExternalIntegrationSessionStorage() {\r\n const externalValidationResult = sessionStorage.removeItem('externalValidationResult');\r\n }\r\n\r\n getCookieValue(cookieName: string): string | null {\r\n const cookieString = document.cookie;\r\n const cookies = cookieString.split('; ');\r\n\r\n for (const cookie of cookies) {\r\n const [name, value] = cookie.split('=');\r\n\r\n if (cookie.split('&')?.length > 1) {\r\n // Check for cookie with multiple values\r\n for (const c of cookie.split('&')) {\r\n const [name, value] = c.split('=');\r\n if (name === cookieName) {\r\n return decodeURIComponent(value);\r\n }\r\n }\r\n }\r\n else if (name === cookieName) {\r\n return decodeURIComponent(value);\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { FormFieldBase } from '../../shared/form-field/form-field-base';\r\nimport { TextboxField } from '../../shared/form-field/textbox-field';\r\nimport { of } from 'rxjs';\r\nimport { TextAreaField } from '../../shared/form-field/textarea-field';\r\n\r\nimport { CurrencyBoxField } from '../../shared/form-field/currencybox-field';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service'\r\n\r\nexport function customValidatorsToFieldForMaxRange(field: TextboxField) {\r\n return (control: AbstractControl) => {\r\n let maxErrorFlag = false;\r\n const deLocalizedValue = this.sharedSettingsService.reverseFormatNumber(control.value);\r\n if ((field.questionFormat.toLowerCase() === 'numeric') && field.maxRange !== undefined\r\n && (Number(deLocalizedValue) > field.maxRange)) {\r\n maxErrorFlag = true;\r\n } else {\r\n maxErrorFlag = false;\r\n }\r\n return maxErrorFlag ? { max: true } : null;\r\n }\r\n}\r\n\r\nexport function customValidatorsToFieldForMinRange(field: TextboxField) {\r\n return (control: AbstractControl) => {\r\n let minxErrorFlag = false;\r\n const deLocalizedValue = this.sharedSettingsService.reverseFormatNumber(control.value);\r\n if ((field.questionFormat.toLowerCase() === 'numeric') && field.minRange !== undefined\r\n && (Number(deLocalizedValue) < field.minRange)) {\r\n minxErrorFlag = true;\r\n } else {\r\n minxErrorFlag = false;\r\n }\r\n return minxErrorFlag ? { min: true } : null;\r\n }\r\n}\r\nexport function customValidationToFieldForPattern(languageCode) {\r\n return (control: AbstractControl) => {\r\n let pattern = false;\r\n const thousandSeparator = new Intl.NumberFormat(languageCode).format(1111).replace(/1/g, '');\r\n const decimalSeparator = new Intl.NumberFormat(languageCode).format(1.1).replace(/1/g, '');\r\n const findDecimal = control.value?.split(decimalSeparator)[1];\r\n if (findDecimal?.includes(thousandSeparator)) {\r\n pattern = true;\r\n } else if (findDecimal?.length > 2) {\r\n pattern = true;\r\n }\r\n\r\n return pattern ? { pattern: true } : null;\r\n }\r\n}\r\n\r\nexport function applyMaxLengthValidation(field: CurrencyBoxField) {\r\n return (control: AbstractControl) => {\r\n let maxLengthErrorFlag = false;\r\n const deLocalizedValue = this.sharedSettingsService.reverseFormatNumber(control.value);\r\n if ((field.questionFormat.toLowerCase() === 'money') && field.maxLength !== undefined\r\n && (Number(deLocalizedValue) > 0) && (deLocalizedValue.length > field.maxLength)) {\r\n maxLengthErrorFlag = true;\r\n } else {\r\n maxLengthErrorFlag = false;\r\n }\r\n return maxLengthErrorFlag ? { maxLength: true } : null;\r\n }\r\n}\r\n\r\nexport function applyMinLengthValidation(field: CurrencyBoxField) {\r\n return (control: AbstractControl) => {\r\n let minLengthErrorFlag = false;\r\n const deLocalizedValue = this.sharedSettingsService.reverseFormatNumber(control.value);\r\n if ((field.questionFormat.toLowerCase() === 'money') && field.minLength !== undefined\r\n && (Number(deLocalizedValue) > 0) && (deLocalizedValue.length < field.minLength)) {\r\n minLengthErrorFlag = true;\r\n } else {\r\n minLengthErrorFlag = false;\r\n }\r\n return minLengthErrorFlag ? { minLength: true } : null;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class FormGroupControlService {\r\n constructor(private sessionStorage: SessionStorageService,\r\n private sharedSettingsService: SharedSettingsService\r\n ) { }\r\n\r\n toFormGroup(fields: FormFieldBase[], isGroupCheckbox?: boolean) {\r\n return new FormGroup(this.addValidators(fields, isGroupCheckbox));\r\n }\r\n\r\n toFormControlArray(fields: FormFieldBase[]) {\r\n return this.addValidators(fields);\r\n }\r\n\r\n formFieldswithOrder(formFields: FormFieldBase[]) {\r\n return of(formFields.sort((a, b) => a.order - b.order));\r\n }\r\n\r\n private addValidators(fields: FormFieldBase[], isGroupCheckbox?: boolean): any {\r\n const group: any = {};\r\n let fieldValue;\r\n\r\n fields.forEach(field => {\r\n const validatorArray = this.addValidatorsToField(field);\r\n if (field.controlType === 'checkbox') {\r\n fieldValue = field.value ? Boolean(JSON.parse(field.value)) : false;\r\n if (isGroupCheckbox && isGroupCheckbox === true) {\r\n group[field.key] = new FormControl(fieldValue);\r\n }\r\n else {\r\n group[field.key] = new FormControl(fieldValue, field.required ? Validators.requiredTrue : null);\r\n }\r\n }\r\n else if (validatorArray.length === 0) {\r\n fieldValue = field.value === '0' ? '0' : field.value;\r\n group[field.key] = fieldValue === 0 ? new FormControl(0) : new FormControl(fieldValue || '');\r\n } else {\r\n group[field.key] = new FormControl(field.value || '', validatorArray);\r\n }\r\n });\r\n\r\n return group;\r\n }\r\n\r\n // move this validation array to a common place to reuse this in other places.\r\n public addValidatorsToField(field: FormFieldBase): any[] {\r\n const validatorArray = [];\r\n if (field.required) {\r\n validatorArray.push(Validators.required);\r\n }\r\n if (field.minLength > 0) {\r\n validatorArray.push(Validators.minLength(field.minLength));\r\n }\r\n\r\n if (field.controlType === 'textbox') {\r\n const textBoxField = field as TextboxField;\r\n if (textBoxField.type === 'email') {\r\n validatorArray.push(Validators.email);\r\n }\r\n\r\n const quesetionformat = textBoxField && textBoxField.questionFormat ? textBoxField.questionFormat.toLowerCase() : '';\r\n if (quesetionformat === 'text' || quesetionformat === 'numeric' || quesetionformat === 'money') {\r\n const minLength = textBoxField.minLength;\r\n if (minLength && minLength > 0) {\r\n validatorArray.push(Validators.minLength(minLength));\r\n }\r\n const maxLength = textBoxField.maxLength;\r\n if (maxLength && maxLength > 0) {\r\n validatorArray.push(Validators.maxLength(maxLength));\r\n }\r\n const regexValidation = textBoxField.regexValidation;\r\n if (regexValidation) {\r\n validatorArray.push(Validators.pattern(regexValidation));\r\n }\r\n }\r\n\r\n if (quesetionformat === 'numeric') {\r\n if (textBoxField.localization) {\r\n const languageCode = this.sharedSettingsService.cultureName;\r\n validatorArray.push(Validators.pattern('[0-9., ]*$'))\r\n validatorArray.push(customValidatorsToFieldForMaxRange.bind(this)(field as TextboxField));\r\n validatorArray.push(customValidatorsToFieldForMinRange.bind(this)(field as TextboxField));\r\n validatorArray.push(customValidationToFieldForPattern(languageCode));\r\n } else {\r\n const minRange = textBoxField.minRange;\r\n if (minRange) {\r\n validatorArray.push(Validators.min(minRange));\r\n }\r\n const maxRange = textBoxField.maxRange;\r\n if (maxRange) {\r\n validatorArray.push(Validators.max(maxRange));\r\n }\r\n validatorArray.push(Validators.pattern('^[-]?[0-9., ]*$'));\r\n }\r\n }\r\n\r\n }\r\n if (field.controlType === 'textarea') {\r\n const textAreaField = field as TextAreaField;\r\n const quesetionformat = textAreaField && textAreaField.questionFormat ? textAreaField.questionFormat.toLowerCase() : '';\r\n if (quesetionformat === 'textarea') {\r\n const minLength = textAreaField.minLength;\r\n if (minLength && minLength > 0) {\r\n validatorArray.push(Validators.minLength(minLength));\r\n }\r\n const maxLength = textAreaField.maxLength;\r\n if (maxLength && maxLength > 0) {\r\n validatorArray.push(Validators.maxLength(maxLength));\r\n }\r\n }\r\n }\r\n\r\n if (field.controlType === 'money') {\r\n const currencyText = field as CurrencyBoxField;\r\n const quesetionformat = currencyText && currencyText.questionFormat ? currencyText.questionFormat.toLowerCase() : '';\r\n if (quesetionformat === 'money') {\r\n const languageCode = this.sharedSettingsService.cultureName;\r\n const minLength = currencyText.minLength;\r\n if (minLength && minLength > 0) {\r\n validatorArray.push(applyMinLengthValidation.bind(this)(field as CurrencyBoxField));\r\n }\r\n const maxLength = currencyText.maxLength;\r\n if (maxLength && maxLength > 0) {\r\n validatorArray.push(applyMaxLengthValidation.bind(this)(field as CurrencyBoxField));\r\n }\r\n validatorArray.push(Validators.pattern('[0-9., ]*$'))\r\n validatorArray.push(customValidationToFieldForPattern(languageCode));\r\n }\r\n }\r\n return validatorArray;\r\n }\r\n}\r\n","import {Injectable} from '@angular/core';\r\nimport {BreakpointObserver} from '@angular/cdk/layout';\r\nimport {BreakpointsService, CustomBreakpointNames} from '../breakpoints/breakpoints.service';\r\nimport {map} from 'rxjs/operators';\r\nimport {Observable} from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LayoutService {\r\n activeBreakpoints: string[] = [];\r\n\r\n constructor(private breakpointObserver: BreakpointObserver,\r\n private breakpointService: BreakpointsService) {\r\n }\r\n\r\n // --- check screen breakpoint when layout changes and form actibe break points string array\r\n subscribeToLayoutChanges(): Observable {\r\n return this.breakpointObserver\r\n .observe(this.breakpointService.getBreakpoints())\r\n .pipe(map((observeResponse) => this.parseBreakpointsResponse(observeResponse.breakpoints)));\r\n }\r\n\r\n parseBreakpointsResponse(breakpoints): string[] {\r\n this.activeBreakpoints = [];\r\n\r\n Object.keys(breakpoints).map((key) => {\r\n if (breakpoints[key]) {\r\n this.activeBreakpoints.push(this.breakpointService.getBreakpointName(key));\r\n }\r\n });\r\n\r\n return this.activeBreakpoints;\r\n }\r\n\r\n // --- will return which breapoints is active or not\r\n isBreakpointActive(breakpointName) {\r\n return this.activeBreakpoints.find(breakpoint => breakpoint === breakpointName);\r\n }\r\n\r\n // --- will return all active break points\r\n getAllBreakpoints() {\r\n return this.activeBreakpoints;\r\n }\r\n\r\n // -- 760 Px Wide - MOBILE - Applicable to all mobile views for both portrtait, landscape(Except like iphone x, pixel 2 xl landscape)\r\n isSmallView() {\r\n return this.activeBreakpoints.every(breakpoint => breakpoint === CustomBreakpointNames.mobile);\r\n }\r\n\r\n // -- 760px - 1280px wide - TABLET - Applicable to all tablet/ipad views\r\n isMediumView() {\r\n return this.activeBreakpoints.every(breakpoint => breakpoint === CustomBreakpointNames.tablet);\r\n }\r\n\r\n // -- Over 1280Px wide - DESKTOP - Applicable to all desktip views\r\n isLargeView() {\r\n return this.activeBreakpoints.every(breakpoint => breakpoint === CustomBreakpointNames.desktop);\r\n }\r\n}\r\n","import { HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { ExternalValidationResponse, ICustomerFieldValidations, IterationData, Policy } from '../../shared/models';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\nimport { Question } from '../../shared/models/question.model';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\n\r\nexport const QueryParamsKey = 'QueryParams';\r\nexport const LanguageIdKey = 'LanguageId';\r\nexport const LanguageCodeKey = 'LanguageCode';\r\nexport const SponsorNameKey = 'SponsorName';\r\nexport const SponsorIdKey = 'SponsorId';\r\nexport const ProductIdKey = 'ProductId';\r\nexport const TimeZoneKey = 'timeZone';\r\nexport const TimeZoneOffsetKey = 'timeZoneOffset';\r\nexport const CurrentUrlKey = 'currentUrl';\r\nexport const PreviousUrlKey = 'previousUrl';\r\nexport const EnableVoucherBasedAccessKey = 'EnableVoucherBasedAccess';\r\nexport const EnableSSOBasedAccessKey = 'EnableSSOBasedAccess';\r\nexport const EnableMFA = 'EnableMFA';\r\nexport const EnableICECommonAuth = 'EnableICECommonAuth';\r\nexport const RecaptchaVerified = 'RecaptchaVerified';\r\nexport const ExtAuthNavKey = 'ExtAuthNav';\r\nexport const EnableGuestPurchaseKey = 'EnableGuestPurchase';\r\nexport const EnableSponsorLogoKey = 'EnableSponsorLogo';\r\nexport const ExternalValidationIterationDataKey = 'ExternalValidationIterationData';\r\nexport const RecaptchaToken = 'RecaptchaToken';\r\nexport const RecaptchaCount = 'RecaptchaCount';\r\nexport const LoggedInUserKey = 'LoggedInUser';\r\nexport const IsMultiProductLanding = 'IsMultiProductLanding';\r\nexport const IsMultiProductFindOutMoreLinkClickedKey = 'IsMultiProductFindOutMoreLinkClicked';\r\nexport const EnableSponsorSpecificTagsKey = 'EnableSponsorSpecificTags';\r\nexport const SelectedPolicyKey = 'SelectedPolicyKey';\r\nexport const ATPLoginExpiryTime = 'ATPLoginExpiryTime';\r\nexport const CustomerIdKey = 'customerId';\r\nexport const IsPreferredLanguageSetKey = 'IsPreferredLanguageSet';\r\nexport const EnableAssentlyKey = 'EnableAssently';\r\nexport const TimeOutLimit = 30;\r\nexport const CompressedViewOfPreviousAnswersKey = 'CompressedViewOfPreviousAnswers';\r\nexport const SponsorBrandName = 'SponsorBrandName';\r\nexport const newOrEditQuoteAllowed = 'newOrEditQuoteAllowed';\r\nexport const customerTypeBoth = 0;\r\nexport const customerTypePerson = 1;\r\nexport const customerTypeCompany = 2;\r\nexport const CustomerFieldsValidations = 'CustomerFieldsValidations';\r\nexport const policyHolderDetailsFields = 'policyHolderDetailsFields';\r\nexport const IsB2cMultiCarrierQuotingEnabled = 'isB2cMultiCarrierQuotingEnabled';\r\nexport const IsB2cSingleCarrierMultiQuoteEnabled = 'isB2cSingleCarrierMultiQuoteEnabled';\r\nexport const GTMCodeKey = 'GTMCode';\r\nexport const IsLinkToPolicyClicked = 'IsLinkToPolicyClicked';\r\nexport const B2BCustomerIdKey = 'B2BCustomerId'; /* CustomerId for whom policy will be created through B2B flow */\r\nexport const DefaultCoverageTerm = 'DefaultCoverageTerm';\r\nexport const IsESignatureEnabled = 'IsESignatureEnabled';\r\nexport const IsDDBeforeESignature = 'IsDDBeforeESignature';\r\nexport const ProductName = 'ProductName';\r\nexport const IsMasterProduct = 'isMasterProduct';\r\nexport const IsUnderMasterPolicy = 'IsUnderMasterPolicy';\r\nexport const ProductCustomerType = 'ProductCustomerType';\r\nexport const DisplayGrossPremium = 'DisplayGrossPremium';\r\nimport moment, { Moment } from 'moment';\r\nexport const IsCopyQuoteAtpClient = 'IsCopyQuoteAtpClient';\r\nexport const SelectedCoverageTerm = 'SelectedCoverageTerm';\r\nexport const PrivacyPolicyData = 'PrivacyPolicyData'\r\nexport const AddPremiumOfMandatoryAndPreSelectedCoveragesKey = 'AddPremiumOfMandatoryAndPreSelectedCoveragesKey';\r\nexport const HidePolicyQuestionFromB2BProfileonB2CKey = 'HidePolicyQuestionFromB2BProfileonB2CKey'\r\nexport const EditPrimaryCoveargeTermOnSecondaryCoveragePageKey = 'EditPrimaryCoveargeTermOnSecondaryCoveragePageKey';\r\nexport const CurrencyIso4217 = 'currencyIso4217';\r\nexport const AlternateViewOfSecondaryCoveragePageKey = 'AlternateViewOfSecondaryCoveragePageKey';\r\nexport const ClearSelectionOnSecondaryCoverageskey = 'ClearSelectionOnSecondaryCoverageskey';\r\nexport const IsCopyQuotePolicyQuestion = 'IsCopyQuotePolicyQuestion';\r\nexport const NavigateToUserDetails = 'NavigateToUserDetails';\r\nexport const DiscountRate = 'DiscountRate';\r\nexport const AllowCustomerIdentificationKey = 'AllowCustomerIdentification';\r\nexport const EnableCustomerIdentityB2CClaimsKey = 'EnableCustomerIdentityB2CClaims';\r\nexport const AppExtValRetryUrl = 'AppExtValRetryUrl';\r\nexport const TokenGenerationRedirectUrl = 'TokenGenerationRedirectUrl';\r\nexport const ExternalValidationResult = 'ExternalValidationResult';\r\nexport const BlockedTimeForCutomerIdentifactionKey = 'BlockedTimeForCutomerIdentifaction';\r\nexport const ProductValidityEndDate = 'ProductValidityEndDate';\r\nexport const InActivityMinutesForSessionTimeoutKey = 'InActivityMinutesForSessionTimeout';\r\nexport const SponsorLanguageCodeKey = 'SponsorLanguageCode'\r\nexport const SessionTimeoutCountdown = 'SessionTimeoutCountdown';\r\nexport const renewalDeclineComment = 'RenewalDeclineComment';\r\nexport const UserSessionKey = 'UserSessionKey';// *** Unique session keys to identify the user's session ***/\r\nexport const MinimumCharForAutoSuggestion = 'MinimumCharForAutoSuggestion';\r\nexport const CultureName ='cultureName'\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class SharedSettingsService {\r\n private cachedValues: { [key: string]: any; } = {};\r\n private MCIPopUpText: string;\r\n private LookUpValues: any[] = [];\r\n private BaseQuestionData: Question[];\r\n private quoteDeclineRenewalSubject = new BehaviorSubject(null);\r\n private _homeTranslationCacheObj: any;\r\n\r\n constructor(private sessionStorageService: SessionStorageService) { }\r\n\r\n public set setBaseQuestionData(value: Question[]) {\r\n this.BaseQuestionData = value;\r\n }\r\n\r\n public get getBaseQuestionData(): Question[] {\r\n return this.BaseQuestionData;\r\n }\r\n\r\n public set setMCIPopUpText(value: string) {\r\n this.MCIPopUpText = value;\r\n }\r\n\r\n public get getMCIPopUpText(): string {\r\n return this.MCIPopUpText;\r\n }\r\n public set setLookUpValues(value: any[]) {\r\n this.LookUpValues = value;\r\n }\r\n\r\n public get getLookUpValues(): any[] {\r\n return this.LookUpValues;\r\n }\r\n\r\n public set customerFieldsValidationsList(value: ICustomerFieldValidations[]) {\r\n this.setValue(CustomerFieldsValidations, value);\r\n }\r\n public get customerFieldsValidationsList(): ICustomerFieldValidations[] {\r\n return this.getValue(CustomerFieldsValidations);\r\n }\r\n public set policyHolderDetailsFields(value) {\r\n this.setValue(policyHolderDetailsFields, value);\r\n }\r\n public get policyHolderDetailsFields() {\r\n return this.getValue(policyHolderDetailsFields);\r\n }\r\n\r\n // Define globally scoped settings here, application scoped settings in relevant subclass.\r\n\r\n public get TimeOutDuration(): number {\r\n return TimeOutLimit;\r\n }\r\n\r\n public set isMultiProductLanding(value: boolean) {\r\n this.setValue(IsMultiProductLanding, value);\r\n }\r\n\r\n public get isMultiProductLanding(): boolean {\r\n return this.getValue(IsMultiProductLanding);\r\n }\r\n\r\n public set sponsorBrandName(value: string) {\r\n this.setValue(SponsorBrandName, value);\r\n }\r\n public get sponsorBrandName(): string {\r\n return this.getValue(SponsorBrandName);\r\n }\r\n public set isMultiProductFindOutMoreLinkClicked(value: boolean) {\r\n this.setValue(IsMultiProductFindOutMoreLinkClickedKey, value);\r\n }\r\n\r\n public get isMultiProductFindOutMoreLinkClicked(): boolean {\r\n return this.getValue(IsMultiProductFindOutMoreLinkClickedKey);\r\n }\r\n\r\n // Query Params\r\n public get queryParams(): { [id: number]: string; } {\r\n return this.getValue<{ [id: number]: string; }>(QueryParamsKey);\r\n }\r\n\r\n public set queryParams(value: { [id: number]: string; }) {\r\n this.setValue(QueryParamsKey, value);\r\n }\r\n\r\n // Language Id\r\n public get languageId(): number {\r\n const languageIdValue = this.getValue(LanguageIdKey);\r\n if (languageIdValue !== null && languageIdValue !== undefined && languageIdValue > 0) {\r\n return languageIdValue;\r\n }\r\n else {\r\n return 1;\r\n }\r\n }\r\n\r\n public set languageId(value: number) {\r\n this.setValue(LanguageIdKey, value);\r\n }\r\n\r\n // Language Code\r\n public get languageCode(): string {\r\n return this.getValue(LanguageCodeKey);\r\n }\r\n\r\n public set languageCode(value: string) {\r\n this.setValue(LanguageCodeKey, value);\r\n }\r\n\r\n // EnableAssentlyKey\r\n public get enableAssently(): boolean {\r\n return this.getValue(EnableAssentlyKey);\r\n }\r\n\r\n public set enableAssently(value: boolean) {\r\n this.setValue(EnableAssentlyKey, value);\r\n }\r\n\r\n // CompressedViewOfPreviousAnswersKey\r\n public get compressedViewOfPreviousAnswers(): boolean {\r\n return this.getValue(CompressedViewOfPreviousAnswersKey);\r\n }\r\n\r\n public set compressedViewOfPreviousAnswers(value: boolean) {\r\n this.setValue(CompressedViewOfPreviousAnswersKey, value);\r\n }\r\n\r\n public get displayGrossPremium(): boolean {\r\n return this.getValue(DisplayGrossPremium)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set displayGrossPremium(value: boolean) {\r\n this.setValue(DisplayGrossPremium, value.toString());\r\n }\r\n\r\n // Sponsor Name\r\n public get sponsorName(): string {\r\n return this.getValue(SponsorNameKey);\r\n }\r\n\r\n public set sponsorName(value: string) {\r\n this.setValue(SponsorNameKey, value);\r\n }\r\n\r\n // Sponsor ID\r\n public get sponsorId(): number {\r\n const sponsorIdValue = this.getValue(SponsorIdKey);\r\n if (sponsorIdValue !== null && sponsorIdValue !== undefined && sponsorIdValue > 0) {\r\n return sponsorIdValue;\r\n }\r\n else {\r\n return -1;\r\n }\r\n }\r\n\r\n public set sponsorId(value: number) {\r\n this.setValue(SponsorIdKey, value);\r\n }\r\n\r\n // Product ID\r\n public get productId(): number {\r\n return this.getValue(ProductIdKey);\r\n }\r\n\r\n public set productId(value: number) {\r\n this.setValue(ProductIdKey, value);\r\n }\r\n\r\n // EnableVoucherBasedAccess\r\n public get enableVoucherBasedAccess(): boolean {\r\n return this.getValue(EnableVoucherBasedAccessKey);\r\n }\r\n\r\n public set enableVoucherBasedAccess(value: boolean) {\r\n this.setValue(EnableVoucherBasedAccessKey, value);\r\n }\r\n\r\n // EnableSSOBasedAccess\r\n public get enableSSOBasedAccess(): boolean {\r\n return this.getValue(EnableSSOBasedAccessKey);\r\n }\r\n\r\n public set enableSSOBasedAccess(value: boolean) {\r\n this.setValue(EnableSSOBasedAccessKey, value);\r\n }\r\n\r\n // EnableMFA\r\n public get enableMFA(): boolean {\r\n return this.getValue(EnableMFA);\r\n }\r\n\r\n public set enableMFA(value: boolean) {\r\n this.setValue(EnableMFA, value);\r\n }\r\n\r\n // enableICECommonAuth\r\n public get enableICECommonAuth(): boolean {\r\n return this.getValue(EnableICECommonAuth);\r\n }\r\n\r\n public set enableICECommonAuth(value: boolean) {\r\n this.setValue(EnableICECommonAuth, value);\r\n }\r\n\r\n // recaptchaVerified\r\n public get recaptchaVerified(): boolean {\r\n return this.getValue(RecaptchaVerified);\r\n }\r\n\r\n public set recaptchaVerified(value: boolean) {\r\n this.setValue(RecaptchaVerified, value);\r\n }\r\n\r\n\r\n // ExtAuthNav\r\n public get extAuthNav(): boolean {\r\n return this.getValue(ExtAuthNavKey);\r\n }\r\n\r\n public set extAuthNav(value: boolean) {\r\n this.setValue(ExtAuthNavKey, value);\r\n }\r\n\r\n // EnableGuestPurchase\r\n public get enableGuestPurchase(): boolean {\r\n return this.getValue(EnableGuestPurchaseKey);\r\n }\r\n\r\n public set enableGuestPurchase(value: boolean) {\r\n this.setValue(EnableGuestPurchaseKey, value);\r\n }\r\n\r\n\r\n // EnableSponsorSpecificTags\r\n public get enableSponsorSpecificTags(): boolean {\r\n return this.getValue(EnableSponsorSpecificTagsKey);\r\n }\r\n\r\n public set enableSponsorSpecificTags(value: boolean) {\r\n this.setValue(EnableSponsorSpecificTagsKey, value);\r\n }\r\n\r\n // EnableSponsorLogo\r\n public get enableSponsorLogo(): boolean {\r\n return this.getValue(EnableSponsorLogoKey);\r\n }\r\n\r\n public set enableSponsorLogo(value: boolean) {\r\n this.setValue(EnableSponsorLogoKey, value);\r\n }\r\n\r\n // Time Zone\r\n public get timeZone(): string {\r\n return this.getValue(TimeZoneKey);\r\n }\r\n\r\n public set timeZone(value: string) {\r\n this.setValue(TimeZoneKey, value);\r\n }\r\n\r\n // Time Zone Offset\r\n public get timeZoneOffset(): string {\r\n return this.getValue(TimeZoneOffsetKey);\r\n }\r\n\r\n public set timeZoneOffset(value: string) {\r\n this.setValue(TimeZoneOffsetKey, value);\r\n }\r\n\r\n // Current URL\r\n public get currentUrl(): string {\r\n return this.getValue(CurrentUrlKey);\r\n }\r\n\r\n public set currentUrl(value: string) {\r\n this.setValue(CurrentUrlKey, value);\r\n }\r\n\r\n // Previous URL\r\n public get previousUrl(): string {\r\n return this.getValue(PreviousUrlKey);\r\n }\r\n\r\n public set previousUrl(value: string) {\r\n this.setValue(PreviousUrlKey, value);\r\n }\r\n\r\n // ExternalValidationIterationData\r\n public get externalValidationIterationData(): IterationData {\r\n return this.getValue(ExternalValidationIterationDataKey);\r\n }\r\n\r\n public set externalValidationIterationData(value: IterationData) {\r\n this.setValue(ExternalValidationIterationDataKey, value);\r\n }\r\n\r\n // RecaptchaToken\r\n public get recaptchaToken(): string {\r\n return this.getValue(RecaptchaToken);\r\n }\r\n\r\n public set recaptchaToken(value: string) {\r\n this.setValue(RecaptchaToken, value);\r\n }\r\n\r\n // Recaptcha Verification Count\r\n public get recaptchaCount(): number {\r\n return this.getValue(RecaptchaCount);\r\n }\r\n\r\n public set recaptchaCount(value: number) {\r\n this.setValue(RecaptchaCount, value);\r\n }\r\n\r\n // Get logged in user name\r\n public get loggedInUser(): string {\r\n return this.getValue(LoggedInUserKey);\r\n }\r\n\r\n public set loggedInUser(value: string) {\r\n this.setValue(LoggedInUserKey, value);\r\n }\r\n\r\n // Selected policy by user\r\n public get selectedPolicy(): Policy {\r\n return this.getValue(SelectedPolicyKey);\r\n }\r\n\r\n public set selectedPolicy(value: Policy) {\r\n this.setValue(SelectedPolicyKey, value);\r\n }\r\n\r\n public get ATPLoginExpiryTime(): number {\r\n return this.getValueFromLocalStorage(ATPLoginExpiryTime);\r\n }\r\n\r\n public set ATPLoginExpiryTime(value: number) {\r\n this.setValueToLocalStorage(ATPLoginExpiryTime, value);\r\n }\r\n\r\n public resetSelectedPolicy() {\r\n this.selectedPolicy = null;\r\n }\r\n // CustomerId\r\n public get customerId(): number {\r\n return this.getValue(CustomerIdKey);\r\n }\r\n\r\n public set customerId(value: number) {\r\n this.setValue(CustomerIdKey, value);\r\n }\r\n\r\n public set isPreferredLanguageSet(value: boolean) {\r\n this.setValue(IsPreferredLanguageSetKey, value);\r\n }\r\n\r\n public get isPreferredLanguageSet(): boolean {\r\n return this.getValue(IsPreferredLanguageSetKey);\r\n }\r\n\r\n // Minimum character for auto suggestion\r\n public get minimumCharForAutoSuggestion(): number {\r\n return this.getValue(MinimumCharForAutoSuggestion);\r\n }\r\n\r\n public set minimumCharForAutoSuggestion(value: number) {\r\n this.setValue(MinimumCharForAutoSuggestion, value);\r\n }\r\n\r\n\r\n // Generic functions\r\n public remove(key: string) {\r\n delete this.cachedValues[key];\r\n this.sessionStorageService.remove(key);\r\n }\r\n\r\n protected getValue(key: string): T {\r\n return this.sessionStorageService.get(key) as T;\r\n }\r\n\r\n protected setValue(key: string, value: any) {\r\n this.sessionStorageService.set(key, value);\r\n }\r\n\r\n protected getValueFromLocalStorage(key: string): any {\r\n return localStorage.getItem(key) as any;\r\n }\r\n\r\n protected setValueToLocalStorage(key: string, value: any) {\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n // New or Edit Quote\r\n public get newOrEditQuoteAllowed(): boolean {\r\n return this.getValue(newOrEditQuoteAllowed);\r\n }\r\n\r\n public set newOrEditQuoteAllowed(value: boolean) {\r\n this.setValue(newOrEditQuoteAllowed, value);\r\n }\r\n\r\n public get isATPLogin(): boolean {\r\n const isB2BFlow = this.isB2B();\r\n const hasGuestToken = window.location.href.indexOf('id_token') > 0 ? true : false;\r\n return !(this.enableVoucherBasedAccess || this.enableSSOBasedAccess\r\n || this.enableGuestPurchase || this.enableAssently\r\n || isB2BFlow || hasGuestToken || this.extAuthNav || this.allowCustomerIdentification);\r\n }\r\n\r\n public getUrlParameterByName(paramName: string, useCaching: boolean = true) {\r\n const params = this.getAllParameters(useCaching);\r\n return params && params[paramName];\r\n }\r\n\r\n public getAllParameters(useCaching: boolean = true): { [id: string]: string; } {\r\n const stashedResult = useCaching && this.queryParams;\r\n if (stashedResult) {\r\n return stashedResult;\r\n }\r\n const params: { [id: number]: string; } = {};\r\n const url = window.location.href;\r\n if (url.includes('?')) {\r\n const httpParams = new HttpParams({ fromString: url.split('?')[1] });\r\n for (const paramName of httpParams.keys()) {\r\n params[paramName] = httpParams.get(paramName);\r\n }\r\n // adding this code for bug 170050 //\r\n const paramVal = JSON.stringify(params);\r\n const queryParamsVal = JSON.stringify(this.queryParams);\r\n if (url.includes('?sname')) {\r\n if (paramVal !== queryParamsVal && (paramVal !== 'null' &&\r\n queryParamsVal !== 'null')) {\r\n sessionStorage.clear();\r\n }\r\n }\r\n }\r\n\r\n if (useCaching) {\r\n this.queryParams = params;\r\n }\r\n return params;\r\n }\r\n\r\n public isB2B() {\r\n let isB2B = this.getUrlParameterByName(BaseConstantService.Key_IsB2B) === 'true' ? true : false;\r\n if (isB2B === false) {\r\n isB2B = this.sessionStorageService.get(BaseConstantService.Key_IsB2B) === true ? true : false;\r\n }\r\n return isB2B;\r\n }\r\n\r\n public b2bEmail(): string {\r\n let b2bEmail = this.getUrlParameterByName(BaseConstantService.Key_B2BEmail);\r\n if (b2bEmail === undefined || b2bEmail === null || b2bEmail === '') {\r\n b2bEmail = this.sessionStorageService.get(BaseConstantService.Key_B2BEmail);\r\n }\r\n return b2bEmail;\r\n }\r\n\r\n public b2bName(): string {\r\n const b2bName = this.sessionStorageService.get(BaseConstantService.Key_B2BUserName);\r\n return b2bName;\r\n }\r\n public get customerTypeCompany(): number {\r\n return customerTypeCompany;\r\n }\r\n public get customerTypePerson(): number {\r\n return customerTypePerson;\r\n }\r\n\r\n public get isB2cMultiCarrierQuotingEnabled(): boolean {\r\n return this.getValue(IsB2cMultiCarrierQuotingEnabled)?.toString().toLowerCase() === 'true';\r\n }\r\n public set isB2cMultiCarrierQuotingEnabled(value: boolean) {\r\n this.setValue(IsB2cMultiCarrierQuotingEnabled, value.toString());\r\n }\r\n\r\n public get isB2cSingleCarrierMultiQuoteEnabled(): boolean {\r\n return this.getValue(IsB2cSingleCarrierMultiQuoteEnabled);\r\n }\r\n public set isB2cSingleCarrierMultiQuoteEnabled(value: boolean) {\r\n this.setValue(IsB2cSingleCarrierMultiQuoteEnabled, value);\r\n }\r\n public get isCopyQuotePolicyQuestion(): boolean {\r\n return this.getValue(IsCopyQuotePolicyQuestion)?.toString().toLowerCase() === 'true';\r\n }\r\n public set isCopyQuotePolicyQuestion(value: boolean) {\r\n this.setValue(IsCopyQuotePolicyQuestion, value.toString());\r\n }\r\n public get navigateToUserDetails(): boolean {\r\n return this.getValue(NavigateToUserDetails);\r\n }\r\n public set navigateToUserDetails(value: boolean) {\r\n this.setValue(NavigateToUserDetails, value);\r\n }\r\n\r\n public get isATPDocumentDownloadForMCI(): boolean {\r\n\r\n const isATPDocumentDownloadForMCI = this.sessionStorageService.get(BaseConstantService.Key_IsATPDocumentDownloadForMCI);\r\n return isATPDocumentDownloadForMCI;\r\n }\r\n\r\n public get existingCustomerQuote(): boolean {\r\n return this.getValue(BaseConstantService.Key_ExistingCustomerQuote)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set existingCustomerQuote(value: boolean) {\r\n this.setValue(BaseConstantService.Key_ExistingCustomerQuote, value.toString());\r\n }\r\n\r\n public get isNetPremiumOverridden(): boolean {\r\n return this.getValue(BaseConstantService.Key_IsNetPremiumOverridden)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set isNetPremiumOverridden(value: boolean) {\r\n this.setValue(BaseConstantService.Key_IsNetPremiumOverridden, value.toString());\r\n }\r\n\r\n public get isQuoteReferredCheck(): boolean {\r\n return this.getValue(BaseConstantService.Key_IsQuoteReferredCheck)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set isQuoteReferredCheck(value: boolean) {\r\n this.setValue(BaseConstantService.Key_IsQuoteReferredCheck, value.toString());\r\n }\r\n\r\n public get resumeCustomerId(): number {\r\n const resumeCustomerId = this.sessionStorageService.get(BaseConstantService.Key_ResumeCustomerId);\r\n return resumeCustomerId;\r\n }\r\n\r\n public set IsRefreshRequired(value: boolean) {\r\n this.setValue(BaseConstantService.KEY_IsRefreshRequired, value);\r\n }\r\n\r\n public get IsRefreshRequired(): boolean {\r\n return this.getValue(BaseConstantService.KEY_IsRefreshRequired);\r\n }\r\n\r\n public set isDefaultListViewForMCI(value: boolean) {\r\n this.setValue(BaseConstantService.Key_IsDefaultListViewForMCI, value);\r\n }\r\n\r\n public get isDefaultListViewForMCI(): boolean {\r\n return this.getValue(BaseConstantService.Key_IsDefaultListViewForMCI);\r\n }\r\n\r\n setLocalisedDateFormat(objDate: any) {\r\n let dateFormat = 'DD/MM/YYYY';\r\n if (this.sessionStorageService.get('LocalisedDateFormat')) {\r\n dateFormat = this.sessionStorageService.get('LocalisedDateFormat');\r\n }\r\n const objectNewDate = moment(objDate).valueOf();\r\n const resultDate = moment(objectNewDate).format(dateFormat);\r\n if (resultDate && resultDate !== 'Invalid date' && resultDate !== undefined) {\r\n return resultDate;\r\n }\r\n return objDate;\r\n }\r\n\r\n public get PrimaryQuestionData(): any {\r\n const primaryQuestion = this.getValue(BaseConstantService.KEY_PrimaryQuestionData);\r\n return JSON.parse(primaryQuestion);\r\n }\r\n\r\n public set PrimaryQuestionData(value: any) {\r\n const primaryQuestion = JSON.stringify(value);\r\n this.setValue(BaseConstantService.KEY_PrimaryQuestionData, primaryQuestion);\r\n }\r\n\r\n public get isLinkToPolicyClicked(): boolean {\r\n return this.getValue(IsLinkToPolicyClicked);\r\n }\r\n\r\n public set isLinkToPolicyClicked(value: boolean) {\r\n this.setValue(IsLinkToPolicyClicked, value);\r\n }\r\n\r\n\r\n public get AnsweredQuestionSet(): any {\r\n const answeredQuestionSet = this.getValue(BaseConstantService.KEY_AnsweredQuestionSet);\r\n return JSON.parse(answeredQuestionSet);\r\n }\r\n\r\n public set AnsweredQuestionSet(value: any) {\r\n const answeredQuestionSet = JSON.stringify(value);\r\n this.setValue(BaseConstantService.KEY_AnsweredQuestionSet, answeredQuestionSet);\r\n }\r\n\r\n // GTM Code\r\n public get gtmCode(): string {\r\n return this.getValue(GTMCodeKey);\r\n }\r\n\r\n public set gtmCode(value: string) {\r\n this.setValue(GTMCodeKey, value);\r\n }\r\n\r\n // PreviousAnswerEditButtonStatus\r\n getPreviousAnswerEditButtonStatus() {\r\n if (sessionStorage?.PreviousAnsEditButton) {\r\n return JSON.parse(sessionStorage?.PreviousAnsEditButton)._value;\r\n }\r\n }\r\n\r\n public get b2BCustomerId(): number {\r\n return this.getValue(B2BCustomerIdKey);\r\n }\r\n\r\n public set b2BCustomerId(value: number) {\r\n this.setValue(B2BCustomerIdKey, value);\r\n }\r\n\r\n public set defaultCoverageTerm(value: string) {\r\n this.setValue(DefaultCoverageTerm, value);\r\n }\r\n public get defaultCoverageTerm(): string {\r\n return this.getValue(DefaultCoverageTerm);\r\n }\r\n\r\n public set isESignatureEnabled(value: boolean) {\r\n this.setValue(IsESignatureEnabled, value);\r\n }\r\n public get isESignatureEnabled(): boolean {\r\n return this.getValue(IsESignatureEnabled);\r\n }\r\n\r\n public set productName(value: string) {\r\n this.setValue(ProductName, value);\r\n }\r\n public get productName(): string {\r\n return this.getValue(ProductName);\r\n }\r\n\r\n public set isDDBeforeESignature(value: boolean) {\r\n this.setValue(IsDDBeforeESignature, value);\r\n }\r\n public get isDDBeforeESignature(): boolean {\r\n return this.getValue(IsDDBeforeESignature);\r\n }\r\n\r\n public set isMasterProduct(value: boolean) {\r\n this.setValue(IsMasterProduct, value);\r\n }\r\n public get isMasterProduct(): boolean {\r\n return this.getValue(IsMasterProduct);\r\n }\r\n\r\n public set isUnderMasterPolicy(value: boolean) {\r\n this.setValue(IsUnderMasterPolicy, value);\r\n }\r\n public get isUnderMasterPolicy(): boolean {\r\n return this.getValue(IsUnderMasterPolicy);\r\n }\r\n\r\n public set productValidityEndDate(value: Moment) {\r\n this.setValue(ProductValidityEndDate, value);\r\n }\r\n public get productValidityEndDate(): Moment {\r\n return this.getValue(ProductValidityEndDate);\r\n }\r\n\r\n public set productCustomerType(value: number) {\r\n this.setValue(ProductCustomerType, value);\r\n }\r\n public get productCustomerType(): number {\r\n return this.getValue(ProductCustomerType);\r\n }\r\n\r\n public get isCopyQuoteAtpClient(): boolean {\r\n return this.getValue(IsCopyQuoteAtpClient);\r\n }\r\n\r\n public set isCopyQuoteAtpClient(value: boolean) {\r\n this.setValue(IsCopyQuoteAtpClient, value);\r\n }\r\n\r\n public get selectedCoverageTerm(): string {\r\n return this.getValue(SelectedCoverageTerm);\r\n }\r\n\r\n public set selectedCoverageTerm(value: string) {\r\n this.setValue(SelectedCoverageTerm, value);\r\n }\r\n\r\n public get privacyPolicyData() {\r\n return this.getValue(PrivacyPolicyData);\r\n }\r\n\r\n public set privacyPolicyData(value) {\r\n this.setValue(PrivacyPolicyData, value);\r\n }\r\n\r\n\r\n public set addPremiumOfMandatoryAndPreSelectedCoverages(value: boolean) {\r\n this.setValue(AddPremiumOfMandatoryAndPreSelectedCoveragesKey, value);\r\n }\r\n\r\n public get addPremiumOfMandatoryAndPreSelectedCoverages(): boolean {\r\n return this.getValue(AddPremiumOfMandatoryAndPreSelectedCoveragesKey);\r\n }\r\n public set editPrimaryCoveargeTermOnSecondaryCoveragePage(value: boolean) {\r\n this.setValue(EditPrimaryCoveargeTermOnSecondaryCoveragePageKey, value);\r\n }\r\n\r\n public get editPrimaryCoveargeTermOnSecondaryCoveragePage(): boolean {\r\n return this.getValue(EditPrimaryCoveargeTermOnSecondaryCoveragePageKey);\r\n }\r\n\r\n public set hidePolicyQuestionFromB2BProfileonB2C(value: boolean) {\r\n this.setValue(HidePolicyQuestionFromB2BProfileonB2CKey, value);\r\n }\r\n\r\n public get hidePolicyQuestionFromB2BProfileonB2C(): boolean {\r\n return this.getValue(HidePolicyQuestionFromB2BProfileonB2CKey);\r\n }\r\n\r\n public set currencyIso4217(value: string) {\r\n this.setValue(CurrencyIso4217, value);\r\n }\r\n public get currencyIso4217(): string {\r\n return this.getValue(CurrencyIso4217);\r\n }\r\n\r\n public set setAlternateViewOfSecondaryCoveragePage(value: boolean) {\r\n this.setValue(AlternateViewOfSecondaryCoveragePageKey, value);\r\n }\r\n\r\n public get getAlternateViewOfSecondaryCoveragePage(): boolean {\r\n return this.getValue(AlternateViewOfSecondaryCoveragePageKey);\r\n }\r\n\r\n public set setClearSelectionOnSecondaryCoverage(value: boolean) {\r\n this.setValue(ClearSelectionOnSecondaryCoverageskey, value);\r\n }\r\n public get getClearSelectionOnSecondaryCoverage(): boolean {\r\n return this.getValue(ClearSelectionOnSecondaryCoverageskey);\r\n }\r\n public get discountRate(): any {\r\n return this.getValue(DiscountRate);\r\n }\r\n public set discountRate(value: any) {\r\n this.setValue(DiscountRate, value);\r\n }\r\n // AllowCustomerIdentification\r\n public get allowCustomerIdentification(): boolean {\r\n return this.getValue(AllowCustomerIdentificationKey);\r\n }\r\n\r\n public set allowCustomerIdentification(value: boolean) {\r\n this.setValue(AllowCustomerIdentificationKey, value);\r\n }\r\n\r\n // EnableCustomerIdentityB2CClaims\r\n public get enableCustomerIdentityB2CClaims(): boolean {\r\n return this.getValue(EnableCustomerIdentityB2CClaimsKey);\r\n }\r\n\r\n public set enableCustomerIdentityB2CClaims(value: boolean) {\r\n this.setValue(EnableCustomerIdentityB2CClaimsKey, value);\r\n }\r\n\r\n // Get logged in user name\r\n public get extValRetryUrl(): string {\r\n return this.getValue(AppExtValRetryUrl);\r\n }\r\n\r\n public set extValRetryUrl(value: string) {\r\n this.setValue(AppExtValRetryUrl, value);\r\n }\r\n\r\n public get hidePolicyQuestionsEdit(): boolean {\r\n return this.getValue(BaseConstantService.KEY_hidePolicyQuestionsEdit)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set hidePolicyQuestionsEdit(value: boolean) {\r\n this.setValue(BaseConstantService.KEY_hidePolicyQuestionsEdit, value.toString());\r\n }\r\n\r\n public get tokenGenerationRedirectUrl(): string {\r\n return this.getValue(TokenGenerationRedirectUrl)?.toString();\r\n }\r\n\r\n public set tokenGenerationRedirectUrl(value: string) {\r\n this.setValue(TokenGenerationRedirectUrl, value.toString());\r\n }\r\n\r\n public get externalValidationResult(): ExternalValidationResponse {\r\n return this.getValue(ExternalValidationResult);\r\n }\r\n\r\n public set externalValidationResult(value: ExternalValidationResponse) {\r\n this.setValue(ExternalValidationResult, value);\r\n }\r\n\r\n // BlockedTimeForCutomerIdentifaction\r\n public get blockedTimeForCutomerIdentifaction(): number {\r\n return this.getValue(BlockedTimeForCutomerIdentifactionKey);\r\n }\r\n\r\n public set blockedTimeForCutomerIdentifaction(value: number) {\r\n this.setValue(BlockedTimeForCutomerIdentifactionKey, value);\r\n }\r\n\r\n // Convert any currency format to decimal format\r\n reverseFormatNumber(val) {\r\n // const languageCode = this.sponsorLanguageCode\r\n const languageCode = this.cultureName\r\n const thousandSeparator = new Intl.NumberFormat(languageCode).format(1111).replace(/1/g, '');\r\n const decimalSeparator = new Intl.NumberFormat(languageCode).format(1.1).replace(/1/g, '');\r\n let reversedVal = val.replace(new RegExp('\\\\' + thousandSeparator, 'g'), '');\r\n reversedVal = reversedVal.replace(new RegExp('\\\\' + decimalSeparator, 'g'), '.');\r\n return Number.isNaN(reversedVal) ? 0 : reversedVal;\r\n\r\n }\r\n\r\n // InActivityMinutesForSessionTimeout\r\n public get inActivityMinutesForSessionTimeout(): number {\r\n return this.getValue(InActivityMinutesForSessionTimeoutKey);\r\n }\r\n\r\n public set inActivityMinutesForSessionTimeout(value: number) {\r\n this.setValue(InActivityMinutesForSessionTimeoutKey, value);\r\n }\r\n\r\n public get SessionTimeoutCountdown(): number {\r\n return this.getValue(SessionTimeoutCountdown);\r\n }\r\n\r\n public set SessionTimeoutCountdown(value: number) {\r\n this.setValue(SessionTimeoutCountdown, value);\r\n }\r\n\r\n public get sponsorLanguageCode(): string {\r\n return this.getValue(SponsorLanguageCodeKey);\r\n }\r\n\r\n public set sponsorLanguageCode(value: string) {\r\n this.setValue(SponsorLanguageCodeKey, value);\r\n }\r\n\r\n public get getRandomNumber(): number {\r\n return Math.floor(100000 + Math.random() * 900007);\r\n }\r\n\r\n public get isQuoteStatusChangedFromReferred(): boolean {\r\n return this.getValue(BaseConstantService.Key_QuoteStatusChangedFromReferred)?.toString().toLowerCase() === 'true';\r\n }\r\n\r\n public set isQuoteStatusChangedFromReferred(value: boolean) {\r\n this.setValue(BaseConstantService.Key_QuoteStatusChangedFromReferred, value.toString());\r\n }\r\n\r\n public setUserSessionKey() {\r\n const sessionId = this.getRandomNumber;\r\n this.setValue(UserSessionKey, sessionId);\r\n }\r\n\r\n public getUserSessionKey(): string {\r\n //* ** Unique session keys to identify the user's session ***/\r\n const userSessionKeyValue = this.getValue(UserSessionKey);\r\n return userSessionKeyValue;\r\n }\r\n\r\n public set cultureName(value: string) {\r\n this.setValue(CultureName, value);\r\n }\r\n public get cultureName(): string {\r\n return this.getValue(CultureName);\r\n }\r\n\r\n public get renewalDeclineComment(): string {\r\n return this.getValue(renewalDeclineComment)?.toString();\r\n }\r\n\r\n public set renewalDeclineComment(value: string) {\r\n this.setValue(renewalDeclineComment, value.toString());\r\n }\r\n\r\n UpdateQuoteDeclineRenewalSubject(value: object) {\r\n this.quoteDeclineRenewalSubject.next(value);\r\n }\r\n\r\n get GetQuoteDeclineRenewalSubject(): Observable {\r\n return this.quoteDeclineRenewalSubject.asObservable();\r\n }\r\n\r\n getHomeTranslation(labelList: string[]): boolean {\r\n const cachedData = sessionStorage.getItem('homeTranslationCache');\r\n if (cachedData) {\r\n return labelList.every(label => label in JSON.parse(cachedData));\r\n }\r\n return false;\r\n }\r\n\r\n getHomeTransalation() {\r\n const cachedData = sessionStorage.getItem('homeTranslationCache');\r\n if (cachedData) {\r\n this._homeTranslationCacheObj = JSON.parse(cachedData);\r\n }\r\n return this._homeTranslationCacheObj;\r\n }\r\n\r\n setHomeTransalation(value): void {\r\n this._homeTranslationCacheObj = value;\r\n sessionStorage.setItem('homeTranslationCache', JSON.stringify(this._homeTranslationCacheObj));\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { SeverityLevel } from '@microsoft/applicationinsights-web';\r\nimport { IAppMonitor } from '../../models/app-monitor';\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\n\r\n// API Documentation\r\n// https://github.com/microsoft/applicationinsights-js\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class LoggingService {\r\n appMonitor: IAppMonitor;\r\n isAppInsightsInitialized = false;\r\n applicationSiteName = '';\r\n initializedByWithoutProductName = false;\r\n\r\n constructor() {\r\n }\r\n\r\n initializeAppInsights(instrumentationKey: string, siteName: string, sponsorName: string, productName: string): boolean {\r\n\r\n if (!sessionStorage.getItem('legalApprovedRegionAppInsights'))\r\n {\r\n // Have we previously initialized?\r\n if (this.appMonitor && this.initializedByWithoutProductName === false) {\r\n return true;\r\n }\r\n\r\n // Are performance cookies enabled?\r\n if (sessionStorage.getItem('AllowPerformanceCookies') !== 'True') {\r\n return false;\r\n }\r\n }\r\n\r\n // Can we retrieve the required instrumentation key?\r\n if (!instrumentationKey) {\r\n return false;\r\n }\r\n\r\n\r\n // Initialize ApplicationInsights.\r\n const appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey\r\n }\r\n });\r\n\r\n appInsights.loadAppInsights();\r\n\r\n const telemetryInitializer = (envelope) => {\r\n envelope.data.SiteName = siteName;\r\n envelope.data.SponsorName = sponsorName ? sponsorName.toLowerCase() : '';\r\n envelope.data.ProductName = productName ?\r\n productName.toLowerCase() : '';\r\n };\r\n\r\n this.initializedByWithoutProductName = productName ? false : true;\r\n\r\n appInsights.addTelemetryInitializer(telemetryInitializer);\r\n\r\n this.appMonitor = appInsights;\r\n this.applicationSiteName = siteName;\r\n this.isAppInsightsInitialized = true;\r\n return true;\r\n\r\n }\r\n\r\n logPageView(name?: string, url?: string) {\r\n if (this.isAppInsightsInitialized) {\r\n this.appMonitor.trackPageView({\r\n name,\r\n uri: url\r\n });\r\n }\r\n }\r\n\r\n // Log non-exception type errors, e.g. invalid API request\r\n logError(error: any, severityLevel?: SeverityLevel) {\r\n this.sendToConsole(error, severityLevel);\r\n }\r\n\r\n logEvent(name: string, properties?: { [key: string]: any }) {\r\n if (this.isAppInsightsInitialized) {\r\n this.appMonitor.trackEvent({ name }, properties);\r\n }\r\n }\r\n\r\n logMetric(name: string, average: number, properties?: { [key: string]: any }) {\r\n if (this.isAppInsightsInitialized) {\r\n this.appMonitor.trackMetric({ name, average }, properties);\r\n }\r\n }\r\n\r\n logException(exception: Error, severityLevel?: SeverityLevel) {\r\n this.sendToConsole(exception, severityLevel);\r\n if (this.isAppInsightsInitialized) {\r\n this.appMonitor.trackException({ exception, severityLevel });\r\n }\r\n }\r\n\r\n logTrace(message: string, properties?: { [key: string]: any }) {\r\n if (this.isAppInsightsInitialized) {\r\n this.appMonitor.trackTrace({ message }, properties);\r\n }\r\n }\r\n\r\n private sendToConsole(error: any, severityLevel: SeverityLevel = SeverityLevel.Error) {\r\n\r\n switch (severityLevel) {\r\n case SeverityLevel.Critical:\r\n case SeverityLevel.Error:\r\n (console as any).group(`${this.applicationSiteName} Error:`);\r\n console.error(error);\r\n if (error.message) {\r\n console.error(error.message);\r\n }\r\n if (error.stack) {\r\n console.error(error.stack);\r\n }\r\n (console as any).groupEnd();\r\n break;\r\n case SeverityLevel.Warning:\r\n (console as any).group(`${this.applicationSiteName} Warning:`);\r\n console.warn(error);\r\n (console as any).groupEnd();\r\n break;\r\n case SeverityLevel.Information:\r\n (console as any).group(`${this.applicationSiteName} Information:`);\r\n console.log(error);\r\n (console as any).groupEnd();\r\n break;\r\n }\r\n }\r\n}\r\n\r\n","export const endPoints = {\r\n host: window.location.origin,\r\n baseUrl: `/${window.location.pathname.split('/')[1]}/`,\r\n apiUrl: 'api/',\r\n endPointName: {\r\n configurationEndPoint: 'Configuration',\r\n b2cLoginAuditLog: 'Account/B2CLoginAuditLog',\r\n getTermsOfUsebySponsorName: 'Sponsor/GetTermOfUseBySponsorName',\r\n getSponsorLogoContent: 'Sponsor/GetSponsorLogoContent',\r\n getSponsorPreferredLanguage: 'Sponsor/GetSponsorPreferredLanguage',\r\n getSponsorUrl: 'Sponsor/GetSponsorDetails',\r\n getUIElements: 'Localization/getuielements/',\r\n getStrapLineUIElements: 'Localization/getStrapLineUIElements',\r\n getPageContentValues: 'Localization/GetPageContentValues',\r\n getErrorContent: 'Localization/GetErrorContent',\r\n getGlobalPrivacyPolicy: 'Reference/GetPrivacyNoticeByLanguageCode/',\r\n getCookieNotice: 'Reference/GetCookieNoticeByLanguageCode/',\r\n getUserProfile: 'Account/GetUserProfile',\r\n getDecryptedIdentifier: 'Customer/GetDecryptedIdentifier',\r\n getUserName: 'Account/GetUserName',\r\n yourProfile: 'Account/YourProfile',\r\n saveNewB2CUser: 'Account/SaveNewB2CUser',\r\n getTimeZoneInfo: 'Sponsor/GetTimeZoneInfoList',\r\n getCustomerFieldValidations: 'Sponsor/GetCustomerFieldValidations',\r\n storeClaimsTemporaryAttachmentsURL: 'Documents/StoreClaimsTemporaryAttachmentsAsync',\r\n getTempAttachmentDocuments: 'Documents/GetTempAttachmentDocumentsAsync',\r\n deleteTemporaryAttachments: 'Documents/DeleteTemporaryAttachmentAsync',\r\n getFile: 'Documents/GetFile',\r\n downloadDocument: 'Documents/DownloadDocument',\r\n isCustomerBlocked: 'Account/IsCustomerBlocked',\r\n isAccountVerified: 'Account/IsAccountVerified',\r\n saveB2CCustomerPersonalDetails: 'Customer/SaveB2CCustomer',\r\n saveCustomerAddress: 'Customer/SaveCustomerAddress',\r\n getCustomerPreferredLanguage: 'Customer/GetCustomerPreferredLanguage',\r\n getLookupUIImagesAsync: 'Reference/GetLookupUIImagesAsync',\r\n saveB2CUserConsent: 'Account/SaveB2CUserConsent',\r\n yourPolicy: 'Claim/YourPolicy',\r\n yourPolicies: 'Claim/YourPolicies',\r\n removeDraftClaims: 'Claim/RemoveDraftClaims',\r\n getMenuByProfile: 'Account/GetB2CMenuByProfile',\r\n getJavaScript: 'Sponsor/GetB2CJavaScriptAsync',\r\n getToken: 'Assently/GetInitToken',\r\n checkToken: 'Assently/ValidateToken',\r\n getcustomeridentifier: 'Assently/GetCustomerIdentifier',\r\n getValidationStatus: 'ExternalValidation/GetValidationStatus',\r\n getCustomer: 'Customer/GetCustomer',\r\n getCountryCodeLookupData: 'Customer/GetCountryCodeLookupData',\r\n createPassword: 'Customer/CreatePassword',\r\n updatecreatePasswordId: 'Customer/UpdateCreateNewPasswordStatus',\r\n getB2CSalesBackOfficeUsersSession: 'Customer/GetB2CSalesBackOfficeUsersSession',\r\n getLookUpValues: 'B2CProductTemplate/lookupvalues',\r\n getClaimLookUpValues: 'B2CProductTemplate/claimlookupvalues',\r\n getOnDemandDataRequest: 'B2CProductTemplate/ondemanddatarequest',\r\n getB2CWebsiteBrandingDetails: 'Sponsor/getB2CWebsiteBrandingDetails',\r\n getAssentlyUrl: 'Assently/GetAssentlyUrl',\r\n getMasterProduct: 'B2CProductTemplate/GetMasterProduct',\r\n getCustomerType: 'Customer/GetCustomerTypes',\r\n renewPolicy: 'Policy/RenewPolicy',\r\n resumeQuote: 'Policy/ResumeQuote',\r\n getDateFormatByIdUrl: 'Sponsor/GetDateFormatById',\r\n getSubGroupIdBySponsorIdUrl: 'Sponsor/GetSubGroupIdBySponsorId',\r\n getProductNameValidation: 'Sponsor/GetProductNameValidation',\r\n getCustIdentifier: 'Customer/GetCustomerIdentifier',\r\n getProductTemplate: 'B2CProductTemplate/getProductTemplate',\r\n isValidAuthCustomerIdentifier: 'Account/isValidCustomerIdentifier',\r\n isValidCustomerIdentifier: 'Customer/isValidCustomerIdentifier',\r\n getSponsorCustomerIdentification: 'Sponsor/GetSponsorCustomerIdentification',\r\n identifyCustomersPolicy: 'Customer/identifyCustomersPolicy',\r\n saveUserHistoryLog: 'Customer/SaveUserHistoryLog',\r\n getUserHistoryByIpAddress: 'Customer/GetUserHistoryByIpAddress',\r\n getSponsorBrandLogo: 'Reference/GetSponsorBrandLogo',\r\n getPolicyResponseData: 'Policy/GetPolicyResponseData'\r\n }\r\n};\r\nexport const AppConfig = {\r\n apiUrl: 'api/',\r\n configApiEndPoints: {\r\n GetConfigurationUrl: endPoints.apiUrl + endPoints.endPointName.configurationEndPoint + '/get'\r\n },\r\n assetsImagesPath: '/assets/images/'\r\n};\r\n\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service'\r\n\r\n@Pipe({\r\n name: 'currencyFormat'\r\n})\r\nexport class CurrencyFormatPipe implements PipeTransform {\r\n constructor(private sharedSettingsService: SharedSettingsService) { }\r\n transform(value): any {\r\n\r\n if (value == null) {\r\n return value;\r\n }\r\n\r\n value = value.toString().replace(/,/g, '');\r\n\r\n value = '' + value;\r\n\r\n value = parseFloat(value);\r\n\r\n // Check if the parsed value is a valid number\r\n if (isNaN(value)) {\r\n return value;\r\n }\r\n\r\n value = value.toFixed(2);\r\n\r\n // In client we consider product currency code or culture name for localization so applying same here as well.\r\n const languageCode = this.sharedSettingsService.cultureName ;\r\n const currencyCode = this.sharedSettingsService.currencyIso4217;\r\n const formatedAmount = new Intl.NumberFormat(languageCode, { currency: currencyCode }).format(value);\r\n return formatedAmount ? formatedAmount : value\r\n }\r\n\r\n}\r\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.error-container {\r\n padding: 2em;\r\n }\r\n \r\n .error-title {\r\n color: red;\r\n text-decoration: underline;\r\n }\r\n \r\n .error-content {\r\n font-style: italic;\r\n }\r\n `, \"\",{\"version\":3,\"sources\":[\"webpack://./projects/wtw-atp-claims/src/app/app.component.css\"],\"names\":[],\"mappings\":\"AAAA;IACI,YAAY;EACd;;EAEA;IACE,UAAU;IACV,0BAA0B;EAC5B;;EAEA;IACE,kBAAkB;EACpB\",\"sourcesContent\":[\".error-container {\\r\\n padding: 2em;\\r\\n }\\r\\n \\r\\n .error-title {\\r\\n color: red;\\r\\n text-decoration: underline;\\r\\n }\\r\\n \\r\\n .error-content {\\r\\n font-style: italic;\\r\\n }\\r\\n \"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, ``, \"\",{\"version\":3,\"sources\":[],\"names\":[],\"mappings\":\"\",\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nvar ___CSS_LOADER_API_SOURCEMAP_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/sourceMaps.js\");\nvar ___CSS_LOADER_API_IMPORT___ = require(\"../../../../../../../node_modules/css-loader/dist/runtime/api.js\");\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:root {\n /*** Brand colors ***/\n --BRAND-ACCENT-1: #711984;\n --BRAND-ACCENT-2: #ffb900;\n --PRIMARY-CTA-HOVER: #390b43;\n --PRIMARY-CTA-ACTIVE: #27082e;\n --COOKIE-BANNER-BACKGROUND-COLOR: #d4bada;\n --COOKIE-BANNER-TEXT-COLOR: black;\n --BRAND-BANNER-BACKGROUND-COLOR: #e9fbff;\n /*** Brand typeface family ***/\n --MENU-ITEM-COLOR: black;\n --MENU-ACTIVE-ITEM-COLOR: black;\n --PAGE-BACKGROUND-COLOR: #fff;\n --BRAND-TYPEFACE-FAMILY: Roboto, \"Helvetica Neue\", sans-serif;\n --HEADER-FONT-FAMILY: Arial, Helvetica, sans-serif;\n --BUTTON-BORDER-RADIUS: 0;\n --FOOTER-BACKGROUND-COLOR: #212529;\n --FOOTER-TEXT-COLOR: white;\n --BUTTON-LABEL-COLOR: white;\n --STRAPLINE-HEADER-COLOR: red;\n --STRAPLINE-TEXT-COLOR: black;\n --PRIMARY-HEADER-COLOR: black;\n --SECONDARY-HEADER-COLOR: black;\n --TERTIARY-HEADER-COLOR: black;\n --CAPTION-COLOR: black;\n --BREADCRUMB-HEADER-COLOR: black;\n --BREADCRUMB-QUESTION-COLOR: black;\n --BREADCRUMB-ANSWER-COLOR: black;\n --BREADCRUMB-DEFAULT-TEXT-COLOR: black;\n --HEADER-BACKGROUND-COLOR: #fff;\n --TILE-ODD-BACKGROUND-COLOR: #ffda31;\n --TILE-EVEN-BACKGROUND-COLOR: #e4e3e1 ;\n}\n\n/*** Fixed Colours ***/\n/*** Brand typeface family ***/\n/*** Brand typeface font size ***/\n/*** Applicable to header and body captions ***/\n/*** Brand typeface font line height ***/\n/*** Applicable to header and body captions ***/\n/* Desktop Config */\n/* Mobile Config */\n/* branding Logo */\n/* These need to go! */\n.mobile, .tablet {\n background: #f6f6f6;\n width: 100%;\n}\n\n.desktop {\n width: 375px;\n background: #f6f6f6;\n}\n\n.section-details {\n border-top: 1px solid #c7c6cb;\n border-bottom: 1px solid #c7c6cb;\n}\n\n.question-container-desktop, .question-container {\n background: #f6f6f6;\n}\n\n.question-container-desktop {\n height: 100%;\n}\n\n.section-title {\n padding: 18px 24px;\n margin: 0;\n font-style: normal;\n font-weight: 500;\n font-size: 14px;\n line-height: 22px;\n color: var(--BREADCRUMB-HEADER-COLOR);\n}`, \"\",{\"version\":3,\"sources\":[\"webpack://./projects/styles/scss/_variables.scss\",\"webpack://./projects/wtw-atp-claims/src/app/shared/question-set/question-container/question-container.component.scss\"],\"names\":[],\"mappings\":\"AAAA;EACE,qBAAA;EACA,yBAAA;EACA,yBAAA;EACA,4BAAA;EACA,6BAAA;EACA,yCAAA;EACA,iCAAA;EACA,wCAAA;EACA,8BAAA;EACA,wBAAA;EACA,+BAAA;EACA,6BAAA;EACA,6DAAA;EACA,kDAAA;EACA,yBAAA;EACA,kCAAA;EACA,0BAAA;EACA,2BAAA;EACA,6BAAA;EACA,6BAAA;EACA,6BAAA;EACA,+BAAA;EACA,8BAAA;EACA,sBAAA;EACA,gCAAA;EACA,kCAAA;EACA,gCAAA;EACA,sCAAA;EACA,+BAAA;EACA,oCAAA;EACA,sCAAA;ACCF;;ADEA,sBAAA;AAsBA,8BAAA;AAIA,iCAAA;AAOoC,+CAAA;AAGpC,wCAAA;AAI2C,+CAAA;AAU3C,mBAAA;AAGA,mBAAA;AAGA,kBAAA;AAIA,sBAAA;AC5FA;EACI,mBDsCY;ECrCZ,WAAA;AA2CJ;;AAxCA;EACI,YAAA;EACA,mBDgCY;ACWhB;;AAxCA;EACI,6BAAA;EACA,gCAAA;AA2CJ;;AAxCA;EACI,mBDuBY;ACoBhB;;AAxCA;EACI,YAAA;AA2CJ;;AAxCA;EACI,kBAAA;EACA,SAAA;EACA,kBAAA;EACA,gBAAA;EACA,eDqC0B;ECpC1B,iBD+CkC;EC9ClC,qCAAA;AA2CJ\",\"sourcesContent\":[\":root {\\r\\n /*** Brand colors ***/\\r\\n --BRAND-ACCENT-1: #711984;\\r\\n --BRAND-ACCENT-2: #ffb900;\\r\\n --PRIMARY-CTA-HOVER: #390b43;\\r\\n --PRIMARY-CTA-ACTIVE: #27082e;\\r\\n --COOKIE-BANNER-BACKGROUND-COLOR: #d4bada;\\r\\n --COOKIE-BANNER-TEXT-COLOR: black;\\r\\n --BRAND-BANNER-BACKGROUND-COLOR: #e9fbff;\\r\\n /*** Brand typeface family ***/\\r\\n --MENU-ITEM-COLOR: black;\\r\\n --MENU-ACTIVE-ITEM-COLOR: black;\\r\\n --PAGE-BACKGROUND-COLOR: #fff;\\r\\n --BRAND-TYPEFACE-FAMILY: Roboto, \\\"Helvetica Neue\\\", sans-serif;\\r\\n --HEADER-FONT-FAMILY: Arial, Helvetica, sans-serif;\\r\\n --BUTTON-BORDER-RADIUS: 0;\\r\\n --FOOTER-BACKGROUND-COLOR: #212529;\\r\\n --FOOTER-TEXT-COLOR: white;\\r\\n --BUTTON-LABEL-COLOR: white;\\r\\n --STRAPLINE-HEADER-COLOR: red;\\r\\n --STRAPLINE-TEXT-COLOR: black;\\r\\n --PRIMARY-HEADER-COLOR: black;\\r\\n --SECONDARY-HEADER-COLOR: black;\\r\\n --TERTIARY-HEADER-COLOR: black;\\r\\n --CAPTION-COLOR: black;\\r\\n --BREADCRUMB-HEADER-COLOR: black;\\r\\n --BREADCRUMB-QUESTION-COLOR: black;\\r\\n --BREADCRUMB-ANSWER-COLOR: black;\\r\\n --BREADCRUMB-DEFAULT-TEXT-COLOR: black;\\r\\n --HEADER-BACKGROUND-COLOR: #fff;\\r\\n --TILE-ODD-BACKGROUND-COLOR: #ffda31;\\r\\n --TILE-EVEN-BACKGROUND-COLOR: #e4e3e1\\r\\n}\\r\\n\\r\\n/*** Fixed Colours ***/\\r\\n$white-color: #fff;\\r\\n$black-color: #090909;\\r\\n$disabled-and-dividers: #c7c6cb;\\r\\n$off-black-color: #212529;\\r\\n$caption-text-color: #63656b;\\r\\n$caption-text-color-light: #929292;\\r\\n$bg-grey-color: #f6f6f6;\\r\\n$bg-disabled-grey-color:#eeeeee;\\r\\n$interaction-grey-color: #e9ecef;\\r\\n$error-color: #db1829;\\r\\n$success-added-color: #00c488;\\r\\n$failure-added-color: #ff0000;\\r\\n$navitem-color: #292121;\\r\\n$accordion-hover-color: $caption-text-color;\\r\\n$accordion-focus-color: var(--BRAND-ACCENT-1);\\r\\n$card-type-background-color: #eee;\\r\\n\\r\\n$info-color: #35B0EF;\\r\\n$warning-color: #ff6f00;\\r\\n$light-accent-primary: #D4BCDA;\\r\\n\\r\\n/*** Brand typeface family ***/\\r\\n$brand-typeface-family: Roboto, \\\"Helvetica Neue\\\", sans-serif !default;\\r\\n$header-font-family: Arial, Helvetica, sans-serif;\\r\\n\\r\\n/*** Brand typeface font size ***/\\r\\n$brand-desktop-header-size: 57px;\\r\\n$brand-tablet-header-size: 46px;\\r\\n$brand-mobile-header-size: 34px;\\r\\n$brand-typeface-h1-size: 36px;\\r\\n$brand-typeface-h2-size: 26px;\\r\\n$brand-typeface-h3-size: 15px;\\r\\n$brand-typeface-caption-size: 14px; /*** Applicable to header and body captions ***/\\r\\n$brand-typeface-body-size: 15px;\\r\\n\\r\\n/*** Brand typeface font line height ***/\\r\\n$brand-typeface-h1-line-height: 122%;\\r\\n$brand-typeface-h2-line-height: 131%;\\r\\n$brand-typeface-h3-line-height: 147%;\\r\\n$brand-typeface-caption-line-height: 157%; /*** Applicable to header and body captions ***/\\r\\n$brand-typeface-body-line-height: 147%;\\r\\n\\r\\n$brand-paragraph-line-height: 20px;\\r\\n$brand-typeface-h2-small-line-height: 22px;\\r\\n$brand-typeface-h3-small-line-height: 24px;\\r\\n$brand-typeface-h2-medium-line-height: 34px;\\r\\n$brand-typeface-h2-large-line-height: 44px;\\r\\n$brand-typeface-h1-large-line-height: 56px;\\r\\n\\r\\n/* Desktop Config */\\r\\n$desktop-tablet-width: 710px;\\r\\n\\r\\n/* Mobile Config */\\r\\n$mobile-width: 440px;\\r\\n\\r\\n/* branding Logo */\\r\\n$branding-logo_max-width: 240px;\\r\\n$branding-logo_max-height: 56px;\\r\\n\\r\\n/* These need to go! */\\r\\n$header-toolbar-border-color: #d5d5d5;\\r\\n\",\"@import \\\"../../../../../../styles/scss/variables\\\";\\r\\n\\r\\n.mobile, .tablet {\\r\\n background: $bg-grey-color;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.desktop {\\r\\n width: 375px;\\r\\n background: $bg-grey-color;\\r\\n}\\r\\n\\r\\n.section-details {\\r\\n border-top: 1px solid $disabled-and-dividers;\\r\\n border-bottom: 1px solid $disabled-and-dividers;\\r\\n}\\r\\n\\r\\n.question-container-desktop, .question-container {\\r\\n background: $bg-grey-color;\\r\\n}\\r\\n\\r\\n.question-container-desktop {\\r\\n height: 100%;\\r\\n}\\r\\n\\r\\n.section-title {\\r\\n padding: 18px 24px;\\r\\n margin: 0;\\r\\n font-style: normal;\\r\\n font-weight: 500;\\r\\n font-size: $brand-typeface-caption-size;\\r\\n line-height: $brand-typeface-h2-small-line-height;\\r\\n color: var(--BREADCRUMB-HEADER-COLOR);\\r\\n}\\r\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nmodule.exports = ___CSS_LOADER_EXPORT___.toString();\n","var map = {\n\t\"./af\": 10905,\n\t\"./af.js\": 10905,\n\t\"./ar\": 82647,\n\t\"./ar-dz\": 71868,\n\t\"./ar-dz.js\": 71868,\n\t\"./ar-kw\": 84592,\n\t\"./ar-kw.js\": 84592,\n\t\"./ar-ly\": 96866,\n\t\"./ar-ly.js\": 96866,\n\t\"./ar-ma\": 36244,\n\t\"./ar-ma.js\": 36244,\n\t\"./ar-sa\": 32731,\n\t\"./ar-sa.js\": 32731,\n\t\"./ar-tn\": 34632,\n\t\"./ar-tn.js\": 34632,\n\t\"./ar.js\": 82647,\n\t\"./az\": 35971,\n\t\"./az.js\": 35971,\n\t\"./be\": 61692,\n\t\"./be.js\": 61692,\n\t\"./bg\": 18620,\n\t\"./bg.js\": 18620,\n\t\"./bm\": 35884,\n\t\"./bm.js\": 35884,\n\t\"./bn\": 86723,\n\t\"./bn-bd\": 33580,\n\t\"./bn-bd.js\": 33580,\n\t\"./bn.js\": 86723,\n\t\"./bo\": 96118,\n\t\"./bo.js\": 96118,\n\t\"./br\": 31027,\n\t\"./br.js\": 31027,\n\t\"./bs\": 24915,\n\t\"./bs.js\": 24915,\n\t\"./ca\": 64480,\n\t\"./ca.js\": 64480,\n\t\"./cs\": 6487,\n\t\"./cs.js\": 6487,\n\t\"./cv\": 24165,\n\t\"./cv.js\": 24165,\n\t\"./cy\": 24022,\n\t\"./cy.js\": 24022,\n\t\"./da\": 13073,\n\t\"./da.js\": 13073,\n\t\"./de\": 95797,\n\t\"./de-at\": 12843,\n\t\"./de-at.js\": 12843,\n\t\"./de-ch\": 85470,\n\t\"./de-ch.js\": 85470,\n\t\"./de.js\": 95797,\n\t\"./dv\": 46166,\n\t\"./dv.js\": 46166,\n\t\"./el\": 61322,\n\t\"./el.js\": 61322,\n\t\"./en-au\": 15042,\n\t\"./en-au.js\": 15042,\n\t\"./en-ca\": 78152,\n\t\"./en-ca.js\": 78152,\n\t\"./en-gb\": 42520,\n\t\"./en-gb.js\": 42520,\n\t\"./en-ie\": 77392,\n\t\"./en-ie.js\": 77392,\n\t\"./en-il\": 98777,\n\t\"./en-il.js\": 98777,\n\t\"./en-in\": 54946,\n\t\"./en-in.js\": 54946,\n\t\"./en-nz\": 28398,\n\t\"./en-nz.js\": 28398,\n\t\"./en-sg\": 51313,\n\t\"./en-sg.js\": 51313,\n\t\"./eo\": 91404,\n\t\"./eo.js\": 91404,\n\t\"./es\": 79293,\n\t\"./es-do\": 28752,\n\t\"./es-do.js\": 28752,\n\t\"./es-mx\": 54275,\n\t\"./es-mx.js\": 54275,\n\t\"./es-us\": 51255,\n\t\"./es-us.js\": 51255,\n\t\"./es.js\": 79293,\n\t\"./et\": 59076,\n\t\"./et.js\": 59076,\n\t\"./eu\": 48968,\n\t\"./eu.js\": 48968,\n\t\"./fa\": 34318,\n\t\"./fa.js\": 34318,\n\t\"./fi\": 49932,\n\t\"./fi.js\": 49932,\n\t\"./fil\": 19502,\n\t\"./fil.js\": 19502,\n\t\"./fo\": 80955,\n\t\"./fo.js\": 80955,\n\t\"./fr\": 83344,\n\t\"./fr-ca\": 43791,\n\t\"./fr-ca.js\": 43791,\n\t\"./fr-ch\": 58154,\n\t\"./fr-ch.js\": 58154,\n\t\"./fr.js\": 83344,\n\t\"./fy\": 51836,\n\t\"./fy.js\": 51836,\n\t\"./ga\": 76217,\n\t\"./ga.js\": 76217,\n\t\"./gd\": 23655,\n\t\"./gd.js\": 23655,\n\t\"./gl\": 76281,\n\t\"./gl.js\": 76281,\n\t\"./gom-deva\": 44940,\n\t\"./gom-deva.js\": 44940,\n\t\"./gom-latn\": 50758,\n\t\"./gom-latn.js\": 50758,\n\t\"./gu\": 59697,\n\t\"./gu.js\": 59697,\n\t\"./he\": 59084,\n\t\"./he.js\": 59084,\n\t\"./hi\": 85183,\n\t\"./hi.js\": 85183,\n\t\"./hr\": 53724,\n\t\"./hr.js\": 53724,\n\t\"./hu\": 84321,\n\t\"./hu.js\": 84321,\n\t\"./hy-am\": 67165,\n\t\"./hy-am.js\": 67165,\n\t\"./id\": 26370,\n\t\"./id.js\": 26370,\n\t\"./is\": 52973,\n\t\"./is.js\": 52973,\n\t\"./it\": 96032,\n\t\"./it-ch\": 41838,\n\t\"./it-ch.js\": 41838,\n\t\"./it.js\": 96032,\n\t\"./ja\": 62906,\n\t\"./ja.js\": 62906,\n\t\"./jv\": 84920,\n\t\"./jv.js\": 84920,\n\t\"./ka\": 91416,\n\t\"./ka.js\": 91416,\n\t\"./kk\": 45084,\n\t\"./kk.js\": 45084,\n\t\"./km\": 11348,\n\t\"./km.js\": 11348,\n\t\"./kn\": 88062,\n\t\"./kn.js\": 88062,\n\t\"./ko\": 58822,\n\t\"./ko.js\": 58822,\n\t\"./ku\": 68302,\n\t\"./ku.js\": 68302,\n\t\"./ky\": 89515,\n\t\"./ky.js\": 89515,\n\t\"./lb\": 9605,\n\t\"./lb.js\": 9605,\n\t\"./lo\": 29216,\n\t\"./lo.js\": 29216,\n\t\"./lt\": 68691,\n\t\"./lt.js\": 68691,\n\t\"./lv\": 66564,\n\t\"./lv.js\": 66564,\n\t\"./me\": 1843,\n\t\"./me.js\": 1843,\n\t\"./mi\": 48793,\n\t\"./mi.js\": 48793,\n\t\"./mk\": 9426,\n\t\"./mk.js\": 9426,\n\t\"./ml\": 67660,\n\t\"./ml.js\": 67660,\n\t\"./mn\": 50561,\n\t\"./mn.js\": 50561,\n\t\"./mr\": 51026,\n\t\"./mr.js\": 51026,\n\t\"./ms\": 44552,\n\t\"./ms-my\": 79119,\n\t\"./ms-my.js\": 79119,\n\t\"./ms.js\": 44552,\n\t\"./mt\": 49641,\n\t\"./mt.js\": 49641,\n\t\"./my\": 95456,\n\t\"./my.js\": 95456,\n\t\"./nb\": 48664,\n\t\"./nb.js\": 48664,\n\t\"./ne\": 86704,\n\t\"./ne.js\": 86704,\n\t\"./nl\": 64727,\n\t\"./nl-be\": 27469,\n\t\"./nl-be.js\": 27469,\n\t\"./nl.js\": 64727,\n\t\"./nn\": 39557,\n\t\"./nn.js\": 39557,\n\t\"./oc-lnc\": 85186,\n\t\"./oc-lnc.js\": 85186,\n\t\"./pa-in\": 95626,\n\t\"./pa-in.js\": 95626,\n\t\"./pl\": 17303,\n\t\"./pl.js\": 17303,\n\t\"./pt\": 97084,\n\t\"./pt-br\": 17314,\n\t\"./pt-br.js\": 17314,\n\t\"./pt.js\": 97084,\n\t\"./ro\": 55033,\n\t\"./ro.js\": 55033,\n\t\"./ru\": 1624,\n\t\"./ru.js\": 1624,\n\t\"./sd\": 82701,\n\t\"./sd.js\": 82701,\n\t\"./se\": 87798,\n\t\"./se.js\": 87798,\n\t\"./si\": 88163,\n\t\"./si.js\": 88163,\n\t\"./sk\": 11978,\n\t\"./sk.js\": 11978,\n\t\"./sl\": 71567,\n\t\"./sl.js\": 71567,\n\t\"./sq\": 22840,\n\t\"./sq.js\": 22840,\n\t\"./sr\": 7330,\n\t\"./sr-cyrl\": 66698,\n\t\"./sr-cyrl.js\": 66698,\n\t\"./sr.js\": 7330,\n\t\"./ss\": 18729,\n\t\"./ss.js\": 18729,\n\t\"./sv\": 52410,\n\t\"./sv.js\": 52410,\n\t\"./sw\": 80508,\n\t\"./sw.js\": 80508,\n\t\"./ta\": 7399,\n\t\"./ta.js\": 7399,\n\t\"./te\": 19988,\n\t\"./te.js\": 19988,\n\t\"./tet\": 78021,\n\t\"./tet.js\": 78021,\n\t\"./tg\": 72238,\n\t\"./tg.js\": 72238,\n\t\"./th\": 77309,\n\t\"./th.js\": 77309,\n\t\"./tk\": 34040,\n\t\"./tk.js\": 34040,\n\t\"./tl-ph\": 48556,\n\t\"./tl-ph.js\": 48556,\n\t\"./tlh\": 94054,\n\t\"./tlh.js\": 94054,\n\t\"./tr\": 41626,\n\t\"./tr.js\": 41626,\n\t\"./tzl\": 47597,\n\t\"./tzl.js\": 47597,\n\t\"./tzm\": 68831,\n\t\"./tzm-latn\": 95021,\n\t\"./tzm-latn.js\": 95021,\n\t\"./tzm.js\": 68831,\n\t\"./ug-cn\": 78789,\n\t\"./ug-cn.js\": 78789,\n\t\"./uk\": 97259,\n\t\"./uk.js\": 97259,\n\t\"./ur\": 53282,\n\t\"./ur.js\": 53282,\n\t\"./uz\": 17426,\n\t\"./uz-latn\": 83659,\n\t\"./uz-latn.js\": 83659,\n\t\"./uz.js\": 17426,\n\t\"./vi\": 76474,\n\t\"./vi.js\": 76474,\n\t\"./x-pseudo\": 29087,\n\t\"./x-pseudo.js\": 29087,\n\t\"./yo\": 12891,\n\t\"./yo.js\": 12891,\n\t\"./zh-cn\": 94049,\n\t\"./zh-cn.js\": 94049,\n\t\"./zh-hk\": 13847,\n\t\"./zh-hk.js\": 13847,\n\t\"./zh-mo\": 10106,\n\t\"./zh-mo.js\": 10106,\n\t\"./zh-tw\": 30370,\n\t\"./zh-tw.js\": 30370\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 46700;","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WtwUiComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-wtw-ui-components',\r\n template: `\r\n

\r\n wtw-ui-components works!\r\n

\r\n `,\r\n styles: []\r\n})\r\nexport class WtwUiComponentsComponent implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\n\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatNativeDateModule } from '@angular/material/core';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { NgxMatSelectSearchModule } from 'ngx-mat-select-search';\r\n\r\n\r\n@NgModule({\r\n imports: [\r\n MatCardModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatToolbarModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatMenuModule,\r\n MatSnackBarModule,\r\n MatButtonToggleModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n MatAutocompleteModule,\r\n MatExpansionModule,\r\n NgxMatSelectSearchModule,\r\n MatSlideToggleModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatTreeModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatGridListModule,\r\n MatPaginatorModule,\r\n NgxPaginationModule,\r\n MatChipsModule\r\n ],\r\n exports: [\r\n MatCardModule,\r\n MatIconModule,\r\n MatButtonModule,\r\n MatToolbarModule,\r\n MatTabsModule,\r\n MatListModule,\r\n MatInputModule,\r\n MatSelectModule,\r\n MatCheckboxModule,\r\n MatMenuModule,\r\n MatSnackBarModule,\r\n MatButtonToggleModule,\r\n MatRadioModule,\r\n MatDialogModule,\r\n MatAutocompleteModule,\r\n MatExpansionModule,\r\n NgxMatSelectSearchModule,\r\n MatSlideToggleModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatTooltipModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatTreeModule,\r\n MatTableModule,\r\n MatSidenavModule,\r\n MatGridListModule,\r\n MatBottomSheetModule,\r\n MatPaginatorModule,\r\n NgxPaginationModule,\r\n MatChipsModule\r\n ],\r\n declarations: []\r\n})\r\nexport class AppMaterialModule { }\r\n","import { Input, Output, EventEmitter, Directive } from '@angular/core';\r\n\r\n@Directive()\r\nexport class ButtonBaseDirective {\r\n @Input() text: string;\r\n @Input() detail: string = null;\r\n @Input() disabled = false;\r\n @Input() enableBorderRadius: boolean;\r\n @Input() isBlock = true;\r\n @Output() clicked = new EventEmitter();\r\n @Input() isButtonVisible = true;\r\n @Input() tag: any = null;\r\n @Input() hasFocus = false;\r\n @Input() emitRawEvent = false;\r\n\r\n public onClick(event?: Event): void {\r\n this.clicked.emit(this.emitRawEvent ? event : this.tag);\r\n }\r\n\r\n public textOnly(): boolean {\r\n return this.text && !this.detail;\r\n }\r\n}\r\n","import { Directive, ElementRef, Input, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n // eslint-disable-next-line @angular-eslint/directive-selector\r\n selector: '[autofocus]'\r\n})\r\nexport class AutofocusDirective implements OnInit {\r\n private focus = true;\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n ngOnInit() {\r\n if (this.focus) {\r\n window.setTimeout(() => {\r\n this.el.nativeElement.focus();\r\n });\r\n }\r\n }\r\n\r\n @Input() set autofocus(condition: boolean) {\r\n this.focus = condition === true;\r\n }\r\n}\r\n","import { DomSanitizer } from '@angular/platform-browser';\r\nimport { PipeTransform, Pipe } from '@angular/core';\r\n\r\n@Pipe({ name: 'safeHtml' })\r\nexport class SafeHtmlPipe implements PipeTransform {\r\n constructor(private sanitized: DomSanitizer) { }\r\n transform(value) {\r\n return this.sanitized.bypassSecurityTrustHtml(value);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ButtonBaseDirective } from '../button-base';\r\n\r\n@Component({\r\n selector: 'lib-primary-button',\r\n templateUrl: './primary-button.component.html',\r\n styleUrls: ['./primary-button.component.scss']\r\n})\r\nexport class PrimaryButtonComponent extends ButtonBaseDirective implements OnInit {\r\n @Input() showTick = false;\r\n @Input() showBookmark = false;\r\n ngOnInit() {\r\n }\r\n\r\n public textOnly(): boolean {\r\n return super.textOnly() && !this.showTick && !this.showBookmark;\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { ButtonBaseDirective } from '../button-base';\r\n\r\n@Component({\r\n selector: 'lib-navigation-link-button',\r\n templateUrl: './navigation-link-button.component.html',\r\n styleUrls: ['./navigation-link-button.component.scss']\r\n})\r\nexport class NavigationLinkButtonComponent extends ButtonBaseDirective implements OnInit {\r\n @Input() showBookmark: boolean;\r\n ngOnInit() { }\r\n}\r\n","\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ButtonBaseDirective } from '../button-base';\r\n\r\n@Component({\r\n selector: 'lib-secondary-button',\r\n templateUrl: './secondary-button.component.html',\r\n styleUrls: ['./secondary-button.component.scss']\r\n})\r\nexport class SecondaryButtonComponent extends ButtonBaseDirective implements OnInit {\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ButtonBaseDirective } from '../button-base';\r\n\r\n@Component({\r\n selector: 'lib-simple-button',\r\n templateUrl: './simple-button.component.html',\r\n styleUrls: ['./simple-button.component.scss']\r\n})\r\nexport class SimpleButtonComponent extends ButtonBaseDirective implements OnInit {\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","\r\n","
\r\n {{labelName}}\r\n \r\n {{iconName}}\r\n \r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-simple-wide-card',\r\n templateUrl: './simple-wide-card.component.html',\r\n styleUrls: ['./simple-wide-card.component.scss']\r\n})\r\nexport class SimpleWideCardComponent implements OnInit {\r\n @Input() labelName: string;\r\n @Input() isLast: boolean;\r\n @Input() iconName: string;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","export const image ='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vsC9vsC9vsC+v8G/wMLBwsTExcfHyMrJyszKy83Ky83Ky83LzM7LzM7LzM7LzM7MzM7Mzc/NztDP0NLS09TU1dbV1tfW19jX2NnX2NnX2NnX2NnY2drY2drZ2tva29zb29zc3d3e3t/f4OHh4uLj5OTk5eXk5eXk5eXk5eXk5eXl5ubm5ubm5+fo6Onq6+vt7e3v7+/x8fHy8vLy8vLz8/Pz8/Pz8/Pz8/P09PT09PT09PT09PT19vb29/f39/j3+Pj4+Pj4+fn5+fr6+vv7+/z9/f3+/v7+/v7+/v7+/v7+/v7+/v7+/v7////////+/v7///////////////////////////////////////////////////////////////////////////////8I/gDpCRxIsKDBgwgTKlzIsKHDhxAjSpxIsaLFixgzatzIsaPHjyBDihxJsqTJkyhTqlzJsqXLlzBjypxJs6bNmzhz6tzJs6fPn0CDCh1K9CC2Z8uWPcNWtGlBc8yMSZ3KzJxTp8umajW27GpRb1u3evM6NGvYqV3JBjV7lqvaoG21vkUJjllSphLjTp0Izpu3b1bnNlSGq3DhX+Ai6pUa0Rw2aZAhcxOsENwvw5h9JX642BhEx5FDawtMuSAyzKh/QewM8XHo0JNLE/yGujYzzosffnvNm7TsZrVR69rMkHVDc9Z4vyYuG1tw1MgcGmfITfly2QOdP8esreF0heGs/l/HLlDXdsOqi+dm6Fq8NGvkBy47b1iaer0MwbmPPDY+Pdr04cLLfXEtBNp+0vhGHmEBppXQdwd5g6A0sflHDzjm0afLNwpB+FRy+1mjYHzABRjdg+shVB2CzFlIjy8B4oLXQR4OpB+CM7ookHb0pUdjiga1516LOg4TYzMI1XjhhN3pWBCA9PFCJD3J6JXMQcghKKKTBs0X4G1d6uUgQRIi2B+XBIHDS4ADGhRVXGAWJKR12IxYlF3PTFQifUgWBI5eRN6435RD8ZLKoam4YsyZDl1G34kFNdNWnwWt6F6OTfmC6KapIPYQj9v5WNAzYeVpFIte/cIpp66MudBp/ueJ+qQ2zzyjDYcIzclbhU65suqqsZi6EIbnuTpRmdZtedUyvzbLC6MISXMeoZ8NSZYxzWZrDLUCwSocphWBA+JrvDqVTLbZvmJsQctkeFiTGoUjpDXc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x8fIycjJysjJysjJysjJy8nKy8nKy8nKy8rLzMvMzc7P0NDR0tLT1NTV1tXW19XW19XW19bX2NbX2NbX2NfX2NjY2dna29zd3d/f4OHh4uLi4+Li4+Pj5OPj5OPj5OTk5eXl5ubm5+fo6Orq6+3t7e7u7u/v7+/v7+/v7+/v7+/w8PDw8PDw8PDw8PDx8fHx8fLy8vLy8vPz8/T09PX19vb29vf39/f39/f4+Pj4+Pn5+fr6+vv7+/z8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P39/f39/f39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AOMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUr04C5aqlTR2lW0aUFprkhJnepKmlOnqqZqJaXqalFiW7cS8zo0aliqZIVmPSu1a1qgbLW+RSltFixYwibGnTpRGTBgwrDNdajqkmHDpaxC3Cs1IjZariJH7jVYobRShzN7UuyQMSmI2GZJHl1LcGWDqTKrLrWYMUTIo0fbOl1Qmerbsx56figstm/TtOPRuq1aE+eFuxtig+U7trHgAoURV52qs+uGtprHVgY9nvTpmcf+Mky+kJn27d3jaQJ/mPX46wthn3cFK308WOwPz0YOP6Gx+ZIBY59t+V3CyXt7LYSNLABGBlx3hRVYn0LkIQRMg67kYp9A0qyXnybcJVShQdIwByAsD6Y3XIHVidifQdk1KN6GAnlS4CV5ITQiQcpgmBuNA32Xn3sH7TiQfPOFCKRAp9xIi44vDkQMhrUsyeONnBw3kCl7mXLQcg3CouWS+BX4Y0FrseVWQRc2KKCVBEnDSYEHGhTLXrEcxCCAsqTYFC2xaCjRivk9WRAzezFj0JQyTtTMMs3QxIkilCriCCrPLcbiQbOwdSZBMc5n6EPY+NXLqb3M6BIolbaqyCn+ijokJHifHURLWKMWhKR2SjLkjTGoBttLpi2Z4qqrjuTpUGrs1XpQMsLQQoswySS0q2/7NbQM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kIyOkYyPkY2Pko2Pko6Qk4+RlJCSlZGTlpOVl5WXmpeZnJqcn52foZ+ho6KkpqSmqKWnqaaoqqaoqqepq6epq6epq6epq6epq6epq6epq6epq6epq6iqrKqsrqyusK6wsrCytLGztbK0trK0trK0trO1t7O1t7O1t7O1t7O1t7a4urm6vLy9v7/AwsDBw8DBw8DBw8HCxMHCxMHCxMLDxcLDxcPExsXGyMjJysrLzczNzs3Oz83Oz83Oz83Oz83Oz87P0M/Q0dDR0tHS09PU1dXW19fY2djZ2tna29rb3Nvb3Nvc3dvc3dvc3dzd3d3e39/g4OHi4uPk5OTl5ubn5+fo6Ofo6Ofo6Ojp6ejp6ejp6ejp6err6+vs7O3u7u/w8PHy8vPz9PT09fT09fT19fT19fT19fT19fT19fX19vX19vb29vb29/b29/f39/f3+Pj4+Pj4+fn5+vz8/P39/f39/f7+/v7+/v7+/v7+/v7+/v7+/v////////////////////////////////////////////////////////7+/v///////////////////////wj+AOsJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUr0YLNhuHANa1a0aUFxvl5JnepLnFOnuKZqfYXralFoW7dC8zo0aliqZIVmPSu1a1qgbLW+RSkuGDBgzibGnTqxW7NmzsjNdbgrlGHDsqxC3Cs1IjlhuyJHXjZYoThZhzOnUuyQ8SuI5IJJHj1McGWDtjKrlrWYMUTIo0cnO12wm+rbwR56fugstm/TtOsVu63aFOeFuxuS8+U7trTgAp0RV22rs+uGyZrH7ga9nvTpmcf+Mky+8Jv27d3rmQJ/mPX46wthn9/lK309YOwPM3u/l6G0+ZIxlZ5t+YVyCn9xLUQOMABGBlx3hRUIDHLwIdRMg7vsZ1894qyXnyncJUTeQVA16MuD6Q1XYHUiVmhQdg0+syFBqRQYSl4IjVgbhhPOONB3+bl3kI4EyTdfiD4KRIuNxeTo4kDPYDhMkgQRmN8pxw0ky15CErSciVkmiV+BuRm0FltuFXRhgwJSOZA4pxR4oEHA7NVjQQwCCAyKTRUTTJsQqZhfkwWBsxc4BkUZ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bG5ybnF1cHN3cXR4cnV5c3Z6c3Z6dHd7dHd7dHd7dHd7dXh8dXh8dXh8dXh8dXh8dnl9dnl9d3p+eHt/eXyAe36Cf4GFhYeKiYuOjI6RjpCTj5GUj5GUj5GUj5GUj5GUj5GUj5GUj5GUj5GUkJKVkJKVkJKVkJKVkZOWkZOWk5WYlJaZlZealpibl5mcl5mcmJqdmZuempyfm52gm52gm52gm52gm52gnJ6hnJ6hnJ6hnJ6hn6GjoaOmo6WopqiqqKqsqKqsqKqsqautqautq62vrq+xsLGzsrO1tba4tre5tre5t7i6t7i6t7i6ubu8vL2/v8DBwcLDwsPFw8TFw8TFw8TGxMXGxcbHxcbIxsfIx8jJycrLy8zNzc7Pz9DRz9DR0NHS0NHS0NHS0NHS0tPU1tbX2drb3N3d3d7e3d7e3d7e3t/f3t/f3t/f3t/f3+Dg4ODh4eLi5eXm5+jo6enq6urr6urr6urr6+vs7Ozt7u7v8PDw8vLy9PT09vb29/f39/f39/f39/f39/f39/f39/f39/f39/f39/f4+Pj4+Pj4+fn5+vr6+vr6+/v7+/v7/Pz8/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+////////////////////////////////////////////////////////////////////////////////////////////CP4A6QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSvTgLlikSMHaVbRpQWymKkmdagqbU6ekpmqtROpq0WFbtw7zOjRqWKpkhWY9K7VrWqBstb5FSe2VK1e9JsadOpGYLl27rM5teIqRYcOZqEXcKzUitlafIkemNVghtUyHM19S/JBxJYjYUEke7Upw5YKkMqvOBNEzRMijR786XdCY6tuzHbp2uCu2b9O0bd1W7Ygzw90MsZHyHVsY7YG9hqt2e5yxw1fMYxN7LjC69Mzbq/7vbWgsu3buAh19P8xafNyGsM1/GoVeoKv1h5kuRJ5QmHzJutRHj234MRKJe2wtBNV/kQHHXWEFurKfdQrpwuAntggoEDXq4eeIMQrxZ9A0y/03ioPoCVcgdQeJ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ODg5P0BBSElLUFFTV1lbX2FkZWhsaWxva25xbG5ybG9zbG9zbG9zbG9zbG9zbG9zbG9zbG9zbXB0bXB0bXB0bXB0bXB0bXB0bnF1bnF1b3J2cHN3cXR4c3V5dHd6dXd7dXh8dnh8dnl8d3l9d3l9d3p9eXt/enyAfX+CgYOGhIaKhoiLh4mMh4mMh4mMh4mMh4mMh4mMh4mMh4mMh4mMh4mMh4mMh4mMiIqNiIqNiYuOioyPi42QjY+SjpCTj5GUj5GUkJKVkZOWkpSXkpSXk5WYk5WYk5WYk5WYk5WYk5WYlJaZlJaZlJaZlJaZlpibmJqdm52gnqCjn6GkoKKloKKloKKloaOmoaOmoaOmo6SnpaepqKmsq6yvra6xrq+xrq+xr7Cyr7Cyr7CysbK0tLW3t7i6ubq8u7y+u7y+vL2/vL2/vL2/vb7Av8DCwMHDwsPFxMXHxsfJx8jKx8jKx8jKyMnLyMnLyMnLycrMysvNzM3Ozs/Q0tPU1NXW1dbX1dbX1tbY1tfY1tfY19jZ2dna29vc39/g4uLj4uLj4+Pk5OXl5ubn6Ojo6enq6+vs7e3t7+/v8PDw8PDw8PDw8PDw8fHx8vLz8/P09PT09PT19fX19vb29/f3+fn5+vr6+/v7/Pz8/Pz8/f39/f39/f39/f39/v7+/v7+/v7+/v7+/v7+/v7+/v7+/////////////////////////////////////////////////////v7+/v7+/v7+////////////////////////////////////////////////////////////////////CP4A4QkcSLCgwYMIEypcyLChw4cQI0qcSLGixYsYM2rcyLGjx48gQ4ocSbKkyZMoU6pcybKly5cwY8qcSbOmzZs4c+rcybOnz59AgwodSvRgrlqhQtXKVbRpQWilJkmdWgqaU6ehpmqdFOpqUWBbtwLzOjRqWKpkhWY9K7VrWqBstb5F+YyWK1e+JsadOlEYLly6rM5tuCqRYcOYnkXcKzUitFacIke+NVjhM0yHM1tS/JDxJIjQUEke7Upw5YKiMqvGBNEzRMijR786XTCZ6tuyOjN+qCu2b9O0b91W3YgzQ9cNoYHyHXssbYG+hqsW5RA5w1fMYwt7Dl266mANrf4rRJZdO3eBjbwfZn18N0PY5TmBOi+w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j7jE3xIQACH5BAkEAPEALAAAAACYAJgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTw8PUJDRExNT1RVWFpdX2BiZWRmamZpbWhqbmhrb2lscGlscGlscGlscGlscGlscGlscGlscGlscGlscGlscGlscG1wdHFzd3N1eXV3e3Z4fHd5fXd5fXd5fXd5fXd5fXd5fXd5fXd5fXd5fXd5fXh6fnh6fnh6fnh6fnh6fnh6fnp8gHx+gn+BhYGEh4KFiIOGiYOGiYOGiYOGiYOGiYSHioSHioSHioSHioSHioWIi4aJjIiKjYqMj4yPko6Rk5CSlZCSlZGTlpGTlpKUl5KUl5KUl5KUl5KUl5OVmJaYmpianZudn52foZ6gop6gop6gop+ho5+ho6CipKOlp6WnqaiprKqsrqusr6usr6ytsKytsKytsKyusa2usa+ws7Kztra3ubi5u7i5u7i5u7m6vLm6vLm6vLq7vbu8vr6/wcDBw8PExsXGyMXGyMXGyMXGyMbHycbHycnKzM3Oz8/Q0dHS09LT1NLT1NPU1dXW19fY2drb3N3e39/f4N/g4eDg4eDh4uDh4uHi4uPk5OXm5+fo6Onq6uvs7Ozt7e3u7u3u7u3u7u7v7+/v8PDx8fPz8/T19fb29vf39/j5+fn5+fr6+vr6+vr6+vr6+vr6+vv7+/v7+/z8/Pz8/P39/f39/f39/f7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AOMJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUr0oKxVmTKtklW0acFloBBJnQpqmVOnl6ZqRZTp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saMb3OCGrAfC6sswgxnRGDb5io1Iv3wYwc2+CDM+3OZoI/XDlbZ2RAp8X2hruyLsmDZ0mWHrb0tkG9dYxjKuEWhzu/vd8I63vOdN73rb+974zre+983vfvvbSgEBACH5BAkEAOsALAAAAACYAJgAhwAAAAEBAQICAgMDAwQEBAUFBQYGBgcHBwgICAkJCQoKCgsLCwwMDA0NDQ4ODg8PDxAQEBERERISEhMTExQUFBUVFRYWFhcXFxgYGBkZGRoaGhsbGxwcHB0dHR4eHh8fHyAgICEhISIiIiMjIyQkJCUlJSYmJicnJygoKCkpKSoqKisrKywsLC0tLS4uLi8vLzAwMDExMTIyMjMzMzQ0NDU1NTY2Njc3Nzg4ODw8PEhJSlNVVltdX2BiZWRmaWdqbGlsb2tucGxvcmxvcmxvcmxvcmxvcmxvcmxvcmxvcm1wc21wc21wc21wc25xdG9ydXF0d3N2eXZ5fHd6fXh7fnl8f3l8f3l8f3l8f3p9gHp9gHp9gHp9gHp9gHt+gX6Ag4KEh4SGiYWHioaIi4eJjIeJjIeJjIeKjIiKjYmLjoyOkY+Rk5GTlZOVl5SWmJSWmJSWmJWXmZWXmZWXmZaYmpeZm5mbnZudn56foZ+ho6CipKCipKCipKCipKCipKCipKCipKGjpaGjpaOlp6aoqqqrrayusK6vsa6vsa6vsa6vsa6vsa+wsq+wsq+wsrGytLS2t7e5uri6u7m7vLq8vbu9vry+v7/BwsTGx8fIycjJysjJy8nKy8nKy8rLzM7Pz9HS0tPU1dXW19XW19XW19bX2NfY2Nvc3N/f4ODh4uLi4+Li4+Lj4+Pj5OTk5ebm5+rq6+3t7e/v7/Dw8PHx8fPz9PX19ff39/n5+vv7+/v7+/z8/P39/fz8/Pz8/Pz8/Pz8/Pz8/Pz8/Pz8/P39/f39/f7+/v7+/v7+/v7+/v7+/v////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/v7+/gj+ANcJHEiwoMGDCBMqXMiwocOH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6Onq6urr6+zs7O/v7/Hx8fLy8vLy8vLy8vPz8/X19ff39/n5+fn5+vv7+/v7/Pz8/Pz8/P39/f39/f7+/v////////7+/v////////////////7+/v7+/v7+/v7+/v////////////////////////////////////////////////////////////////7+/v7+/v///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wj+AMcJHEiwoMGDCBMqXMiwocOHECNKnEixosWLGDNq3Mixo8ePIEOKHEmypMmTKFOqXMmypcuXMGPKnEmzps2bOHPq3Mmzp8+fQIMKHUr04CZJduxI2lS0aUFbgaRInRrIllOndqZqlWLnalFRW7eK8jo0aliqZIVmPSu1a1qgbLW+hRtX6sRRlixpsjrXZF27EKGGGTw4Ut+Sf6UE1kO4MSK+h0EmhhiosWVFkUNOdpjJsmfImTluZmjrjGfLoUJ7HL1Q0WnLo1R3ZJ1Q1WvYskX/bVj59uAzuXXXZRjKN2FLwTfSNmiLjvHBoJNbXF7Q0vMwhqVnpD7wlWnjZ6L+a6fIXaDr56DGb9+NcNR1t+ovlu9tPHZ8+ewNgrqO6D5GLHVhcVBpz53xin8XrcUWfARZ9xxyCFqESF39GeSccXSIV1QuufCCkit1uaLfdelJREooY81kCy0s0lLLLcmYtAhbixx0nm+BRARLJnXA4SMcNcJ0S4tE0gJjSZKEJQlC9N1mX0O2VPLjlHBk19KQRRJZSy4llQKKJJKAUkpCTZ6GmUOh9EjllJW4VEuWWdbiYUwOvhZeQ6MIsuaadbSUC5yA2hLjS7b4ltpCsCyy56KHqoQloHAe6dIo3122kC2ZLKppJizhAimkW76kSpNnlJhQKH9oqmknLPny6af+tszZEl6RZHJgQqMgoqqqrFz56qeS4mRLJLuq2mZLybz5K6By4jSKmsXuKYiGKCXz6LJZ3mJTptEuGgm1KuWiLLZFcjmTKN3uWUejMllLbpG1DAoTLNCm6+O3OPmy4rssmgtTKPb+iEivO4nLr7YxcZvuHyn6dMu4v+IiUyfp1sGpUO4uK+9LsHQbCSxN8bIvpOCupKuqiDzplMFwxksTK/VO+Qe7XlkLsYu+2AQzlX9kUvLKt9hiSy4b0wRLKIogUgnNETbt9NNQRy311FQPdcsrrqSi9dZcd721Kq68IutPsljySCB+pK322myr/Ygkp4iUTNZe12331iD/lEn+23z3vfYjCHtE992Eey2LT534rXjfS3pkS+GQey3xTq4sbnnbKmskS+Sca/1zTKNcLnrarHY0eOeFH75T4qNf3ojgqEeuuk6st7746x1tHnvhn8MUuu2Ll87R47sTPrlOlQOveOYanV4817OvrjzjIM39fNd5+7T39Gs3EvhHt7jifOSrhD22T2U3grbtjcBd9fvwxy///PTXTzUsq4xiyivH10RLKJiYhCYa1hdeuEIUCEygKHqXklck4hAQhOAiQNE/r8BCgRhcIE0cGMEOHmIRBGyKLUaRQQwyzyWT8KAKJ7GKpuBiFSUsYQVbQgsV2vAQmqCFUAwYwxjeCib+oLihDRNhqp7Qooc9FFFMgihEGy6CFDwZIRJ7mL2XiKKJQpzED2vCCxhOsYfno+EDsXhDTcyQY19Eog5nQgoyCjERIWxJF9OYRJsw0Y02NONLeEFCOpaQgSpZxRjx6MFInPEkrPBjBlcRRprgIhOEVKEnWmILRSpwFCW7RSpIkYrocaQVokBRLRSyihRGMoJbRMkrLInAKh4kFaDwhCw9IYpRbmRHj8jlIyIRx4KIYhGnPATTTHJARbqikQQZxSyXCQpPVqQVkdClNIt4EFzcEY/UPMkF6WiKQxLkFcsMpyeQCRFcSPOcj1AFQ2iBCUL20iRpxGRDeBFLcc4yFRj+EQU6pWnIhqwiEmRMhEsSiURXKkSZ9pzlO8dBi1aMYhStWONBMrHPaT5EFIO04SRd4sUMHvMhskjoMt+Jl7yY9ITjoGhFddmKh+DCEze82EtMgUFXeBMhohDpLE8oCpP61BK9BMVKdSlTh9ACFBktKkxoAQtAEsQVOp2lEglii5/+VDyjGKouUboQGEKRLLwIRVQ9McxQWNWnw5yEVh8xiZsGJxVj9QTBCgKKs5o0m+PQ51oXGpxbxDUUjcSEXfOCiWpGU6uRsGV8cjrWqVZnsHlpz1ofwZT4hHSsC4VsZBGiUq22VD1iHaszB6JZCB2kFZMt7HhYEVeujqO0ChH+6lpdexh6jhUU3zMIbBNSi8MOtZ/JIUVc8amQ3SZEr1odZmT8OlblNkizDFHrWt2aFriONZUHMW5tJsvXt9RTp90ViHYT0tmVWik0l42qYosLXYbAYrKfRe9Yv8qQ8SZEtkONb2agqlNQkPOxkHUILnxbUXWqhrkinWt929sQ5FaUul5BqD3D+9wAP6S858RrbRkbTsBCxL4KwQUm9rkJCKdFuCP9b3YZLGAMOzc0vGCF1tb7EBC7N4EmlpqN7TeRug5WwzyWiFkH++IgP+QVkMWukXtsVyAvuZxDRmuOn7wQh4ICFBClspa3zOUue/nLYA6zmMdM5jKb+cxoTrMEmnUSEAA7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='","
\r\n
\r\n

\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { ModalContent } from '../../models/modal-content';\r\nimport { image } from '../../image/mci-spinner-image';\r\n@Component({\r\n selector: 'lib-spinner-modal',\r\n templateUrl: './spinner-modal.component.html',\r\n styleUrls: ['./spinner-modal.component.scss']\r\n})\r\nexport class SpinnerModalComponent implements OnInit {\r\n\r\n\r\n \r\n spinnerLogo: string \r\n constructor(public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ModalContent,\r\n private layoutService: LayoutService) { }\r\n\r\n ngOnInit(): void {\r\n this.dialogRef.disableClose = true; // Only close via button click\r\n this.dialogRef.addPanelClass('full-width-dialog'); // Injects globally declared style.\r\n this.layoutService.subscribeToLayoutChanges();\r\n this.manageScreenSizing();\r\n this.spinnerLogo=image;\r\n }\r\n get isMobile(): boolean {\r\n return this.layoutService.isSmallView();\r\n }\r\n\r\n get isTablet(): boolean {\r\n return this.layoutService.isMediumView();\r\n }\r\n\r\n get isDesktop(): boolean {\r\n return this.layoutService.isLargeView();\r\n }\r\n\r\n private manageScreenSizing() {\r\n const width = this.isMobile ? '75%' : '470px';\r\n const height = this.isMobile ? '30%' : 'auto';\r\n this.dialogRef.updateSize(width, height);\r\n }\r\n closeDialog() {\r\n this.dialogRef.close('close');\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { Observable, BehaviorSubject } from 'rxjs';\r\nimport {\r\n IGetUIElement, IGetPageContentValues, IErrorDetails, IGetPageContentRequestBody, IGetUIElementsPayload, IStraplineContent, ModalContent\r\n} from '../../shared/models';\r\nimport { IStraplineCode } from '../../shared/models/strapline-code.model';\r\nimport { Router, RouterEvent } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MatDialog, MatDialogRef } from '@angular/material/dialog';\r\nimport { SpinnerModalComponent } from '../../shared/components/spinner-modal/spinner-modal.component';\r\n\r\nconst pageNames: Array = ['MCISalesJourney'];\r\nconst ValidatingQuoteTxt = 'Shared.MultiQuoteStatusValidatingQuotesUIUX';\r\nconst QuoteRetrievingQuotesUIUXText = 'Shared.MultiQuoteRetrievingQuotesUIUXText';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LocalizationService {\r\n quoteRetrievingQuotes: string;\r\n validatingQuotes: string;\r\n dialogRef: MatDialogRef;\r\n private getUIElementsCache: any;\r\n private getUIElementsCachedObservable: Observable;\r\n private getUIElementsCachedKey: any;\r\n\r\n constructor(private commonHttpService: CommonHttpService,\r\n private router: Router,\r\n private sessionStorageService: SessionStorageService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog) { }\r\n\r\n private apiUrl = `${endPoints.apiUrl}`;\r\n\r\n private getUIelementsUrl = this.apiUrl + `${endPoints.endPointName.getUIElements}`;\r\n\r\n private getStrapLineUIElementsUrl = this.apiUrl + `${endPoints.endPointName.getStrapLineUIElements}`;\r\n\r\n private getPageContentUrl = this.apiUrl + `${endPoints.endPointName.getPageContentValues}`;\r\n\r\n // private getUiElementUrl = this.apiUrl + `${endPoints.endPointName.getUIElements}`;\r\n\r\n public sharedUIElement: IGetUIElement[];\r\n\r\n private getUiElementPayload: IGetUIElementsPayload;\r\n\r\n // --- behaviour object to be set for ui element object\r\n private uiElementObj = new BehaviorSubject([]);\r\n uiElementObjObservable = this.uiElementObj.asObservable();\r\n\r\n // -- new wrapper api call(POST) to get content per page we pass in array req body\r\n getUIElements(requestBody: IGetUIElementsPayload): Observable {\r\n const apiURL = this.getUIelementsUrl;\r\n return this.commonHttpService.httpPostService(apiURL, requestBody);\r\n }\r\n\r\n getUIElementsValues(languageId, productId): Observable {\r\n const url = `${this.getUIelementsUrl}${productId}/${languageId}`;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n\r\n getStrapLineUIElements(uiElementData: IGetUIElement[], uiElementCodeList: IStraplineCode): IStraplineContent {\r\n\r\n const straplineHeaderTextElement = uiElementData.find(item => item.uiElementCode === uiElementCodeList.headingTextCode);\r\n const straplineDescriptionElement = uiElementData.find(item => item.uiElementCode === uiElementCodeList.additionalTextCode);\r\n const straplineButtonElement = uiElementData.find(item => item.uiElementCode === uiElementCodeList.callToActionCode);\r\n const straplineImageElement = uiElementData.find(item => item.uiElementCode === uiElementCodeList.imageCode);\r\n\r\n const straplineContent = {\r\n straplineHeaderText: straplineHeaderTextElement && straplineHeaderTextElement.uiElementValue,\r\n straplineDescription: straplineDescriptionElement && straplineDescriptionElement.uiElementValue,\r\n straplineButton: straplineButtonElement && straplineButtonElement.uiElementValue,\r\n straplineImage: straplineImageElement && straplineImageElement.uiElementValue\r\n };\r\n\r\n return straplineContent;\r\n }\r\n\r\n getPageContentValues(requestBody: IGetPageContentRequestBody): Observable {\r\n const apiURL = this.getPageContentUrl;\r\n return this.commonHttpService.httpPostService(apiURL, requestBody);\r\n }\r\n\r\n getErrorContent(errorPage: string, languageId: number, sponsorId: number): Observable {\r\n const url = `${this.apiUrl}${endPoints.endPointName.getErrorContent}/${errorPage}/${languageId}/${sponsorId}`;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n\r\n // ---- set ui-element object\r\n setUIElementObj(resultData: IGetUIElement[]) {\r\n // this.sharedUIElement = resultData;\r\n this.uiElementObj.next(resultData);\r\n }\r\n\r\n // ----- get specific ui element ui object data by pagename\r\n getUIElementDataByPageName(uiElementData: IGetUIElement[], pageName) {\r\n if (uiElementData) {\r\n return uiElementData.filter(pageObj => pageObj.pageName.toLowerCase() === pageName);\r\n }\r\n }\r\n\r\n // to close the pop up after navigating to multi-carrier-quote\r\n CloseModalDailog() {\r\n this.dialogRef?.close();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([QuoteRetrievingQuotesUIUXText, ValidatingQuoteTxt]).subscribe((res) => {\r\n\r\n this.quoteRetrievingQuotes = res[QuoteRetrievingQuotesUIUXText];\r\n this.validatingQuotes = res[ValidatingQuoteTxt]\r\n\r\n });\r\n }\r\n\r\n // to open pop up until routing to multi-carrier-quote page\r\n openModal(value) {\r\n this.applyTranslations();\r\n const modalData: ModalContent = {\r\n headingText: this.quoteRetrievingQuotes,\r\n additionalText: value !== undefined ? value : '',\r\n instructionText: this.validatingQuotes,\r\n\r\n };\r\n\r\n this.dialogRef = this.dialog.open(SpinnerModalComponent, {\r\n autoFocus: false,\r\n data: modalData\r\n });\r\n }\r\n\r\n\r\n getUIElementsForProduct() {\r\n const productId = this.sessionStorageService.get('ProductId');\r\n const languageId = this.sessionStorageService.get('LanguageId');\r\n const data = this.getUIElementsValues(languageId, productId)\r\n return data;\r\n\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router } from '@angular/router';\r\nimport { LoggingService } from '../../shared/core/app-insights/logging.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { LocalizationService } from '../localization/localization.service';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\nimport moment from 'moment';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PagingService {\r\n private currentPage: string;\r\n private baseUrl = endPoints.baseUrl;\r\n\r\n constructor(\r\n private sessionStorageService: SessionStorageService,\r\n private titleService: Title,\r\n private router: Router,\r\n private loggingService: LoggingService,\r\n private localizationService: LocalizationService,\r\n private settingsService: SharedSettingsService\r\n ) {\r\n }\r\n\r\n public getSponorBrandNameLabel() {\r\n const sponorSuffix = this.settingsService.sponsorBrandName == null ? '' : `${this.settingsService.sponsorBrandName}`;\r\n const tempDivElement = document.createElement(\"div\");\r\n tempDivElement.innerHTML = sponorSuffix;\r\n return tempDivElement.textContent === \"\" || tempDivElement.innerText === \"\" ?\r\n tempDivElement.textContent || tempDivElement.innerText || \"\" :\r\n ` - ${tempDivElement.textContent || tempDivElement.innerText || \"\"}`;\r\n }\r\n\r\n public registerPageDetails(pageName: string) {\r\n // De-duplication of repeat views.\r\n if (pageName !== this.currentPage || this.currentPage === undefined) {\r\n const fullPageName = pageName + this.getSponorBrandNameLabel();\r\n this.titleService.setTitle(fullPageName);\r\n this.loggingService.logPageView(\r\n fullPageName, `${endPoints.host}${endPoints.baseUrl}${this.stripLeadingSlashes(this.router.url)}`);\r\n this.currentPage = pageName;\r\n }\r\n }\r\n\r\n public getSponsorBrandName(): string {\r\n const selectedSponsorBrandName = this.localizationService.sharedUIElement?.filter(x =>\r\n x.uiElementCode === 'lblSponsorBrandNameLabel_Claims')\r\n let brandName = '';\r\n let sponsorBrandName = '';\r\n if (selectedSponsorBrandName !== undefined && selectedSponsorBrandName !== null\r\n && selectedSponsorBrandName.length > 0 && selectedSponsorBrandName[0] !== null) {\r\n if (selectedSponsorBrandName[0]?.uiElementValue) {\r\n brandName = selectedSponsorBrandName[0].uiElementValue !== undefined ? selectedSponsorBrandName[0].uiElementValue :\r\n BaseConstantService.defaultSponsorBrandNameClaims;\r\n }\r\n else {\r\n brandName = BaseConstantService.defaultSponsorBrandNameClaims\r\n }\r\n }\r\n else {\r\n brandName = '';\r\n }\r\n this.settingsService.sponsorBrandName = brandName;\r\n sponsorBrandName = this.settingsService.sponsorBrandName;\r\n return sponsorBrandName ? ` - ${sponsorBrandName}` : '';\r\n }\r\n\r\n private stripLeadingSlashes(input: string) {\r\n let result: string = input;\r\n while (result && result.charAt(0) === '/') {\r\n result = result.substring(1);\r\n }\r\n return result;\r\n }\r\n public convertDateIntoUTC(objDate: any) {\r\n const startDate = moment(objDate).valueOf();\r\n const resultDate = moment(startDate).format(\"YYYY-MM-DD\");\r\n if (resultDate && resultDate !== 'Invalid date' && resultDate !== undefined) {\r\n return resultDate;\r\n }\r\n return objDate;\r\n }\r\n}\r\n","export class Tile {\r\n image: string;\r\n heading: string;\r\n subheading: string;\r\n buttonText: string;\r\n linkText: string;\r\n isImageLeft: boolean;\r\n tag: any;\r\n isButtonVisible: boolean;\r\n newOrEditQuoteAllowed: boolean; \r\n}\r\n","export class DropdownItem {\r\n id: number;\r\n name: string;\r\n languageCode: string;\r\n}\r\n","\r\nexport class InfoCard {\r\n intentCode: string;\r\n name: string;\r\n image: string;\r\n sideText: string;\r\n description: Array;\r\n coverageTermsLabel: string;\r\n coverageTerms: string;\r\n defaultCoverageTermText: string;\r\n coverageTermsList: string[];\r\n currencySymbol: string = '';\r\n currencySymbolAfterMoney: boolean = false;\r\n monthText: string = '';\r\n mandatoryOrPreSelectedCoverages?: string[];\r\n editPrimaryCoveargeTermOnSecondaryCoverage: boolean = false;\r\n hideCoverage?: boolean = false\r\n}\r\n\r\nexport class InfoCardDescription {\r\n label: string;\r\n sublabel: string;\r\n}\r\n\r\nexport class AccordionItem extends InfoCardDescription {\r\n expanderDesc: string;\r\n content: string;\r\n isSelected: boolean;\r\n grossPremium: number;\r\n netPremium: number;\r\n tax: number;\r\n coverageId?: number;\r\n isOptionalCover?: boolean;\r\n allowableCoverageTerms?: any[];\r\n defaultCoverageTerms?: string;\r\n isPrimary?: boolean;\r\n readOnly?: boolean;\r\n coverageTermValue?: string;\r\n intentCode?: string;\r\n primaryCoverTerm?: string;\r\n coverageTermWithPricing?: CoverageTermsWithPricing[];\r\n isCoveragePreselected?: boolean;\r\n isCoverageTermGreater?: boolean;\r\n groupId?: number;\r\n sequence?: number;\r\n isMandatory?: boolean;\r\n hasDefaultCoverageTerms?: boolean;\r\n excludedSecondaryCoverages?: any[];\r\n excludedFor?: any[];\r\n isExcluded?: boolean;\r\n groupHeading?: string;\r\n displaySequenceForSecondaryCoverage?: number;\r\n hideCoverage?: boolean;\r\n}\r\n\r\nexport class CoverageTermsWithPricing {\r\n coverageTermValue: string;\r\n expanderDesc: string;\r\n isCoverageTermSelected: boolean;\r\n grossPremium: number;\r\n netPremium: number;\r\n tax: number;\r\n\r\n}\r\n\r\nexport class CoverageGrouping {\r\n groupId: number;\r\n isMandatory?: boolean;\r\n hasPreSelect?: boolean;\r\n groupHeading: string\r\n accordianItems: AccordionItem[];\r\n\r\n}\r\n\r\n","import { Question } from '.';\r\n\r\nexport class QuestionLogicResolverData {\r\n questionSet: Question[];\r\n questionType: string;\r\n forwardNavRoute: string;\r\n backwardNavRoute: string;\r\n backwardNavIcon: string; \r\n}\r\n","export class IterationData {\r\n index: number;\r\n itemCount: number;\r\n subscriptionId: string;\r\n }\r\n","export interface IErrorState {\r\n header: string;\r\n primaryMessage: any;\r\n secondaryMessage: any;\r\n buttonLabel: string;\r\n isCustomerBlocked: boolean;\r\n signInFailed?: boolean;\r\n}\r\n\r\nexport class ErrorState implements IErrorState {\r\n public header: string;\r\n public primaryMessage: any;\r\n public secondaryMessage: any;\r\n public buttonLabel: string;\r\n public isCustomerBlocked: boolean;\r\n public signInFailed?: boolean;\r\n\r\n constructor(\r\n header: string,\r\n primaryMessage: any,\r\n secondaryMessage: any = null,\r\n buttonLabel: string = null,\r\n isCustomerBlocked: boolean = false,\r\n signInFailed: boolean = false) {\r\n\r\n this.header = header;\r\n this.primaryMessage = primaryMessage;\r\n this.secondaryMessage = secondaryMessage;\r\n this.buttonLabel = buttonLabel;\r\n this.isCustomerBlocked = isCustomerBlocked;\r\n this.signInFailed = signInFailed;\r\n\r\n }\r\n}\r\n","export interface ModalContent {\r\n headingText: string;\r\n additionalText: string;\r\n instructionText: string;\r\n iconName?: string;\r\n severityLevel?: SeverityLevel;\r\n buttons?: ButtonContent[];\r\n closeButton?: boolean;\r\n logo?: string;\r\n bodyText?: any;\r\n linkLabel?: any;\r\n sheetButtonText?: any;\r\n arrayOfInstructiontext?: any;\r\n subHeadingText?: string;\r\n subHeadingAdditionalText?: string,\r\n secondsCount?: number,\r\n secondsText?: string,\r\n showCheckbox?: boolean,\r\n checkboxLabel?: string,\r\n showTextbox?: boolean,\r\n textboxLabel?: string,\r\n isRenewal?: boolean\r\n}\r\n\r\nexport interface ButtonContent {\r\n buttonText: string;\r\n tag: any;\r\n isSecondary?: boolean;\r\n hasFocus?: boolean;\r\n}\r\n\r\nexport enum SeverityLevel {\r\n Information = 'Information',\r\n Warning = 'Warning',\r\n Error = 'Error',\r\n Update = 'Update'\r\n}\r\n","import { CustomerConsent, DataShareConsent } from '../models';\r\n\r\nexport interface SaveUserConsents {\r\n customerConsents: CustomerConsent[];\r\n dataShareConsent: DataShareConsent;\r\n customerId: number;\r\n languageId: number;\r\n userName: string;\r\n saveType: string;\r\n disableMyAccountCreationB2C?: boolean;\r\n}\r\n\r\nexport class SaveUserConsentsResponse {\r\n customerConsents: CustomerConsent[];\r\n dataShareConsent: DataShareConsent;\r\n}\r\n","import { Question } from '.';\r\n\r\nexport class QuestionAnsweredEventArgs {\r\n question: Question;\r\n finalQuestion: boolean;\r\n\r\n constructor(question: Question, finalQuestion: boolean = false) {\r\n this.question = question;\r\n this.finalQuestion = finalQuestion;\r\n }\r\n}\r\n","import { Question } from \"../models\";\r\n\r\nexport abstract class FormFieldBase {\r\n value: T;\r\n key: string;\r\n label: string;\r\n descriptionLabel: string;\r\n required: boolean;\r\n order: number;\r\n controlType: string;\r\n type: string;\r\n readOnly: boolean;\r\n disableMatFormField: boolean;\r\n iconName: string;\r\n mandatoryValidationMsg: string | string[];\r\n callToActionLabel: string;\r\n options: { name: string, value: string, id?: any }[];\r\n groupOptions: { label: string, options: { name: string, value: string } }[];\r\n validatorMatchWith: string;\r\n visibility: string;\r\n parentOValue: string;\r\n margin: number;\r\n index: number;\r\n formFieldIteration: number;\r\n masterGroupPanelIntentCode: string;// Very first level Parent\r\n rootParentQIntentCode: string;// immediate parent\r\n qIntentCode: string;\r\n childQIntentCode: string;\r\n parentQIntentCode: string;\r\n formFieldIterationIndex: number;\r\n globalFunction?: string;\r\n onDemandDataParameters?: string;\r\n onDemandDataSubscribers?: string;\r\n lookupPQIntentCode?: string;\r\n iterationIndex?: number;\r\n minLength: number;\r\n odefault: boolean;\r\n selectedId?: string;\r\n persistChildValue?: boolean;\r\n isHidden?: boolean;\r\n autoSuggestionList?: { name: string, value: string, id?: any }[];\r\n isRepeatingGroupToBeNext?: boolean;\r\n masterGroupPanelChildQIntentCode?: string;// Very first level Parent\r\n constructor(options: {\r\n value?: T,\r\n key?: string,\r\n label?: string,\r\n descriptionLabel?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n disableMatFormField?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n visibility?: string,\r\n parentOValue?: string,\r\n margin?: number,\r\n index?: number,\r\n formFieldIteration?: number,\r\n masterGroupPanelIntentCode?: string,\r\n rootParentQIntentCode?: string,\r\n qIntentCode?: string,\r\n childQIntentCode?: string,\r\n parentQIntentCode?: string,\r\n formFieldIterationIndex?: number,\r\n globalFunction?: string,\r\n onDemandDataParameters?: string,\r\n onDemandDataSubscribers?: string,\r\n lookupPQIntentCode?: string,\r\n iterationIndex?: number,\r\n minLength?: number,\r\n odefault?: boolean,\r\n persistChildValue?: boolean,\r\n isHidden?: boolean,\r\n autoSuggestionList?: { name: string, value: string, id?: any }[],\r\n isRepeatingGroupToBeNext?: boolean,\r\n masterGroupPanelChildQIntentCode?: string\r\n } = {}) {\r\n this.value = options.value;\r\n this.key = options.key || '';\r\n this.label = options.label || '';\r\n this.descriptionLabel = options.descriptionLabel || '';\r\n this.required = !!options.required;\r\n this.order = options.order === undefined ? 1 : options.order;\r\n this.controlType = options.controlType || '';\r\n this.type = options.type || '';\r\n this.readOnly = options.readOnly || false;\r\n this.iconName = options.iconName || '';\r\n this.callToActionLabel = options.callToActionLabel || '';\r\n this.mandatoryValidationMsg = options.mandatoryValidationMsg || '';\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class DatePickerField extends FormFieldBase {\r\n controlType = 'datepicker';\r\n minDate: string;\r\n maxDate: string;\r\n default: string;\r\n offsetBasis: string;\r\n isExpiryDateAsInceptionDate: boolean;\r\n isFixedTerms: boolean;\r\n isUnderMasterPolicy: boolean;\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n minDate?: string,\r\n maxDate?: string,\r\n default?: string,\r\n offsetBasis?: string,\r\n isExpiryDateAsInceptionDate?: boolean,\r\n isFixedTerms?: boolean;\r\n isUnderMasterPolicy?: boolean;\r\n } = {}) {\r\n super(options);\r\n this.minDate = options.minDate || '';\r\n this.maxDate = options.maxDate || '';\r\n this.default = options.default || '';\r\n this.offsetBasis = options.offsetBasis || '';\r\n this.isExpiryDateAsInceptionDate = options.isExpiryDateAsInceptionDate || true;\r\n this.isFixedTerms = options.isFixedTerms || false;\r\n this.isUnderMasterPolicy = options.isUnderMasterPolicy || false;\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\nimport { AlertMessage } from '../models';\r\n\r\n\r\nexport class DropDownField extends FormFieldBase {\r\n controlType = 'dropdown';\r\n\r\n options: { name: string, value: string, alertMessage?: AlertMessage, index?: number, id?: any, childQIntentCode?: string }[] = [];\r\n groupOptions: { label: string, options: { name: string, value: string } }[] = [];\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.options = options['options'] || [];\r\n this.groupOptions = options['groupOptions'] || [];\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class RadioGroupField extends FormFieldBase {\r\n controlType = 'radio';\r\n validatorMatchWith: string;\r\n questionFormat: string;\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n isVisible?: boolean,\r\n questionFormat?: string,\r\n } = {}) {\r\n super(options);\r\n this.validatorMatchWith = options['validatorMatchWith'] || '';\r\n this.questionFormat = options.questionFormat;\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class TextboxField extends FormFieldBase {\r\n controlType = 'textbox';\r\n validatorMatchWith: string;\r\n minLength: number;\r\n maxLength: number;\r\n minRange: number;\r\n maxRange: number;\r\n questionFormat: string;\r\n regexValidation: string;\r\n correctFormatValidationMsg: string;\r\n localization: boolean;\r\n enableSearchButton: boolean;\r\n searchButtonText: string;\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n minLength?: number,\r\n maxLength?: number,\r\n minRange?: number,\r\n maxRange?: number,\r\n isVisible?: boolean,\r\n questionFormat?: string,\r\n regexValidation?: string,\r\n correctFormatValidationMsg?: string,\r\n localization?: boolean\r\n\r\n\r\n } = {}) {\r\n super(options);\r\n this.validatorMatchWith = options['validatorMatchWith'] || '';\r\n this.minLength = options.minLength;\r\n this.maxLength = options.maxLength;\r\n this.minRange = options.minRange;\r\n this.maxRange = options.maxRange;\r\n this.questionFormat = options.questionFormat;\r\n this.regexValidation = options.regexValidation;\r\n this.correctFormatValidationMsg = options.correctFormatValidationMsg;\r\n this.localization = options.localization;\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\nimport { AlertMessage } from '../models';\r\n\r\nexport class CountryCodePhoneNumberField extends FormFieldBase {\r\n controlType = 'countrycodephonenumber';\r\n options: { name: string, value: string, alertMessage?: AlertMessage, index?: number}[] = [];\r\n minLength: number;\r\n maxLength: number;\r\n questionFormat: string;\r\n regexValidation: string;\r\n correctFormatValidationMsg: string;\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n minLength?: number,\r\n maxLength?: number,\r\n questionFormat?: string,\r\n regexValidation?: string,\r\n correctFormatValidationMsg?: string\r\n options?: { name: string, value: string }[]\r\n } = {}) {\r\n super(options);\r\n this.options = options['options'] || [];\r\n this.minLength = options.minLength;\r\n this.maxLength = options.maxLength;\r\n this.questionFormat = options.questionFormat;\r\n this.regexValidation = options.regexValidation;\r\n this.correctFormatValidationMsg = options.correctFormatValidationMsg;\r\n }\r\n}\r\n","import { DatePickerField } from '../form-field/date-picker-field';\r\nimport { DropDownField } from '../form-field/dropdown-field';\r\nimport { RadioGroupField } from '../form-field/radio-group-field';\r\nimport { TextboxField } from '../form-field/textbox-field';\r\nimport { CountryCodePhoneNumberField } from '../form-field/CountryCodePhoneNumber-Field';\r\nimport { CountryCodeLookupData } from './user-profile.model';\r\n\r\n\r\nexport class YourProfileData {\r\n personalDetails: PersonalDetails = new PersonalDetails();\r\n manageAddresses: ManageAddresses = new ManageAddresses();\r\n languagePreference: LanguagePreference = new LanguagePreference();\r\n consentPreferences: ConsentPreferences = new ConsentPreferences();\r\n contactPreferences: ContactPreferences = new ContactPreferences();\r\n}\r\n\r\nexport class PersonalDetails {\r\n pageInfo: PageInfo = new PageInfo();\r\n title?: DropDownField = new DropDownField();\r\n ssn?: TextboxField = new TextboxField();\r\n firstName?: TextboxField = new TextboxField();\r\n lastName?: TextboxField = new TextboxField();\r\n email?: TextboxField = new TextboxField();\r\n dob?: DatePickerField = new DatePickerField();\r\n placeOfBirth?: TextboxField = new TextboxField();\r\n placeOfBirthTown?: TextboxField = new TextboxField();\r\n phoneNumber?: TextboxField = new TextboxField();\r\n countryCode?: CountryCodePhoneNumberField = new CountryCodePhoneNumberField();\r\n countryCodeLookupData?: CountryCodeLookupData[];\r\n countryCodeRequired?: boolean;\r\n countryCodeReadOnly?: boolean;\r\n selectedCountryCode?: string;\r\n countryCodeLabel?: string;\r\n showCountryCodeCtrl?: boolean;\r\n tooltipText: string;\r\n isEditMode: boolean;\r\n email2?: TextboxField = new TextboxField();\r\n}\r\n\r\nexport class ManageAddresses {\r\n pageInfo: PageInfo = new PageInfo();\r\n addressList: AddressDetails[] = [];\r\n addressLine1?: TextboxField = new TextboxField();\r\n town?: TextboxField = new TextboxField();\r\n postalCode?: TextboxField = new TextboxField();\r\n country?: DropDownField = new DropDownField();\r\n defaultAddress: { key: string, value: boolean };\r\n addressId: { key: string, value: number };\r\n}\r\n\r\nexport class AddressDetails {\r\n addressId = 0;\r\n addressLine1 = '';\r\n town = '';\r\n postalCode = '';\r\n country = '';\r\n countryId = '';\r\n defaultAddress = false;\r\n disableMyAccountCreationB2C=false;\r\n}\r\n\r\nexport class LanguagePreference {\r\n pageInfo: PageInfo = new PageInfo();\r\n isMultiLanguageEnabled = false;\r\n currentLanguage: DropDownField = new DropDownField();\r\n isEditMode: boolean;\r\n}\r\n\r\nexport class ConsentPreferences {\r\n pageInfo: PageInfo = new PageInfo();\r\n isConsentPreferencesEnabled = false;\r\n policyHeading = '';\r\n policyDescription = '';\r\n consentList: PolicyConsent[] = [];\r\n isEditMode: boolean;\r\n}\r\n\r\nexport class PolicyConsent {\r\n consentHeading = '';\r\n seeLegalText = '';\r\n hideLegalText = '';\r\n consentLegalText = '';\r\n consent: RadioGroupField = new RadioGroupField();\r\n}\r\n\r\nexport class ContactPreferences {\r\n pageInfo: PageInfo = new PageInfo();\r\n isContactPreferencesEnabled = false;\r\n contactTypeList: ContactType[] = [];\r\n isEditMode: boolean;\r\n}\r\n\r\nexport class ContactType {\r\n contact: RadioGroupField = new RadioGroupField();\r\n}\r\n\r\nexport class PageInfo {\r\n headingText = '';\r\n subheadingText = '';\r\n editHeaderText = '';\r\n addHeaderText = '';\r\n note = '';\r\n icon = '';\r\n btnEditText = '';\r\n btnSaveText = '';\r\n btnCancelText = '';\r\n defaultAddressText = '';\r\n}\r\n","export class YourPolicy {\r\n productCategory: string;\r\n productName: string;\r\n productIcon: string;\r\n insurerName: string;\r\n policyNumber: string;\r\n policyInceptionDate: string;\r\n policyExpiryDate: string;\r\n policyTerm: string;\r\n premium: string;\r\n formattedPremium: string;\r\n paymentTerms: string;\r\n policyID: number;\r\n productTemplateId: number;\r\n renewalQuoteStatus: string;\r\n isRenewPolicyButton: boolean;\r\n renewalPolicyButtonLabel: string;\r\n renewalQuoteOrderID: number;\r\n renewalQuoteReferenceID: string;\r\n isB2cSingleCarrierMultiQuoteEnabled: boolean;\r\n quoteOrigin: string;\r\n showRenewalPolicyButton: boolean;\r\n quoteReferenceID: string;\r\n orderId: number;\r\n policyStatusInEnglish: string;\r\n policyStatus: string;\r\n renewalPolicyID: number;\r\n renewalPolicyNumber: string;\r\n renewalProductId: number;\r\n policyQuestionResponses: PolicyResponse[]\r\n}\r\n\r\nexport class YourPolicies {\r\n PoliciesList: YourPolicy[];\r\n}\r\n\r\nexport interface PolicyDocument {\r\n fileExtension: string;\r\n documentTypeName: string;\r\n createdDate: string;\r\n}\r\n\r\nexport interface PolicyUpload {\r\n fileIcon: string;\r\n fileName: string;\r\n createdDate: string;\r\n}\r\n\r\nexport class PolicyResponse {\r\n question: string;\r\n questionResponse: string;\r\n}\r\n","export class NestedAccordion {\r\n productCategory: string;\r\n productWisePolicyList: ProductWisePolicy[];\r\n}\r\n\r\nexport class ProductWisePolicy {\r\n productName: string;\r\n productIcon: string;\r\n isEligibleForClaims: boolean;\r\n policies: Policy[];\r\n}\r\nexport class Policy {\r\n policyNumber: string;\r\n policyInceptionDate: string;\r\n policyExpiryDate: string;\r\n policyTerm: string;\r\n premium: string;\r\n policyID: number;\r\n productTemplateId: number;\r\n isContinuous: boolean;\r\n}\r\n","export class Alert {\r\n id: string;\r\n message: AlertMessage;\r\n autoClose: boolean;\r\n keepAfterRouteChange: boolean;\r\n fade: boolean;\r\n alertType: string;\r\n\r\n constructor(init?: Partial) {\r\n Object.assign(this, init);\r\n }\r\n}\r\n\r\nexport class AlertMessage {\r\n qIntentCode?: string;\r\n qDescription?: string;\r\n qSubDescription?: string;\r\n parentQIntentCode?: string;\r\n parentOValue?: string;\r\n cssClasses?: string;\r\n\r\n}\r\n","import { Guid } from 'guid-typescript';\r\nimport { UserProfile, IterationData } from '../models';\r\n\r\nexport class ExternalValidationRequest {\r\n sponsorId: number;\r\n data: { [id: number]: string; };\r\n isGuestPurchase: boolean;\r\n isSSOSAML: boolean;\r\n isB2BFlow: boolean;\r\n appName?: string;\r\n}\r\n\r\nexport class ExternalValidationResponse {\r\n success: boolean;\r\n message: string;\r\n retryRequest: boolean;\r\n iterationData: IterationData;\r\n tokenGenerationRedirectUrl: string;\r\n userProfileModel: UserProfile;\r\n extendedProperty: any;\r\n b2BData: B2BData;\r\n}\r\n\r\nexport class B2BData {// *** To hold the Backoffice user details ***//\r\n b2BUserName: string;\r\n b2BEmail: string;\r\n orderId: string;\r\n policyId: number;\r\n customerId: number;// *** EndCustomer ID ***//\r\n customerName: string;\r\n customerEmail: string;\r\n quoteReferenceID: string;\r\n productTemplateID: number;\r\n isB2cSingleCarrierMultiQuoteEnabled: boolean\r\n}\r\n","export enum MCIContext {\r\n None,\r\n Argentina,\r\n GenASysDB,\r\n ATPCARRINT,\r\n Excel\r\n}","export class MandatoryForCoverageResponse {\r\n optionalCoverId: number;\r\n sponsorId: number\r\n productTemplateId: number\r\n coverageId: number\r\n isDeleted: boolean\r\n optionalCoverItems: MultiQuoteOptionalCoverageItems[]\r\n}\r\n\r\nexport class MultiQuoteOptionalCoverageItems {\r\n optionalCoverItemId: number\r\n optionalCoverId: number\r\n languageId: number\r\n limit: string\r\n additionalText: string\r\n sortOrder: number\r\n isDeleted: boolean\r\n isMandatory: boolean\r\n mandatoryForCoverageIds: string\r\n optionalCover: MandatoryForCoverageResponse\r\n preSelectForNewSales: any;\r\n displaySequenceForSecondaryCoverage?: number;\r\n hideCoverage: false\r\n}\r\n","export class MandatoryForCoverages {\r\n coverageIds: number[];\r\n languageId: number;\r\n productTemplateId: number;\r\n}","export class ButtonToggle {\r\n intentCode: string;\r\n label: string;\r\n isSelected: boolean;\r\n groupId?: number;\r\n sequence?: number;\r\n isDisabled?: boolean;\r\n hideCoverage?: boolean;\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\nimport { Alert, AlertMessage } from '../../shared/models';\r\n\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class NotificationAlertService {\r\n private subject = new Subject();\r\n private defaultId = 'default-alert';\r\n\r\n // enable subscribing to alerts observable\r\n onAlert(id = this.defaultId): Observable {\r\n return this.subject.asObservable().pipe(filter(x => x && x.id === id));\r\n }\r\n\r\n // convenience methods\r\n\r\n getNotification(message: AlertMessage, options?: any) {\r\n this.alert(new Alert({ ...options, message }));\r\n }\r\n\r\n\r\n // main alert method\r\n alert(alert: Alert) {\r\n alert.id = alert.id || this.defaultId;\r\n this.subject.next(alert);\r\n }\r\n\r\n // clear alerts\r\n clear(id = this.defaultId) {\r\n this.subject.next(new Alert({ id }));\r\n }\r\n}\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { AnswerSets } from '../../shared/models';\r\nimport { OndemandDataRequest } from '../../shared/models/ondemanddatarequest.model';\r\nimport { Question } from '../../shared/models/question.model';\r\nimport { BehaviorSubject, Observable, Subject, lastValueFrom } from 'rxjs';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\nimport { PagingService } from '../app-insights/paging-service';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service';\r\nimport moment from 'moment';\r\nimport { NotificationAlertService } from '../../services/notification-alert/notification-alert.service';\r\nimport { DropDownField } from '../../shared/form-field/dropdown-field';\r\nimport { CurrencyFormatPipe } from '../../shared/pipes/currency-format.pipe';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class QuestionSetService {\r\n\r\n private internalIsInitialized = false;\r\n\r\n currentPosition = 0;\r\n private qIntentCode: string = '';\r\n private isFromYourPolicies: boolean;\r\n\r\n public internalQuestionSet: Question[];\r\n answerSet: AnswerSets;\r\n formFieldIteration: number = 1;\r\n initialRepeatingGroup: boolean = true;\r\n qSubDescriptionObservable = new Subject();\r\n selectedParentDropDownValue = [];\r\n deletedRepeatingGroup = [];\r\n private _lastPolicyQuestion = '';\r\n private getOnDemandDataRequestUrl = `${endPoints.apiUrl}${endPoints.endPointName.getOnDemandDataRequest}`;\r\n private getPolicyResponseDataUrl = endPoints.apiUrl + endPoints.endPointName.getPolicyResponseData;\r\n\r\n private navigateToPreviousQues = new Subject();\r\n\r\n public _navigateToPreviousQuesValue: Observable = this.navigateToPreviousQues.asObservable();\r\n\r\n public previousAnswerLastQuestion = new BehaviorSubject('');\r\n public grossPremiumPreviousAnswer = new BehaviorSubject('');\r\n public getPrimaryCoveragTerm = new BehaviorSubject('');\r\n\r\n isSingleCarrierSingleQuoteResumeFlow = new BehaviorSubject(null);\r\n\r\n // Holds the state of unsaved quote changes, initialized with a default value of false, indicating no unsaved changes.\r\n private readonly _unsavedQuoteChangesNotifier$ = new BehaviorSubject(false);\r\n // Other components can subscribe to this to be notified of unsaved quote changes.\r\n readonly unsavedQuoteChanges$ = this._unsavedQuoteChangesNotifier$.asObservable();\r\n\r\n private _quoteAccepted = new BehaviorSubject(false);\r\n\r\n private _profileTypeSetNotifier$ = new BehaviorSubject(false);\r\n private _referralPermissionSetNotifier$ = new BehaviorSubject(false);\r\n private _policyQuestions: Question[];\r\n private _policyQuestionResponses: any[] = [];\r\n private _policyQuestionHidden: boolean = false;\r\n private referralPermissions: any;\r\n private _enableSlowReveal: boolean = false;\r\n\r\n constructor(private sessionStorage: SessionStorageService,\r\n private commonHttpService: CommonHttpService,\r\n private pagingService: PagingService,\r\n private sharedSettingsService: SharedSettingsService,\r\n private alertService: NotificationAlertService,\r\n private currencyPipe: CurrencyFormatPipe\r\n ) {\r\n }\r\n\r\n initialize(questionSet: Question[], position: number = 0): void {\r\n this.internalQuestionSet = questionSet;\r\n this.sessionStorage.set(BaseConstantService.KEY_PrimaryQuestionData, JSON.stringify(this.internalQuestionSet));\r\n // this.sessionStorage.set(BaseConstantService.KEY_AnsweredQuestionSet, this.internalQuestionSet);\r\n this.currentPosition = position || 0;\r\n\r\n if (this.internalQuestionSet) {\r\n this.internalIsInitialized = true;\r\n }\r\n }\r\n\r\n get isInitialized(): boolean {\r\n const qset = JSON.parse(this.sessionStorage.get('AnsweredQuestionSet'));\r\n return this.internalIsInitialized || qset;\r\n }\r\n\r\n get currentQuestion(): Question {\r\n if (this.internalGetQuestionSet()) {\r\n return this.internalGetQuestionSet()[this.currentPosition];\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get currentQuestionType(): string {\r\n return this.currentQuestion && this.currentQuestion.qQuestionType;\r\n }\r\n\r\n get position(): number {\r\n return this.currentPosition;\r\n }\r\n\r\n get positionForType(): number {\r\n // We should only consider non-hidden questions.\r\n const intentCode = this.currentQuestion && this.currentQuestion.qIntentCode;\r\n const internalQuestionSet = this.internalQuestionSet?.filter(q => !q.isHidden && q.qQuestionFormat.toLowerCase() !== 'recaptcha');\r\n if (internalQuestionSet != null) {\r\n return internalQuestionSet.filter(q => q.qQuestionType === this.currentQuestionType)\r\n .findIndex(f => f.qIntentCode === intentCode);\r\n } else {\r\n return -1;\r\n }\r\n }\r\n\r\n getAlertMessage(questionSet) {\r\n if (questionSet && this.internalQuestionSet != null) {\r\n questionSet.forEach((qs, qsKey) => {\r\n this.internalQuestionSet.forEach((q, qKey) => {\r\n if (qs.qIntentCode === q.parentQIntentCode) {\r\n questionSet[qsKey]['alertMessage'] = q;\r\n qs.answerSets.forEach((ans) => {\r\n if (ans.name === q.parentOValue) {\r\n ans['alertMessage'] = q;\r\n }\r\n if (ans?.childQuestionSets?.length > 0) {\r\n this.getAlertMessage(ans.childQuestionSets);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n return questionSet;\r\n }\r\n }\r\n\r\n // To Show notification alert messages\r\n showAlertMessages(field: DropDownField, value) {\r\n const alertMsg = field.options.filter((object, ind) => {\r\n object['index'] = ind;\r\n return object.value === value;\r\n })[0];\r\n if (alertMsg && alertMsg !== undefined && alertMsg.alertMessage?.cssClasses !== undefined) {\r\n const options = {\r\n autoClose: false,\r\n keepAfterRouteChange: false,\r\n alertType: field.key,\r\n parentOValue: alertMsg.alertMessage?.parentOValue,\r\n parentQIntentCode: alertMsg.alertMessage?.parentQIntentCode,\r\n CssClasses: alertMsg.alertMessage?.cssClasses\r\n };\r\n this.alertService.getNotification(alertMsg.alertMessage, options);\r\n }\r\n }\r\n\r\n get answeredQuestions(): Question[] {\r\n const questionSet = this.internalGetQuestionSet();\r\n return questionSet && questionSet.filter(qs => qs.answerSets?.some(as => as.isAnswered) ||\r\n qs.childQuestionSets?.some(cqs => cqs.answerSets?.some(as => as.isAnswered)));\r\n }\r\n\r\n\r\n hasVisibleQuestions(questionType: string = 'Quote'): boolean {\r\n const visibleQuestions = this.internalGetQuestionSet()?.filter(q =>\r\n q.qQuestionType.toLowerCase() === questionType.toLowerCase()\r\n && !q.isHidden);\r\n\r\n return (visibleQuestions?.length > 0);\r\n }\r\n\r\n getQuestionByIntentCode(qIntentCode: string): Question {\r\n return this.internalGetQuestionSet().filter(qnSet =>\r\n qnSet.qIntentCode.toLowerCase() === qIntentCode.toLowerCase())[0];\r\n }\r\n\r\n // moving this code in service as it is used in different scenarios\r\n onDeleteRepeatingGroup(questionSet, repeatingGroupToDelete, deleteFromPreviousAnswer) {\r\n this.setRepeatingGroupData(repeatingGroupToDelete);\r\n const result = repeatingGroupToDelete.qIntentCode.split(\"~\");\r\n const repeatingGroupName = result[0];\r\n\r\n questionSet = this.removeEmptyIteration(questionSet, repeatingGroupName, deleteFromPreviousAnswer);\r\n\r\n let childLink = repeatingGroupToDelete?.childQIntentCode;\r\n let clonedArray = JSON.parse(JSON.stringify(questionSet));\r\n const index = clonedArray.findIndex(i => i.qIntentCode === repeatingGroupToDelete.qIntentCode);\r\n this.deletedRepeatingGroup = clonedArray.splice(index, 1);\r\n let removedIterationIndex = parseInt(result[1]);\r\n const questionToReorder = clonedArray.filter((question, queIndex) => queIndex >= index &&\r\n this.getRepeatingGroupName(question.qIntentCode) === repeatingGroupName);\r\n let backupChildQIntentCode;\r\n if (questionToReorder.length > 0) {\r\n for (let i = 0; i < questionToReorder.length; i++) {\r\n questionToReorder[i].qIntentCode = repeatingGroupName + '~' + removedIterationIndex;\r\n if (i < questionToReorder.length - 1) {\r\n backupChildQIntentCode = questionToReorder[i].childQIntentCode;\r\n questionToReorder[i].childQIntentCode = childLink;\r\n questionToReorder[i].answerSets[0].childQIntentCode = childLink;\r\n childLink = backupChildQIntentCode;\r\n }\r\n questionToReorder[i].qSubDescription = this.getRepeatingGroupqSubDescription\r\n (questionToReorder[i]?.qSubDescription) + ' (' + (removedIterationIndex + 1) + ')';\r\n questionToReorder[i]?.childQuestionSets.forEach((child) => {\r\n const childQIntentCode = this.getRepeatingGroupChildQintentCode(child.qIntentCode);\r\n child.qIntentCode = repeatingGroupName + '~' + removedIterationIndex + '~' + childQIntentCode;\r\n });\r\n\r\n removedIterationIndex++;\r\n }\r\n } else {\r\n // When deleting last iteration of repeating group then\r\n // shift childQintentcode to previous question.\r\n childLink = repeatingGroupToDelete.childQIntentCode;\r\n clonedArray[index - 1].childQIntentCode = childLink;\r\n clonedArray[index - 1].answerSets[0].childQIntentCode = childLink;\r\n }\r\n const currentlRepeatingGroupCount = this.sessionStorage.get('currentlRepeatingGroupCount') - 1;\r\n clonedArray = this.increaseRepeatingGroupCount(clonedArray, currentlRepeatingGroupCount, repeatingGroupName);\r\n clonedArray = this.savedRepeatingGroup(clonedArray, repeatingGroupName, 'decrease');\r\n this.deletedRepeatingGroup[0].childQIntentCode = clonedArray[index]?.qIntentCode;\r\n this.formFieldIteration = currentlRepeatingGroupCount - 1;\r\n questionSet = clonedArray;\r\n this.internalQuestionSet = questionSet;\r\n this.sessionStorage.set('AnsweredQuestionSet', JSON.stringify(questionSet));\r\n let currentQuesIndex = index - 1;\r\n if (questionSet[currentQuesIndex]?.qIntentCode.includes('.Length') &&\r\n questionSet[currentQuesIndex].qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength) {\r\n currentQuesIndex = currentQuesIndex - 1;\r\n }\r\n this.initialize(this.internalQuestionSet, currentQuesIndex);\r\n }\r\n\r\n // To remove blank iteration from question set when we delete any\r\n // iteration from previous answer section\r\n removeEmptyIteration(clonedArray, repeatingGroupName, deleteFromPreviousAnswer) {\r\n const currentRepeatingGroupQues = clonedArray.filter(i =>\r\n this.getRepeatingGroupName(i.qIntentCode) === repeatingGroupName);\r\n const currentRepeatingGroupQuesCount = currentRepeatingGroupQues.length - 1;\r\n const currentQues = currentRepeatingGroupQues[currentRepeatingGroupQuesCount];\r\n const answered = currentQues?.childQuestionSets?.some(cqs => cqs.answerSets?.some(as => as.isAnswered));\r\n if (answered === false) {\r\n if (deleteFromPreviousAnswer === true) {\r\n const index = clonedArray.findIndex(i => i.qIntentCode === currentQues.qIntentCode);\r\n this.sessionStorage.set('currentlRepeatingGroupCount', this.sessionStorage.get('currentlRepeatingGroupCount') - 1);\r\n const backupChildQIntentCode = clonedArray[index].childQIntentCode;\r\n clonedArray.splice(index, 1);\r\n clonedArray[index - 1].childQIntentCode = backupChildQIntentCode;\r\n clonedArray[index - 1].answerSets[0].childQIntentCode = backupChildQIntentCode;\r\n } else {\r\n clonedArray = this.savedRepeatingGroup(clonedArray, repeatingGroupName, 'increase');\r\n }\r\n }\r\n return clonedArray;\r\n }\r\n\r\n\r\n\r\n clearUnSelectedOptionChildAnsweredQuestions(question: Question) {\r\n\r\n this.onDeleteRepeatingGroup(this.internalQuestionSet, question, false);\r\n if (this.deletedRepeatingGroup[0].childQIntentCode) {\r\n const grandChildQuestion = this.internalQuestionSet.filter(q => q.qIntentCode === this.deletedRepeatingGroup[0].childQIntentCode);\r\n // delete all the child repeating groups\r\n if (grandChildQuestion[0].qQuestionFormat === BaseConstantService.Key_RepeatingGroupQuestionFormat) {\r\n this.clearUnSelectedOptionChildAnsweredQuestions(grandChildQuestion[0]);\r\n }\r\n }\r\n\r\n }\r\n\r\n checkIfUnSelectedOptionHasAnsweredChild() {\r\n const UnSelectedOption = this.currentQuestion.qQuestionFormat !== \"GroupPanel\" ?\r\n this.currentQuestion?.answerSets.filter(as => !as.isAnswered) : [];\r\n this.internalQuestionSet?.filter(answeredRepeatingGroupChildQue => {\r\n UnSelectedOption.filter(child => {\r\n if (child?.childQIntentCode === answeredRepeatingGroupChildQue?.qIntentCode &&\r\n answeredRepeatingGroupChildQue?.qQuestionFormat === BaseConstantService.Key_RepeatingGroupQuestionFormat) {\r\n const currentRepeatingGroupName = answeredRepeatingGroupChildQue.qIntentCode.split(\"~\");\r\n const CurrentRepeatingGroupCount = this.getCurrentRepeatingGroupCount(currentRepeatingGroupName[0])\r\n if (answeredRepeatingGroupChildQue?.childQuestionSets?.\r\n some(answerSet => answerSet?.answerSets?.some(as => as.isAnswered)) || CurrentRepeatingGroupCount === 1) {\r\n\r\n this.clearUnSelectedOptionChildAnsweredQuestions(answeredRepeatingGroupChildQue);\r\n // index of current ques\r\n const index = this.internalQuestionSet.findIndex(q => q.qIntentCode === this.currentQuestion.qIntentCode);\r\n // index of child answerset whose repeating group is deleted to update the name of repeating group\r\n const childAnswerSetIndex = this.internalQuestionSet[index].answerSets.findIndex(q => q.name === child.name);\r\n // updating with the original repeating group name as created one deleted\r\n if (childAnswerSetIndex > 0) {\r\n this.internalQuestionSet[index].answerSets[childAnswerSetIndex].childQIntentCode = currentRepeatingGroupName[0];\r\n }\r\n const originalQuestionSet = this.sessionStorage.get('originalQuestionSet');\r\n\r\n originalQuestionSet.filter((questionObject, questionIndex) => {\r\n if (questionObject.qIntentCode === currentRepeatingGroupName[0]) {\r\n this.internalQuestionSet.splice(questionIndex, 0, questionObject)\r\n }\r\n });\r\n }\r\n }\r\n\r\n })\r\n\r\n }\r\n\r\n )\r\n\r\n }\r\n\r\n checkIfDuplicateChildQuestions() {\r\n\r\n // find if childQIntentCode are same or duplicate\r\n const childQIntentCodeArray = this.currentQuestion.answerSets.map((item) => {\r\n return item.childQIntentCode;\r\n });\r\n const isChildQIntentCodeDuplicate = childQIntentCodeArray.some((item, index) => {\r\n return childQIntentCodeArray.indexOf(item) !== index;\r\n });\r\n return isChildQIntentCodeDuplicate;\r\n }\r\n\r\n navigateNext() {\r\n if (this.currentQuestion) {\r\n const answered = this.currentQuestion.answerSets.filter(as => as.isAnswered);\r\n const answers = answered.length > 0 ? answered : this.currentQuestion.answerSets;\r\n\r\n const isChildQIntentCodeDuplicate = this.checkIfDuplicateChildQuestions();\r\n // delete repeating group question of unselected option if option has different child question\r\n if (this.currentQuestion.qQuestionFormat !== BaseConstantService.Key_RepeatingGroupQuestionFormat\r\n && !isChildQIntentCodeDuplicate) {\r\n this.checkIfUnSelectedOptionHasAnsweredChild();\r\n }\r\n\r\n\r\n // Are we on a previously answered question?\r\n const visibleAnsweredQuestions = this.answeredQuestions.filter(q => !q.isHidden);\r\n const answeredQuestionsOfType = visibleAnsweredQuestions.filter(q => q.qQuestionType === this.currentQuestion.qQuestionType);\r\n\r\n\r\n const answeredPosition =\r\n answeredQuestionsOfType.findIndex(qs => qs === this.currentQuestion);\r\n\r\n // Are we changing path from the previous answer?\r\n if (answeredPosition > -1) {\r\n // const nextAnsweredPosition = answeredPosition + 1;\r\n let nextAnsweredPosition = -1;\r\n if (this.currentQuestion.answerSets?.length > 1) {\r\n const nextQuestionLink = this.currentQuestion?.answerSets?.filter(x => x.isAnswered === true);\r\n\r\n if (nextQuestionLink?.length > 0) {\r\n nextAnsweredPosition = answeredQuestionsOfType.findIndex(x => x.qIntentCode === nextQuestionLink[0].childQIntentCode);\r\n\r\n }\r\n else {\r\n nextAnsweredPosition = answeredPosition + 1;\r\n }\r\n } else {\r\n nextAnsweredPosition = answeredPosition + 1;\r\n }\r\n\r\n const nextAnsweredQuestion = answeredQuestionsOfType[nextAnsweredPosition];\r\n const nextQuestion = this.answeredQuestions.find(x => x.qIntentCode === answers[0].childQIntentCode);\r\n\r\n // when clicking on add more all the question from current question getting dissappear because of below condition\r\n // hence adding this condition\r\n const isMaxRepeat = this.sessionStorage.get('isRepeat');\r\n const existingCustomerDraftQuote = this.sessionStorage.get('ExistingCustomerDraftQuote');\r\n const isCopyQuoteAtpClient = this.sharedSettingsService.isCopyQuoteAtpClient;\r\n\r\n // When integrating with external clients, Previous Answers may have missing questions from the question template.\r\n const childAnsweredQuestion = answeredQuestionsOfType.find(\r\n qs => qs.qIntentCode === answers[0].childQIntentCode\r\n || (qs.childQuestionSets && qs.childQuestionSets.find(cqs => cqs.qIntentCode === answers[0].childQIntentCode))\r\n );\r\n // If we have the next answered question in previous answers, and it doesn't match the one we're about to navigate to.\r\n if (nextAnsweredQuestion && nextQuestion?.isHidden !== true\r\n && ((answers[0].childQIntentCode !== nextAnsweredQuestion.qIntentCode) && childAnsweredQuestion) && isMaxRepeat !== 'true'\r\n && (!existingCustomerDraftQuote || !isCopyQuoteAtpClient)) {\r\n // Deliberately navigating backwards as list will reduce in size on each iteration.\r\n for (let i = answeredQuestionsOfType.length - 1; i >= nextAnsweredPosition; i--) {\r\n this.clearAnswers(answeredQuestionsOfType[i]);\r\n }\r\n }\r\n }\r\n\r\n const q =\r\n this.internalGetQuestionSet().find(\r\n qs => answers[0].childQIntentCode && qs.qIntentCode.toLowerCase() === answers[0].childQIntentCode.toLowerCase());\r\n\r\n if (q && q.offsetBasis && this.currentQuestion.qIntentCode === q.offsetBasis && answers[0].name) {\r\n if (moment(answers[0].name, 'DD/MM/YYYY').isValid()) {\r\n this.sessionStorage.set(`offsetControl-${this.currentQuestion.qIntentCode}`, moment(answers[0].name, 'DD/MM/YYYY'));\r\n } else if (moment(answers[0].name, 'YYYY-MM-DD').isValid()) {\r\n const dateToStore = moment(answers[0].name, 'YYYY-MM-DD').format('DD/MM/YYYY');\r\n this.sessionStorage.set(`offsetControl-${this.currentQuestion.qIntentCode}`, dateToStore);\r\n }\r\n }\r\n\r\n let childQIntentCode = answers[0].childQIntentCode;\r\n if (this.currentQuestion?.isRepeatingGroupToBeNext === true) {\r\n childQIntentCode = this.currentQuestion.childQIntentCode;\r\n }\r\n\r\n this.navigateToIntentCode(childQIntentCode);\r\n } else {\r\n this.currentPosition = -1;\r\n }\r\n }\r\n\r\n navigatePrevious(navigateFrom: string) {\r\n if (this.currentQuestion) {\r\n // We should not allow backwards navigation to a hidden question.\r\n const visibleAnsweredQuestions = this.answeredQuestions.filter(q => !q.isHidden);\r\n // Are we on a previously answered question?\r\n const answeredPosition =\r\n visibleAnsweredQuestions.findIndex(qs => qs === this.currentQuestion);\r\n\r\n if (this.sessionStorage.get('maxRepeat') > 1) {\r\n this.sessionStorage.set('PreviousAnsEditButton', false);\r\n this.IsNewRepeatingGroup = false;\r\n this.removeEmptyRepeatingGroupClone();\r\n }\r\n if (answeredPosition > -1) {\r\n let previousIntentCode;\r\n // on deleting second repeating queues it is navigating to two question back not last question hence adding below condition.\r\n const isDeletingQuesAns = this.sessionStorage.get('isDeletingQuesAns');\r\n if (this.currentQuestion?.qQuestionFormat === 'RepeatingGroup'\r\n && (parseInt(this.currentQuestion.qIntentCode.split(\"~\")[1]) !== 0 || isDeletingQuesAns)\r\n && navigateFrom === \"navigateAfterDelete\") {\r\n\r\n previousIntentCode = visibleAnsweredQuestions[answeredPosition].qIntentCode;\r\n } else {\r\n if (answeredPosition > 0) {\r\n previousIntentCode = visibleAnsweredQuestions[answeredPosition - 1].qIntentCode;\r\n } else {\r\n // External integration scenarios may not load all questions into Previous Answers.\r\n // If index is -1 then load the first question from the question set\r\n const validationResult = this.sessionStorage.get('externalValidationResult');\r\n if (validationResult && validationResult.externalIntegration) {\r\n const firstQS = this.internalQuestionSet.filter(qs => qs?.isHidden !== true)[0];\r\n previousIntentCode = firstQS?.qIntentCode;\r\n } else {\r\n previousIntentCode = visibleAnsweredQuestions[0].qIntentCode;\r\n }\r\n }\r\n }\r\n\r\n this.navigateToIntentCode(previousIntentCode);\r\n } else {\r\n const lastAnsweredQuestionIntentCode = this.sessionStorage.get('lastAnsweredQuestionIntentCode');\r\n if (lastAnsweredQuestionIntentCode) {\r\n const index = visibleAnsweredQuestions.findIndex(q => q.qIntentCode === lastAnsweredQuestionIntentCode);\r\n this.navigateToIntentCode((visibleAnsweredQuestions[index]).qIntentCode);\r\n }\r\n }\r\n\r\n } else {\r\n this.currentPosition = -1;\r\n }\r\n }\r\n\r\n // To remove empty repeating group clone questions when navigating back.\r\n removeEmptyRepeatingGroupClone() {\r\n const answered = this.currentQuestion.childQuestionSets?.some(cqs => cqs.answerSets?.some(as => as.isAnswered));\r\n this.sessionStorage.set('isDeletingQuesAns', answered);\r\n if (answered === false && this.currentQuestion.qQuestionFormat !== BaseConstantService.Key_RepeatingGroupLength &&\r\n this.formFieldIteration > 1 && this.currentQuestion.qQuestionFormat === BaseConstantService.Key_RepeatingGroupQuestionFormat\r\n && this.currentQuestion?.childQuestionSets.length > 0) {\r\n const index = this.internalQuestionSet.findIndex(i => i.qIntentCode === this.currentQuestion.qIntentCode);\r\n this.formFieldIteration = this.sessionStorage.get('currentlRepeatingGroupCount') - 1;\r\n const repeatingGroupName = this.getRepeatingGroupName(this.currentQuestion.qIntentCode);\r\n this.updateRepeatingGroupCount(repeatingGroupName, this.formFieldIteration);\r\n this.internalQuestionSet = this.savedRepeatingGroup(this.internalQuestionSet, repeatingGroupName, 'decrease');\r\n this.sessionStorage.set('currentlRepeatingGroupCount', this.formFieldIteration);\r\n const backupChildQIntentCode = this.internalQuestionSet[index].childQIntentCode;\r\n this.internalQuestionSet.splice(index, 1);\r\n this.internalQuestionSet[index - 1].childQIntentCode = backupChildQIntentCode;\r\n this.internalQuestionSet[index - 1].answerSets[0].childQIntentCode = backupChildQIntentCode;\r\n\r\n // when navigating back from current cloned question without saving and again try to add more instead\r\n // of adding next instance jumping to next question\r\n this.sessionStorage.set(BaseConstantService.KEY_PrimaryQuestionData, JSON.stringify(this.internalQuestionSet));\r\n }\r\n }\r\n\r\n navigateToIntentCode(intentCode: string) {\r\n this.currentPosition =\r\n this.internalGetQuestionSet().findIndex(qs => intentCode && qs.qIntentCode.toLowerCase() === intentCode.toLowerCase());\r\n }\r\n\r\n navigateToQuestionType(questionType: string) {\r\n this.currentPosition =\r\n this.internalGetQuestionSet().findIndex(qs => qs.qQuestionType.toLowerCase() === questionType.toLowerCase());\r\n }\r\n\r\n navigateToLastQuestionOfType(questionType: string) {\r\n // We should not allow backwards navigation to a hidden question.\r\n const visibleQuestions = this.internalGetQuestionSet().filter(q => !q.isHidden);\r\n if (this.sessionStorage.get('cAttributeEntries')) {\r\n const question = this.internalGetQuestionSet()[this.sessionStorage.get('QuestionSetPosition')];\r\n this.navigateToIntentCode(question && question.qIntentCode);\r\n }\r\n else {\r\n const question = visibleQuestions.reverse().filter(qs => qs.qQuestionType.toLowerCase() === questionType.toLowerCase())[0];\r\n this.navigateToIntentCode(question && question.qIntentCode);\r\n }\r\n }\r\n\r\n navigateToLastQuestionOfTypeByIntentcode(questionType: string, intentCode: string) {\r\n // We should not allow backwards navigation to a hidden question.\r\n const visibleQuestions = this.internalGetQuestionSet().filter(q => !q.isHidden);\r\n const question = visibleQuestions.reverse().filter(\r\n qs => qs.qQuestionType.toLowerCase() === questionType.toLowerCase() && qs.qIntentCode.toLowerCase() === intentCode.toLowerCase())[0];\r\n\r\n this.navigateToIntentCode(question && question.qIntentCode);\r\n }\r\n\r\n clearAll() {\r\n this.sessionStorage.remove('AnsweredQuestionSet');\r\n this.sessionStorage.remove('QuestionSetPosition');\r\n if (this.internalIsInitialized && this.answeredQuestions) {\r\n for (let i = this.answeredQuestions.length - 1; i >= 0; i--) {\r\n this.clearAnswers(this.answeredQuestions[i]);\r\n }\r\n }\r\n this.currentPosition = 0;\r\n this.internalIsInitialized = false;\r\n }\r\n\r\n findAnswerForIntentCode(intentCode: string): string {\r\n let result: string;\r\n if (this.answeredQuestions) {\r\n for (const qs of this.answeredQuestions) {\r\n if (qs.qIntentCode.toLowerCase() === intentCode.toLowerCase()) {\r\n result = this.getQuestionAnswer(qs);\r\n break;\r\n } else {\r\n const childResult = qs.childQuestionSets.filter(cqs => cqs.qIntentCode.toLowerCase() === intentCode.toLowerCase())[0];\r\n if (childResult) {\r\n result = this.getQuestionAnswer(childResult);\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n stashQuestionSet() {\r\n this.sessionStorage.set('AnsweredQuestionSet', JSON.stringify(this.internalGetQuestionSet()));\r\n this.sessionStorage.set('QuestionSetPosition', this.currentPosition);\r\n }\r\n\r\n prePopulateAnswer(question: Question, data: any) {\r\n this.prePopulateValue(question, data);\r\n this.qIntentCode = question.qIntentCode;\r\n // Iterate child question set.\r\n if (question.childQuestionSets && question.childQuestionSets?.length > 0) {\r\n for (const childQuestion of question.childQuestionSets) {\r\n if (question.qQuestionFormat === BaseConstantService.Key_RepeatingGroupQuestionFormat) {\r\n // if quote and policy question are duplicate then causing the issue of pre populate the policy question with the response of\r\n // quote question to avoid the issue below code is impleme.\r\n let dataObjectArray = [];\r\n dataObjectArray = Object.entries(data)\r\n .filter(([key, value]) => key.toLowerCase().replace('[', '~').replace('].', '~') === childQuestion.qIntentCode.toLowerCase());\r\n const isdataValueMatch = dataObjectArray?.length !== 0 ? dataObjectArray[0][0]?.toLowerCase().\r\n replace('[', '~').replace('].', '~').split('~')[0] === question.qIntentCode.toLowerCase().\r\n toLowerCase().split('~')[0] : false;\r\n if (isdataValueMatch) {\r\n this.prePopulateValue(childQuestion, data);\r\n }\r\n }\r\n else {\r\n this.prePopulateValue(childQuestion, data);\r\n }\r\n\r\n if (childQuestion?.childQIntentCode) {\r\n const isSelectedAnswer = childQuestion?.answerSets.filter(ans => ans?.isAnswered && ans?.default !== true);\r\n childQuestion?.answerSets.forEach(q => {\r\n if (childQuestion?.odefault === true && q.childQIntentCode === childQuestion?.childQIntentCode &&\r\n q?.default === true && isSelectedAnswer?.length === 0) {\r\n q.isAnswered = true;\r\n } else {\r\n if (childQuestion?.persistChildValue && q?.childQIntentCode && q.childQuestionSets?.length > 0) {\r\n q.childQuestionSets.forEach(childQue => {\r\n this.prePopulateValueForDefaultQuestion(childQue, data);\r\n });\r\n }\r\n }\r\n });\r\n }\r\n // PrePopulate Answer for Child Question of AnsweredQuestion.\r\n this.prePopulateAnsweredQuestion(childQuestion, data);\r\n }\r\n }\r\n }\r\n\r\n prePopulateAnsweredQuestion(childQuestion, data) {\r\n // PrePopulate Answer for Child Question of AnsweredQuestion.\r\n const answeredQuestion = childQuestion?.answerSets.find(q => q.isAnswered);\r\n if (answeredQuestion && answeredQuestion.childQuestionSets?.length > 0) {\r\n answeredQuestion.childQuestionSets.forEach((childQuestion) =>\r\n this.prePopulateAnswer(childQuestion, data)\r\n )\r\n }\r\n }\r\n\r\n prePopulateValueForDefaultQuestion(question, data: any) {\r\n let suppliedValue = Object.entries(data)\r\n .filter(([key, value]) => key.toLowerCase().replace('[', '~').replace('].', '~') === question.qIntentCode.toLowerCase()\r\n )\r\n .map(([key, value]) => value as string)[0];\r\n\r\n // Excluded question type SUBTOTAL.\r\n if (suppliedValue && question.qQuestionType.toUpperCase() !== BaseConstantService.QuestionType.Subtotal) {\r\n if ((question.qQuestionFormat.toLowerCase() === \"numeric\" && question.localization)\r\n || question.qQuestionFormat.toLowerCase() === \"money\") {\r\n suppliedValue = this.currencyPipe.transform(suppliedValue);\r\n }\r\n question.answerSets[0].name = suppliedValue;\r\n question.answerSets[0].isAnswered = true;\r\n }\r\n }\r\n\r\n\r\n // Map Quote question and answer\r\n mapQuoteQuestionAnswer(questionSetResult, quoteResponses, isFromYourPolicies: boolean = false) {\r\n\r\n this.isFromYourPolicies = isFromYourPolicies;\r\n if (quoteResponses !== null && quoteResponses !== undefined) {\r\n questionSetResult?.forEach((question) => {\r\n Object.entries(quoteResponses)\r\n .forEach(([key, value]) => {\r\n if (key.toLowerCase() === question.qIntentCode.toLowerCase()) {\r\n if (question.qQuestionFormat.toLowerCase() === 'datepicker' && moment(value, \"YYYY-MM-DD\", true).isValid()) {\r\n\r\n quoteResponses[key] = this.pagingService.convertDateIntoUTC(value);\r\n }\r\n if ((question.qQuestionFormat.toLowerCase() === 'numeric' && question.localization)\r\n || question.qQuestionFormat.toLowerCase() === 'money') {\r\n quoteResponses[key] = this.currencyPipe.transform(value);\r\n }\r\n }\r\n });\r\n this.prePopulateAnswer(question, quoteResponses);\r\n });\r\n }\r\n }\r\n\r\n public internalGetQuestionSet(): Question[] {\r\n if (!this.internalQuestionSet) {\r\n const questionSet = JSON.parse(this.sessionStorage.get('AnsweredQuestionSet'));\r\n const position = this.sessionStorage.get('QuestionSetPosition');\r\n this.initialize(questionSet, position);\r\n }\r\n else if (this.internalQuestionSet) {\r\n for (const index in this.internalQuestionSet) {\r\n if (this.internalQuestionSet[index]?.qQuestionFormat.toLowerCase() === 'datepicker') {\r\n const dateValue = this.internalQuestionSet[index].answerSets[0].name;\r\n if (dateValue && dateValue !== undefined && dateValue !== '' && dateValue !== null && dateValue.toString().length > 10) {\r\n const objDate = this.pagingService.convertDateIntoUTC(dateValue);\r\n if (objDate && objDate !== undefined && objDate !== 'Invalid date') {\r\n this.internalQuestionSet[index].answerSets[0].name = objDate\r\n }\r\n }\r\n }\r\n else if (this.internalQuestionSet[index].childQuestionSets !== undefined &&\r\n this.internalQuestionSet[index].childQuestionSets.length > 0) {\r\n this.internalQuestionSet[index].childQuestionSets?.forEach((child) => {\r\n if (child.qQuestionFormat === \"DatePicker\") {\r\n const childDateValue = child.answerSets[0].name;\r\n if (childDateValue && childDateValue !== undefined && childDateValue !== '' && childDateValue !== null\r\n && childDateValue.toString().length > 10) {\r\n const objChildDate = this.pagingService.convertDateIntoUTC(childDateValue);\r\n if (objChildDate && objChildDate !== undefined && objChildDate !== 'Invalid date') {\r\n child.answerSets[0].name = objChildDate\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n return this.internalQuestionSet;\r\n }\r\n\r\n // Recursively clear out answers.\r\n private clearAnswers(question: Question) {\r\n question.answerSets?.forEach(as => as.isAnswered = false);\r\n question.childQuestionSets?.forEach(cqs => this.clearAnswers(cqs));\r\n }\r\n\r\n private getQuestionAnswer(question: Question) {\r\n return question.answerSets.filter(ans => ans.isAnswered)[0].name;\r\n }\r\n\r\n MapAnswerSet(dataValue: any) {\r\n return this.answerSet =\r\n {\r\n name: dataValue?.id,\r\n active: dataValue?.active,\r\n textValue: dataValue?.text,\r\n disabled: !dataValue?.allowEdit,\r\n default: dataValue?.selected,\r\n childQuestionSets: dataValue?.questions\r\n };\r\n }\r\n\r\n MapAnswerSetMetadata(dataValue: any) {\r\n return this.answerSet =\r\n {\r\n name: dataValue?.text,\r\n active: dataValue?.active,\r\n textValue: dataValue?.id,\r\n disabled: !dataValue?.allowEdit,\r\n default: dataValue?.selected,\r\n childQuestionSets: dataValue?.questions\r\n };\r\n }\r\n\r\n MapLookupChildAnswerSet(childOptions: any) {\r\n return this.answerSet =\r\n {\r\n name: childOptions.name,\r\n textValue: childOptions?.name,\r\n id: childOptions?.id\r\n };\r\n }\r\n\r\n MapLookupChildAnswerSetMetadata(childOptions: any) {\r\n return this.answerSet =\r\n {\r\n name: childOptions?.name,\r\n textValue: childOptions?.value,\r\n id: childOptions?.id\r\n };\r\n }\r\n\r\n getOnDemandDataRequest(requestBody: OndemandDataRequest): Promise {\r\n const apiURL = this.getOnDemandDataRequestUrl;\r\n return lastValueFrom(this.commonHttpService.httpPostService(apiURL, requestBody));\r\n }\r\n\r\n private prePopulateValue(question: Question, data: any) {\r\n let suppliedValue = Object.entries(data)\r\n .filter(([key, value]) => key.toLowerCase().replace('[', '~').replace('].', '~') === question.qIntentCode.toLowerCase()\r\n )\r\n .map(([key, value]) => value as string)[0];\r\n\r\n // for policy repeating qs length will be empty hence checking and assigning empty literal to avoid null error\r\n if (suppliedValue === '' && question.qIntentCode.includes('.Length')) {\r\n question.answerSets[0].name = suppliedValue;\r\n question.answerSets[0].isAnswered = true;\r\n }\r\n\r\n if (this.isFromYourPolicies) {\r\n if ((suppliedValue === '' || suppliedValue === undefined) &&\r\n !question.qIntentCode.includes('.Length') &&\r\n question.qQuestionFormat.toLowerCase() !== 'grouppanel' &&\r\n question.qQuestionType.toLowerCase() === 'quote') {\r\n const unansweredIntentCode = this.sessionStorage.get('UnansweredIntentCode');\r\n if (unansweredIntentCode === null) {\r\n if (question.parentQIntentCode !== '' && question.parentQIntentCode !== undefined) {\r\n const answeredValue = Object.entries(data)\r\n .filter(([key, value]) => key.toLowerCase().replace('[', '~').replace('].', '~') === question.parentQIntentCode.toLowerCase())\r\n .map(([key, value]) => value as string)[0];\r\n if ((answeredValue !== '' || answeredValue !== undefined) &&\r\n (question.parentOValue !== '' || question.parentOValue !== undefined)) {\r\n if (answeredValue && (question.parentOValue.toLowerCase() === answeredValue.toLowerCase())) {\r\n this.sessionStorage.set('UnansweredIntentCode', this.qIntentCode);\r\n }\r\n }\r\n }\r\n else {\r\n if (question.qMandatory) {\r\n this.sessionStorage.set('UnansweredIntentCode', this.qIntentCode);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (suppliedValue) {\r\n // Set the item value.\r\n if (question.answerSets.length > 1) {\r\n const targetAnswer = question.answerSets.find(ans => ans.name.toLowerCase() === suppliedValue.toLowerCase());\r\n if (targetAnswer) {\r\n targetAnswer.isAnswered = true;\r\n }\r\n } else {\r\n // Excluded question type SUBTOTAL.\r\n if (question.qQuestionType.toUpperCase() !== BaseConstantService.QuestionType.Subtotal) {\r\n if ((question.qQuestionFormat.toLowerCase() === \"numeric\" && question.localization)\r\n || question.qQuestionFormat.toLowerCase() === \"money\") {\r\n suppliedValue = this.currencyPipe.transform(suppliedValue);\r\n }\r\n question.answerSets[0].name = suppliedValue;\r\n question.answerSets[0].isAnswered = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // ** Repeating Group functionality start ** //\r\n showHideIteration(formFieldIteration, qnData) {\r\n const qSubDescription = qnData.qSubDescription + ' (' + formFieldIteration + ')';\r\n this.qSubDescriptionObservable.next(qSubDescription);\r\n }\r\n\r\n // To Get repeating group name\r\n getRepeatingGroupName(repeatingGroupName) {\r\n const resultArray = repeatingGroupName.split(\"~\");\r\n return resultArray[0];\r\n }\r\n\r\n // To Get child control name\r\n getRepeatingGroupChildQintentCode(childQIntentCode) {\r\n let resultArray = [];\r\n if (childQIntentCode?.includes(\"~\")) {\r\n resultArray = childQIntentCode.split(\"~\");\r\n } else if (childQIntentCode?.includes(\"[\") && childQIntentCode?.includes(\".\")) {\r\n resultArray = childQIntentCode.split(\".\");\r\n }\r\n return resultArray[resultArray?.length - 1];\r\n }\r\n\r\n getRepeatingGroupqSubDescription(qSubDescription) {\r\n const resultArray = qSubDescription.split(\"(\");\r\n return resultArray[0];\r\n }\r\n\r\n updateRepeatingGroupCount(repeatingGroupName: string, increaseDecreaseCount?: number, clonedGroupIntentCode?: string) {\r\n // Note: value can be either 1 or -1\r\n const result = this.internalQuestionSet.filter(que => que.qIntentCode === repeatingGroupName + '.Length' &&\r\n que.qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength);\r\n if (result.length > 0) {\r\n result[0].answerSets[0].name = increaseDecreaseCount;\r\n result[0].answerSets[0].isAnswered = true;\r\n if (clonedGroupIntentCode) {\r\n result[0].answerSets[0].childQIntentCode = clonedGroupIntentCode;\r\n }\r\n\r\n }\r\n }\r\n\r\n getCurrentRepeatingGroupIndex(qIntentCode) {\r\n const currentlRepeatingGroupCount = this.sessionStorage.get('currentlRepeatingGroupCount');\r\n const result = qIntentCode.split(\"~\");\r\n let iterationIndex = 0;\r\n if (result.length > 1) {\r\n iterationIndex = parseInt(result[1]);\r\n }\r\n return {\r\n repeatingGroupName: result[0], currentlRepeatingGroupCount: currentlRepeatingGroupCount,\r\n currentIterationIndex: iterationIndex\r\n }\r\n }\r\n\r\n increaseRepeatingGroupCount(clonedArray, currentlRepeatingGroupCount, repeatingGroupName) {\r\n this.sessionStorage.set('currentlRepeatingGroupCount', currentlRepeatingGroupCount);\r\n const filteredData = clonedArray.filter(que => que.qIntentCode === repeatingGroupName + '.Length' &&\r\n que.qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength);\r\n currentlRepeatingGroupCount = this.sessionStorage.get('currentlRepeatingGroupCount');\r\n if (filteredData.length > 0) {\r\n filteredData[0].answerSets[0].name = currentlRepeatingGroupCount;\r\n filteredData[0].answerSets[0].value = currentlRepeatingGroupCount + 1;\r\n // added this condition as 'currentlRepeatingGroupCount' is null when its value is 0\r\n if (currentlRepeatingGroupCount == null) {\r\n filteredData[0].answerSets[0].name = '';\r\n }\r\n return clonedArray;\r\n }\r\n }\r\n\r\n getCurrentRepeatingGroupCount(repeatingGroupName) {\r\n const result = this.internalQuestionSet?.filter(que => que.qIntentCode === repeatingGroupName + '.Length' &&\r\n que.qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength);\r\n if (result.length > 0) {\r\n if (result[0].answerSets[0].name === \"\") {\r\n return 0;\r\n } else {\r\n return result[0].answerSets[0].name;\r\n }\r\n }\r\n }\r\n\r\n // From here Setting data in session\r\n setRepeatingGroupData(currentQuestion) {\r\n const currentRepeatingGroupName = this.getRepeatingGroupName(currentQuestion.qIntentCode);\r\n const currentlRepeatingGroupCount = parseInt(this.getCurrentRepeatingGroupCount(currentRepeatingGroupName), 10);\r\n this.sessionStorage.set('currentlRepeatingGroupCount', currentlRepeatingGroupCount);\r\n this.formFieldIteration = this.sessionStorage.get('currentlRepeatingGroupCount');\r\n this.sessionStorage.set('maxRepeat', currentQuestion?.maxRepeats);\r\n }\r\n\r\n savedRepeatingGroup(clonedArray, repeatingGroupName, incearseDecrease: string) {\r\n const filteredData = clonedArray.filter(que => que.qIntentCode === repeatingGroupName + '.Length' &&\r\n que.qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength);\r\n if (filteredData.length > 0) {\r\n if (incearseDecrease === 'increase') {\r\n filteredData[0].answerSets[0].value = filteredData[0].answerSets[0].value + 1;\r\n } else {\r\n filteredData[0].answerSets[0].value = filteredData[0].answerSets[0].value - 1;\r\n }\r\n this.sessionStorage.set('AnsweredRepeatingIteration', filteredData[0].answerSets[0].value);\r\n return clonedArray;\r\n }\r\n }\r\n\r\n getSavedRepeatingGroup(repeatingGroupName) {\r\n const result = this.internalQuestionSet?.filter(que => que.qIntentCode === repeatingGroupName + '.Length' &&\r\n que.qQuestionFormat === BaseConstantService.Key_RepeatingGroupLength);\r\n if (result.length > 0) {\r\n return result[0].answerSets[0].value;\r\n }\r\n }\r\n\r\n hasRepeatingGroup(quoteResponseData: any): boolean {\r\n let hasRepeatingGroup: boolean = false;\r\n for (const res in quoteResponseData) {\r\n if (res.includes('.Length')) {\r\n hasRepeatingGroup = true;\r\n break;\r\n }\r\n }\r\n\r\n return hasRepeatingGroup;\r\n }\r\n\r\n cloneRepeatingGroupQuestions(questionSet, quoteResponse) {\r\n // *** Clone Repeating Group questions when resume from BackOffice flow ***//\r\n if (quoteResponse) {\r\n const repeatingGroupCount = [];\r\n for (const prop in quoteResponse) {\r\n if (quoteResponse.hasOwnProperty(prop)) {\r\n const innerObj = {};\r\n innerObj[prop] = quoteResponse[prop];\r\n if (prop.includes('.Length')) {\r\n repeatingGroupCount.push(innerObj);\r\n }\r\n }\r\n }\r\n\r\n repeatingGroupCount.forEach((element) => {\r\n const repeatingGroupLengthqIntentCode = Object.keys(element)[0];\r\n let cloneIterationCount: any = Object.values(element)[0];\r\n cloneIterationCount = parseInt(cloneIterationCount);\r\n\r\n const result = questionSet?.filter(que => que.qIntentCode === repeatingGroupLengthqIntentCode);\r\n if (result.length > 0) {\r\n result[0].answerSets[0].name = cloneIterationCount;\r\n result[0].answerSets[0].value = cloneIterationCount + 1;\r\n }\r\n });\r\n\r\n const clonedArray = this.createClone(repeatingGroupCount, questionSet);\r\n return clonedArray;\r\n }\r\n }\r\n\r\n createClone(repeatingGroupCount, questionSet) {\r\n const clonedArray = JSON.parse(JSON.stringify(questionSet));\r\n repeatingGroupCount.forEach((element) => {\r\n const qIntentCodeToClone = Object.keys(element)[0].split('.')[0];\r\n let cloneIterationCount: any = Object.values(element)[0];\r\n\r\n cloneIterationCount = parseInt(cloneIterationCount);\r\n const index = clonedArray.findIndex(i => i.qIntentCode === qIntentCodeToClone);\r\n\r\n // If the preceding question with multiple answers (e.g. yes/no) to a RepeatingGroup has a reference to the RepeatingGroup\r\n // then update the childQIntentCode to the first item in the RepeatingGroup. This is so navigation from the question\r\n // to the repeating group works.\r\n if (cloneIterationCount > 0) {\r\n const parentQuestionSets = clonedArray.filter(qs =>\r\n !qs?.isHidden && qs.answerSets && qs.answerSets.length > 1\r\n && qs.answerSets.filter(a => a.childQIntentCode === qIntentCodeToClone)?.length > 0);\r\n\r\n if (parentQuestionSets && parentQuestionSets.length > 0) {\r\n const answerSets = parentQuestionSets[0].answerSets.filter(a => a.childQIntentCode === qIntentCodeToClone);\r\n if (answerSets && answerSets.length > 0) {\r\n answerSets[0].childQIntentCode = `${qIntentCodeToClone}~0`;\r\n }\r\n }\r\n }\r\n\r\n if (index > 0) {\r\n const childQIntentCodeLink = clonedArray[index].childQIntentCode;\r\n const clonedGroup = JSON.parse(JSON.stringify(clonedArray[index]));\r\n\r\n for (let i = 0; i < cloneIterationCount; i++) {\r\n const parentToBeCloned = JSON.parse(JSON.stringify(clonedGroup));\r\n\r\n parentToBeCloned.qIntentCode = qIntentCodeToClone + '~' + i;\r\n\r\n // added this code as in b2b flow the intentcode of first repeating question needs to be map with the\r\n // previous question\r\n if (i === 0) {\r\n const lastNonRepeatingGroupQuesIndex = clonedArray.findIndex(q => q.childQIntentCode === qIntentCodeToClone);\r\n if (lastNonRepeatingGroupQuesIndex > -1) {\r\n clonedArray[lastNonRepeatingGroupQuesIndex].childQIntentCode = parentToBeCloned.qIntentCode;\r\n clonedArray[lastNonRepeatingGroupQuesIndex].answerSets.forEach(answer => {\r\n if (answer.childQIntentCode === qIntentCodeToClone) {\r\n answer.childQIntentCode = parentToBeCloned.qIntentCode;\r\n }\r\n });\r\n }\r\n\r\n }\r\n parentToBeCloned.childQuestionSets.forEach((child) => {\r\n child.qIntentCode = qIntentCodeToClone + '~' + i + '~' + child.qIntentCode;\r\n child.answerSets.forEach(answer => {\r\n answer.isAnswered = false;\r\n });\r\n });\r\n\r\n if (parentToBeCloned?.qSubDescription) {\r\n parentToBeCloned.qSubDescription = parentToBeCloned?.qSubDescription + ' (' + (i + 1) + ')';\r\n }\r\n if (i === cloneIterationCount - 1) {\r\n if (childQIntentCodeLink !== \"\") {\r\n const nextQuestion = clonedArray?.filter(x => x.qIntentCode === childQIntentCodeLink);\r\n if (nextQuestion && nextQuestion.length > 0 && nextQuestion[0].qQuestionFormat.toLowerCase() === 'repeatinggroup') {\r\n parentToBeCloned.childQIntentCode = childQIntentCodeLink + '~' + 0;\r\n parentToBeCloned.answerSets[0].childQIntentCode = childQIntentCodeLink + '~' + 0;\r\n } else {\r\n parentToBeCloned.childQIntentCode = childQIntentCodeLink;\r\n }\r\n } else {\r\n parentToBeCloned.childQIntentCode = childQIntentCodeLink;\r\n }\r\n\r\n } else {\r\n parentToBeCloned.childQIntentCode = qIntentCodeToClone + '~' + (i + 1);\r\n parentToBeCloned.answerSets[0].childQIntentCode = qIntentCodeToClone + '~' + (i + 1)\r\n\r\n }\r\n\r\n clonedArray.splice(index + i, 0, parentToBeCloned);\r\n }\r\n if (!Number.isNaN(cloneIterationCount)) {\r\n clonedArray.splice(index + cloneIterationCount, 1);\r\n }\r\n }\r\n });\r\n return clonedArray;\r\n }\r\n\r\n formatIntentCode(quoteResponse) {\r\n /* Format intentcode for repeating group from array([]) structure to tild symbol(~)\r\n when resume from backoffice */\r\n const quoteResponseList: any = {};\r\n if (quoteResponse !== null && typeof quoteResponse === 'object') {\r\n Object.entries(quoteResponse).forEach(([key, value]) => {\r\n\r\n key = key.replace('[', '~').replace('].', '~');\r\n quoteResponseList[key] = value;\r\n\r\n })\r\n }\r\n return quoteResponseList;\r\n }\r\n // ** Repeating Group functionality End ** //\r\n\r\n\r\n set IsNewRepeatingGroup(value: any) {\r\n this.navigateToPreviousQues.next(value);\r\n }\r\n\r\n get IsNewRepeatingGroup() {\r\n return this._navigateToPreviousQuesValue;\r\n }\r\n\r\n setLastPolicyQuestion() {\r\n const questionSet = this.internalQuestionSet.filter(q =>\r\n q.qQuestionType === 'Policy');\r\n\r\n if (questionSet.length > 0) {\r\n this._lastPolicyQuestion = questionSet[questionSet.length - 1].qIntentCode;\r\n } else {\r\n this._lastPolicyQuestion = '';\r\n }\r\n }\r\n\r\n clearLastPolicyQuestion() {\r\n this._lastPolicyQuestion = '';\r\n }\r\n\r\n UpdatePreviousAnswerLastQuestion(value: any) {\r\n this.sessionStorage.set('PreviousAnswerLastQuestion', value);\r\n this.previousAnswerLastQuestion.next(value);\r\n }\r\n\r\n get GetPreviousAnswerLastQuestion(): Observable {\r\n return this.previousAnswerLastQuestion.asObservable();\r\n }\r\n\r\n UpdateGrossPremiumPreviousAnswer(value: any) {\r\n this.sessionStorage.set('GrossPremiumPreviousAnswer', value);\r\n this.grossPremiumPreviousAnswer.next(value);\r\n }\r\n\r\n get LastPolicyQuestion(): string {\r\n return this._lastPolicyQuestion;\r\n }\r\n\r\n set LastPolicyQuestion(value: string) {\r\n this._lastPolicyQuestion = value;\r\n }\r\n\r\n get GetGrossPremiumPreviousAnswer(): Observable {\r\n return this.grossPremiumPreviousAnswer.asObservable();\r\n }\r\n UpdatePrimaryCoverageTerm(value: any) {\r\n this.sessionStorage.set(BaseConstantService.KEY_PrimaryGrossPremium, value);\r\n this.getPrimaryCoveragTerm.next(value);\r\n }\r\n\r\n GetPrimaryCoverageTerm(): Observable {\r\n return this.getPrimaryCoveragTerm.asObservable();\r\n }\r\n\r\n markQuoteChangesAsUnsaved(unsavedChangesExist: boolean): void {\r\n if (this.sharedSettingsService.isB2B()) {\r\n this._unsavedQuoteChangesNotifier$.next(unsavedChangesExist);\r\n }\r\n }\r\n\r\n getControlType(inputString: string): string {\r\n return BaseConstantService.mappedControlType[inputString] ?? \"TEXT\";\r\n }\r\n\r\n get quoteAccepted(): Observable {\r\n return this._quoteAccepted.asObservable();\r\n }\r\n\r\n setQuoteAccepted(value: boolean) {\r\n this._quoteAccepted.next(value);\r\n }\r\n\r\n setSingleCarrierSingleQuoteResumeFlow() {\r\n const isB2b = this.sharedSettingsService.isB2B();\r\n const isExistingQuote = this.sharedSettingsService.existingCustomerQuote;\r\n const isB2cMultiCarrierQuotingEnabled = this.sessionStorage.get('isB2cMultiCarrierQuotingEnabled') === 'true';\r\n const isB2cSingleCarrierMultiQuoteEnabled = sessionStorage.getItem('isB2cSingleCarrierMultiQuoteEnabled') === 'true';\r\n\r\n this.isSingleCarrierSingleQuoteResumeFlow\r\n .next(isExistingQuote && isB2b && !isB2cSingleCarrierMultiQuoteEnabled && !isB2cMultiCarrierQuotingEnabled);\r\n }\r\n\r\n get profileTypeSet(): Observable {\r\n return this._profileTypeSetNotifier$.asObservable()\r\n }\r\n\r\n get referralPermissionSet(): Observable {\r\n return this._referralPermissionSetNotifier$.asObservable()\r\n }\r\n\r\n notifyProfileTypeIsSet(value: boolean) {\r\n this._profileTypeSetNotifier$.next(value);\r\n }\r\n\r\n notifyReferralPermissionIsSet(value: boolean) {\r\n this._referralPermissionSetNotifier$.next(value);\r\n }\r\n\r\n public getPolicyResponseData(policyId: number): Observable {\r\n const apiUrl = `${this.getPolicyResponseDataUrl}/${policyId}`;\r\n return this.commonHttpService.httpGetServiceWithBearer(apiUrl);\r\n }\r\n\r\n setPolicyQuestion(policyQuestions: Question[]): void {\r\n this._policyQuestions = policyQuestions;\r\n }\r\n\r\n setPolicyQuestionResponse(policyId: number): void {\r\n this.getPolicyResponseData(policyId).subscribe(policyDetails => {\r\n this._policyQuestionResponses = policyDetails.responses;\r\n });\r\n }\r\n\r\n set policyQuestionHidden(value: boolean) {\r\n this._policyQuestionHidden = value;\r\n }\r\n\r\n get policyQuestionHidden(): boolean {\r\n return this._policyQuestionHidden;\r\n }\r\n\r\n includePolicyResponse(answeredResponseDictionary: any): any {\r\n const policyResponses = Object.entries(this._policyQuestionResponses || {}).map(([key, value]) => ({ key, value }));\r\n\r\n const isPolicyResponseCommon = policyResponses\r\n .some(policyResponse => answeredResponseDictionary\r\n .find(question => question.key === policyResponse.key));\r\n\r\n const answeredQuestionResponse = this.policyQuestionHidden && policyResponses.length > 0 && isPolicyResponseCommon\r\n ? policyResponses.map(policyResponse => {\r\n const matchingQuestion = answeredResponseDictionary.find(question => question.key === policyResponse.key);\r\n return matchingQuestion ? { ...matchingQuestion, ...policyResponse } : policyResponse;\r\n })\r\n : answeredResponseDictionary;\r\n\r\n return answeredQuestionResponse;\r\n }\r\n\r\n setReferralPermission(permissions: {\r\n isEditOnly: boolean,\r\n isApproveDeclineOnly: boolean,\r\n isEditWithoutPremiumOverride: boolean,\r\n isApproveDeclineWithPremiumOverride: boolean\r\n }): void {\r\n this.referralPermissions = permissions;\r\n }\r\n\r\n getReferralPermission(): any {\r\n return this.referralPermissions;\r\n }\r\n\r\n // To Set repeating group template just after the mastergrouppannel\r\n // where repeating group is configured at child level\r\n reArrangeRepeatingGroupPosition(masterGroupPanelIntentcode, repeatingGroupToReposition) {\r\n const targetRepeatingGroup = this.internalQuestionSet.find(i => i.qIntentCode === repeatingGroupToReposition);\r\n const newPosition = this.internalQuestionSet.findIndex(i => i.qIntentCode === masterGroupPanelIntentcode);\r\n if (this.internalQuestionSet[newPosition + 2].qIntentCode !== repeatingGroupToReposition &&\r\n !this.internalQuestionSet[newPosition + 2].qIntentCode.includes(repeatingGroupToReposition)) {\r\n const newArray = this.internalQuestionSet.filter(i => i.qIntentCode !== repeatingGroupToReposition &&\r\n i.qIntentCode !== repeatingGroupToReposition + '.Length');\r\n const targetRepeatingGroupLength = this.internalQuestionSet.find(i => i.qIntentCode === repeatingGroupToReposition + '.Length');\r\n\r\n newArray.splice(newPosition + 1, 0, targetRepeatingGroupLength);\r\n newArray.splice(newPosition + 2, 0, targetRepeatingGroup);\r\n this.internalQuestionSet = newArray;\r\n }\r\n }\r\n\r\n // To set childQuestionSet as actual\r\n clearChildQuestionSet(childQuestionSet) {\r\n childQuestionSet.forEach((child) => {\r\n const childQIntentCode = this.getRepeatingGroupChildQintentCode(child.qIntentCode);\r\n if (child?.qIntentCode) {\r\n child.qIntentCode = childQIntentCode;\r\n if (child?.answerSets?.length > 0) {\r\n child?.answerSets.forEach((ans)=>{\r\n ans.isAnswered = false;\r\n });\r\n \r\n }\r\n if (child?.childQuestionSets?.length > 0) {\r\n this.clearChildQuestionSet(child.childQuestionSets);\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n // #region 'When the Group Panel's questions has RepeatingGroup as a child Question'\r\n\r\n // If repeating group is configured with a dropdown(dropdown can be at child or\r\n // grandchild or and so on) ex. If with 'yes' option repeationg group is configured then\r\n // this function is used to set repeating group(or any other group pannel ) as a next question.\r\n\r\n setResetChildQintentCode(data, event) {\r\n if (data.masterGroupPanelIntentCode !== undefined && data.masterGroupPanelIntentCode !== '') {\r\n const masterGroupPanelQuestion = this.internalQuestionSet\r\n .find(q => q.qIntentCode === data.masterGroupPanelIntentCode);\r\n const masterGroupPanelQuestionIndex = this.internalQuestionSet\r\n .findIndex(q => q.qIntentCode === data.masterGroupPanelIntentCode);\r\n const selectedOption = data?.options?.filter(x => x.name === event.value);\r\n if (masterGroupPanelQuestion && selectedOption && selectedOption.length > 0) {\r\n if (data?.isRepeatingGroupToBeNext === true && selectedOption[0]?.childQIntentCode === \"\") {\r\n this.resetSelectedRepeatingGroup(masterGroupPanelQuestion, masterGroupPanelQuestion, false, masterGroupPanelQuestionIndex);\r\n this.internalQuestionSet[masterGroupPanelQuestionIndex].childQIntentCode =\r\n masterGroupPanelQuestion?.masterGroupPanelChildQIntentCode;\r\n }\r\n const checkRepeatingGroup = this.internalQuestionSet.\r\n find(x => x.qIntentCode === selectedOption[0].childQIntentCode + '~' + '0')\r\n if (checkRepeatingGroup != null) {\r\n selectedOption[0].childQIntentCode = selectedOption[0].childQIntentCode + '~' + '0';\r\n }\r\n\r\n const filteredResult = this.internalQuestionSet\r\n .find(q => q.qIntentCode === selectedOption[0].childQIntentCode);\r\n if (filteredResult && filteredResult !== null) {\r\n if (selectedOption[0]?.childQIntentCode !== undefined && selectedOption[0]?.childQIntentCode !== \"\") {\r\n masterGroupPanelQuestion.childQIntentCode = selectedOption[0].childQIntentCode;\r\n this.resetSelectedRepeatingGroup(masterGroupPanelQuestion, selectedOption[0], true, masterGroupPanelQuestionIndex);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Delete repeating group if repeating group is set as a next question\r\n resetSelectedRepeatingGroup(masterGroupPanelQuestion, selectedOption, isNextQueRepeatingGroup: boolean, masterGroupPanelQuestionIndex) {\r\n const nextQueRepeatingGroup = this.internalQuestionSet\r\n .find(q => q.qIntentCode === selectedOption.childQIntentCode);\r\n if (nextQueRepeatingGroup?.qQuestionFormat === BaseConstantService.Key_RepeatingGroupQuestionFormat ||\r\n nextQueRepeatingGroup?.qIntentCode?.includes('~')) {\r\n const repeatingGroupName = this.getRepeatingGroupName(nextQueRepeatingGroup.qIntentCode);\r\n // Actual repeating group question should not be deleted\r\n let repeatingGroupsListToDelete = this.internalQuestionSet.filter(que =>\r\n que.qIntentCode !== repeatingGroupName && que.qIntentCode?.includes(repeatingGroupName) &&\r\n !que.qIntentCode?.includes(repeatingGroupName + '~' + '0') &&\r\n !que.qIntentCode.includes('.Length'));\r\n\r\n if (repeatingGroupsListToDelete?.length > 0) {\r\n repeatingGroupsListToDelete = repeatingGroupsListToDelete.reverse();\r\n repeatingGroupsListToDelete.forEach((que) => {\r\n this.onDeleteRepeatingGroup(this.internalQuestionSet, que, false);\r\n });\r\n }\r\n\r\n this.internalQuestionSet.forEach(que => {\r\n if (que.qIntentCode?.includes(repeatingGroupName)) {\r\n if (que.qIntentCode !== repeatingGroupName) { // Actual repeating group question should not be deleted\r\n if (que.qIntentCode?.includes(repeatingGroupName + '~' + '0')) {\r\n que.qIntentCode = repeatingGroupName;\r\n que.childQIntentCode = que?.masterGroupPanelChildQIntentCode;\r\n if (que?.qSubDescription) {\r\n que.qSubDescription = this.getRepeatingGroupqSubDescription(que?.qSubDescription);\r\n }\r\n if (que?.childQuestionSets.length > 0) {\r\n this.clearChildQuestionSet(que.childQuestionSets);\r\n }\r\n } else if (que.qIntentCode.includes('.Length') && que?.answerSets.length > 0) {\r\n que.answerSets[0].name = 0;\r\n que.answerSets[0].value = 1;\r\n que.answerSets[0].isAnswered = false;\r\n this.sessionStorage.set('AnsweredRepeatingIteration', 0);\r\n this.initialize(this.internalQuestionSet, masterGroupPanelQuestionIndex);\r\n }\r\n }\r\n }\r\n });\r\n \r\n if (isNextQueRepeatingGroup === true) {\r\n masterGroupPanelQuestion['isRepeatingGroupToBeNext'] = true;\r\n masterGroupPanelQuestion.childQIntentCode = repeatingGroupName;\r\n this.reArrangeRepeatingGroupPosition(masterGroupPanelQuestion?.qIntentCode, repeatingGroupName);\r\n }\r\n }\r\n }\r\n\r\n // #endregion\r\n\r\n get EnableSlowReveal(): boolean {\r\n return this._enableSlowReveal;\r\n }\r\n\r\n set EnableSlowReveal(value: boolean) {\r\n this._enableSlowReveal = value;\r\n }\r\n}\r\n\r\n\r\n\r\n","import { AfterViewInit, Directive, ElementRef, EventEmitter, Output } from '@angular/core';\r\n\r\n\r\n@Directive({\r\n selector: '[libIsEllipsisActive]'\r\n})\r\nexport class IsEllipsisActiveDirective implements AfterViewInit {\r\n constructor(private elementRef: ElementRef) { }\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n const element = this.elementRef.nativeElement;\r\n element.title = element.innerHTML;\r\n });\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n@Pipe({\r\n name: 'momentOffsetDatePipe'\r\n})\r\nexport class MomentOffsetDatePipe implements PipeTransform {\r\n\r\n constructor(private sessionStorage: SessionStorageService) {}\r\n\r\n transform(date: any, args?: any): string {\r\n if (date) {\r\n let formateDate = date;\r\n if (!moment(date, 'DD/MM/YYYY', true).isValid()) {\r\n formateDate = date.replaceAll('-', '/');\r\n }\r\n const stringToDate = new Date(formateDate);\r\n let transformedDate;\r\n let dateFormat = 'DD/MM/YYYY';\r\n\r\n if (this.sessionStorage.get('LocalisedDateFormat')) {\r\n dateFormat = this.sessionStorage.get('LocalisedDateFormat');\r\n } \r\n \r\n if (moment(date, 'DD/MM/YYYY', true).isValid()) {\r\n const newDate = moment(date, 'DD/MM/YYYY', true).toDate();\r\n transformedDate = moment(newDate, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n return transformedDate.format(dateFormat);\r\n } \r\n \r\n if (date.toString() !== (moment(date, dateFormat, true).format(dateFormat))) {\r\n if (moment(stringToDate, dateFormat).isValid()) {\r\n transformedDate = moment(stringToDate, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n } else {\r\n transformedDate = moment(date, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n } \r\n return transformedDate.format(dateFormat);\r\n } else {\r\n return date.toString();\r\n } \r\n \r\n \r\n } \r\n }\r\n}\r\n","
\r\n
\r\n 0?isVisibleMatPanelHeader:panelState\">\r\n \r\n

\r\n \r\n {{label}}\r\n

\r\n \r\n
\r\n {{callToAction}}\r\n
\r\n
\r\n
\r\n \r\n

{{productName}}

\r\n
\r\n
\r\n

{{subheading}}

\r\n
\r\n \r\n

{{subheading}}\r\n error\r\n

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n

0\">{{questions[i]}}\r\n

\r\n \r\n \r\n warning\r\n

\r\n
\r\n \r\n warning\r\n

\r\n
\r\n\r\n

{{detail| momentOffsetDatePipe}}

\r\n
\r\n
\r\n
\r\n
\r\n

\r\n

{{details | momentOffsetDatePipe}}

\r\n 0\">\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{totalGrossPremiumText}}{{totalGrossPremiumValue}}
\r\n \r\n {{item?.name}}{{item?.sideText}}
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, Input, Output, OnInit, EventEmitter } from '@angular/core';\r\nimport moment from 'moment';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { InfoCard } from '../../../../shared/models/info-card.model';\r\n\r\n@Component({\r\n selector: 'lib-wide-button',\r\n templateUrl: './wide-button.component.html',\r\n styleUrls: ['./wide-button.component.scss']\r\n})\r\nexport class WideButtonComponent implements OnInit {\r\n\r\n @Input() label: string;\r\n @Input() subheading: string;\r\n @Input() details: string | string[];\r\n @Input() panelState: string | string[];\r\n @Input() callToAction: string;\r\n @Input() tag: any;\r\n @Input() disabled = false;\r\n @Input() questions: string | string[];\r\n @Input() img: any[];\r\n @Input() infoItems: InfoCard[];\r\n @Input() totalGrossPremiumText: string = '';\r\n @Input() totalGrossPremiumValue: string = ''; \r\n @Input() indexVal: any;\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = true;\r\n @Output() clicked = new EventEmitter();\r\n @Output() deleteClicked = new EventEmitter();\r\n public showTooltip = false;\r\n isArray: boolean;\r\n isDate: boolean;\r\n isCompressedViewOfPreviousAnswers: boolean;\r\n @Input() deleteCallToAction: string;\r\n @Input() isMaxRepeat: any = 0;\r\n isDisabledButton: boolean;\r\n panelOpenState = true;\r\n isVisibleMatPanelHeader = false;\r\n isEmailValueBlank = false;\r\n @Input() productName: string;\r\n @Input() referredTooltipText: string;\r\n constructor(private sessionStorage: SessionStorageService,\r\n private settingsService: SharedSettingsService,\r\n private layoutService: LayoutService,\r\n public questionSetService: QuestionSetService,\r\n ) { }\r\n\r\n showUserDetails = false;\r\n\r\n ngOnInit() {\r\n // to trigger the widebutton when there is change in 'IsNewRepeatingGroup'\r\n this.questionSetService?.IsNewRepeatingGroup.subscribe(value => {\r\n this.isDisabledButton = this.settingsService.getPreviousAnswerEditButtonStatus();\r\n })\r\n if (this.isMaxRepeat > 0) {\r\n this.isVisibleMatPanelHeader = true;\r\n }\r\n this.isDisabledButton = this.settingsService.getPreviousAnswerEditButtonStatus();\r\n this.showUserDetails = this.indexVal !== undefined ? true : false;\r\n this.isEmailValueBlank = this.sessionStorage.get('isEmailValueBlank');\r\n this.checkDeviceWidth();\r\n this.isCompressedViewOfPreviousAnswers = this.settingsService.compressedViewOfPreviousAnswers;\r\n if (this.subheading !== undefined && this.subheading !== null\r\n && this.subheading.length >= 50 && this.isDesktop === true) {\r\n this.showTooltip = true;\r\n }\r\n moment.locale(this.sessionStorage.get('LanguageCode'));\r\n if (Array.isArray(this.details)) {\r\n this.isDate = false;\r\n this.isArray = true;\r\n } else {\r\n if (this.subheading !== undefined && this.subheading !== null\r\n && (this.subheading.toUpperCase() === \"STARTDATE\" || this.subheading.toUpperCase() === \"ENDDATE\")\r\n && this.details.length > 10) {\r\n const objDate = this.settingsService.setLocalisedDateFormat(this.details);\r\n if (objDate && objDate !== 'Invalid date' && objDate !== undefined) {\r\n this.details = objDate;\r\n }\r\n }\r\n\r\n this.isDate = this.isValidDate(this.details);\r\n this.isArray = false;\r\n }\r\n }\r\n\r\n togglePanel() {\r\n this.panelOpenState = !this.panelOpenState;\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n public onClick(event): void {\r\n event.stopPropagation();\r\n this.clicked.emit(this.tag);\r\n }\r\n\r\n isValidDate(date): boolean {\r\n let dateFormat = 'DD/MM/YYYY';\r\n if (this.sessionStorage.get('LocalisedDateFormat')) {\r\n dateFormat = this.sessionStorage.get('LocalisedDateFormat');\r\n }\r\n if (moment(date, \"DD/MM/YYYY\", true).isValid()) {\r\n date = moment.utc(date, \"DD/MM/YYYY\", true);\r\n }\r\n else if (moment(date, [\"YYYY-MM-DD\", dateFormat], true).isValid()) {\r\n date = moment.utc(date, [\"YYYY-MM-DD\", dateFormat], true);\r\n }\r\n return moment.isMoment(date)\r\n || moment(date, 'YYYY-MM-DDTHH:mm:ss.SSSZ', true).isValid()\r\n || moment(date, moment.defaultFormat, true).isValid()\r\n || moment(date, this.sessionStorage.get('LocalisedDateFormat'), true).isValid();\r\n }\r\n\r\n public onDeleteClick(): void {\r\n this.deleteClicked.emit(this.tag);\r\n }\r\n}\r\n","import { Component, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-close-top',\r\n templateUrl: './close-top.component.html',\r\n styleUrls: ['./close-top.component.scss']\r\n})\r\nexport class CloseTopComponent {\r\n @Output() clicked = new EventEmitter();\r\n\r\n public onClick(): void {\r\n this.clicked.emit();\r\n }\r\n\r\n}\r\n","
\r\n close\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-icon-button',\r\n templateUrl: './icon-button.component.html',\r\n styleUrls: ['./icon-button.component.scss']\r\n})\r\nexport class IconButtonComponent implements OnInit {\r\n @Input() iconName: string;\r\n @Output() clicked = new EventEmitter();\r\n\r\n ngOnInit() {\r\n }\r\n public onClick(): void {\r\n this.clicked.emit();\r\n }\r\n}\r\n","
\r\n {{iconName}}\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport moment from 'moment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DateManipulationService {\r\n applyDateOffset(offsetValue: string, anchorDate: Date | moment.Moment, timeZoneOffset: string): moment.Moment {\r\n if (!offsetValue) {\r\n return null;\r\n } else if (Number(offsetValue) === 0) {\r\n return this.getMomentDatewithUtcOffset(timeZoneOffset);\r\n }\r\n const dateOffsetComponents = offsetValue && offsetValue.split(',');\r\n return dateOffsetComponents ? this.applyDateChange(anchorDate, dateOffsetComponents[0], dateOffsetComponents[1]) : null;\r\n }\r\n\r\n getMomentDatewithUtcOffset(timeZoneOffset?: string): moment.Moment {\r\n return timeZoneOffset ? moment(new Date()).utcOffset(timeZoneOffset) : moment(new Date());\r\n }\r\n\r\n getMomentDateWithUtc(anchorDate: Date) {\r\n return this.applyDateChange(anchorDate, \"\", \"\");\r\n }\r\n\r\n private applyDateChange(anchorDate: Date | moment.Moment, unit: string, delta: string): moment.Moment {\r\n const duration = delta as moment.DurationInputArg2;\r\n return moment(moment(anchorDate).add(Number(unit), duration));\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n event\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {{field.mandatoryValidationMsg}}\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { FormGroup, FormControl, AbstractControl } from '@angular/forms';\r\nimport { DatePickerField } from '../../../form-field/date-picker-field';\r\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS, MomentDateModule } from '@angular/material-moment-adapter';\r\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { DateManipulationService } from '../../../../services/date-manipulation/date-manipulation.service';\r\nimport { debounceTime, distinctUntilChanged } from 'rxjs/operators';\r\nimport moment, { Moment } from 'moment';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\n\r\nconst dateFormatFactory = (session: SessionStorageService) => {\r\n let setDateForamat = 'DD/MM/YYYY';\r\n const localisedDateFormatObj = sessionStorage.getItem('LocalisedDateFormat');\r\n if (localisedDateFormatObj) {\r\n setDateForamat = JSON.parse(localisedDateFormatObj)._value;\r\n }\r\n const dateformat = {\r\n parse: {\r\n dateInput: setDateForamat,\r\n },\r\n display: {\r\n dateInput: setDateForamat,\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n }\r\n };\r\n return dateformat;\r\n}\r\n@Component({\r\n selector: 'lib-date-picker',\r\n templateUrl: './date-picker.component.html',\r\n styleUrls: ['./date-picker.component.scss'],\r\n providers: [\r\n { provide: MAT_MOMENT_DATE_ADAPTER_OPTIONS, useValue: { useUtc: true } },\r\n {\r\n provide: DateAdapter,\r\n useClass: MomentDateAdapter,\r\n deps: [MAT_DATE_LOCALE, MAT_MOMENT_DATE_ADAPTER_OPTIONS]\r\n }\r\n , { provide: MAT_DATE_FORMATS, useFactory: dateFormatFactory, deps: [SessionStorageService] }\r\n\r\n ]\r\n})\r\n\r\nexport class DatePickerComponent implements OnInit {\r\n @Input() field: DatePickerField;\r\n @Input() form: FormGroup;\r\n @Input() offsetValue = '';\r\n\r\n isSmallView: boolean;\r\n minDateOffset: string[];\r\n maxDateOffset: string[];\r\n stashedDate: Date | moment.Moment;\r\n isValid = false;\r\n // disableElement = false;\r\n sponsorTimeZoneOffset = '';\r\n datePickerFormControlName: string;\r\n dateFormat: string = 'DD/MM/YYYY';\r\n offsetControlDate: Moment;\r\n offsetControlStartValue: Moment;\r\n\r\n constructor(\r\n private layoutService: LayoutService,\r\n private sessionStorage: SessionStorageService,\r\n private dateAdapter: DateAdapter,\r\n private dateManipulationService: DateManipulationService,\r\n private sharedSettingsService: SharedSettingsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n if (this.sessionStorage.get('LocalisedDateFormat')) {\r\n this.dateFormat = this.sessionStorage.get('LocalisedDateFormat');\r\n }\r\n this.stashedDate = this.retrieveAnchorFromSessionStorage();\r\n this.minDateOffset = this.field.minDate ? this.field.minDate.split(',') : null;\r\n this.maxDateOffset = this.field.maxDate ? this.field.maxDate.split(',') : null;\r\n const timeZoneOffset = this.sessionStorage.get('timeZoneOffset');\r\n this.sponsorTimeZoneOffset = timeZoneOffset && timeZoneOffset.toLowerCase().replace('utc', '');\r\n this.createForm();\r\n\r\n const offsetControl = this.form.controls[this.field.offsetBasis];\r\n if (offsetControl) {\r\n if (offsetControl.value) {\r\n this.offsetControlStartValue = moment(offsetControl.value);\r\n }\r\n offsetControl.valueChanges\r\n .pipe(debounceTime(800),\r\n distinctUntilChanged()\r\n )\r\n .subscribe(result => {\r\n this.offsetControlDate = result; \r\n this.field.value = '';\r\n this.setDefaultDate();\r\n });\r\n }\r\n\r\n this.setDefaultDate();\r\n this.checkViewPortWidth();\r\n this.dateAdapter.setLocale(this.sessionStorage.get('LanguageCode'));\r\n // this.disableElement = this.field.readOnly;\r\n }\r\n\r\n createForm() {\r\n if (this.form) {\r\n this.datePickerFormControlName = this.field.key || 'datePickerField';\r\n } else {\r\n this.datePickerFormControlName = 'datePickerField';\r\n this.form = new FormGroup({ datePickerField: new FormControl('') });\r\n }\r\n }\r\n\r\n setDefaultDate() {\r\n let calculatedDate: Date | moment.Moment;\r\n if (this.field.value \r\n && (moment(this.field.value).isValid() \r\n || moment(this.field.value, BaseConstantService.DefaultDateFormat, true).isValid()\r\n || moment(this.field.value, BaseConstantService.YearMonthDayDateFormat, true).isValid()\r\n )) {\r\n let dateValue: any = this.field.value;\r\n let date: Date;\r\n if (moment(dateValue, BaseConstantService.DefaultDateFormat, true).isValid()) {\r\n date = moment(dateValue, BaseConstantService.DefaultDateFormat, true).toDate();\r\n } else if (moment(dateValue, BaseConstantService.YearMonthDayDateFormat, true).isValid()) {\r\n date = moment(dateValue, BaseConstantService.YearMonthDayDateFormat, true).toDate();\r\n }\r\n if (date && date.toString() !== 'Invalid Date') {\r\n dateValue = date;\r\n }\r\n\r\n const newFieldValue = moment(dateValue, BaseConstantService.DefaultDateFormat, true).toDate();\r\n const transformedDate = moment(newFieldValue, this.dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n this.field.value = transformedDate.format(this.dateFormat);\r\n }\r\n\r\n if (this.field.isUnderMasterPolicy && this.field.isUnderMasterPolicy === true && this.sharedSettingsService.productValidityEndDate) {\r\n const month = moment(this.sharedSettingsService.productValidityEndDate).month() + 1;\r\n const day = moment(this.sharedSettingsService.productValidityEndDate).date();\r\n\r\n if (this.offsetControlDate) {\r\n calculatedDate = this.getCalculatedDateUnderMasterPolicy(this.offsetControlDate, day, month);\r\n } else if (this.offsetControlStartValue) {\r\n calculatedDate = this.getCalculatedDateUnderMasterPolicy(this.offsetControlStartValue, day, month);\r\n } else {\r\n const offsetControlDateFromSession = this.sessionStorage.get(`offsetControl-${this.field.offsetBasis}`);\r\n if (offsetControlDateFromSession && moment(offsetControlDateFromSession, 'DD/MM/YYYY').isValid()) {\r\n calculatedDate = this.getCalculatedDateUnderMasterPolicy(moment(offsetControlDateFromSession, 'DD/MM/YYYY'), day, month);\r\n } else {\r\n calculatedDate = null;\r\n }\r\n }\r\n\r\n if (calculatedDate) {\r\n this.form.patchValue({ [this.datePickerFormControlName]: calculatedDate });\r\n this.field.value = this.getThisformValuewithFormat();\r\n }\r\n } else {\r\n if (this.field.value && moment(this.field.value) && moment(this.field.value, [this.dateFormat]).isValid()) {\r\n const datevalue = moment(this.field.value, [this.dateFormat]);\r\n this.form.patchValue({ [this.datePickerFormControlName]: datevalue });\r\n this.field.value = this.formControl.value;\r\n } else {\r\n if (this.field.default && this.field.default.toLowerCase() === 'mindate') {\r\n calculatedDate = this.minDate;\r\n } else if (this.field.default && this.field.default.toLowerCase() === 'maxdate') {\r\n calculatedDate = this.maxDate;\r\n } else if (this.field.default) {\r\n calculatedDate = this.dateManipulationService.applyDateOffset(\r\n this.field.default, this.getAnchorDate(), this.sponsorTimeZoneOffset);\r\n }\r\n \r\n if (this.field.isExpiryDateAsInceptionDate === false) {\r\n calculatedDate = this.dateManipulationService.applyDateOffset('-1,days', calculatedDate, this.sponsorTimeZoneOffset);\r\n }\r\n \r\n if (calculatedDate) {\r\n this.form.patchValue({ [this.datePickerFormControlName]: calculatedDate });\r\n this.field.value = this.getThisformValuewithFormat();\r\n }\r\n }\r\n }\r\n\r\n this.formControl.updateValueAndValidity();\r\n }\r\n\r\n getCalculatedDateUnderMasterPolicy(offsetDate: Moment, endDateDay: number, endDateMonth: number) {\r\n\r\n const comparisonMonth = offsetDate.month() + 1;\r\n const comparisonDay = offsetDate.date();\r\n const comparisonYear = offsetDate.year();\r\n\r\n const defaultDateFormat = 'DD/MM/YYYY';\r\n const currentYear = moment().year();\r\n if (comparisonMonth > endDateMonth || (comparisonMonth === endDateMonth && comparisonDay >= endDateDay)) {\r\n return moment(\r\n `${endDateDay}/${endDateMonth}/${comparisonYear > currentYear ? comparisonYear + 1 : currentYear + 1}`, defaultDateFormat);\r\n } else if (comparisonMonth < endDateMonth || (comparisonMonth === endDateMonth && comparisonDay < endDateDay)) {\r\n return moment(\r\n `${endDateDay}/${endDateMonth}/${comparisonYear > currentYear ? comparisonYear : currentYear}`, defaultDateFormat);\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n get formControl(): AbstractControl {\r\n return this.form.controls[this.datePickerFormControlName];\r\n }\r\n\r\n get minDate(): Date | moment.Moment {\r\n return this.dateManipulationService.applyDateOffset(this.field.minDate, this.getAnchorDate(), this.sponsorTimeZoneOffset);\r\n }\r\n\r\n get maxDate(): Date | moment.Moment {\r\n return this.dateManipulationService.applyDateOffset(this.field.maxDate, this.getAnchorDate(), this.sponsorTimeZoneOffset);\r\n }\r\n\r\n getAnchorDate(): Date | moment.Moment {\r\n const offsetFieldControl = this.form.get(this.field.offsetBasis);\r\n const dynamicDate = offsetFieldControl ? offsetFieldControl.value : null;\r\n return this.stashedDate ? this.stashedDate : dynamicDate\r\n ? dynamicDate : this.dateManipulationService.getMomentDatewithUtcOffset(this.sponsorTimeZoneOffset);\r\n }\r\n\r\n getThisformValuewithFormat() {\r\n if (this.form.get(this.datePickerFormControlName).value) {\r\n const date = new Date(this.form.get(this.datePickerFormControlName).value);\r\n const transformedDate = moment(date, this.dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n return transformedDate.format(this.dateFormat);\r\n } else {\r\n return this.form.get(this.datePickerFormControlName).value;\r\n }\r\n }\r\n\r\n retrieveAnchorFromSessionStorage(): Date | moment.Moment {\r\n if (this.offsetValue && moment(this.offsetValue) && moment(this.offsetValue).isValid()) {\r\n return moment.parseZone(this.offsetValue);\r\n }\r\n return null;\r\n }\r\n\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n showErrorMessage(): boolean {\r\n return this.formControl.invalid\r\n && ((this.formControl.hasError('required') && this.formControl.touched) || !this.formControl.hasError('required'));\r\n }\r\n\r\n formateDate(event) {\r\n const dateValue = event.target.value;\r\n const transformedDate = moment(dateValue.format(this.dateFormat), this.dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n this.form.patchValue({ [this.datePickerFormControlName]: transformedDate });\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{option.name}}\r\n \r\n \r\n \r\n
\r\n","import { AfterViewInit, Component, EventEmitter, Input, OnDestroy, OnInit, Output, ViewChild, OnChanges } from '@angular/core';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { MatSelect } from '@angular/material/select';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ReplaySubject, Subject, take, takeUntil } from 'rxjs';\r\nimport { DropDownField } from '../../../form-field/dropdown-field';\r\n\r\n\r\nconst SearchLabel = 'Shared.lblSearchBtn';\r\nconst NoRecordsFoundLabel = 'Shared.lblNoRecordFound';\r\n\r\n\r\n@Component({\r\n selector: 'lib-auto-search-dropdown',\r\n templateUrl: './auto-search-dropdown.component.html',\r\n styleUrls: ['./auto-search-dropdown.component.scss']\r\n})\r\nexport class AutoSearchDropdownComponent implements OnInit, AfterViewInit, OnDestroy, OnChanges {\r\n\r\n @Input() optionList: any[] ;\r\n @Input() selectedValue: any;\r\n @Input() isDisabled: boolean;\r\n @Input() optionListDetailsForm: FormGroup;\r\n @Input() controlName: any;\r\n @Input() placeHolderLabel: string;\r\n @Input() field: DropDownField\r\n /** control for the MatSelect search */\r\n public searchControl: FormControl = new FormControl();\r\n @Output() valueChange = new EventEmitter();\r\n /** list of options filtered by search */\r\n public filteredOptions: ReplaySubject = new ReplaySubject(1);\r\n @ViewChild('singleSelect', { static: true }) singleSelect: MatSelect;\r\n /** Subject that emits when the component has been destroyed. */\r\n protected _onDestroy = new Subject();\r\n noRecordsFoundLabel: string;\r\n searchLabel: string;\r\n\r\n constructor(public translate: TranslateService) { }\r\n\r\n ngOnChanges() {\r\n this.filteredOptions.next(this.optionList);\r\n }\r\n\r\n \r\n ngOnInit() {\r\n\r\n this.applyTranslations();\r\n if (!this.selectedValue && this.optionListDetailsForm.get(this.controlName)?.value) {\r\n this.selectedValue = this.optionListDetailsForm.get(this.controlName).value\r\n }\r\n this.filteredOptions.next(this.optionList);\r\n // filter the options when user search the keyword\r\n this.searchControl.valueChanges\r\n .pipe(takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.filterOptions();\r\n });\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([NoRecordsFoundLabel, SearchLabel]).subscribe((res) => {\r\n this.noRecordsFoundLabel = res[NoRecordsFoundLabel];\r\n this.searchLabel = res[SearchLabel];\r\n\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.setInitialValue();\r\n }\r\n\r\n onSelectionChange(event) {\r\n this.valueChange.emit(event);\r\n }\r\n\r\n ngOnDestroy() {\r\n this._onDestroy.next();\r\n this._onDestroy.complete();\r\n }\r\n\r\n /**\r\n * Sets the initial value after the filteredOptions are loaded initially if any value is selected\r\n */\r\n protected setInitialValue() {\r\n this.filteredOptions\r\n .pipe(take(1), takeUntil(this._onDestroy))\r\n .subscribe(() => {\r\n this.singleSelect.compareWith = (a: any, b: any) => a && b && a === b;\r\n });\r\n }\r\n\r\n protected filterOptions() {\r\n if (!this.optionList) {\r\n return;\r\n }\r\n // get the search keyword\r\n let search = this.searchControl.value;\r\n if (!search) {\r\n this.filteredOptions.next(this.optionList);\r\n return;\r\n } else {\r\n search = search.toLowerCase();\r\n }\r\n // filter the options\r\n this.filteredOptions.next(\r\n this.optionList?.filter(options => options?.value?.toLowerCase().indexOf(search) > -1)\r\n );\r\n }\r\n}\r\n","
\r\n \r\n \r\n 0\" (selectionChange)=\"onSelectionChange($event,field)\"\r\n formControlName=\"{{dropDownFormControlName}}\" [required]=\"field.required\" [disabled]=\"field.readOnly\"\r\n disableOptionCentering disableRipple panelClass=\"myPanelClass\">\r\n \r\n {{option.name}}\r\n \r\n \r\n\r\n 0\"\r\n (selectionChange)=\"onSelectionChange($event,field)\" formControlName=\"{{dropDownFormControlName}}\"\r\n [required]=\"field.required\" [disabled]=\"field.readOnly\" disableOptionCentering disableRipple\r\n panelClass=\"myPanelClass\">\r\n \r\n \r\n {{option.name}}\r\n \r\n \r\n \r\n {{mandatoryErrorMsg}}\r\n \r\n
\r\n
\r\n \r\n {{mandatoryErrorMsg}}\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, ChangeDetectorRef, AfterViewInit } from '@angular/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { DropDownField } from '../../../form-field/dropdown-field';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { NotificationAlertService } from '../../../../services/notification-alert/notification-alert.service';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\n\r\n@Component({\r\n selector: 'lib-drop-down',\r\n templateUrl: './drop-down.component.html',\r\n styleUrls: ['./drop-down.component.scss']\r\n})\r\nexport class DropDownComponent implements OnInit, AfterViewInit {\r\n public mandatoryErrorMsg;\r\n public isSmallView: boolean;\r\n public dropDownFormControlName: string;\r\n @Input() field: DropDownField;\r\n @Output() valueChange = new EventEmitter();\r\n @Input() form: FormGroup;\r\n constructor(\r\n private layoutService: LayoutService,\r\n private questionSetService: QuestionSetService\r\n ) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.dropDownFormControlName];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n onSelectionChange(event, data: DropDownField) {\r\n\r\n this.questionSetService.showAlertMessages(data, event?.value);\r\n\r\n event['tagName'] = 'SELECT';\r\n event['id'] = data.key;\r\n event['qIntentCode'] = data?.qIntentCode;\r\n\r\n this.questionSetService.setResetChildQintentCode(data, event);\r\n\r\n // to find whether parent intentcode configured with global function\r\n const grantParent = this.questionSetService?.internalQuestionSet?.length > 0 ?\r\n this.questionSetService.internalQuestionSet[this.questionSetService?.currentPosition]?.\r\n childQuestionSets?.filter(x => x.qIntentCode === data.onDemandDataParameters?.split(',').map(s => s.trim())[0])\r\n : undefined;\r\n\r\n // to find rootLevelParent (When answerset of childQuestionset contains questions.)\r\n const rootLevelParentName: string = data?.onDemandDataParameters?.split(',').map(s => s.trim())[0];\r\n let parent = undefined;\r\n if (rootLevelParentName && rootLevelParentName.trim().length !== 0 && this.questionSetService?.internalQuestionSet?.length > 0) {\r\n\r\n this.questionSetService.internalQuestionSet[this.questionSetService?.currentPosition]?.\r\n childQuestionSets[0]?.answerSets?.forEach(answerSet => {\r\n if (parent === undefined || parent?.length === 0) {\r\n parent = answerSet?.childQuestionSets?.filter(cq => cq.qIntentCode.toLowerCase() === rootLevelParentName.toLowerCase());\r\n }\r\n })\r\n }\r\n\r\n if ((data.globalFunction !== null && data.globalFunction !== \"\") ||\r\n (grantParent?.length > 0 && grantParent[0]?.globalFunction !== null && grantParent[0].globalFunction !== \"\") ||\r\n (parent?.length > 0 && parent[0]?.globalFunction !== null && parent[0].globalFunction !== \"\")) {\r\n event['data'] = data;\r\n\r\n // adding this code to get the id of selected option\r\n data?.options.filter(option => {\r\n if (option.name === event.value) {\r\n\r\n event['data']['selectedId'] = option?.id\r\n }\r\n });\r\n }\r\n\r\n if (data?.persistChildValue === true) {\r\n event['persistChildValue'] = true;\r\n }\r\n this.valueChange.emit(event);\r\n }\r\n\r\n onAutoSearchSelectionChange(event) {\r\n this.onSelectionChange(event, this.field);\r\n }\r\n\r\n ngOnInit() {\r\n this.mandatoryErrorMsg = this.field.mandatoryValidationMsg || 'This field is required';\r\n if (this.field.label === undefined || this.field.label === null) {\r\n this.field.label = '';\r\n }\r\n this.checkViewPortWidth();\r\n this.createForm();\r\n\r\n // Check default value for dropdown\r\n const defaultValue = this.field.options.filter((object, ind) => {\r\n object['index'] = ind; return object.value === this.field.value;\r\n })[0];\r\n // OnDemand data for default value dropdown\r\n if (defaultValue) {\r\n if (this.field.odefault && this.field.onDemandDataSubscribers !== undefined && this.field.onDemandDataSubscribers !== \"\") {\r\n const $event = new MatSelectChange(null, this.field.value);\r\n $event['tagName'] = 'SELECT';\r\n $event['id'] = this.field.key;\r\n $event['qIntentCode'] = this.field?.qIntentCode;\r\n $event.value = this.field.value;\r\n if (this.field.globalFunction !== null && this.field.globalFunction !== \"\") {\r\n $event['data'] = this.field;\r\n }\r\n this.valueChange.emit($event);\r\n }\r\n }\r\n if (this.field?.odefault === true) {\r\n const $event = new MatSelectChange(null, this.field.value);\r\n this.questionSetService.setResetChildQintentCode(this.field, $event);\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.field?.options?.length > 0) {\r\n this.questionSetService.showAlertMessages(this.field, this.field.value);\r\n }\r\n }\r\n\r\n /* Generic functions that relate to datepicker */\r\n createForm() {\r\n if (this.form) {\r\n this.dropDownFormControlName = this.field['key'] ? this.field['key'] : 'dropDownField';\r\n } else {\r\n this.dropDownFormControlName = 'dropDownField';\r\n this.form = new FormGroup({ dropDownField: new FormControl('') });\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n 0 ? field.maxLength : null\" \r\n (blur)=\"onBlurEvent($event)\"\r\n />\r\n\r\n \r\n {{field.iconName}}\r\n \r\n \r\n \r\n
\r\n\r\n","import { Component, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { Observable, OperatorFunction } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Component({\r\n selector: 'lib-auto-suggest-input',\r\n templateUrl: './auto-suggest-input.component.html',\r\n styleUrls: ['./auto-suggest-input.component.scss']\r\n})\r\nexport class AutoSuggestInputComponent {\r\n @Input() autoSuggestListForm: FormGroup;\r\n @Input() field: any;\r\n @Output() autoSuggestChange = new EventEmitter();\r\n @Output() onAutoSuggestBlur = new EventEmitter();\r\n\r\n constructor(\r\n private settingsService: SharedSettingsService\r\n ) { }\r\n\r\n\r\n search: OperatorFunction = (\r\n text$: Observable\r\n ) =>\r\n text$.pipe(\r\n map((term) =>\r\n term.length < this.settingsService.minimumCharForAutoSuggestion\r\n ? []\r\n : this.field.autoSuggestionList?.length > 0 &&\r\n this.field.autoSuggestionList.filter((v) => v?.toLowerCase().indexOf(term.toLowerCase()) > -1)\r\n )\r\n );\r\n\r\n // Responsible to call api once minimum character length reached\r\n getSuggestionList(event: any) {\r\n if (event.target.value?.length >= this.settingsService.minimumCharForAutoSuggestion) {\r\n this.autoSuggestChange.emit({ event: event, field: this.field });\r\n }\r\n }\r\n onBlurEvent(event: any) {\r\n this.onAutoSuggestBlur.emit({ event: event, field: this.field });\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n 0 ? field.maxLength : null\"\r\n (blur)=\"onBlurEvent($event,field)\" />\r\n\r\n \r\n {{field.iconName}}\r\n \r\n \r\n {{getSpecificErrorMessage()}}\r\n \r\n\r\n \r\n\r\n
\r\n\r\n
\r\n \r\n \r\n {{getSpecificErrorMessage()}}\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TextboxField } from '../../../form-field/textbox-field';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { CurrencyFormatPipe } from '../../../../shared/pipes/currency-format.pipe';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service'\r\n\r\n\r\n@Component({\r\n selector: 'lib-text-box',\r\n templateUrl: './text-box.component.html',\r\n styleUrls: ['./text-box.component.scss']\r\n})\r\nexport class TextBoxComponent implements OnInit {\r\n @Input() field: TextboxField;\r\n @Input() form: FormGroup;\r\n @Output() cToAction = new EventEmitter();\r\n @Output() valueChange = new EventEmitter();\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n public emailErrorMessage: string;\r\n public validEmailErrorMessage: string;\r\n public confirmEmailErrorMessage: string;\r\n public minLengthErrorMessage: string;\r\n public maxLengthErrorMessage: string;\r\n public minRangeErrorMessage: string;\r\n public maxRangeErrorMessage: string;\r\n public numericErrorMessage: string;\r\n public invalidValueErrorMessage: string;\r\n public showTooltip = false;\r\n public maxLength: number;\r\n public correctFormatValidationMsg: string;\r\n public isAutoSuggestionVisible: boolean;\r\n\r\n constructor(private layoutService: LayoutService,\r\n private currencyPipe: CurrencyFormatPipe,\r\n private sharedSettingsService: SharedSettingsService) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (Array.isArray(this.field.mandatoryValidationMsg)) {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg[0];\r\n this.emailErrorMessage = this.field.mandatoryValidationMsg[1];\r\n this.validEmailErrorMessage = this.field.mandatoryValidationMsg[2];\r\n this.confirmEmailErrorMessage = this.field.mandatoryValidationMsg[3];\r\n this.minLengthErrorMessage = this.field.mandatoryValidationMsg[4];\r\n this.maxLengthErrorMessage = this.field.mandatoryValidationMsg[5];\r\n this.minRangeErrorMessage = this.field.mandatoryValidationMsg[6];\r\n this.maxRangeErrorMessage = this.field.mandatoryValidationMsg[7];\r\n this.numericErrorMessage = this.field.mandatoryValidationMsg[8];\r\n this.invalidValueErrorMessage = this.field.mandatoryValidationMsg[9];\r\n } else {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg;\r\n this.correctFormatValidationMsg = this.field.correctFormatValidationMsg;\r\n }\r\n\r\n if (this.field.key === 'email') {\r\n this.showTooltip = true;\r\n }\r\n if (this.field.label === undefined || this.field.label === null) {\r\n this.field.label = '';\r\n }\r\n this.isAutoSuggestionVisible = this.field?.globalFunction?.toLowerCase()?.includes('autosuggestion') ? true : false;\r\n }\r\n\r\n callToActionOnClick() {\r\n this.cToAction.emit();\r\n }\r\n\r\n onBlurEvent(event, data) {\r\n // if in QS metadata localization is true then currency will be visible\r\n // in local curreny format.\r\n if (data.localization && event.target.value?.length > 0) {\r\n this.convertToLocaliseCurrency(event);\r\n }\r\n }\r\n\r\n valueChangeOnKeyPressed(event, data) {\r\n if (event instanceof PointerEvent) {\r\n // triggered from button click\r\n const target = event.target as HTMLInputElement;\r\n target.value = this.form.controls[data.key].value;\r\n }\r\n\r\n if (data.localization && event.target.value?.length > 0) {\r\n this.convertToLocaliseCurrency(event);\r\n }\r\n\r\n event['tagName'] = \"text\";\r\n event['id'] = data.key;\r\n event['qIntentCode'] = data?.qIntentCode;\r\n if (data.globalFunction !== null && data.globalFunction !== \"\") {\r\n event['data'] = data;\r\n }\r\n this.valueChange.emit(event);\r\n }\r\n\r\n getSpecificErrorMessage() {\r\n if (this.formControl.hasError('required')) {\r\n return this.mandatoryErrorMessage;\r\n }\r\n if ((this.formControl.hasError('pattern')) && (this.field.questionFormat?.toLowerCase() === 'text') && (this.field?.type === 'email')) {\r\n return this.validEmailErrorMessage;\r\n }\r\n if ((this.formControl.hasError('pattern')) && (this.field.questionFormat?.toLowerCase() === 'text')\r\n && ((this.field.regexValidation !== null) || (this.field.regexValidation !== undefined))) {\r\n return this.invalidValueErrorMessage;\r\n }\r\n if ((this.formControl.hasError('pattern')) && (this.field.questionFormat?.toLowerCase() === 'numeric')) {\r\n return this.numericErrorMessage;\r\n }\r\n if ((this.formControl.hasError('min')) && (this.field.questionFormat.toLowerCase() === 'numeric')) {\r\n return this.minRangeErrorMessage;\r\n }\r\n if ((this.formControl.hasError('max')) && (this.field.questionFormat.toLowerCase() === 'numeric')) {\r\n return this.maxRangeErrorMessage;\r\n }\r\n if ((this.formControl.hasError('minlength')) && (this.field?.questionFormat?.toLowerCase() === 'numeric')) {\r\n return this.minLengthErrorMessage;\r\n }\r\n if ((this.formControl.hasError('maxlength')) && (this.field?.questionFormat?.toLowerCase() === 'numeric')) {\r\n return this.maxLengthErrorMessage;\r\n }\r\n if (this.formControl.hasError('email')) {\r\n return this.emailErrorMessage;\r\n }\r\n if (this.formControl.hasError('notMatch')) {\r\n return this.confirmEmailErrorMessage;\r\n }\r\n if ((this.formControl.hasError('minlength')) && (this.field?.questionFormat?.toLowerCase() === 'text')) {\r\n return this.minLengthErrorMessage;\r\n }\r\n if ((this.formControl.hasError('maxlength')) && (this.field?.questionFormat?.toLowerCase() === 'text')) {\r\n return this.maxLengthErrorMessage;\r\n }\r\n if ((this.formControl.hasError('pattern')) && ((this.field.regexValidation !== null) || (this.field.regexValidation !== undefined))) {\r\n return this.correctFormatValidationMsg;\r\n }\r\n\r\n }\r\n\r\n convertToLocaliseCurrency(event) {\r\n const formattedValue = this.sharedSettingsService.reverseFormatNumber(event.target.value);\r\n if (this.formControl.valid) {\r\n const localizedFormat = this.currencyPipe.transform(formattedValue)\r\n event.target.value = localizedFormat;\r\n this.form.get(this.field.key).setValue(localizedFormat);\r\n }\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TextAreaField } from '../../../form-field/textarea-field';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'lib-text-area',\r\n templateUrl: './text-area.component.html',\r\n styleUrls: ['./text-area.component.scss']\r\n})\r\nexport class TextAreaComponent implements OnInit {\r\n @Input() field: TextAreaField;\r\n @Input() form: FormGroup;\r\n @Output() cToAction = new EventEmitter();\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n public minLengthErrorMessage: string;\r\n public maxLengthErrorMessage: string;\r\n // public requiredFieldMsg: string | string[];\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.field.label === undefined || this.field.label === null) {\r\n this.field.label = '';\r\n }\r\n if (Array.isArray(this.field.mandatoryValidationMsg)) {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg[0];\r\n this.minLengthErrorMessage = this.field.mandatoryValidationMsg[4];\r\n this.maxLengthErrorMessage = this.field.mandatoryValidationMsg[5];\r\n } else {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg;\r\n }\r\n }\r\n\r\n callToActionOnClick() {\r\n this.cToAction.emit();\r\n }\r\n\r\n getSpecificErrorMessage() {\r\n if (this.formControl.hasError('required')) {\r\n return this.mandatoryErrorMessage;\r\n }\r\n if (this.formControl.hasError('minlength')) {\r\n return this.minLengthErrorMessage;\r\n }\r\n if (this.formControl.hasError('maxlength')) {\r\n return this.maxLengthErrorMessage;\r\n }\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {{getSpecificErrorMessage()}}\r\n\r\n \r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { HttpParams } from '@angular/common/http';\r\nimport { CookieBannerService } from '../../../lib/services/cookie-banner/cookie-banner.service';\r\nimport { MsalAuthenticationService } from '../../services/common-auth/msalauthentication.service';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class UtilitiesService {\r\n\r\n constructor(private settingsService: SharedSettingsService,\r\n private cookieBannerService: CookieBannerService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private http: CommonHttpService) { }\r\n\r\n public getUrlParameterByName(paramName: string, useCaching: boolean = true) {\r\n const params = this.getAllParameters(useCaching);\r\n return params && params[paramName];\r\n }\r\n\r\n public getAllParameters(useCaching: boolean = true): { [id: string]: string; } {\r\n const stashedResult = useCaching && this.settingsService.queryParams;\r\n if (stashedResult) {\r\n return stashedResult;\r\n }\r\n const params: { [id: number]: string; } = {};\r\n const url = window.location.href;\r\n if (url.includes('?')) {\r\n\r\n if (url?.toLowerCase().indexOf('?sname') > 0) {\r\n // *** To clear the browser SessionStorage & LocalStorage values at the time of initial loading ***//\r\n if (this.msalAuthenticationService.isAuthenticated() === false || this.settingsService.isB2B()) {\r\n this.cookieBannerService.clearLocalStorage();\r\n }\r\n this.cookieBannerService.clearSessionStorage();\r\n }\r\n\r\n const httpParams = new HttpParams({ fromString: url.split('?')[1] });\r\n for (const paramName of httpParams.keys()) {\r\n params[paramName] = httpParams.get(paramName);\r\n }\r\n\r\n // adding this code for bug 170050 //\r\n const paramVal = JSON.stringify(params);\r\n const queryParamsVal = JSON.stringify(this.settingsService.queryParams);\r\n if (url.includes('?sname')) {\r\n if (paramVal !== queryParamsVal && (paramVal !== 'null' &&\r\n queryParamsVal !== 'null')) {\r\n sessionStorage.clear();\r\n }\r\n }\r\n }\r\n\r\n if (useCaching) {\r\n this.settingsService.queryParams = params;\r\n }\r\n return params;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { BehaviorSubject, lastValueFrom } from 'rxjs';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n\r\nconst routes = {\r\n gettoken: endPoints.apiUrl + endPoints.endPointName.getToken,\r\n checktoken: endPoints.apiUrl + endPoints.endPointName.checkToken,\r\n getcustomeridentifier: endPoints.apiUrl + endPoints.endPointName.getcustomeridentifier,\r\n getassentlyurl: endPoints.apiUrl + endPoints.endPointName.getAssentlyUrl\r\n};\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AssentlyService {\r\n\r\n constructor(\r\n protected commonHttpService: CommonHttpService,\r\n protected sessionStorageSerice: SessionStorageService\r\n ) { }\r\n gettoken(): Promise {\r\n try {\r\n const apiUrl = `${routes.gettoken}`;\r\n return lastValueFrom(this.commonHttpService.httpGetServiceWithBearer(apiUrl));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n DecryptResult(requestBody: any): Promise {\r\n try {\r\n const apiUrl = `${routes.checktoken}`;\r\n return lastValueFrom(this.commonHttpService.httpPostService(apiUrl, requestBody));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n getCustomerIdentifier(cusotmerIdentifier: string): Promise {\r\n try {\r\n const apiUrl = `${routes.getcustomeridentifier}`;\r\n const inputData = {\r\n ssn: cusotmerIdentifier,\r\n sponsorId: this.sessionStorageSerice.get('SponsorId')\r\n };\r\n return lastValueFrom(this.commonHttpService.httpPostService(apiUrl, inputData));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n getassentlyurl(): Promise {\r\n try {\r\n const apiUrl = `${routes.getassentlyurl}`;\r\n return lastValueFrom(this.commonHttpService.httpGetServiceWithBearer(apiUrl));\r\n } catch (e) {\r\n console.error(e);\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { ExternalValidationRequest, ExternalValidationResponse } from '../../shared/models';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExternalValidationService {\r\n private apiUrl = endPoints.apiUrl;\r\n private getExternalValidationStatusUrl = this.apiUrl + endPoints.endPointName.getValidationStatus;\r\n\r\n constructor(private commonHttpService: CommonHttpService) {\r\n }\r\n\r\n getExternalValidationStatus(request: ExternalValidationRequest): Observable {\r\n return this.commonHttpService.httpPostService(this.getExternalValidationStatusUrl, request);\r\n }\r\n }\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AssentlyService } from '../../../../services/Assently/assently.service';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { ExternalValidationRequest, ExternalValidationResponse } from '../../../models/external-validation-request.model';\r\nimport { ExternalValidationService } from '../../../../services/external-validation/external-validation.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { ErrorState } from '../../../models';\r\n\r\ndeclare let coreid_client: any;\r\nconst assentlyVerificationFailedHeading = 'Shared.lblAssentlyVerificationFailedHeading';\r\nconst assentlyVerificationFailedMessage = 'Shared.lblAssentlyVerificationFailedMessage';\r\n@Component({\r\n selector: 'lib-assently-login',\r\n templateUrl: './assently-login.component.html',\r\n styleUrls: ['./assently-login.component.scss']\r\n})\r\nexport class AssentlyLoginComponent implements OnInit {\r\n\r\n @Input() goToRoute;\r\n public assentlyVerificationFailedHeadingLabel: string;\r\n public assentlyVerificationFailedMessageLabel: string;\r\n\r\n @Output() isModalOpen = new EventEmitter();\r\n @Output() isAssentlyModalLoading = new EventEmitter();\r\n constructor(\r\n private assentlyService: AssentlyService,\r\n public router: Router,\r\n public translate: TranslateService,\r\n public externalValidationService: ExternalValidationService,\r\n public sessionStorageService: SessionStorageService,\r\n public sharedSettingsService: SharedSettingsService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.isAssentlyModalLoading.emit(true);\r\n this.gettoken();\r\n this.applyTranslations();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([assentlyVerificationFailedHeading, assentlyVerificationFailedMessage]).subscribe((res) => {\r\n this.assentlyVerificationFailedHeadingLabel = res[assentlyVerificationFailedHeading];\r\n this.assentlyVerificationFailedMessageLabel = res[assentlyVerificationFailedMessage];\r\n\r\n });\r\n }\r\n\r\n\r\n // Assently Code\r\n async gettoken() {\r\n const token = await this.GetInitToken();\r\n await this.DoAssently(token.tokenVal);\r\n }\r\n\r\n async GetInitToken() {\r\n const result = await this.assentlyService.gettoken().then(data => {\r\n return data;\r\n });\r\n return result;\r\n }\r\n\r\n async DoAssently(token: any) {\r\n coreid_client.init({\r\n config: {\r\n allowedEids: ['*'], // enable all eID providers\r\n mode: 'auth', // sets the mode to authentication\r\n language: 'sv', // set the client to use swedish language\r\n provider: 'se-bankid', // default provider to show on start\r\n },\r\n token,\r\n callback: async function(data: any) {\r\n if (data.success === true) {\r\n try {\r\n const value = JSON.stringify(data.token);\r\n const decryptedData = await this.assentlyService.DecryptResult(value).then(decryptResultData => {\r\n return decryptResultData;\r\n });\r\n await this.assentlyService.getCustomerIdentifier(decryptedData.ssn).then(customerData => {\r\n\r\n if (customerData.customerIdentifier === decryptedData.ssn) {\r\n coreid_client.close();\r\n this.isModalOpen.emit(false);\r\n this.enableScrolling();\r\n this.sessionStorageService.set('Email', customerData.email);\r\n this.sessionStorageService.set('customerId', customerData.customerId);\r\n\r\n const request = new ExternalValidationRequest();\r\n // Enable guest purchase for assently/3rd party sign token\r\n request.isGuestPurchase = true;\r\n request.appName = 'claims';\r\n this.externalValidationService.getExternalValidationStatus(request).subscribe((response: ExternalValidationResponse) => {\r\n if (response) {\r\n this.sessionStorageService.set('tokenGenerationRedirectUrl', response.tokenGenerationRedirectUrl);\r\n // Add 30 minutes in current time and stores it in session storage to check expiry of generated 'id_token'.\r\n const currentTime = new Date();\r\n localStorage.setItem('idTokenExpiryTime', String(currentTime.setMinutes(currentTime.getMinutes() + 30)));\r\n this.sharedSettingsService.previousUrl = this.goToRoute;\r\n window.location.href = response.tokenGenerationRedirectUrl;\r\n }\r\n });\r\n } else if (customerData.customerIdentifier !== decryptedData.ssn) {\r\n coreid_client.close();\r\n this.isModalOpen.emit(false);\r\n this.enableScrolling();\r\n this.navigateToErrorPage();\r\n }\r\n\r\n });\r\n } catch (e) {\r\n this.isModalOpen.emit(false);\r\n this.enableScrolling();\r\n console.log(e);\r\n }\r\n } else if (data.type === 'failed') {\r\n this.isModalOpen.emit(false);\r\n this.enableScrolling(); // to show the background scroll bar once the assently pop up is gone\r\n } else if (data.type === 'cancelled') {\r\n this.isModalOpen.emit(false);\r\n console.log('user closed the app');\r\n this.enableScrolling();\r\n } else if (data.type === 'error') {\r\n this.isModalOpen.emit(false);\r\n this.enableScrolling();\r\n }\r\n\r\n }.bind(this)\r\n });\r\n coreid_client.start();\r\n this.isAssentlyModalLoading.emit(false);\r\n this.disableScrolling(); // to hide the background scroll bar once the assently pop up is display\r\n }\r\n\r\n navigateToErrorPage() {\r\n const header = this.assentlyVerificationFailedHeadingLabel;\r\n const messages = this.assentlyVerificationFailedMessageLabel;\r\n this.router.navigate(['/error-page'], { state: new ErrorState(header, messages) });\r\n }\r\n\r\n // to enable or disble the background scrolling if assently pop is displayed\r\n disableScrolling() {\r\n document.body.style.overflow = 'hidden';\r\n }\r\n enableScrolling() {\r\n document.body.style.overflow = 'auto';\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n

{{ loadingMessage }}

\r\n
\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-progress-spinner',\r\n templateUrl: './progress-spinner.component.html',\r\n styleUrls: ['./progress-spinner.component.css']\r\n})\r\n\r\nexport class ProgressSpinnerComponent {\r\n @Input() loadingMessage: string = '';\r\n}\r\n","\r\n\r\n \r\n \r\n\r\n\r\n \r\n\r\n\r\n\r\n","import { AfterContentChecked, ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\n\r\n@Component({\r\n selector: 'lib-login-register-logout',\r\n templateUrl: './login-register-logout.component.html',\r\n styleUrls: ['./login-register-logout.component.scss']\r\n})\r\nexport class LoginRegisterLogoutComponent implements OnInit, AfterContentChecked {\r\n\r\n @Input() loginRegisterText: string;\r\n @Output() redirectToLogin = new EventEmitter();\r\n\r\n isMobile = false;\r\n isAssentlyEnabled = false;\r\n isLoading = false;\r\n goToRoute = '/home/new-claim'; // go to this route once SSN no. is found in database\r\n\r\n constructor(\r\n private layoutService: LayoutService,\r\n private settingsService: SharedSettingsService,\r\n public router: Router,\r\n private ref: ChangeDetectorRef\r\n ) { }\r\n\r\n ngAfterContentChecked() {\r\n this.ref.detectChanges();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.checkDeviceWidth();\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n });\r\n }\r\n getLoader(loaderValue) {\r\n this.isLoading = loaderValue;\r\n if (loaderValue === true) {\r\n document.getElementById('btnPrimary').style.pointerEvents = 'none';\r\n } else {\r\n document.getElementById('btnPrimary').style.pointerEvents = 'all';\r\n }\r\n }\r\n\r\n\r\n closeAssentlyModal(event) {\r\n this.isAssentlyEnabled = event;\r\n }\r\n\r\n navigateToLogin() {\r\n if (this.settingsService.enableAssently) {\r\n this.isAssentlyEnabled = true;\r\n } else {\r\n this.redirectToLogin.emit();\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{iconNearbyLink}}  {{linkLabel}}\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UtilitiesService } from '../../../services/utilities/utilities.service';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\n\r\nconst closeLabel = 'Shared.lblClose';\r\n@Component({\r\n selector: 'lib-top-bar-with-icon-and-link',\r\n templateUrl: './top-bar-with-icon-and-link.component.html',\r\n styleUrls: ['./top-bar-with-icon-and-link.component.scss']\r\n})\r\nexport class TopBarWithIconAndLinkComponent implements OnInit, OnChanges {\r\n @Input() iconName: string;\r\n @Input() iconNearbyLink: string;\r\n @Input() linkLabel: string;\r\n @Output() emitIconAction = new EventEmitter();\r\n @Output() emitLabelAction = new EventEmitter();\r\n public isB2BFlow: boolean;\r\n @Input() closeButtonText = 'Close';\r\n public loginRegisterText;\r\n allowCustomerIdentification: any;\r\n\r\n constructor(private utilitiesService: UtilitiesService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private baseSettingsService: SharedSettingsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.isB2BFlow = this.baseSettingsService.isB2B();\r\n this.loginRegisterText = 'Hello ' + this.baseSettingsService.b2bName();\r\n this.allowCustomerIdentification = this.baseSettingsService.allowCustomerIdentification\r\n this.applyTranslations();\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (changes?.iconName?.currentValue?.toString() !== \"close\") {\r\n window.history.pushState(null, null, null);\r\n window.onpopstate = function () {\r\n window.history.go(1);\r\n };\r\n }\r\n }\r\n\r\n public clickIconEmit(): void {\r\n this.emitIconAction.emit();\r\n }\r\n\r\n public clickLabelEmit(): void {\r\n this.emitLabelAction.emit();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([closeLabel]).subscribe((res) => {\r\n this.closeButtonText = res[closeLabel];\r\n });\r\n }\r\n public closeCurrentTab() {\r\n window.open('', '_self').close();\r\n }\r\n public getClass(iconName: string) {\r\n if (iconName === undefined) {\r\n return 'pull-right';\r\n }\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n \r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\nimport {MAT_BOTTOM_SHEET_DATA} from '@angular/material/bottom-sheet';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { IBottomsheetData } from '../../models';\r\n\r\n@Component({\r\n selector: 'lib-bottomsheet',\r\n templateUrl: './bottomsheet.component.html',\r\n styleUrls: ['./bottomsheet.component.scss']\r\n})\r\nexport class BottomsheetComponent implements OnInit {\r\n public isMobile: boolean;\r\n public isTablet: boolean;\r\n public isDesktop: boolean;\r\n constructor(\r\n private bottomSheetRef: MatBottomSheetRef,\r\n private layoutService: LayoutService,\r\n @Inject(MAT_BOTTOM_SHEET_DATA) public data: IBottomsheetData) {}\r\n\r\n closeBottomsheet(): void {\r\n this.bottomSheetRef.dismiss();\r\n }\r\n\r\n ngOnInit() {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[libInputNubersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n\r\n constructor(private element: ElementRef) { }\r\n\r\n @HostListener('input', ['$event']) onInputChange(event) {\r\n const initalValue = this.element.nativeElement.value;\r\n this.element.nativeElement.value = initalValue.replace(/[^0-9]*/g, '');\r\n if (initalValue !== this.element.nativeElement.value) {\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'stripHtmlTags'\r\n})\r\nexport class StripHtmlTagsPipe implements PipeTransform {\r\n transform(value: string): string {\r\n return value.replace(/<[^>]*>/g, '');\r\n }\r\n}\r\n","
\r\n

\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-heading-sub-heading',\r\n templateUrl: './heading-sub-heading.component.html',\r\n styleUrls: ['./heading-sub-heading.component.scss']\r\n})\r\nexport class HeadingSubHeadingComponent implements OnInit {\r\n @Input() heading: string;\r\n @Input() subHeading: string;\r\n public isDesktopView: boolean;\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit() {\r\n this.checkLayoutViewPort();\r\n }\r\n\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n checkLayoutViewPort() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isDesktopView = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n \r\n \r\n
\r\n {{cardInput.iconName}}\r\n
\r\n {{cardInput.titleLabel}}\r\n {{cardInput.subTitleLabel}}\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CardButtonBase } from './card-button-base';\r\nimport { MenuParams } from './card-button-base';\r\n\r\nconst pageLabels = {\r\n newClaimRemoveTxt: 'Claim.lblNewClaimRemoveTxt',\r\n newClaimViewTxt: 'Claim.lblNewClaimViewTxt',\r\n removeTxt: 'Shared.lblRemoveTxt',\r\n viewTxt: 'Shared.lblViewTxt'\r\n};\r\n\r\n\r\n@Component({\r\n selector: 'lib-card-button',\r\n templateUrl: './card-button.component.html',\r\n styleUrls: ['./card-button.component.scss']\r\n})\r\nexport class CardButtonComponent implements OnInit {\r\n @Input() cardInput: CardButtonBase;\r\n @Output() emitMenuAction = new EventEmitter();\r\n @Output() emitHeaderClickAction = new EventEmitter();\r\n @Input() isLast: boolean;\r\n @Input() type: string;\r\n public labels = {\r\n newClaimRemoveTxt: '',\r\n newClaimViewTxt: '',\r\n newSalesRemoveTxt: '',\r\n newSalesViewTxt: ''\r\n };\r\n constructor(private readonly translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n this.applyTranslation();\r\n }\r\n\r\n public menuClicked(item: MenuParams): void {\r\n this.emitMenuAction.emit(item);\r\n }\r\n public emitHeaderClicked(item: CardButtonBase): void {\r\n item.menuInfo[0].menuLabel === 'remove' ? item.menuInfo[0].menuLabel = this.type === \"sales\" ?\r\n this.labels.newSalesRemoveTxt : this.labels.newClaimRemoveTxt\r\n : item.menuInfo[0].menuLabel = item.menuInfo[0].menuLabel;\r\n item.menuInfo[1].menuLabel === 'view' ? item.menuInfo[1].menuLabel = this.type === \"sales\" ?\r\n this.labels.newSalesViewTxt : this.labels.newClaimViewTxt\r\n : item.menuInfo[1].menuLabel = item.menuInfo[1].menuLabel;\r\n this.emitHeaderClickAction.emit(item);\r\n }\r\n applyTranslation() {\r\n const { newClaimRemoveTxt,\r\n newClaimViewTxt, removeTxt, viewTxt\r\n } = pageLabels;\r\n\r\n this.translate.get([newClaimRemoveTxt, newClaimViewTxt, removeTxt, viewTxt ])\r\n .subscribe((res) => {\r\n this.labels.newClaimRemoveTxt = res[newClaimRemoveTxt];\r\n this.labels.newClaimViewTxt = res[newClaimViewTxt];\r\n this.labels.newSalesRemoveTxt = res[removeTxt];\r\n this.labels.newSalesViewTxt = res[viewTxt]\r\n });\r\n }\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-progress-bar',\r\n templateUrl: './progress-bar.component.html',\r\n styleUrls: ['./progress-bar.component.scss']\r\n})\r\nexport class ProgressBarComponent implements OnInit {\r\n @Input() progressValue: number;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","
\r\n \r\n
Your progress
\r\n
\r\n","
\r\n

{{bannerText}}\r\n \r\n {{learnMoreText}}\r\n \r\n

\r\n \r\n
\r\n","import { Component, OnInit, HostListener, Input } from '@angular/core';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { BottomsheetComponent } from '../bottomsheet/bottomsheet.component';\r\n\r\n@Component({\r\n selector: 'lib-cookie-banner',\r\n templateUrl: './cookie-banner.component.html',\r\n styleUrls: ['./cookie-banner.component.scss']\r\n})\r\nexport class CookieBannerComponent implements OnInit {\r\n\r\n isFixedAtBottom = true;\r\n @Input() showBanner: boolean;\r\n @Input() privacyPolicyLink: string;\r\n @Input() privacyPolicyData: any;\r\n @Input() bannerText: string;\r\n @Input() learnMoreText: string;\r\n\r\n constructor(public bottomSheet: MatBottomSheet) {\r\n\r\n }\r\n ngOnInit() {\r\n if (this.showBanner) {\r\n this.getDistanceFromBottom();\r\n }\r\n }\r\n openBottomSheet(title: string, content: string): void {\r\n const bottomSheetRef = this.bottomSheet.open(BottomsheetComponent, {\r\n panelClass: 'fullWidthBottomSheet',\r\n data: {\r\n title,\r\n content\r\n }\r\n });\r\n bottomSheetRef.afterDismissed().subscribe(result => {\r\n });\r\n }\r\n closeBanner() {\r\n this.showBanner = false;\r\n localStorage.setItem('cookie-enable', '-1');\r\n }\r\n\r\n @HostListener('window:scroll')\r\n getDistanceFromBottom() {\r\n if (this.showBanner) {\r\n const cookieBannerDiv: HTMLElement = document.getElementById('cookie_banner');\r\n if (cookieBannerDiv) {\r\n const distanceToBottom: number = cookieBannerDiv.getBoundingClientRect().bottom;\r\n this.isFixedAtBottom = (distanceToBottom > 0) ? true : false;\r\n }\r\n }\r\n }\r\n\r\n affixClass() {\r\n return {\r\n affix: this.isFixedAtBottom\r\n };\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ButtonBaseDirective } from '../button-base';\r\n\r\n@Component({\r\n selector: 'lib-link-button',\r\n templateUrl: './link-button.component.html',\r\n styleUrls: ['./link-button.component.scss']\r\n})\r\nexport class LinkButtonComponent extends ButtonBaseDirective implements OnInit {\r\n @Input() showBookmark: boolean;\r\n @Input() linkAction: string;\r\n @Input() linkTotext: string;\r\n\r\n ngOnInit() { }\r\n}\r\n","","
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

\r\n

\r\n

\r\n \r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

\r\n

\r\n

\r\n \r\n \r\n

\r\n

\r\n \r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter, HostListener } from '@angular/core';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\ndeclare global {\r\n interface Window { dataLayer: any[]; }\r\n}\r\n@Component({\r\n selector: 'lib-tile-with-image',\r\n templateUrl: './tile-with-image.component.html',\r\n styleUrls: ['./tile-with-image.component.scss']\r\n})\r\nexport class TileWithImageComponent implements OnInit {\r\n public isMobileView: boolean;\r\n public isTabletView: boolean;\r\n public isDesktopView: boolean;\r\n public isB2BFlow: boolean = false;\r\n public hideEditButton: boolean = false;\r\n @Input() tag: any;\r\n @Input() image: any;\r\n @Input() heading: string;\r\n @Input() subheading: string;\r\n @Input() calltoAction: string;\r\n @Input() linkTotext: string;\r\n @Input() isImageLeft: any;\r\n @Input() isButtonVisible: boolean;\r\n @Input() newOrEditQuoteAllowed: boolean;\r\n @Output() buttonClicked = new EventEmitter();\r\n @Output() linkClicked = new EventEmitter();\r\n\r\n constructor(private layoutService: LayoutService,\r\n private sharedSettingService: SharedSettingsService) { }\r\n\r\n ngOnInit() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobileView = this.layoutService.isSmallView();\r\n this.isDesktopView = this.layoutService.isLargeView();\r\n this.isTabletView = this.layoutService.isMediumView();\r\n });\r\n this.subheading = this.subheading && this.subheading.replace('
', '');\r\n this.subheading = this.subheading && this.subheading.replace('
', '');\r\n this.subheading = this.subheading && this.subheading.replace('
', '');\r\n\r\n this.isB2BFlow = this.sharedSettingService.isB2B();\r\n this.hideEditButton = (this.isB2BFlow === false && this.newOrEditQuoteAllowed === false) ? true : false;\r\n }\r\n\r\n public onLinkClicked(): void {\r\n this.linkClicked.emit(this.tag);\r\n }\r\n\r\n public onButtonClicked(): void {\r\n // To send product information in GTM and Google Analytics using custom event\r\n if (window.dataLayer !== undefined || window.dataLayer !== null) {\r\n window.dataLayer.push({\r\n event: 'trackEvent',\r\n eventCategory: 'SyA',\r\n eventAction: 'Click',\r\n eventLabel: this.tag.productname\r\n });\r\n }\r\n this.buttonClicked.emit(this.tag);\r\n }\r\n}\r\n","\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { Tile } from '../../../models';\r\n\r\n@Component({\r\n selector: 'lib-tile-list',\r\n templateUrl: './tile-list.component.html',\r\n styleUrls: ['./tile-list.component.scss']\r\n})\r\nexport class TileListComponent implements OnInit {\r\n\r\n @Input() tiles: Tile[] = [];\r\n @Output() buttonClicked = new EventEmitter();\r\n @Output() linkClicked = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n public onLinkClick(tag: any): void {\r\n this.linkClicked.emit(tag);\r\n }\r\n\r\n public onButtonClick(tag: any): void {\r\n this.buttonClicked.emit(tag);\r\n }\r\n}\r\n","\r\n \r\n {{iconName}}\r\n \r\n \r\n \r\n {{category.name}}\r\n \r\n \r\n\r\n\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output, Inject } from '@angular/core';\r\nimport { DropdownItem } from '../../../models/dropdown-item.model';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-icon-drop-down',\r\n templateUrl: './icon-drop-down.component.html',\r\n styleUrls: ['./icon-drop-down.component.scss']\r\n})\r\nexport class IconDropDownComponent implements OnInit {\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n @Input() Categories: DropdownItem[];\r\n @Input() selectedOption: any;\r\n @Input() iconName: any;\r\n @Output() selectChange = new EventEmitter();\r\n @Output() selectChange1 = new EventEmitter();\r\n @Input() selectLanguagesText: string;\r\n @Input()selectedOption1: any;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private layoutService: LayoutService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkDeviceWidth();\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n onSelectionChange(event) {\r\n this.selectChange.emit(event.value);\r\n }\r\n\r\n mobileMenuClose() {\r\n this.document.body.classList.remove('noScroll');\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n 0\">\r\n \r\n \r\n \r\n {{infoData?.name}}\r\n
\r\n
\r\n {{infoData?.sideText}}\r\n
\r\n
\r\n
\r\n
\r\n {{item.label}} {{item.sublabel}}\r\n
\r\n\r\n
\r\n \r\n {{infoData?.coverageTermsLabel}}:{{infoData?.defaultCoverageTermText}} \r\n \r\n
\r\n\r\n
0 && infoData.coverageTermsList[0] !== ''\">\r\n\r\n \r\n {{infoData?.coverageTermsLabel}}:\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n {{coverName}}\r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { InfoCard } from '../../../models/info-card.model';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n@Component({\r\n selector: 'lib-info-card',\r\n templateUrl: './info-card.component.html',\r\n styleUrls: ['./info-card.component.scss']\r\n})\r\nexport class InfoCardComponent implements OnInit {\r\n\r\n @Input() infoData: InfoCard;\r\n @Input() tag: any;\r\n @Output() clicked = new EventEmitter();\r\n @Output() coverageTermChanged = new EventEmitter();\r\n optionList: any[] = [];\r\n\r\n coverageTermDetailsForm: FormGroup;\r\n\r\n constructor(private formBuilder: FormBuilder, private sessionStorage: SessionStorageService) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.coverageTermDetailsForm = this.formBuilder.group({\r\n coverageTerm: ['']\r\n });\r\n this.optionList = this.infoData?.coverageTermsList?.map(term => { return {name: term, value: term} })\r\n\r\n // to retain selection on primary-coverage coverage change.\r\n if (this.infoData?.coverageTerms) {\r\n this.coverageTermDetailsForm.get('coverageTerm').setValue(this.infoData?.coverageTerms);\r\n } else {\r\n this.coverageTermDetailsForm.get('coverageTerm').setValue(this.infoData?.defaultCoverageTermText);\r\n\r\n }\r\n }\r\n\r\n public onClick(): void {\r\n this.clicked.emit(this.tag);\r\n }\r\n\r\n public onSelectionChange(event: any): void {\r\n this.coverageTermChanged.emit(event);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n insert_drive_file\r\n {{fileName}}\r\n
\r\n
\r\n

{{page}}/{{totalPages}}

\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n

{{fileName}}

\r\n

1\">{{totalPages}} pages

\r\n

{{totalPages}} page

\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{fileName}}\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {{page}}/{{totalPages}}\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
","import { DOCUMENT } from '@angular/common';\r\nimport { Component, HostListener, Inject, Input, OnInit, ViewEncapsulation } from '@angular/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-pdf-viewer',\r\n templateUrl: './view-pdf.component.html',\r\n styleUrls: ['./view-pdf.component.scss']\r\n})\r\nexport class ViewPdfComponent implements OnInit {\r\n\r\n @Input() pdfSrc: Uint8Array;\r\n @Input() fileName: string;\r\n\r\n public isMobile: boolean;\r\n public isTablet: boolean;\r\n public isDesktop: boolean;\r\n\r\n zoom = 0.93;\r\n fitToPage = true;\r\n autoresize = true;\r\n totalPages: number;\r\n page = 1;\r\n toggleMode = false;\r\n mimeType = 'application/pdf';\r\n\r\n\r\n constructor(private layoutService: LayoutService, @Inject(DOCUMENT) private document: Document, ) { }\r\n\r\n ngOnInit(): void {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n incrementZoom(amount: number) {\r\n this.zoom += amount; }\r\n\r\n fit_to_screen(amount: number) {\r\n this.zoom = amount;\r\n }\r\n\r\n afterLoadComplete(pdf): void {\r\n this.totalPages = pdf.numPages;\r\n }\r\n pagechanging(e) {\r\n this.page = e.pageNumber;\r\n }\r\n\r\n onPrint() {\r\n const file = new Blob([this.pdfSrc], { type: this.mimeType });\r\n const url = URL.createObjectURL(file);\r\n window.open(url).print();\r\n }\r\n\r\n onPDFDownload() {\r\n const file = new Blob([this.pdfSrc], { type: this.mimeType });\r\n const nav = (window.navigator as any); \r\n if (nav.msSaveOrOpenBlob) {\r\n // IE11 and Edge\r\n nav.msSaveOrOpenBlob(file, this.fileName);\r\n } else {\r\n // Chrome, Safari, Firefox, Opera\r\n const url = URL.createObjectURL(file);\r\n this.openLink(url);\r\n // Remove the link when done\r\n window.URL.revokeObjectURL(url);\r\n }\r\n }\r\n\r\n private openLink(url: string) {\r\n const a = document.createElement('a');\r\n // Firefox requires the link to be in the body\r\n document.body.appendChild(a);\r\n a.style.display = 'none';\r\n a.href = url;\r\n a.download = this.fileName;\r\n a.click();\r\n // Remove the link when done\r\n document.body.removeChild(a);\r\n}\r\n\r\n mobilePdfOpen() {\r\n this.toggleMode = !this.toggleMode;\r\n this.document.body.classList.add('noScroll');\r\n}\r\n\r\n mobilePdfClose() {\r\n this.toggleMode = !this.toggleMode;\r\n this.document.body.classList.remove('noScroll');\r\n}\r\n\r\n @HostListener('window:resize', ['$event'])\r\nonResize(event) {\r\n if (!this.isMobile) {\r\n this.document.body.classList.remove('noScroll');\r\n }\r\n}\r\n\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
0;else additionalText\">\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n

\r\n
\r\n
\r\n\r\n
\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { LayoutService } from 'projects/wtw-ui-components/src/lib/services/layout/layout.service';\r\nimport { IContentSection } from '../../../models/content-section.model';\r\n\r\n@Component({\r\n selector: 'lib-content-section',\r\n templateUrl: './content-section.component.html',\r\n styleUrls: ['./content-section.component.scss']\r\n})\r\nexport class ContentSectionComponent implements OnInit {\r\n\r\n public isMobileView: boolean;\r\n public isTabletView: boolean;\r\n public isDesktopView: boolean;\r\n @Input() contentSectionObj: IContentSection;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit() {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobileView = this.layoutService.isSmallView();\r\n this.isDesktopView = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n}\r\n","","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IContentSection } from '../../../models/content-section.model';\r\n\r\n@Component({\r\n selector: 'lib-content-list',\r\n templateUrl: './content-list.component.html',\r\n styleUrls: ['./content-list.component.scss']\r\n})\r\nexport class ContentListComponent implements OnInit {\r\n\r\n @Input() contentSectionList: IContentSection[];\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n \r\n
\r\n\r\n
\r\n

\r\n
\r\n
\r\n\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
","import { Component, OnInit, Inject } from '@angular/core';\r\nimport { MAT_BOTTOM_SHEET_DATA } from '@angular/material/bottom-sheet';\r\nimport { MatBottomSheetRef } from '@angular/material/bottom-sheet';\r\nimport { IContactUs } from '../../../shared/models';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-contact-us',\r\n templateUrl: './contact-us.component.html',\r\n styleUrls: ['./contact-us.component.scss']\r\n})\r\nexport class ContactUsComponent implements OnInit {\r\n public isTablet: boolean;\r\n public isDesktop: boolean;\r\n public isMobile: boolean;\r\n constructor(\r\n public bottomSheetRef: MatBottomSheetRef,\r\n private layoutService: LayoutService,\r\n @Inject(MAT_BOTTOM_SHEET_DATA) public data: IContactUs) { }\r\n\r\n ngOnInit() {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n this.isMobile = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n onClose(): void {\r\n this.bottomSheetRef.dismiss();\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
{\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n\r\n }\r\n // ---- Open the bottom sheet to display privacy policy, terms and conditions links\r\n openBottomSheet(obj): void {\r\n const overlayPanleClass = obj.overlayPanelClass || 'fullWidthBottomSheet';\r\n if (obj.openTo === 'bottomsheet' && obj.key !== 'contactUs') {\r\n const bottomSheetRef = this.bottomSheet.open(BottomsheetComponent, {\r\n panelClass: overlayPanleClass,\r\n data: obj\r\n });\r\n bottomSheetRef.afterDismissed().subscribe(result => {\r\n });\r\n\r\n } else if (obj.openTo === 'bottomsheet' && obj.key === 'contactUs') {\r\n const contactUsBottomSheetRef = this.bottomSheet.open(ContactUsComponent, {\r\n panelClass: overlayPanleClass,\r\n data: obj\r\n });\r\n contactUsBottomSheetRef.afterDismissed().subscribe(result => {\r\n });\r\n }\r\n }\r\n\r\n\r\n}\r\n","
0\">\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n arrow_drop_down\r\n arrow_drop_up\r\n \r\n
\r\n
\r\n

\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { LayoutService } from 'projects/wtw-ui-components/src/lib/services/layout/layout.service';\r\nimport { FaqItem } from '../../../models/faq-item.model';\r\n\r\n@Component({\r\n selector: 'lib-faq',\r\n templateUrl: './faq.component.html',\r\n styleUrls: ['./faq.component.scss']\r\n})\r\nexport class FaqComponent implements OnInit {\r\n\r\n @Input() faqData: FaqItem[];\r\n @Input() tag: any;\r\n @Input() faqSectionHeading: string;\r\n @Input() faqSectionSubHeading: string;\r\n @Output() clicked = new EventEmitter();\r\n\r\n public isMobileView = false;\r\n public isDesktopView: boolean;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit(): void {\r\n\r\n\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobileView = this.layoutService.isSmallView();\r\n this.isDesktopView = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

\r\n

\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ","import { Component, OnInit, Input, HostListener, Output, EventEmitter } from '@angular/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { IStraplineContent } from '../../../shared/models/strapline-content.model';\r\ndeclare global {\r\n interface Window { dataLayer: any[]; }\r\n}\r\n@Component({\r\n selector: 'lib-strapline-content',\r\n templateUrl: './strapline-content.component.html',\r\n styleUrls: ['./strapline-content.component.scss']\r\n})\r\nexport class StraplineContentComponent implements OnInit {\r\n\r\n @Input() productStraplineData: IStraplineContent;\r\n @Input() showQuote: boolean;\r\n @Output() startQuote = new EventEmitter();\r\n public isSticky = false;\r\n public isDesktop = false;\r\n public isTablet = false;\r\n public isMobile = false;\r\n public strapLineBackgroundImage: string;\r\n\r\n constructor(\r\n private layoutService: LayoutService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkLayoutViewPort();\r\n if (this.productStraplineData.straplineImage) {\r\n this.strapLineBackgroundImage = 'data:image/png;base64,' + this.productStraplineData.straplineImage;\r\n } else {\r\n this.strapLineBackgroundImage = 'assets/banner-images/banner-image.png';\r\n }\r\n }\r\n\r\n @HostListener('window:scroll', ['$event'])\r\n checkScroll() {\r\n const startJourneyElement = document.querySelector('#startJourneyContainer') as HTMLElement;\r\n if (startJourneyElement && !startJourneyElement.classList.contains('noStickyStyle')) {\r\n this.isSticky = window.pageYOffset >= 250;\r\n }\r\n }\r\n\r\n startQuoteFromStrapline() {\r\n // To send product information in GTM and Google Analytics using custom event\r\n if (window.dataLayer !== undefined || window.dataLayer !== null) {\r\n window.dataLayer.push({\r\n event: 'trackEvent',\r\n eventCategory: 'SyA',\r\n eventAction: 'Click',\r\n eventLabel: this.productStraplineData?.straplineHeaderText\r\n });\r\n }\r\n this.startQuote.emit();\r\n }\r\n\r\n // -- check layout and add css based on that\r\n checkLayoutViewPort() {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isDesktop = this.layoutService.isLargeView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isMobile = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n}\r\n\r\n","import { animate, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const slideInTrigger = trigger('slideInAnimation', [\r\n transition(':enter', [\r\n style({\r\n transform: 'translateY(-100vh)'\r\n }),\r\n animate('500ms ease-out')\r\n ]),\r\n transition(':leave',\r\n animate(\r\n '500ms',\r\n style({\r\n transform: 'translateY(-100vh)'\r\n })\r\n )\r\n )\r\n]);\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, ObservableInput, ReplaySubject, Subject } from 'rxjs';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { ISponsor, ITermsOfUse, PreferredLanguage, Language } from '../../shared/models';\r\nimport { publishReplay, map, refCount, last, share } from 'rxjs/operators';\r\nimport { DropdownItem, ITimeZoneInfo } from '../../shared/models';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SponsorService {\r\n\r\n currentSponsorName: string;\r\n sponsorLogo: any;\r\n applyWillisBranding: boolean;\r\n enableCustomerIdentityB2CClaims: boolean;\r\n browserLangFlag = true;\r\n sponsorObservable: Observable;\r\n languageObservable = new Subject();\r\n\r\n constructor(\r\n private commonHttpService: CommonHttpService,\r\n private settingsService: SharedSettingsService) { }\r\n\r\n private getB2CWebsiteBrandingDetailsapiUrl = endPoints.apiUrl;\r\n private getTermsOfUsebySponsorNameUrl = endPoints.apiUrl + endPoints.endPointName.getTermsOfUsebySponsorName;\r\n private getSponsorLogoData = endPoints.apiUrl + endPoints.endPointName.getSponsorLogoContent;\r\n private getSponsorPreferredLanguageUrl = endPoints.apiUrl + endPoints.endPointName.getSponsorPreferredLanguage;\r\n private getSponsorUrl = endPoints.apiUrl + endPoints.endPointName.getSponsorUrl;\r\n private getTimeZonesUrl = endPoints.apiUrl + endPoints.endPointName.getTimeZoneInfo;\r\n private getJavaScriptUrl = endPoints.apiUrl + endPoints.endPointName.getJavaScript;\r\n private getB2CWebsiteBrandingDetailsUrl = endPoints.apiUrl + endPoints.endPointName.getB2CWebsiteBrandingDetails;\r\n private getDateFormatById = endPoints.apiUrl + endPoints.endPointName.getDateFormatByIdUrl;\r\n private getSubgroupBySponsoreId = endPoints.apiUrl + endPoints.endPointName.getSubGroupIdBySponsorIdUrl;\r\n private getSponsorCustomerIdentificationUrl = endPoints.apiUrl + endPoints.endPointName.getSponsorCustomerIdentification;\r\n\r\n private preferredLanguage: PreferredLanguage;\r\n\r\n get sponsorLanguages(): Language[] {\r\n return this.preferredLanguage && this.preferredLanguage.preferredLanguages;\r\n }\r\n\r\n get sponsorLanguagesAsDropdownItems(): DropdownItem[] {\r\n return this.preferredLanguage && this.preferredLanguage.preferredLanguages.map(item => {\r\n return {\r\n id: item.languageID,\r\n name: item.languageName,\r\n languageCode: item.languageCode\r\n };\r\n });\r\n }\r\n\r\n get sponsorPreferredLanguageId(): number {\r\n return this.settingsService.languageId;\r\n }\r\n\r\n get sponsorPreferredLanguage(): Language {\r\n let language: Language = this.sponsorPreferredLanguageId\r\n && this.sponsorLanguages\r\n && this.sponsorLanguages.find(lang => lang.languageID === this.sponsorPreferredLanguageId);\r\n\r\n if (language === undefined || language === null) {\r\n language = { languageID: 1, languageCode: 'en-GB', languageName: 'English' };\r\n }\r\n\r\n return language;\r\n }\r\n\r\n get defaultPreferredLanguageId(): number {\r\n let defaultLanguageId = 1; // *** English (LanguageId= 1; LanguageCode= en-GB) ***//\r\n if (this.preferredLanguage !== undefined && this.preferredLanguage !== null\r\n && this.preferredLanguage.preferredLanguageId !== undefined) {\r\n defaultLanguageId = this.preferredLanguage.preferredLanguageId;\r\n }\r\n return defaultLanguageId;\r\n }\r\n\r\n setSponsorPreferredLanguage(languageId: number) {\r\n this.settingsService.languageId = languageId;\r\n this.settingsService.languageCode = this.sponsorPreferredLanguage.languageCode;\r\n this.browserLangFlag = false;\r\n // Publish the language change to any subscribers.\r\n this.languageObservable.next(languageId);\r\n }\r\n\r\n getSponsor(): Observable {\r\n return this.getNamedSponsor(this.getCurrentSponsorName());\r\n }\r\n\r\n getNamedSponsor(sponsorName: string): Observable {\r\n return this.getSponsorInternal(sponsorName);\r\n }\r\n\r\n // Assumes we have at some point stashed Sponsor Name in Session Storage!\r\n getCurrentSponsorName(): string {\r\n if (!this.currentSponsorName) {\r\n this.currentSponsorName = this.settingsService.sponsorName;\r\n }\r\n\r\n return this.currentSponsorName;\r\n }\r\n\r\n // Error handling?\r\n // Base - optional mapping\r\n // Base - optional caching\r\n private getSponsorInternal(sponsorName: string): Observable {\r\n const uri = `${this.getSponsorUrl}/${sponsorName}`;\r\n\r\n if (!this.sponsorObservable) {\r\n this.sponsorObservable = this.commonHttpService.httpGetService(uri).pipe(\r\n share({\r\n connector: () => new ReplaySubject(1),\r\n resetOnError: false,\r\n resetOnComplete: false,\r\n resetOnRefCountZero: true,\r\n }))\r\n }\r\n\r\n return this.sponsorObservable;\r\n }\r\n\r\n initialiseSponsorPreferredLanguage(sponsorId: number): Observable {\r\n const url: string = this.getSponsorPreferredLanguageUrl + '/' + sponsorId;\r\n return this.commonHttpService.httpGetService(url).pipe(map(pl => {\r\n this.preferredLanguage = pl;\r\n return true;\r\n }));\r\n }\r\n\r\n getTermsOfUsebySponsorName(sponsorName: string, languageId: string): Observable {\r\n if (languageId === null || languageId === undefined) {\r\n languageId = '1';\r\n }\r\n\r\n const url: string = this.getTermsOfUsebySponsorNameUrl + '/' + sponsorName + '/' + languageId;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n\r\n getSponsorLogoContent(params: number): Observable {\r\n const url: string = this.getSponsorLogoData + '/' + params;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n\r\n getTimeZoneInfoList(): Observable {\r\n return this.commonHttpService.httpGetService(this.getTimeZonesUrl);\r\n }\r\n\r\n getJavaScript(sponsorId: number): Observable {\r\n return this.commonHttpService.httpGetService(this.getJavaScriptUrl + '/' + sponsorId);\r\n }\r\n\r\n getB2CWebsiteBrandingDetails(sponsorId: number): Observable {\r\n return this.commonHttpService.httpGetService(this.getB2CWebsiteBrandingDetailsUrl + '/' + sponsorId);\r\n }\r\n\r\n getLocalisedDateFormatById(dateFormatId: number): Observable {\r\n return this.commonHttpService.httpGetService(this.getDateFormatById + '/' + dateFormatId);\r\n }\r\n\r\n getSubGroupIdBySponsorId(user: string, sponsorId: number): Observable {\r\n const url: string = this.getSubgroupBySponsoreId + '/' + user + '/' + sponsorId;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n\r\n getSponsorCustomerIdentification(sponsorId: number): Observable {\r\n const url: string = this.getSponsorCustomerIdentificationUrl + '/' + sponsorId;\r\n return this.commonHttpService.httpGetService(url);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SaveUserConsents, SaveUserConsentsResponse } from '../../shared/models';\r\nimport { Observable, ReplaySubject, lastValueFrom, of, finalize, map, share, tap } from 'rxjs';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { UserProfile, UserProfilePayload, UserName } from '../../shared/models';\r\nimport { ICheckCustomerBlockResponse } from '../../shared/models/check-customer-block-response.model';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { UtilitiesService } from '../../services/utilities/utilities.service';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport abstract class BaseAccountService {\r\n\r\n constructor(\r\n protected commonHttpService: CommonHttpService,\r\n protected sessionStorageService: SessionStorageService,\r\n protected sharedSettingsService: SharedSettingsService,\r\n private utilitiesService: UtilitiesService\r\n ) { }\r\n\r\n static readonly ClaimsMenuTypeID = '8';\r\n static readonly SalesMenuTypeID = '7';\r\n static readonly ProfileName = 'Customer';\r\n private baseApiUrl = endPoints.apiUrl;\r\n private getUserProfileUrl = this.baseApiUrl + endPoints.endPointName.getUserProfile;\r\n private getDecryptedValue = this.baseApiUrl + endPoints.endPointName.getDecryptedIdentifier;\r\n private getUserNameUrl = this.baseApiUrl + endPoints.endPointName.getUserName;\r\n private yourProfileUrl = this.baseApiUrl + endPoints.endPointName.yourProfile;\r\n private saveNewB2CUserUrl = this.baseApiUrl + endPoints.endPointName.saveNewB2CUser;\r\n private isCustomerBlockedUrl = this.baseApiUrl + endPoints.endPointName.isCustomerBlocked;\r\n private isAccountVerifiedUrl = this.baseApiUrl + endPoints.endPointName.isAccountVerified;\r\n private saveB2CUserConentUrl = this.baseApiUrl + endPoints.endPointName.saveB2CUserConsent;\r\n protected getMenuByProfileUrl = this.baseApiUrl + endPoints.endPointName.getMenuByProfile;\r\n private isValidCustomerIdentifierURL = this.baseApiUrl + endPoints.endPointName.isValidAuthCustomerIdentifier;\r\n protected userProfileObservable: Observable;\r\n protected menuType: string;\r\n private menuByProfileCache: any;\r\n private menuByProfileCachedObservable: Observable;\r\n private menuByProfileCachedKey: any;\r\n\r\n getUserProfile(usedCachedValue: boolean = true, ssoIdentifier: string = null,\r\n isEncryptionRequired: boolean = false): Observable {\r\n if (!this.userProfileObservable || usedCachedValue === false || isEncryptionRequired === false) {\r\n const requestBody = this.buildUserRequestObject(ssoIdentifier, isEncryptionRequired);\r\n this.userProfileObservable = this.commonHttpService.httpPostServiceWithBearer(this.getUserProfileUrl, requestBody).pipe(\r\n share({\r\n connector: () => new ReplaySubject(1),\r\n resetOnError: false,\r\n resetOnComplete: false,\r\n resetOnRefCountZero: true,\r\n }))\r\n }\r\n\r\n return this.userProfileObservable;\r\n }\r\n getDecryptedIdentifier(key, value): Observable {\r\n const requestBody = {\r\n key,\r\n value\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.getDecryptedValue, requestBody);\r\n }\r\n getUserName(ssoIdentifier: string = null): Promise {\r\n const requestBody = this.buildUserRequestObject(ssoIdentifier);\r\n return lastValueFrom(this.commonHttpService.httpPostServiceWithBearer(this.getUserNameUrl, requestBody));\r\n }\r\n\r\n buildUserRequestObject(ssoIdentifier: string = null, isEncryptionRequired: boolean = false) {\r\n let email = '';\r\n const isLinkToQuoteClicked = this.sessionStorageService.get('isLinkToQuoteClicked');\r\n const isB2BFlow = this.sharedSettingsService.isB2B();\r\n\r\n const isLinkToQuote = (isLinkToQuoteClicked === 'true' && isB2BFlow);\r\n const sponsorName: string = this.sessionStorageService.get('SponsorName');\r\n const sponsorId: number = this.sessionStorageService.get('SponsorId');\r\n const objectIdentifier: string = this.sessionStorageService.get('ObjectIdentifier');\r\n email = isLinkToQuote === true ? this.sessionStorageService.get('Email') : ssoIdentifier || this.sessionStorageService.get('Email');\r\n const languageId = this.sessionStorageService.get('LanguageId');\r\n const customerId = (this.sharedSettingsService.enableAssently === true || isLinkToQuote === true ||\r\n this.sessionStorageService.get('customerId') !== null) ? this.sessionStorageService.get('customerId') : 0;\r\n const requestBody: UserProfilePayload = {\r\n sponsorId,\r\n sponsorName,\r\n objectIdentifier,\r\n email,\r\n languageId,\r\n customerId,\r\n isEncryptionRequired\r\n };\r\n return requestBody;\r\n }\r\n\r\n yourProfile(isEncryptionRequired: boolean = false): any {\r\n let languageId;\r\n const userPrUserPreferredLangId = JSON.parse(sessionStorage.UserPreferredLanguageID)._value;\r\n if (sessionStorage.hasOwnProperty('UserPreferredLanguageID')) {\r\n languageId = userPrUserPreferredLangId ? userPrUserPreferredLangId : this.sessionStorageService.get('LanguageId');\r\n } else {\r\n languageId = this.sessionStorageService.get('LanguageId');\r\n }\r\n const requestBody: UserProfilePayload = {\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n languageId,\r\n customerId: this.sessionStorageService.get('customerId') ? this.sessionStorageService.get('customerId') : 0,\r\n sponsorName: this.sessionStorageService.get('SponsorName'),\r\n objectIdentifier: null,\r\n isEncryptionRequired,\r\n email: this.sharedSettingsService.enableAssently === true ? this.sessionStorageService.get('Email') : null,\r\n };\r\n\r\n return this.commonHttpService.httpPostServiceWithBearer(this.yourProfileUrl, requestBody).pipe(\r\n share({\r\n connector: () => new ReplaySubject(1),\r\n resetOnError: false,\r\n resetOnComplete: false,\r\n resetOnRefCountZero: true,\r\n }))\r\n }\r\n\r\n isAccountVerified(): Observable {\r\n const apiURL = this.isAccountVerifiedUrl;\r\n const sponsorName: string = this.sessionStorageService.get('SponsorName');\r\n const sponsorId: number = this.sessionStorageService.get('SponsorId');\r\n const objectIdentifier: string = this.sessionStorageService.get('ObjectIdentifier');\r\n const email: string = this.sessionStorageService.get('Email');\r\n const languageId: number = parseInt(this.sessionStorageService.get('LanguageId')); // Parse the languageId as an integer\r\n const requestBody: UserProfilePayload = {\r\n sponsorId,\r\n sponsorName,\r\n objectIdentifier,\r\n email,\r\n languageId,\r\n customerId: 0\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(apiURL, requestBody);\r\n }\r\n\r\n isCustomerBlocked(): Observable {\r\n const sponsorName: string = this.sessionStorageService.get('SponsorName');\r\n const sponsorId: number = this.sessionStorageService.get('SponsorId');\r\n const requestBody: UserProfilePayload = {\r\n sponsorId,\r\n sponsorName,\r\n objectIdentifier: null,\r\n email: null,\r\n languageId: null,\r\n customerId: null,\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.isCustomerBlockedUrl, requestBody);\r\n }\r\n\r\n saveUserProfile(requestBody: UserProfile): Observable {\r\n const apiURL = this.saveNewB2CUserUrl;\r\n\r\n return this.commonHttpService.httpPostServiceWithBearer(apiURL, requestBody).pipe(\r\n map((resUserProfile: UserProfile) => {\r\n this.patchUserProfile(resUserProfile);\r\n return resUserProfile;\r\n })\r\n );\r\n }\r\n\r\n patchUserProfile(result: UserProfile) {\r\n if (this.userProfileObservable && result) {\r\n this.userProfileObservable = this.userProfileObservable.pipe(\r\n map(userProfile => {\r\n userProfile.firstName = result.firstName;\r\n userProfile.lastName = result.lastName;\r\n userProfile.email = result.email;\r\n userProfile.phoneNumber = result.phoneNumber;\r\n userProfile.countryCode = result.countryCode;\r\n userProfile.customerIdentifier = result.customerIdentifier;\r\n userProfile.customerId = result.customerId;\r\n userProfile.title = result.title;\r\n userProfile.dateOfBirth = result.dateOfBirth;\r\n userProfile.userId = result.userId;\r\n userProfile.objectIdentifier = result.objectIdentifier;\r\n return userProfile;\r\n })\r\n );\r\n }\r\n }\r\n\r\n saveB2CUserConsent(requestBody: SaveUserConsents): Observable {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.saveB2CUserConentUrl, requestBody).pipe(\r\n map((resConsent: SaveUserConsentsResponse) => {\r\n if (this.userProfileObservable) {\r\n this.userProfileObservable.subscribe(userData => {\r\n userData.customerConsents = resConsent.customerConsents;\r\n userData.dataShareConsent = resConsent.dataShareConsent;\r\n this.userProfileObservable = of(userData);\r\n this.sessionStorageService.remove('UserConsentModel');\r\n this.sessionStorageService.remove('UserDataShareConsentModel');\r\n });\r\n }\r\n return resConsent;\r\n })\r\n );\r\n }\r\n\r\n // getMenuByProfile(profileType?: any) {\r\n // const sponsorName = this.sharedSettingsService.sponsorName;\r\n // const baseUrl = endPoints.baseUrl.toLowerCase();\r\n\r\n // if (baseUrl.indexOf('claims') === 1) {\r\n // this.menuType = BaseAccountService.ClaimsMenuTypeID;\r\n // } else {\r\n // this.menuType = BaseAccountService.SalesMenuTypeID;\r\n // }\r\n // const profileName = profileType;\r\n // let languageId = this.sharedSettingsService.languageId;\r\n // if (languageId === null || languageId === undefined) {\r\n // languageId = 1;\r\n // }\r\n // const menuByProfile = `${this.getMenuByProfileUrl}/${sponsorName}/${profileName}/${this.menuType}/${languageId}`;\r\n // return this.commonHttpService.httpGetServiceWithBearer(menuByProfile);\r\n // }\r\n\r\n getMenuByProfile(profileType?: any) {\r\n let observable: Observable;\r\n const sponsorName = this.sharedSettingsService.sponsorName;\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n\r\n if (baseUrl.indexOf('claims') === 1) {\r\n this.menuType = BaseAccountService.ClaimsMenuTypeID;\r\n } else {\r\n this.menuType = BaseAccountService.SalesMenuTypeID;\r\n }\r\n const profileName = profileType;\r\n let languageId = this.sharedSettingsService.languageId;\r\n if (languageId === null || languageId === undefined) {\r\n languageId = 1;\r\n }\r\n const extAuthNav = this.sharedSettingsService?.extAuthNav ?? false;\r\n\r\n const menuByProfile = `${this.getMenuByProfileUrl}/${sponsorName}/${profileName}/${this.menuType}/${languageId}/${extAuthNav}`;\r\n const requestPayload = `${sponsorName}_${profileName}_${this.menuType}_${languageId}_${extAuthNav}`;\r\n if (!this.menuByProfileCachedKey?.includes(requestPayload)) {\r\n this.menuByProfileCachedKey = requestPayload;\r\n }\r\n\r\n if (this.menuByProfileCache && this.menuByProfileCachedKey?.includes(requestPayload)) {\r\n observable = of(this.menuByProfileCache);\r\n } else if (this.menuByProfileCachedObservable && this.menuByProfileCachedKey?.includes(requestPayload)) {\r\n observable = this.menuByProfileCachedObservable;\r\n } else {\r\n this.menuByProfileCachedObservable = this.commonHttpService.httpGetServiceWithBearer(menuByProfile)\r\n .pipe(\r\n tap(res => this.menuByProfileCache = res),\r\n share(),\r\n finalize(() => this.menuByProfileCachedObservable = null)\r\n );\r\n observable = this.menuByProfileCachedObservable;\r\n }\r\n return observable;\r\n }\r\n\r\n isValidCustomerIdentifier(customerExtId: any): Observable {\r\n if (customerExtId) {\r\n const apiURL = this.isValidCustomerIdentifierURL;\r\n const requestBody = this.buildUserRequestObject(null, true);\r\n\r\n requestBody.extCustomerId =customerExtId;\r\n return this.commonHttpService.httpPostServiceWithBearer(apiURL, requestBody);\r\n }\r\n return of(null);\r\n }\r\n\r\n}\r\n\r\n","
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n account_circle\r\n {{hiUserTextLabel}}, {{loggedInUserName}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
","import { Component, EventEmitter, Input, OnInit, Output, Inject } from '@angular/core';\r\nimport { DropdownItem } from '../../../models/dropdown-item.model';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\nconst hiUserText = 'Shared.lblHiUserText';\r\n@Component({\r\n selector: 'lib-icon-menu',\r\n templateUrl: './icon-menu.component.html',\r\n styleUrls: ['./icon-menu.component.scss']\r\n})\r\nexport class IconMenuComponent implements OnInit {\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n @Input() Categories: DropdownItem[];\r\n @Input() selectedOption: any;\r\n @Input() iconName: any;\r\n @Output() selectChange = new EventEmitter();\r\n selectLanguagesText: string;\r\n @Output() selectedItem = new EventEmitter();\r\n @Input() loggedInUserName: string;\r\n @Input() isLanguage: boolean;\r\n hiUserTextLabel: string;\r\n\r\n constructor(\r\n @Inject(DOCUMENT) private document: Document,\r\n private layoutService: LayoutService,\r\n private translate: TranslateService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.checkDeviceWidth();\r\n this.applyTranslations();\r\n this.selectLanguagesText = this.selectedOption?.name;\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n private applyTranslations() {\r\n this.translate.get([hiUserText]).subscribe((res) => {\r\n this.hiUserTextLabel = res[hiUserText];\r\n });\r\n }\r\n\r\n onSelectionChange(item) {\r\n this.selectedOption = item;\r\n this.selectChange.emit(item);\r\n }\r\n mobileMenuClose() {\r\n this.document.body.classList.remove('noScroll');\r\n }\r\n\r\n onItemSelected(item) {\r\n this.selectedItem.emit(item);\r\n }\r\n}\r\n","
\r\n \r\n 1 && (!url.includes('your-profile')&&!url.includes('your-policies')&&!url.includes('your-claim'))\" >\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n {{selectedLanguage?.name}}\r\n
\r\n
\r\n
\r\n close\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n 0\">\r\n
\r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit, OnChanges, SimpleChanges, Input, Output, EventEmitter, ViewEncapsulation, Inject } from '@angular/core';\r\nimport { slideInTrigger } from '../../../../shared/animation/slidein-animation';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { DropdownItem, UserName } from '../../../../shared/models/index';\r\nimport { SponsorService } from '../../../../services/sponsor/sponsor.service';\r\nimport { BaseAccountService } from '../../../../services/account/base-account.service';\r\nimport { MsalAuthenticationService } from '../../../../services/common-auth/msalauthentication.service';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { Router, ActivatedRoute, RouterEvent, NavigationEnd } from '@angular/router';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { endPoints } from '../../../core/app.config';\r\nimport { filter } from 'rxjs/operators';\r\n\r\n\r\n@Component({\r\n selector: 'lib-topbar-dropdown',\r\n templateUrl: './topbar-dropdown.component.html',\r\n styleUrls: ['./topbar-dropdown.component.scss'],\r\n animations: [slideInTrigger],\r\n encapsulation: ViewEncapsulation.None\r\n})\r\n\r\n\r\nexport class TopbarDropdownComponent implements OnInit, OnChanges {\r\n\r\n isVisible = false;\r\n isUserLoggedIn: boolean;\r\n showSavedQuote: boolean;\r\n langCategories: DropdownItem[];\r\n defaultLang: DropdownItem;\r\n globeIcon = 'language';\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n logoutText = 'Logout';\r\n @Input() loginRegisterText?: string;\r\n @Input() profileMenuItems: [];\r\n loggedInUserName: string;\r\n url: string;\r\n profileMenuItemsData = [];\r\n selectedLanguage: DropdownItem;\r\n @Output() navigateLink = new EventEmitter();\r\n\r\n\r\n constructor(public router: Router,\r\n @Inject(DOCUMENT) private document: Document,\r\n private layoutService: LayoutService,\r\n private sponsorService: SponsorService,\r\n private baseAccountService: BaseAccountService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private sharedSettingsService: SharedSettingsService,\r\n private activatedRoute: ActivatedRoute,\r\n ) {\r\n this.showSavedQuote = false;\r\n }\r\n\r\n ngOnInit() {\r\n /* *******************To get the current route url************************ */\r\n this.url = this.router.routerState.snapshot.url;\r\n this.checkDeviceWidth();\r\n this.setupSponsorPreferredLanguage();\r\n this.getLoggedInUser();\r\n this.selectedLanguage = this.defaultLang;\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.profileMenuItems.length > 0) {\r\n this.profileMenuItemsData = this.profileMenuItems;\r\n }\r\n }\r\n\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n /* ********************For language menu Items********************************** */\r\n onSelectionChange(selectedOption) {\r\n this.selectedLanguage = selectedOption;\r\n const lang = selectedOption.id;\r\n this.sponsorService.setSponsorPreferredLanguage(+lang);\r\n this.mobileMenuClose();\r\n }\r\n\r\n setupSponsorPreferredLanguage(): void {\r\n this.langCategories = this.sponsorService.sponsorLanguagesAsDropdownItems;\r\n const browserLang = this.getBrowserLanguage();\r\n const enabledBrowserLang = this.langCategories\r\n && this.langCategories.filter(lang => lang.languageCode.substring(0, 2) === browserLang.substring(0, 2))[0];\r\n // 'substr' function is deprecated alternative is 'substring'\r\n if (enabledBrowserLang && this.sponsorService.browserLangFlag === true) {\r\n this.sponsorService.setSponsorPreferredLanguage(enabledBrowserLang.id);\r\n this.defaultLang = enabledBrowserLang;\r\n } else if (!enabledBrowserLang && this.sponsorService.browserLangFlag === true) {\r\n this.sponsorService.setSponsorPreferredLanguage(this.sponsorService.defaultPreferredLanguageId);\r\n this.defaultLang = this.langCategories\r\n && this.langCategories.filter(lang => lang.id === this.sponsorService.defaultPreferredLanguageId)[0];\r\n } else {\r\n this.defaultLang = this.langCategories\r\n && this.langCategories.filter(lang => lang.id === this.sponsorService.sponsorPreferredLanguageId)[0];\r\n }\r\n }\r\n\r\n langChange(e) {\r\n this.sponsorService.setSponsorPreferredLanguage(+e);\r\n }\r\n // *********************************************************** */\r\n\r\n mobileMenuClose() {\r\n this.document.body.classList.remove('noScroll');\r\n }\r\n\r\n getBrowserLanguage() {\r\n const lang = navigator.language || window.navigator.language;\r\n return lang;\r\n }\r\n\r\n changeItems(e) {\r\n const selectedLink = e.url.substr(e.url.indexOf('.') + 1).toLowerCase();\r\n switch (selectedLink) {\r\n case 'changepassword':\r\n this.msalAuthenticationService.changePassword();\r\n break;\r\n case 'logout':\r\n this.navigateLink.emit('LoginLogoutEvent');\r\n break;\r\n case 'yourprofile':\r\n this.navigateLink.emit('yourprofile');\r\n break;\r\n case 'yourpolicies':\r\n this.navigateLink.emit('yourpolicies');\r\n break;\r\n case 'yourclaims':\r\n this.navigateLink.emit('yourclaims');\r\n break;\r\n case 'savedquotes':\r\n this.navigateLink.emit('savedquotes');\r\n break\r\n case 'renewals':\r\n this.navigateLink.emit('renewals');\r\n break;\r\n }\r\n }\r\n\r\n getLoggedInUser() {\r\n if (this.sharedSettingsService.loggedInUser) {\r\n this.loggedInUserName = this.sharedSettingsService.loggedInUser;\r\n } \r\n // else if (localStorage.hasOwnProperty('msal.idtoken')) {\r\n // if (this.msalAuthenticationService.isAuthenticated()) {\r\n // // this.baseAccountService.getUserName().then((result: UserName) => {\r\n // // this.sharedSettingsService.loggedInUser = result.firstName;\r\n // // this.sharedSettingsService.customerId = result.customerID;\r\n // this.loggedInUserName = this.sharedSettingsService.loggedInUser;\r\n // // });\r\n // } else {\r\n // localStorage.removeItem('msal.idtoken');\r\n // this.router.navigate(['**']);\r\n // }\r\n // }\r\n }\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n home\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n {{toggleMenuIcon?'close':'menu'}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { DOCUMENT } from '@angular/common';\r\nimport { Component, OnInit, Input, ViewEncapsulation, Output, EventEmitter, Inject } from '@angular/core';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { ITopbarLabellist } from '../../models/topbar-navlink';\r\nimport { UtilitiesService } from '../../../services/utilities/utilities.service';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\nconst closeLabel = 'Shared.lblClose';\r\n\r\n@Component({\r\n selector: 'lib-topbar-switcher',\r\n templateUrl: './topbar-switcher.component.html',\r\n styleUrls: ['./topbar-switcher.component.scss']\r\n})\r\n\r\nexport class TopbarSwitcherComponent implements OnInit {\r\n\r\n @Input() sponsorImage: string;\r\n @Input() topbarLabellist: ITopbarLabellist[];\r\n @Input() loginRegisterText?: string;\r\n @Input() closeButtonText?: string;\r\n @Input() profileMenuItems = [];\r\n @Output() navigateToNavLink = new EventEmitter();\r\n @Input() langSelection: boolean;\r\n showHomeIcon = true;\r\n showWTWLogo = false;\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n toggleMenuIcon = false;\r\n @Input() showLoginRegisterLogoutButton: boolean;\r\n @Input() hideAuthenticationForCustomerIdentification: boolean;\r\n public enableAssently = false;\r\n constructor(\r\n private layoutService: LayoutService,\r\n @Inject(DOCUMENT) private document: Document,\r\n private settingsService: SharedSettingsService,\r\n private utilitiesService: UtilitiesService,\r\n private translate: TranslateService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private sessionStorageService: SessionStorageService\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.checkDeviceWidth();\r\n const isMultiProductLanding = sessionStorage.getItem('IsMultiProductLanding');\r\n if (isMultiProductLanding == null || isMultiProductLanding === undefined) {// To set the default value\r\n this.settingsService.isMultiProductLanding = false;\r\n }\r\n\r\n if (window.location.href.toLowerCase().indexOf('salesv2') > 0) {\r\n this.showHomeIcon = JSON.parse(sessionStorage.getItem('IsMultiProductLanding'))._value;\r\n } else {\r\n this.showHomeIcon = true;\r\n }\r\n\r\n // *** If 'isb2b' is true then Multi-Language & Login option should be hidden ***//\r\n\r\n const isB2BFlow = this.settingsService.isB2B();\r\n const b2bName = this.settingsService.b2bName();\r\n\r\n if (isB2BFlow) {\r\n this.applyTranslations();\r\n this.langSelection = false;\r\n if (this.msalAuthenticationService.isAuthenticated() === true) {\r\n this.showLoginRegisterLogoutButton = false;\r\n this.loginRegisterText = 'Hello ' + b2bName;\r\n } else {\r\n const queryParams = this.sessionStorageService.get('QueryParams');\r\n if (queryParams.hasOwnProperty('isb2b')) {\r\n delete queryParams.isb2b;\r\n }\r\n if (queryParams.hasOwnProperty('b2bname')) {\r\n delete queryParams.b2bname;\r\n }\r\n this.sessionStorageService.set('QueryParams', queryParams);\r\n this.showLoginRegisterLogoutButton = true;\r\n }\r\n }\r\n\r\n if (this.hideAuthenticationForCustomerIdentification === true) {\r\n this.loginRegisterText = null;\r\n this.showLoginRegisterLogoutButton = false;\r\n } \r\n\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([closeLabel]).subscribe((res) => {\r\n this.closeButtonText = res[closeLabel];\r\n });\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n navigateToMultiProductLandingPage() {\r\n this.settingsService.isMultiProductLanding = true;\r\n this.settingsService.isMultiProductFindOutMoreLinkClicked = false;\r\n window.location.reload();\r\n }\r\n\r\n navigateNavLink(event: string) {\r\n this.navigateToNavLink.emit(event);\r\n }\r\n\r\n navigateToLogin() {\r\n this.navigateToNavLink.emit('LoginLogoutEvent');\r\n }\r\n\r\n isActive(activeLink: string): boolean {\r\n return window.location.href.includes(activeLink);\r\n }\r\n\r\n mobileMenuOpen() {\r\n this.toggleMenuIcon = true;\r\n this.document.body.classList.add('noScroll');\r\n }\r\n\r\n mobileMenuClose() {\r\n this.toggleMenuIcon = false;\r\n this.document.body.classList.remove('noScroll');\r\n }\r\n\r\n closeCurrentTab() {\r\n window.open('', '_self').close();\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

\r\n {{loggedOutHeaderText}}\r\n

\r\n
\r\n \r\n
\r\n check_circle\r\n

{{loggedOutMessageText}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n ","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { MsalAuthenticationService } from '../../../../services/common-auth/msalauthentication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { ConfigService } from '../../../../services/config/config.service';\r\nimport { PagingService } from '../../../../services/app-insights/paging-service';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\nimport { CookieBannerService } from 'projects/wtw-ui-components/src/lib/services/cookie-banner/cookie-banner.service';\r\n\r\nconst loggedOutHeaderLabel = 'Shared.lblSessionLoggedOut';\r\nconst loggedoutMessageLabel = 'Shared.lblSessionLoggedOutMessage';\r\nconst returnToHomePageLabel = 'Shared.lblReturnToHomepage';\r\n\r\n@Component({\r\n selector: 'lib-logout',\r\n templateUrl: './logout.component.html',\r\n styleUrls: ['./logout.component.scss']\r\n})\r\nexport class LogoutComponent implements OnInit {\r\n\r\n loggedOutHeaderText: string;\r\n loggedOutMessageText: string;\r\n returnToHomePageText: string;\r\n private sponsorName: string;\r\n isDesktop = false;\r\n isTablet = false;\r\n isMobile = false;\r\n showReturnToHomePage = true;\r\n\r\n constructor(\r\n private appConfig: ConfigService,\r\n private msalService: MsalAuthenticationService,\r\n private route: ActivatedRoute,\r\n private sessionStorage: SessionStorageService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private metaTag: Meta,\r\n private baseConstantService: BaseConstantService,\r\n private pagingService: PagingService,\r\n private cookieBannerService: CookieBannerService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: BaseConstantService.metaDataDenySearch }\r\n );\r\n\r\n if (this.route.snapshot.queryParams['event'] ==='sessionlogout') {\r\n this.showReturnToHomePage = false;\r\n // *** To disable browser back navigation ***//\r\n window.history.pushState(null, null, null);\r\n window.onpopstate = function () {\r\n window.history.go(1);\r\n }\r\n }\r\n\r\n this.pagingService.registerPageDetails('Logout');\r\n this.applyTranslations();\r\n this.msalService.removeMSALItems();\r\n this.cookieBannerService.clearLocalStorage();\r\n // this.cookieBannerService.clearSessionStorage(); Commenting out this line TODO check code for Bug #162777 fixes\r\n this.cookieBannerService.clearExternalIntegrationSessionStorage();\r\n this.sponsorName = this.sessionStorage.get('SponsorName');\r\n this.checkDeviceWidth();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([loggedOutHeaderLabel, loggedoutMessageLabel, returnToHomePageLabel]).subscribe((res) => {\r\n this.loggedOutHeaderText = res[loggedOutHeaderLabel];\r\n this.loggedOutMessageText = res[loggedoutMessageLabel];\r\n this.returnToHomePageText = res[returnToHomePageLabel];\r\n });\r\n }\r\n\r\n returnToHomePage() {\r\n if (this.sponsorName) {\r\n this.sessionStorage.set('SponsorName', this.sponsorName);\r\n }\r\n this.router.navigate(['**']);\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { Directive, ViewContainerRef, ElementRef, OnInit } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[libDataCapture]',\r\n})\r\nexport class DataCaptureDirective implements OnInit {\r\n constructor(public viewContainerRef: ViewContainerRef,\r\n private el: ElementRef\r\n ) { }\r\n\r\n ngOnInit() {\r\n // this.el.nativeElement.textContent = ' test fff';\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n \r\n {{label}}\r\n \r\n
\r\n
\r\n \r\n
=3 \" id=\"deleteCallToAction\"\r\n class=\"call-to-action cursor-pointer\" (click)=\"onDeleteClick($event)\">\r\n {{deleteCallToAction}}\r\n
\r\n
=2\" id=\"deleteCallToAction\"\r\n class=\"call-to-action cursor-pointer\" (click)=\"onDeleteClick($event)\">\r\n {{deleteCallToAction}}\r\n
\r\n
\r\n {{callToAction}}\r\n
\r\n arrow_drop_down\r\n \r\n arrow_drop_up\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { Question } from '../../../models';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\n@Component({\r\n selector: 'lib-wide-button-with-accordion',\r\n templateUrl: './wide-button-with-accordion.component.html',\r\n styleUrls: ['./wide-button-with-accordion.component.scss']\r\n})\r\nexport class WideButtonWithAccordionComponent implements OnInit {\r\n @Input() label: string;\r\n @Input() details: string | string[];\r\n @Input() callToAction: string;\r\n @Input() tag: any;\r\n @Input() disabled = false;\r\n @Input() questions: string | string[];\r\n @Output() clicked = new EventEmitter();\r\n @Output() deleteClicked = new EventEmitter();\r\n @Input() answer;\r\n @Input() deleteCallToAction: string;\r\n @Input() isMaxRepeat: any;\r\n repeatingGroupCount: any;\r\n repeatingGroupIndex: any;\r\n emptyIterationExist: any;\r\n isDisabledButton: boolean;\r\n\r\n constructor(public questionSetService: QuestionSetService,\r\n public sessionStorage: SessionStorageService,\r\n public settingsService: SharedSettingsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n // to trigger the widebutton when there is change in 'IsNewRepeatingGroup'\r\n this.questionSetService?.IsNewRepeatingGroup.subscribe(value => {\r\n this.isDisabledButton = this.settingsService.getPreviousAnswerEditButtonStatus();\r\n })\r\n\r\n this.isDisabledButton = this.settingsService.getPreviousAnswerEditButtonStatus();\r\n\r\n if (this.tag?.qIntentCode) {\r\n this.repeatingGroupIndex = this.questionSetService.getCurrentRepeatingGroupIndex(this.tag?.qIntentCode).currentIterationIndex;\r\n this.repeatingGroupCount = this.sessionStorage.get('AnsweredRepeatingIteration');\r\n }\r\n }\r\n\r\n onClick(event): void {\r\n this.clicked.emit(this.tag);\r\n event.stopPropagation()\r\n }\r\n\r\n onDeleteClick(event): void {\r\n this.deleteClicked.emit(this.tag);\r\n event.stopPropagation()\r\n }\r\n\r\n}\r\n","
0\"\r\n [ngClass]=\"{'mobile':isMobile, 'tablet':isTablet, 'desktop':isDesktop, 'full_height': !isContainer && isDesktop}\">\r\n

0 && grossPremiumValue!=='' && showHeader\" *ngIf=\"grossPremiumValue?.length > 0 && grossPremiumValue!=='' && showHeader\" id=\"h3GrossPremium\">{{grossPremiumText}}: {{ grossPremiumValue }}\r\n

\r\n

{{additionalLabelText?additionalLabelText:'Shared.lblPreviousAnswers' | translate}}\r\n  - {{additionalLabelText?additionalLabelText:additionalLabel}}\r\n \r\n

\r\n 0\">\r\n
\r\n \r\n \r\n 0?answer.maxRepeats:0\"\r\n [panelState]=\"answer?.panelState\">\r\n \r\n \r\n \r\n 0?answer.maxRepeats:0\" [panelState]=\"answer?.panelState\">\r\n \r\n \r\n \r\n 0\">\r\n 0?answer.maxRepeats:0\" [panelState]=\"answer?.panelState\">\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n

{{'Shared.lblPreviousAnswersPlaceholder' | translate}}

\r\n
\r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { QuestionSetService } from '../../../services/question-set/question-set.service';\r\nimport { AnswerSets, Question } from '../../models';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\nimport { DateManipulationService } from '../../../services/date-manipulation/date-manipulation.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport moment from 'moment'\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\n\r\n\r\nconst editLabel = 'Shared.lblEdit';\r\nconst policyExpiryDateIntentCode = 'policyexpirydate';\r\nconst deleteLabel = 'Shared.lblDeleteRepeatingGroup';\r\nconst grossPremiumLabel = 'Shared.lblGrossPremiumText';\r\n@Component({\r\n selector: 'lib-previous',\r\n templateUrl: './previous.component.html',\r\n styleUrls: ['./previous.component.scss']\r\n})\r\nexport class PreviousComponent implements OnInit {\r\n\r\n @Output() clicked = new EventEmitter();\r\n @Output() deleteClicked = new EventEmitter();\r\n @Input() additionalLabel: string;\r\n @Input() additionalLabelText: string;\r\n @Input() questionType: string;\r\n @Input() showHeader = true;\r\n @Input() isContainer = true;\r\n @Input() isApproveDeclineOnly = false;\r\n isNotGrouped = true;\r\n answers: Question[];\r\n arrayLength: any;\r\n transformedPreviousAns: Question[];\r\n editText: string;\r\n deleteText: string;\r\n grossPremiumText: string;\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n label = '';\r\n isCompressedViewOfPreviousAnswers: boolean;\r\n displayGrossPremium: boolean;\r\n childQuestions = [];\r\n childAnswers = [];\r\n sponsorTimeZoneOffset = '';\r\n repeatingGroupLengthKey: string;\r\n panelState = 'panelState';\r\n previousAnswerLastQues: string;\r\n grossPremiumValue: string;\r\n isApproveDeclineWithPremiumOverride: boolean = false;\r\n\r\n constructor(\r\n private questionSetService: QuestionSetService,\r\n private layoutService: LayoutService,\r\n private translate: TranslateService,\r\n private settingsService: SharedSettingsService,\r\n private dateManipulationService: DateManipulationService,\r\n private sessionStorage: SessionStorageService,\r\n public baseConstantService: BaseConstantService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isCompressedViewOfPreviousAnswers = this.settingsService.compressedViewOfPreviousAnswers;\r\n this.displayGrossPremium = this.settingsService.displayGrossPremium;\r\n this.repeatingGroupLengthKey = BaseConstantService.Key_RepeatingGroupLength;\r\n this.applyTranslations();\r\n this.checkDeviceWidth();\r\n const previousAnswerLastSessionObj = this.sessionStorage.get('PreviousAnswerLastQuestion');\r\n const grossPremiumLastSessionObj = this.sessionStorage.get('GrossPremiumPreviousAnswer');\r\n this.questionSetService?.GetPreviousAnswerLastQuestion.subscribe((result: string) => {\r\n if (result && result !== '') {\r\n this.previousAnswerLastQues = result;\r\n }\r\n });\r\n this.questionSetService.GetGrossPremiumPreviousAnswer.subscribe((result: any) => {\r\n if (result && result !== '') {\r\n this.grossPremiumValue = result;\r\n }\r\n });\r\n if ((this.previousAnswerLastQues === undefined || this.previousAnswerLastQues === '' || this.previousAnswerLastQues === null)\r\n && previousAnswerLastSessionObj) {\r\n this.previousAnswerLastQues = previousAnswerLastSessionObj\r\n }\r\n if ((this.grossPremiumValue === undefined || this.grossPremiumValue === '' || this.grossPremiumValue === null)\r\n && grossPremiumLastSessionObj) {\r\n this.grossPremiumValue = grossPremiumLastSessionObj\r\n }\r\n\r\n this.questionSetService.referralPermissionSet.subscribe((referralPermission) => {\r\n if (referralPermission) {\r\n const retrievedPermissions = this.questionSetService.getReferralPermission();\r\n this.isApproveDeclineWithPremiumOverride = retrievedPermissions.isApproveDeclineWithPremiumOverride;\r\n }\r\n });\r\n }\r\n\r\n onClick(question: Question): void {\r\n this.clicked.emit(question);\r\n }\r\n\r\n onDeleteClick(question: Question): void {\r\n this.deleteClicked.emit(question);\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n get previousAnswers() {\r\n let isFixedTerm = false;\r\n let policyTerm = 0;\r\n policyTerm = Number(sessionStorage.getItem('policyTerm'));\r\n if (policyTerm && Number(policyTerm) > 0) {\r\n isFixedTerm = true;\r\n }\r\n const timeZoneOffset = this.sessionStorage.get('timeZoneOffset');\r\n this.sponsorTimeZoneOffset = timeZoneOffset && timeZoneOffset.toLowerCase().replace('utc', '');\r\n const currentDate = new Date();\r\n if (this.questionSetService.answeredQuestions != null) {\r\n const currentUrl = window.location.pathname;\r\n const isRenewal = this.sessionStorage.get('IsRenewalQuote') || false;\r\n const isSlowRevealEnabled = this.questionSetService.EnableSlowReveal;\r\n const filteredAnsweredQuestions = this.questionSetService.answeredQuestions\r\n .filter(q => (!this.questionType || q.qQuestionType.toLowerCase() === this.questionType.toLowerCase()) && !q.hideHistory)\r\n .filter(q => !isSlowRevealEnabled || (isSlowRevealEnabled && q.visited)); // Further filter for renewal condition\r\n\r\n filteredAnsweredQuestions.map(value => {\r\n if (this.previousAnswerLastQues) {\r\n if (value?.qIntentCode === this.previousAnswerLastQues) {\r\n value[this.panelState] = true;\r\n }\r\n else {\r\n value[this.panelState] = false;\r\n }\r\n }\r\n });\r\n // If current url is register(user details) page and\r\n // one or more policy questions has been answered then hide edit button\r\n // on policy questions page.\r\n // commenting below code for bug 176839\r\n const productNewOreditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = this.settingsService.isB2B();\r\n // neworEditQuoteAllowed is default to true,If it is false edit button should not be visible in only B2C flow\r\n if (this.questionType.toLowerCase() === 'quote') {\r\n for (const index in filteredAnsweredQuestions) {\r\n let maxdate;\r\n let policyInceptionDate\r\n if (filteredAnsweredQuestions[index].qIntentCode.toLowerCase() === 'policyinceptiondate' &&\r\n (filteredAnsweredQuestions[index].isHidden || productNewOreditQuoteAllowed === false) &&\r\n filteredAnsweredQuestions[index].qQuestionFormat.toLowerCase() === 'datepicker') {\r\n policyInceptionDate = filteredAnsweredQuestions[index].answerSets[0].name;\r\n if (filteredAnsweredQuestions[index].maxDate !== '' && filteredAnsweredQuestions[index].maxDate !== undefined &&\r\n filteredAnsweredQuestions[index].maxDate !== null) {\r\n maxdate = this.dateManipulationService.applyDateOffset(filteredAnsweredQuestions[index].maxDate, this.getAnchorDate(),\r\n this.sponsorTimeZoneOffset);\r\n }\r\n if (filteredAnsweredQuestions[index].default !== '' && filteredAnsweredQuestions[index].default !== undefined &&\r\n filteredAnsweredQuestions[index].default !== null) {\r\n const defaultDate =\r\n filteredAnsweredQuestions[index].default?.toLowerCase() === 'mindate' ? filteredAnsweredQuestions[index].minDate\r\n : filteredAnsweredQuestions[index].default?.toLowerCase() === 'maxdate' ? filteredAnsweredQuestions[index].maxDate\r\n : filteredAnsweredQuestions[index].default;\r\n const defaultInceptionDate = this.dateManipulationService.applyDateOffset(defaultDate, this.getAnchorDate(),\r\n this.sponsorTimeZoneOffset);\r\n\r\n if (policyInceptionDate === undefined || policyInceptionDate < defaultInceptionDate.format('YYYY-MM-DD')\r\n || policyInceptionDate < maxdate?.format('YYYY-MM-DD')) {\r\n filteredAnsweredQuestions[index].answerSets[0].name = defaultInceptionDate.format('YYYY-MM-DD');\r\n }\r\n }\r\n else if (filteredAnsweredQuestions[index].minDate !== '' && filteredAnsweredQuestions[index].minDate !== undefined &&\r\n (filteredAnsweredQuestions[index].default === '' ||\r\n filteredAnsweredQuestions[index].default === null || filteredAnsweredQuestions[index].default === undefined)) {\r\n const inceptionDate = this.dateManipulationService.applyDateOffset(filteredAnsweredQuestions[index].minDate,\r\n this.getAnchorDate(), this.sponsorTimeZoneOffset)\r\n if (policyInceptionDate === undefined || policyInceptionDate < inceptionDate.format('YYYY-MM-DD')\r\n || policyInceptionDate < maxdate?.format('YYYY-MM-DD')) {\r\n filteredAnsweredQuestions[index].answerSets[0].name = inceptionDate.format('YYYY-MM-DD');\r\n }\r\n }\r\n else if (filteredAnsweredQuestions[index].childQuestionSets.length > 0) {\r\n filteredAnsweredQuestions[index].childQuestionSets?.forEach((child) => {\r\n let childInceptionDate;\r\n if (child.qIntentCode.toLowerCase() === \"policyinceptiondate\" && child.qQuestionFormat.toLowerCase() === 'datepicker'\r\n && child.isHidden) {\r\n if (child.maxDate !== '' && child.maxDate !== undefined && child.maxDate !== null) {\r\n maxdate = this.dateManipulationService.applyDateOffset(child.maxDate, this.getAnchorDate(),\r\n this.sponsorTimeZoneOffset);\r\n }\r\n policyInceptionDate = child.answerSets[0].name;\r\n if (child.default !== '' && child.default !== undefined && child.default !== null) {\r\n const childDefaultDate =\r\n child.default?.toLowerCase() === 'mindate' ? child.minDate\r\n : child.default?.toLowerCase() === 'maxdate' ? child.maxDate\r\n : child.default;\r\n childInceptionDate = this.dateManipulationService.applyDateOffset(childDefaultDate, this.getAnchorDate(),\r\n this.sponsorTimeZoneOffset)\r\n if (policyInceptionDate === undefined || policyInceptionDate < childInceptionDate.format('YYYY-MM-DD')\r\n || policyInceptionDate < maxdate?.format('YYYY-MM-DD')) {\r\n child.answerSets[0].name = childInceptionDate.format('YYYY-MM-DD');\r\n }\r\n }\r\n else if (child.minDate !== '' && child.minDate !== undefined && child.minDate != null && child.default === '' &&\r\n (child.default === null || child.default === undefined || child.default === '')) {\r\n childInceptionDate = this.dateManipulationService.applyDateOffset(child.minDate, this.getAnchorDate(),\r\n this.sponsorTimeZoneOffset)\r\n if (policyInceptionDate === undefined || policyInceptionDate < childInceptionDate.format('YYYY-MM-DD')\r\n || policyInceptionDate < maxdate?.format('YYYY-MM-DD')) {\r\n child.answerSets[0].name = childInceptionDate.format('YYYY-MM-DD');\r\n }\r\n }\r\n }\r\n })\r\n }\r\n else {\r\n filteredAnsweredQuestions[index].answerSets[0].name = moment(currentDate, \"DD/MM/YYYY\").format('YYYY-MM-DD');\r\n }\r\n }\r\n if (filteredAnsweredQuestions[index].qIntentCode.toLowerCase() === policyExpiryDateIntentCode\r\n && (isFixedTerm || filteredAnsweredQuestions[index].isHidden) &&\r\n filteredAnsweredQuestions[index].qQuestionFormat.toLowerCase() === 'datepicker') {\r\n this.refressPolicyExpiryDate(filteredAnsweredQuestions, index);\r\n }\r\n else if (filteredAnsweredQuestions[index].childQuestionSets.length > 0) {\r\n filteredAnsweredQuestions[index].childQuestionSets?.forEach((qChild, qChildIndex) => {\r\n if ((qChild.qIntentCode.toLowerCase() === policyExpiryDateIntentCode && qChild.qQuestionFormat.toLowerCase() === 'datepicker')\r\n && qChild.isHidden) {\r\n this.refressPolicyExpiryDate(filteredAnsweredQuestions[index].childQuestionSets, qChildIndex);\r\n }\r\n });\r\n }\r\n if (productNewOreditQuoteAllowed && !isB2BFlow === true) {\r\n filteredAnsweredQuestions[index].isHideEditButton = false;\r\n } else if (isB2BFlow === true) {\r\n filteredAnsweredQuestions[index].isHideEditButton = false;\r\n } else if (productNewOreditQuoteAllowed === false && isB2BFlow === false) {\r\n filteredAnsweredQuestions[index].isHideEditButton = true;\r\n }\r\n }\r\n }\r\n\r\n // Check if the current flow is Single Carrier Single Quote Resume Flow\r\n const isSingleCarrierSingleQuoteResumeFlow = this.questionSetService.isSingleCarrierSingleQuoteResumeFlow.value;\r\n if (isSingleCarrierSingleQuoteResumeFlow) {\r\n const policyQuestions = filteredAnsweredQuestions.filter(question => question.qQuestionType.toLowerCase() === 'policy');\r\n\r\n // For each policy-related question\r\n for (const question of policyQuestions) {\r\n // Set the visibility of the edit button based on whether the quote is referred or not\r\n question.isHideEditButton = this.settingsService.hidePolicyQuestionsEdit;\r\n }\r\n }\r\n\r\n if (this.settingsService.compressedViewOfPreviousAnswers && filteredAnsweredQuestions\r\n && filteredAnsweredQuestions?.length > 0 && filteredAnsweredQuestions !== null) {\r\n filteredAnsweredQuestions?.filter(value => {\r\n if (value.hasOwnProperty('groupKey')) {\r\n this.isNotGrouped = false;\r\n }\r\n });\r\n // call this method to compress the previous answer\r\n return this.getCompressedAnswer(filteredAnsweredQuestions);\r\n\r\n } else {\r\n return filteredAnsweredQuestions;\r\n }\r\n } else {\r\n const emptyQuoteQuestion: Question[] = [];\r\n return emptyQuoteQuestion;\r\n }\r\n }\r\n\r\n getChildAnswers(parentQuestion: Question) {\r\n this.childQuestions = [];\r\n this.childAnswers = [];\r\n for (const childQuestionSet of parentQuestion.childQuestionSets) {\r\n const childAnswer = childQuestionSet.answerSets.filter(as => as.isAnswered).pop();\r\n if (childAnswer) {\r\n if ((childQuestionSet.qDescription.toLowerCase() === 'startdate' || childQuestionSet.qDescription.toLowerCase() === 'enddate')\r\n && (childAnswer.name.length > 10)) {\r\n const objDate = this.settingsService.setLocalisedDateFormat(childAnswer.name);\r\n if (objDate && objDate !== 'Invalid date' && objDate !== undefined) {\r\n childAnswer.name = objDate;\r\n }\r\n }\r\n if (childQuestionSet?.hideHistory !== true) {\r\n if (childQuestionSet.qQuestionFormat?.toLowerCase() === 'checkbox' && childAnswer.placeholderText) {\r\n this.childAnswers.push(childAnswer.placeholderText);\r\n }\r\n else {\r\n this.childAnswers.push(childAnswer.name);\r\n }\r\n this.childQuestions.push(childQuestionSet.qDescription);\r\n }\r\n if (childAnswer.isAnswered === true && childQuestionSet?.answerSets?.length > 0) {\r\n this.getGrandChildAnswers(childQuestionSet)\r\n }\r\n }\r\n\r\n\r\n }\r\n return [this.childQuestions, this.childAnswers];\r\n }\r\n\r\n refressPolicyExpiryDate(filteredAnsweredQuestions, index) {\r\n let endDate;\r\n const startDateIndex = filteredAnsweredQuestions.findIndex(item => item.qIntentCode.toLowerCase()\r\n === filteredAnsweredQuestions[index].offsetBasis.toLowerCase());\r\n if (startDateIndex >= 0) {\r\n let StartDate = filteredAnsweredQuestions[startDateIndex].answerSets[0].name;\r\n // added this condition for MCI expiry date issue.\r\n if (moment(StartDate, \"DD/MM/YYYY\", true).isValid()) {\r\n StartDate = moment(StartDate, \"DD/MM/YYYY\");\r\n }\r\n if (filteredAnsweredQuestions[index].default && filteredAnsweredQuestions[index].default !== '') {\r\n endDate =\r\n filteredAnsweredQuestions[index].default?.toLowerCase() === 'mindate' ? filteredAnsweredQuestions[index].minDate\r\n : filteredAnsweredQuestions[index].default?.toLowerCase() === 'maxdate' ? filteredAnsweredQuestions[index].maxDate\r\n : filteredAnsweredQuestions[index].default;\r\n }\r\n\r\n else if (filteredAnsweredQuestions[index].minDate !== '' && filteredAnsweredQuestions[index].minDate !== undefined &&\r\n (filteredAnsweredQuestions[index].default === '' || filteredAnsweredQuestions[index].default === undefined)) {\r\n endDate = filteredAnsweredQuestions[index].minDate;\r\n\r\n }\r\n const calculateEndDate = this.dateManipulationService.applyDateOffset(endDate, moment(StartDate), this.sponsorTimeZoneOffset);\r\n filteredAnsweredQuestions[index].answerSets[0].name = calculateEndDate.format('YYYY-MM-DD');\r\n if (sessionStorage.getItem('isExpiryDateasInceptionDate') === 'false') {\r\n filteredAnsweredQuestions[index].answerSets[0].name =\r\n this.dateManipulationService.applyDateOffset('-1,days', calculateEndDate, this.sponsorTimeZoneOffset);\r\n }\r\n }\r\n }\r\n\r\n\r\n\r\n getGrandChildAnswers(childQuestionSet) {\r\n for (const grandChildQuestionSet of childQuestionSet?.answerSets) {\r\n if (grandChildQuestionSet?.childQIntentCode && grandChildQuestionSet?.childQuestionSets\r\n && grandChildQuestionSet?.childQuestionSets.length > 0 && grandChildQuestionSet?.isAnswered === true) {\r\n for (const grandChildSet of grandChildQuestionSet?.childQuestionSets) {\r\n const childAnswer = grandChildSet.answerSets.filter(as => as.isAnswered).pop();\r\n if (childAnswer) {\r\n if ((grandChildSet.qQuestionFormat?.toLowerCase() === \"datepicker\")\r\n && (childAnswer.name.length > 10)) {\r\n const objectDate = moment(childAnswer?.name).valueOf();\r\n const objectNewDate = moment(objectDate).format('YYYY-MM-DD');\r\n if (objectNewDate && objectNewDate !== 'Invalid date' && objectNewDate !== undefined) {\r\n childAnswer.name = objectNewDate;\r\n }\r\n }\r\n if (grandChildQuestionSet.qQuestionFormat?.toLowerCase() === 'checkbox' && childAnswer.placeholderText) {\r\n this.childAnswers.push(childAnswer.placeholderText);\r\n }\r\n if (grandChildSet?.hideHistory !== true) {\r\n if (grandChildQuestionSet.qQuestionFormat?.toLowerCase() === 'checkbox' && childAnswer.placeholderText) {\r\n this.childAnswers.push(childAnswer.placeholderText);\r\n }\r\n else {\r\n this.childAnswers.push(childAnswer.name);\r\n }\r\n this.childQuestions.push(grandChildSet.qDescription);\r\n }\r\n\r\n if (grandChildSet.childQIntentCode) {\r\n this.getGrandChildAnswers(grandChildSet);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getFlaggedAnswers(question: Question): AnswerSets[] {\r\n return question.answerSets.filter(as => as.isAnswered);\r\n }\r\n getAnchorDate(): Date | moment.Moment {\r\n const timeZoneOffset = this.sessionStorage.get('timeZoneOffset');\r\n this.sponsorTimeZoneOffset = timeZoneOffset && timeZoneOffset.toLowerCase().replace('utc', '');\r\n return this.dateManipulationService.getMomentDatewithUtcOffset(this.sponsorTimeZoneOffset);\r\n }\r\n private applyTranslations() {\r\n this.translate.get([editLabel, deleteLabel, grossPremiumLabel]).subscribe((res) => {\r\n this.editText = res[editLabel];\r\n this.deleteText = res[deleteLabel];\r\n this.grossPremiumText = res[grossPremiumLabel];\r\n });\r\n }\r\n\r\n getCompressedAnswer(filteredAnsweredQuestions) {\r\n // grouping of array on the basis of groupkey\r\n const groups = filteredAnsweredQuestions.reduce((r, a) => {\r\n r[a.groupKey] = [...r[a.groupKey] || [], a];\r\n return r;\r\n }, {});\r\n\r\n for (const key of Object.keys(groups)) {\r\n if (key.toLowerCase().includes('group')) {\r\n // sort the array on basis of orderno.\r\n const sortedArray = this.sortArray(groups[key]);\r\n // copy first element of array\r\n const clonedProductDetailArray = groups[key][0];\r\n // concat the product name on basis of sorted array (ex : Apple Iphone XMax Red 128gb)\r\n this.label = '';\r\n sortedArray?.filter(value => {\r\n this.label = this.label?.concat(value.answerSets[0].name, ' ');\r\n return this.label;\r\n });\r\n // remove the array element which are concat above from array\r\n sortedArray?.filter(value => {\r\n filteredAnsweredQuestions.findIndex((product, index) => {\r\n if (product?.qSubDescription === value?.qSubDescription) {\r\n filteredAnsweredQuestions.splice(index, 1);\r\n }\r\n\r\n });\r\n\r\n });\r\n\r\n if (sortedArray?.length > 0 && sortedArray && sortedArray !== undefined) {\r\n // assign the concatinated product name values\r\n clonedProductDetailArray.qSubDescription = this.label;\r\n // push the copiedarrayelement at first index in below array\r\n filteredAnsweredQuestions?.splice(0, 0, clonedProductDetailArray);\r\n }\r\n }\r\n }\r\n\r\n // below code to not to display the confirmation detail in previous answer\r\n // in case if intial confirmation page is hide\r\n\r\n if (!filteredAnsweredQuestions.some(item => item.childQIntentCode === '')) {\r\n filteredAnsweredQuestions.findIndex((product, index) => {\r\n if (product.qSubDescription === 'Confirmation') {\r\n filteredAnsweredQuestions.splice(index, 1);\r\n }\r\n });\r\n }\r\n this.arrayLength = (filteredAnsweredQuestions.length) - 1;\r\n return filteredAnsweredQuestions;\r\n\r\n }\r\n\r\n sortArray(groups) {\r\n const sortedArray = groups.sort((x, y) => {\r\n if (x?.orderNo > y?.orderNo) {\r\n return 1;\r\n }\r\n if (x?.orderNo < y?.orderNo) {\r\n return -1;\r\n }\r\n return 0;\r\n });\r\n return sortedArray;\r\n\r\n }\r\n getQuestionsAnswer(question: Question) {\r\n\r\n if (question.qIntentCode ==='Brand' && this.isCompressedViewOfPreviousAnswers) {\r\n return '' ;\r\n }\r\n else {\r\n const answer = question.answerSets.filter(as => as.isAnswered)\r\n if (answer) {\r\n if (question.qQuestionFormat?.toLowerCase() === 'checkbox' && answer[0].placeholderText) {\r\n return answer[0].placeholderText;\r\n }\r\n else {\r\n return answer[0].name;\r\n }\r\n }\r\n }\r\n }\r\n\r\n isDisabled(answer: any) {\r\n return (answer.isHidden || answer.isHideEditButton) || this.isApproveDeclineOnly || this.isApproveDeclineWithPremiumOverride;\r\n }\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-data-capture-heading',\r\n templateUrl: './data-capture-heading.component.html',\r\n styleUrls: ['./data-capture-heading.component.scss']\r\n})\r\nexport class DataCaptureHeadingComponent implements OnInit {\r\n @Input() QnDescription: string;\r\n @Input() QnSubDescription: string;\r\n\r\n isDesktop = false;\r\n isTablet = false;\r\n isMobile = false;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit() {\r\n this.checkLayoutViewPort();\r\n }\r\n\r\n checkLayoutViewPort() {\r\n // ----- Checking screen resolution by angular layout/breakpoints\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isDesktop = this.layoutService.isLargeView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isMobile = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n

\r\n
\r\n
\r\n","\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Question } from '../../../models';\r\n\r\n@Component({\r\n selector: 'lib-image-button',\r\n templateUrl: './image-button.component.html',\r\n styleUrls: ['./image-button.component.scss']\r\n})\r\nexport class ImageButtonComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n tempImageVal = 'iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAAn0lEQVR4Ae'\r\n + '3UIQjCQBiG4ZeBxSAmbatm+8J60maygx2MV8SOdrAHO9jrkmA12iwiDOSzDIOqtztBDn'\r\n + 'bP2/7wxZ//SZmQ8KM+K0rEnjHeuiy4okcFGc7azDmjl3YMqa3FjBP62JYBVglTjsjSjQ0'\r\n + 'pX4w4oJqVrOnxRkaBHLuwpMMTeWYCHGoaVRmnSxyKQ6EPmarc6RI441nejJ8dn7/FHf0vzMHHySV4AAAAAElFTkSuQmCC';\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n submitRadioDataCapture(answeredData) {\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { AnswerSets, Question } from '../../../models';\r\n\r\n@Component({\r\n selector: 'lib-radio-data-capture',\r\n templateUrl: './radio-data-capture.component.html',\r\n styleUrls: ['./radio-data-capture.component.scss']\r\n})\r\nexport class RadioDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n tempImageVal = 'iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAQAAABLCVATAAAAn0lEQVR4Ae'\r\n + '3UIQjCQBiG4ZeBxSAmbatm+8J60maygx2MV8SOdrAHO9jrkmA12iwiDOSzDIOqtztBDn'\r\n + 'bP2/7wxZ//SZmQ8KM+K0rEnjHeuiy4okcFGc7azDmjl3YMqa3FjBP62JYBVglTjsjSjQ0'\r\n + 'pX4w4oJqVrOnxRkaBHLuwpMMTeWYCHGoaVRmnSxyKQ6EPmarc6RI441nejJ8dn7/FHf0vzMHHySV4AAAAAElFTkSuQmCC';\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n submitRadioDataCapture(answeredData) {\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","import { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { Question } from '../../../../models';\r\n\r\nexport abstract class FormFieldMapper> {\r\n\r\n public map(question: Question, errorMessage?: string | string[], callToActionLabel?: string, order?: number,\r\n formFieldIterationIndex?: number): T {\r\n const result = this.getInstance();\r\n this.mapCommonProperties(result, question, errorMessage, callToActionLabel, order, formFieldIterationIndex);\r\n this.mapSpecificProperties(result, question);\r\n return result;\r\n }\r\n\r\n protected abstract getInstance(): T;\r\n\r\n protected abstract mapSpecificProperties(field: T, question: Question): void;\r\n\r\n private mapCommonProperties(formField: T,\r\n question: Question, errorMessage?: string | string[],\r\n callToActionLabel?: string, order?: number, formFieldIterationIndex?: number) {\r\n formField.key = question.qIntentCode;\r\n formField.label = question.placeholderText || '';\r\n formField.descriptionLabel = question.qSubDescription;\r\n formField.required = question.qMandatory || false;\r\n formField.mandatoryValidationMsg = errorMessage || '';\r\n formField.callToActionLabel = callToActionLabel || '';\r\n formField.order = order || 0;\r\n formField.visibility = question.visibility || '';\r\n formField.margin = question.margin;\r\n formField.index = question.index;\r\n formField.parentOValue = question.parentOValue || '';\r\n formField.qIntentCode = question.qIntentCode || '';\r\n formField.masterGroupPanelIntentCode = question.masterGroupPanelIntentCode || '';\r\n formField.rootParentQIntentCode = question.rootParentQIntentCode || '';\r\n formField.childQIntentCode = question.childQIntentCode || '';\r\n formField.parentQIntentCode = question.parentQIntentCode || '';\r\n formField.formFieldIterationIndex = formFieldIterationIndex;\r\n formField.lookupPQIntentCode = question.lookupPQIntentCode;\r\n formField.iterationIndex = question.iterationIndex;\r\n formField.persistChildValue = question.persistChildValue || false;\r\n formField.isHidden = question.isHidden || false;\r\n formField.isRepeatingGroupToBeNext = question.isRepeatingGroupToBeNext || false;\r\n formField.masterGroupPanelChildQIntentCode = question.masterGroupPanelChildQIntentCode || '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { TextboxField } from '../../../../form-field/textbox-field';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextboxFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'text' || question.qQuestionFormat.toLowerCase() === 'numeric';\r\n }\r\n\r\n protected mapSpecificProperties(field: TextboxField, question: Question): void {\r\n field.type = question.subType && question.subType.toLowerCase();\r\n field.minLength = question.minLength;\r\n field.maxLength = question.maxLength;\r\n field.minRange = question.rangeMinimum;\r\n field.maxRange = question.rangeMaximum;\r\n field.questionFormat = question.qQuestionFormat;\r\n field.regexValidation = question.regexValidation;\r\n field.visibility = question.visibility;\r\n field.margin = question.margin;\r\n field.parentOValue = question.parentOValue;\r\n field.globalFunction = question.globalFunction;\r\n field.onDemandDataParameters = question.onDemandDataParameters;\r\n field.onDemandDataSubscribers = question.onDemandDataSubscribers;\r\n field.odefault = question.odefault;\r\n if (field.type === 'email') {\r\n field.iconName = field.type;\r\n }\r\n field.localization = question.localization;\r\n field.enableSearchButton = question.enableSearchButton;\r\n field.searchButtonText = question.searchButtonText;\r\n\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n\r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false ||\r\n (question?.globalFunction?.toLowerCase()?.includes('disable') && (question?.answerSets?.length === 1) ||\r\n ((question?.globalFunction?.toLowerCase()?.includes('dynamic') &&\r\n !question?.globalFunction?.toLowerCase()?.includes('source')\r\n && (question?.answerSets[0]?.name !== \"\"))))) {\r\n // to disable the textfield if prepopulated\r\n field.readOnly = true;\r\n field.disableMatFormField = true;\r\n\r\n }\r\n\r\n const previousAnswer = question.answerSets?.filter(ans => ans.isAnswered).pop();\r\n field.value = previousAnswer && previousAnswer?.name;\r\n\r\n // To set value if Odefault==true and Otext value is configured from questionSet\r\n for (const answer of question.answerSets) {\r\n if (!previousAnswer && answer.default) {\r\n field.value = answer.name;\r\n }\r\n }\r\n }\r\n\r\n protected getInstance() {\r\n return new TextboxField();\r\n }\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TextboxFieldMapper } from '../field-mapper-strategy/strategies/textbox-field-mapper';\r\nimport { Question } from '../../../models';\r\nimport { TextboxField } from '../../../form-field/textbox-field';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst emailErrorMessageLabel = 'Shared.lblInvalidEmail';\r\nconst emailCompareErrorMessageLabel = 'Shared.lblEmailCompareErrorMessage';\r\nconst minLengthErrorMessageLabel = 'Shared.lblMinLengthErrorMessage';\r\nconst maxLengthErrorMessageLabel = 'Shared.lblMaxLengthErrorMessage';\r\nconst invalidValueErrorMessageLabel = 'Shared.lblInvalidValue';\r\n\r\n@Component({\r\n selector: 'lib-text-data-capture',\r\n templateUrl: './text-data-capture.component.html',\r\n styleUrls: ['./text-data-capture.component.scss']\r\n})\r\nexport class TextDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n @Input() nextBtn: string;\r\n textboxForm: FormGroup;\r\n field: TextboxField;\r\n mandatoryErrorMessageText: string;\r\n emailErrorMessageText: string;\r\n emailCompareErrorMessageText: string;\r\n minLengthErrorMessage: string;\r\n maxLengthErrorMessage: string;\r\n invalidValueErrorMessage: string;\r\n constructor(\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: TextboxFieldMapper,\r\n private translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, [\r\n this.mandatoryErrorMessageText,\r\n this.emailErrorMessageText,\r\n '',\r\n this.emailCompareErrorMessageText,\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage,\r\n '',\r\n '',\r\n '',\r\n this.invalidValueErrorMessage]);\r\n this.textboxForm = this.formGroupService.toFormGroup([this.field]);\r\n\r\n }\r\n\r\n\r\n submitTextAnswer(answeredData): void {\r\n const val = this.textboxForm.get(this.field.key).value;\r\n answeredData.name = val;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n mandatoryErrorMessageLabel,\r\n emailErrorMessageLabel,\r\n emailCompareErrorMessageLabel,\r\n minLengthErrorMessageLabel,\r\n maxLengthErrorMessageLabel,\r\n invalidValueErrorMessageLabel]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.emailErrorMessageText = res[emailErrorMessageLabel];\r\n this.emailCompareErrorMessageText = res[emailCompareErrorMessageLabel];\r\n this.minLengthErrorMessage = res[minLengthErrorMessageLabel];\r\n this.maxLengthErrorMessage = res[maxLengthErrorMessageLabel];\r\n this.invalidValueErrorMessage = res[invalidValueErrorMessageLabel];\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Question } from '../../../models';\r\n\r\n@Component({\r\n selector: 'lib-option-list-data-capture',\r\n templateUrl: './option-list-data-capture.component.html',\r\n styleUrls: ['./option-list-data-capture.component.scss']\r\n})\r\nexport class OptionListDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n }\r\n\r\n submitOptionListAnswer(answeredData) {\r\n this.qnData.answerSets.forEach(as => {\r\n as.isAnswered = (as === answeredData);\r\n });\r\n\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { Question } from '../../../models';\r\n\r\n@Component({\r\n selector: 'lib-plus-minus-data-capture',\r\n templateUrl: './plus-minus-data-capture.component.html',\r\n styleUrls: ['./plus-minus-data-capture.component.scss']\r\n})\r\nexport class PlusMinusDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n @Input() nextBtn: string;\r\n incrmentDecrementVal = 1;\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n submitIncDecAnswer(answeredData): void {\r\n answeredData.name = answeredData.value = this.incrmentDecrementVal;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","\r\n \r\n \r\n
\r\n remove\r\n

{{incrmentDecrementVal}}

\r\n add\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class CheckboxField extends FormFieldBase {\r\n controlType = 'checkbox';\r\n name: string;\r\n value: string; \r\n checked: boolean;\r\n isActive?: boolean \r\n \r\n constructor(options: { name?: string, value?: string, checked?: boolean, isActive?: boolean} = {}) {\r\n super(options); \r\n this.name = options.name; \r\n this.value = options.value;\r\n this.checked = options.checked;\r\n this.isActive = options.isActive;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { CheckboxField } from \"../../../../form-field/checkbox-field\";\r\nimport { IFieldMapperStrategy } from \"./field-mapper-strategy\";\r\nimport { FormFieldMapper } from \"./field-mapper-base\";\r\nimport { Question } from \"../../../../models\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CheckboxFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'checkbox';\r\n }\r\n\r\n protected mapSpecificProperties(field: CheckboxField, question: Question): void {\r\n field.type = question.subType && question.subType.toLowerCase(); \r\n const previousAnswer = question.answerSets.filter(ans => ans.isAnswered).pop();\r\n field.checked = previousAnswer ? previousAnswer.isAnswered ? (previousAnswer.name.toLowerCase() === 'true' ? true: false) \r\n : question.odefault? question.odefault :false :false ;\r\n field.isActive = field.checked\r\n field.value = field.checked.toString();\r\n field.descriptionLabel =\"\";\r\n field.name = question.qDescription;\r\n }\r\n\r\n protected getInstance() {\r\n return new CheckboxField();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {{mandatoryErrorMsg}}\r\n
\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { CheckboxField } from '../../../form-field/checkbox-field';\r\nimport { FormControl, FormGroup } from '@angular/forms';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n@Component({\r\n selector: 'lib-check-box',\r\n templateUrl: './check-box.component.html',\r\n styleUrls: ['./check-box.component.scss']\r\n})\r\nexport class CheckBoxComponent implements OnInit {\r\n public mandatoryErrorMsg;\r\n public isSmallView: boolean;\r\n public checkBoxFormControlName: string;\r\n @Input() field: CheckboxField;\r\n @Output() valueChange = new EventEmitter();\r\n @Input() form: FormGroup;\r\n constructor(\r\n private layoutService: LayoutService \r\n ) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.checkBoxFormControlName];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n \r\n onSelectionChange(event) { \r\n event['tagName']=\"checkbox\"; \r\n this.valueChange.emit(event);\r\n }\r\n\r\n ngOnInit() {\r\n this.mandatoryErrorMsg = this.field?.mandatoryValidationMsg || 'This field is required';\r\n if (this.field.label === undefined || this.field.label === null) {\r\n this.field.label = '';\r\n }\r\n this.checkViewPortWidth(); \r\n this.checkBoxFormControlName = this.field['key'] ? this.field['key'] : 'checkBox'; \r\n } \r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { MatCheckboxChange } from '@angular/material/checkbox';\r\nimport { AnswerSets, Question } from '../../../models';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { CheckboxField } from '../../../form-field/checkbox-field';\r\nimport { CheckboxFieldMapper } from '../field-mapper-strategy/strategies/checkbox-field-mapper';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\n@Component({\r\n selector: 'lib-check-box-data-capture',\r\n templateUrl: './check-box-data-capture.component.html',\r\n styleUrls: ['./check-box-data-capture.component.scss']\r\n})\r\nexport class CheckBoxDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Input() nextBtn: string;\r\n @Output() updateEmitter = new EventEmitter();\r\n btnDisableStatus = true;\r\n checkboxForm: FormGroup;\r\n field: CheckboxField;\r\n mandatoryErrorMessageText: string;\r\n\r\n\r\n constructor(\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: CheckboxFieldMapper,\r\n private translate: TranslateService) { }\r\n \r\n\r\n ngOnInit() {\r\n this.btnDisableStatus = this.qnData.qMandatory ? true : false;\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, this.mandatoryErrorMessageText);\r\n this.checkboxForm = this.formGroupService.toFormGroup([this.field]);\r\n }\r\n onValueChange(event: MatCheckboxChange) {\r\n this.field.checked = event.source.checked;\r\n this.field.isActive = event.checked;\r\n \r\n }\r\n \r\n mapOptionsToAnswers() {\r\n // Clear any previous answers.\r\n this.qnData.answerSets.forEach(as => as.isAnswered = false);\r\n const answer = this.qnData.answerSets.filter(as => as.name.toLowerCase() ===\r\n this.checkboxForm.get(this.field.key).value.toString()).pop(); \r\n if (answer) {\r\n answer.isAnswered = true;\r\n }\r\n this.updateEmitter.emit();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n mandatoryErrorMessageLabel]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n \r\n });\r\n}\r\n}\r\n","\r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TextboxFieldMapper } from '../field-mapper-strategy/strategies/textbox-field-mapper';\r\nimport { Question } from '../../../models';\r\nimport { TextboxField } from '../../../form-field/textbox-field';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst minRangeErrorMessageLabel = 'Shared.lblMinRangeErrorMessage';\r\nconst maxRangeErrorMessageLabel = 'Shared.lblMaxRangeErrorMessage';\r\nconst numericErrorMessageLabel = 'Shared.lblNumericErrorMessage';\r\n\r\n\r\n@Component({\r\n selector: 'lib-number-data-capture',\r\n templateUrl: './number-data-capture.component.html',\r\n styleUrls: ['./number-data-capture.component.scss']\r\n})\r\nexport class NumberDataCaptureComponent implements OnInit {\r\n\r\n field: TextboxField;\r\n numericForm: FormGroup;\r\n mandatoryErrorMessageText: string;\r\n minRangeErrorMessage: string;\r\n maxRangeErrorMessage: string;\r\n numericErrorMessage: string;\r\n\r\n @Input() qnData: Question;\r\n @Input() nextBtn: string;\r\n @Output() updateEmitter = new EventEmitter();\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: TextboxFieldMapper,\r\n private translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n\r\n // // If previously answered, reinstate this value.\r\n // if (this.qnData.answerSets[0].isAnswered) {\r\n // this.numberField.setValue(this.qnData.answerSets[0].name);\r\n // this.numberField.updateValueAndValidity();\r\n // }\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, [\r\n this.mandatoryErrorMessageText,\r\n '',\r\n '',\r\n '',\r\n '',\r\n '',\r\n this.minRangeErrorMessage,\r\n this.maxRangeErrorMessage,\r\n this.numericErrorMessage\r\n ]);\r\n this.numericForm = this.formGroupService.toFormGroup( [this.field]);\r\n\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n mandatoryErrorMessageLabel,\r\n minRangeErrorMessageLabel,\r\n maxRangeErrorMessageLabel,\r\n numericErrorMessageLabel\r\n ]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.minRangeErrorMessage = res[minRangeErrorMessageLabel];\r\n this.maxRangeErrorMessage = res[maxRangeErrorMessageLabel];\r\n this.numericErrorMessage = res[numericErrorMessageLabel];\r\n });\r\n }\r\n\r\n // get numberField() {\r\n // return this.numericForm.get('number');\r\n // }\r\n\r\n submitAnswer(answeredData): void {\r\n const val = this.numericForm.get(this.field.key).value;\r\n answeredData.name = val;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { DropDownField } from '../../../../form-field/dropdown-field';\r\nimport { SessionStorage } from 'angular-web-storage';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DropDownFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'dropdown';\r\n }\r\n\r\n protected mapSpecificProperties(field: DropDownField, question: Question): void {\r\n // Check if this question has been previously answered.\r\n const isPreviouslyAnswered = question.answerSets.some(as => as.isAnswered);\r\n\r\n // Set value to default if the drowpdown options contains unique value\r\n // if (question.answerSets?.length === 1) {\r\n // question.answerSets[0].default = true;\r\n // }\r\n\r\n // code to find whether intentcode is configure with metadata property\r\n let isMetadata;\r\n const parentQues = JSON.parse(JSON.parse(sessionStorage.getItem('primaryQuestionData'))._value)\r\n [JSON.parse(sessionStorage.getItem('QuestionSetPosition'))?._value]\r\n\r\n parentQues?.childQuestionSets?.filter(ques => {\r\n if (ques?.qIntentCode === question?.onDemandDataParameters?.split(',').map(s => s.trim())[0]\r\n && ques.globalFunction?.toLowerCase()?.includes('metadata')) {\r\n isMetadata = true;\r\n\r\n }\r\n })\r\n for (const answer of question.answerSets) {\r\n if (!answer.active) {\r\n continue;\r\n }\r\n if (question?.globalFunction?.toLowerCase()?.includes('metadata') && question?.globalFunction?.toLowerCase()?.includes('source')\r\n || isMetadata) {\r\n if (answer.alertMessage) {\r\n field.options.push({\r\n name: answer.name,\r\n value: answer.textValue,\r\n alertMessage: answer.alertMessage,\r\n childQIntentCode: answer.childQIntentCode\r\n });\r\n } else {\r\n field.options.push({\r\n name: answer.name,\r\n value: answer.name ? answer?.name : '',\r\n id: answer?.id ? answer?.id : answer.textValue,\r\n childQIntentCode: answer.childQIntentCode\r\n });\r\n }\r\n }\r\n else {\r\n if (answer.alertMessage) {\r\n field.options.push({\r\n name: answer.name,\r\n value: answer.name,\r\n alertMessage: answer.alertMessage,\r\n childQIntentCode: answer.childQIntentCode\r\n });\r\n } else {\r\n field.options.push({\r\n name: answer.name,\r\n value: answer.name,\r\n childQIntentCode: answer.childQIntentCode\r\n });\r\n }\r\n }\r\n\r\n\r\n // If previously answered, reinstate this value.\r\n if (answer.isAnswered) {\r\n field.value = answer.name;\r\n } else if (!isPreviouslyAnswered && answer.default) {\r\n field.value = answer.name;\r\n }\r\n }\r\n\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n\r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false ||\r\n (question?.globalFunction?.toLowerCase()?.includes('dynamic') && !question?.globalFunction?.toLowerCase()?.includes('source')\r\n && (question?.answerSets?.length === 1))) {\r\n field.readOnly = true;\r\n if ((question?.globalFunction?.toLowerCase()?.includes('dynamic') && !question?.globalFunction?.toLowerCase()?.includes('source')\r\n && (question?.answerSets?.length === 1))) {\r\n field.disableMatFormField = true;\r\n }\r\n }\r\n else if (question?.lookupPQIntentCode && question?.lookupPQIntentCode !== '' && question?.lookupPQIntentCode !== null) {\r\n field.disableMatFormField = true;\r\n field.readOnly = true\r\n }\r\n field.globalFunction = question.globalFunction;\r\n field.onDemandDataParameters = question.onDemandDataParameters;\r\n field.onDemandDataSubscribers = question.onDemandDataSubscribers;\r\n field.odefault = question.odefault;\r\n }\r\n\r\n protected getInstance() {\r\n return new DropDownField();\r\n }\r\n}\r\n","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { DropDownFieldMapper } from '../field-mapper-strategy/strategies/dropdown-field-mapper';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AnswerSets, Question } from '../../../models';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\nimport { DropDownField } from '../../../form-field/dropdown-field';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\n\r\n@Component({\r\n selector: 'lib-dropdown-data-capture',\r\n templateUrl: './dropdown-data-capture.component.html',\r\n styleUrls: ['./dropdown-data-capture.component.scss']\r\n})\r\nexport class DropdownDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Input() nextBtn: string;\r\n @Output() updateEmitter = new EventEmitter();\r\n dropdownForm: FormGroup;\r\n field: DropDownField;\r\n mandatoryErrorMessageText: string;\r\n options: AnswerSets[];\r\n\r\n constructor(\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: DropDownFieldMapper,\r\n private translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n this.initialise();\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, this.mandatoryErrorMessageText);\r\n this.dropdownForm = this.formGroupService.toFormGroup([this.field]);\r\n }\r\n\r\n private getSelectedAnswerSet(): AnswerSets {\r\n return this.qnData.answerSets.filter(ans => ans.name === this.dropdownForm.get(this.field.key).value).pop();\r\n }\r\n\r\n submitDropdownAnswer() {\r\n // Clear any previous answers.\r\n this.qnData.answerSets.forEach(as => as.isAnswered = false);\r\n\r\n const answeredData = this.getSelectedAnswerSet();\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n }\r\n this.updateEmitter.emit();\r\n }\r\n\r\n private initialise() {\r\n this.translate.get([mandatoryErrorMessageLabel]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.createFormGroup();\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n\r\n
\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { DatePickerField } from '../../../../form-field/date-picker-field';\r\n\r\nconst policyInceptionDateIntentCode = 'PolicyInceptionDate';\r\nconst policyExpiryDateIntentCode = 'PolicyExpiryDate';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DatePickerFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'datepicker';\r\n }\r\n\r\n protected mapSpecificProperties(field: DatePickerField, question: Question): void {\r\n let policyTerm = 0;\r\n\r\n if (question.qIntentCode.toLowerCase() === policyExpiryDateIntentCode.toLowerCase()) {\r\n policyTerm = Number(sessionStorage.getItem('policyTerm'));\r\n if (policyTerm && Number(policyTerm) > 0) {\r\n field.isFixedTerms = true;\r\n }\r\n const isUnderMasterPolicy = sessionStorage.getItem('isUnderMasterPolicy');\r\n if (isUnderMasterPolicy && isUnderMasterPolicy === 'true') {\r\n field.readOnly = true;\r\n field.isUnderMasterPolicy = true;\r\n }\r\n }\r\n field.minDate = question.minDate;\r\n field.maxDate = question.maxDate;\r\n\r\n if (field.isFixedTerms) {\r\n field.default = `${policyTerm},months`;\r\n field.offsetBasis = policyInceptionDateIntentCode;\r\n const isExpiryDateAsInceptionDate = sessionStorage.getItem('isExpiryDateasInceptionDate');\r\n field.isExpiryDateAsInceptionDate = isExpiryDateAsInceptionDate === 'true'\r\n ? true : isExpiryDateAsInceptionDate === 'false'\r\n ? false : null;\r\n field.readOnly = true;\r\n } else {\r\n field.default = question.default;\r\n field.offsetBasis = question.offsetBasis;\r\n }\r\n\r\n const previousAnswer = question.answerSets.filter(ans => ans.isAnswered).pop();\r\n field.value = previousAnswer && previousAnswer.name;\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n\r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false) {\r\n field.readOnly = true;\r\n }\r\n\r\n const isRenewalQuote = JSON.parse(sessionStorage.getItem('IsRenewalQuote')) ?\r\n JSON.parse(sessionStorage.getItem('IsRenewalQuote'))._value : false;\r\n if (isRenewalQuote && question.qIntentCode.toLowerCase() === policyInceptionDateIntentCode.toLowerCase()) {\r\n field.readOnly = true;\r\n }\r\n }\r\n\r\n protected getInstance() {\r\n return new DatePickerField();\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class TextAreaField extends FormFieldBase {\r\n controlType = 'textarea';\r\n minLength: number;\r\n maxLength: number;\r\n rows: number;\r\n questionFormat: string;\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n minLength?: number,\r\n maxLength?: number,\r\n minRange?: number,\r\n maxRange?: number,\r\n isVisible?: boolean,\r\n questionFormat?: string;\r\n } = {}) {\r\n super(options);\r\n this.rows = options['rows'] || 3;\r\n this.minLength = options.minLength;\r\n this.maxLength = options.maxLength;\r\n this.questionFormat = options.questionFormat;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { TextAreaField } from '../../../../form-field/textarea-field';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TextAreaFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'textarea';\r\n }\r\n\r\n protected mapSpecificProperties(field: TextAreaField, question: Question): void {\r\n field.type = question.subType && question.subType.toLowerCase();\r\n // field.cdkTextareaAutosize = true;\r\n // field.cdkAutosizeMinRows = 1;\r\n // field.cdkAutosizeMaxRows = 3;\r\n field.rows = 3;\r\n field.minLength = question.minLength;\r\n field.maxLength = question.maxLength;\r\n field.questionFormat = question.qQuestionFormat;\r\n\r\n const previousAnswer = question.answerSets.filter(ans => ans.isAnswered).pop();\r\n field.value = previousAnswer && previousAnswer.name;\r\n\r\n\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n\r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false) {\r\n field.readOnly = true;\r\n }\r\n }\r\n\r\n protected getInstance() {\r\n return new TextAreaField();\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class RecaptchaField extends FormFieldBase {\r\n controlType = 'recaptcha';\r\n validatorMatchWith: string;\r\n questionFormat: string;\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n isVisible?: boolean,\r\n questionFormat?: string,\r\n } = {}) {\r\n super(options);\r\n this.validatorMatchWith = options['validatorMatchWith'] || '';\r\n this.questionFormat = options.questionFormat;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { RecaptchaField } from '../../../../form-field/re-captcha-field';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class RecaptchaFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'recaptcha';\r\n }\r\n\r\n protected mapSpecificProperties(field: RecaptchaField, question: Question): void {\r\n field.type = question.subType && question.subType.toLowerCase();\r\n field.questionFormat = question.qQuestionFormat;\r\n\r\n const previousAnswer = question.answerSets.filter(ans => ans.isAnswered).pop();\r\n field.value = previousAnswer && previousAnswer.name;\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n \r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false) {\r\n field.readOnly = true;\r\n }\r\n }\r\n\r\n protected getInstance() {\r\n return new RecaptchaField();\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class CurrencyBoxField extends FormFieldBase {\r\n controlType = 'money';\r\n validatorMatchWith: string;\r\n minLength: number;\r\n maxLength: number;\r\n minRange: number;\r\n maxRange: number;\r\n questionFormat: string;\r\n regexValidation: string;\r\n correctFormatValidationMsg: string;\r\n\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n validatorMatchWith?: string,\r\n minLength?: number,\r\n maxLength?: number,\r\n minRange?: number,\r\n maxRange?: number,\r\n isVisible?: boolean,\r\n questionFormat?: string,\r\n regexValidation?: string,\r\n correctFormatValidationMsg?: string\r\n\r\n\r\n } = {}) {\r\n super(options);\r\n this.validatorMatchWith = options['validatorMatchWith'] || '';\r\n this.minLength = options.minLength;\r\n this.maxLength = options.maxLength;\r\n this.minRange = options.minRange;\r\n this.maxRange = options.maxRange;\r\n this.questionFormat = options.questionFormat;\r\n this.regexValidation = options.regexValidation;\r\n this.correctFormatValidationMsg = options.correctFormatValidationMsg;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldMapper } from './field-mapper-base';\r\nimport { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { Question } from '../../../../models';\r\nimport { CurrencyBoxField } from '../../../../form-field/currencybox-field';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CurrencyboxFieldMapper extends FormFieldMapper implements IFieldMapperStrategy {\r\n\r\n public order = 0;\r\n\r\n public canMap(question: Question): boolean {\r\n return question.qQuestionFormat.toLowerCase() === 'money';\r\n }\r\n\r\n protected mapSpecificProperties(field: CurrencyBoxField, question: Question): void {\r\n field.type = question.subType && question.subType.toLowerCase();\r\n field.minLength = question.minLength;\r\n field.maxLength = question.maxLength;\r\n field.minRange = question.rangeMinimum;\r\n field.maxRange = question.rangeMaximum;\r\n field.questionFormat = question.qQuestionFormat;\r\n field.regexValidation = question.regexValidation;\r\n field.visibility = question.visibility;\r\n field.margin = question.margin;\r\n field.parentOValue = question.parentOValue;\r\n field.globalFunction = question.globalFunction;\r\n field.onDemandDataParameters = question.onDemandDataParameters;\r\n field.onDemandDataSubscribers = question.onDemandDataSubscribers;\r\n field.odefault = question.odefault;\r\n if (field.type === 'email') {\r\n field.iconName = field.type;\r\n }\r\n\r\n\r\n const newOrEditQuoteAllowed = JSON.parse(sessionStorage.getItem('newOrEditQuoteAllowed'))?._value;\r\n const isB2BFlow = JSON.parse(sessionStorage.getItem('isb2b'))?._value;\r\n\r\n if ((question.qQuestionType.toLowerCase() === 'quote') && (newOrEditQuoteAllowed === false) && isB2BFlow === false ||\r\n (question?.globalFunction?.toLowerCase()?.includes('disable') && (question?.answerSets?.length === 1) ||\r\n ((question?.globalFunction?.toLowerCase()?.includes('dynamic') &&\r\n !question?.globalFunction?.toLowerCase()?.includes('source')\r\n && (question?.answerSets[0].name !== \"\"))))) { // to disable the textfield if prepopulated\r\n field.readOnly = true;\r\n field.disableMatFormField = true;\r\n\r\n }\r\n\r\n const previousAnswer = question.answerSets?.filter(ans => ans.isAnswered).pop();\r\n field.value = previousAnswer && previousAnswer?.name;\r\n }\r\n\r\n protected getInstance() {\r\n return new CurrencyBoxField();\r\n }\r\n}\r\n","import { IFieldMapperStrategy } from './field-mapper-strategy';\r\nimport { DatePickerFieldMapper } from './date-picker-field-mapper';\r\nimport { TextboxFieldMapper } from './textbox-field-mapper';\r\nimport { DropDownFieldMapper } from './dropdown-field-mapper';\r\nimport { TextAreaFieldMapper } from './textarea-field-mapper';\r\nimport { RecaptchaFieldMapper } from './recaptcha-field-mapper';\r\nimport { CurrencyboxFieldMapper } from './currencybox-field-mapper';\r\nimport { CheckboxFieldMapper } from './checkbox-field-mapper';\r\n\r\n\r\nexport const mappers: IFieldMapperStrategy[] = [\r\n new DatePickerFieldMapper(),\r\n new TextboxFieldMapper(),\r\n new TextAreaFieldMapper(),\r\n new DropDownFieldMapper(),\r\n new RecaptchaFieldMapper(),\r\n new CurrencyboxFieldMapper(),\r\n new CheckboxFieldMapper()\r\n];\r\n","import { Injectable } from '@angular/core';\r\nimport { FormFieldBase } from '../../../form-field/form-field-base';\r\nimport { Question } from '../../../models';\r\nimport * as fromStrategies from './strategies';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FieldMapper {\r\n\r\n public map(question: Question,\r\n errorMessage?: string | string[],\r\n callToActionLabel?: string,\r\n order?: number,\r\n formFieldIteration?: number): FormFieldBase {\r\n for (const mapper of fromStrategies.mappers.sort((a, b) => a.order - b.order)) {\r\n if (mapper.canMap(question)) {\r\n return mapper.map(question, errorMessage, callToActionLabel, order, formFieldIteration);\r\n }\r\n }\r\n }\r\n}\r\n","import { ChangeDetectorRef, Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { LayoutService } from 'projects/wtw-ui-components/src/lib/services/layout/layout.service';\r\nimport { SharedSettingsService } from 'projects/wtw-ui-components/src/lib/services/settings/settings-base.service';\r\nimport { ReCaptchaV3Service } from 'ngx-captcha';\r\n\r\n@Component({\r\n selector: 'lib-recaptcha-v2',\r\n templateUrl: './recaptcha-v2.component.html',\r\n styleUrls: ['./recaptcha-v2.component.scss']\r\n})\r\nexport class RecaptchaV2Component implements OnInit {\r\n\r\n public siteKey = '6LeELWgdAAAAADHHjwa8oio-sa-_3sZOF693kJeQ';\r\n public scriptUrl = `https://www.google.com/recaptcha/api.js?render=${this.siteKey}`;\r\n public lang = 'en';\r\n public action = 'homepage';\r\n public token = '';\r\n public recaptcha: any;\r\n public captchaVerified = false;\r\n @Input() field: any;\r\n @Input() form: FormGroup;\r\n @Output() cToAction = new EventEmitter();\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private layoutService: LayoutService,\r\n private settingsService: SharedSettingsService,\r\n private reCaptchaV3Service: ReCaptchaV3Service) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n ngOnInit() {\r\n if (this.settingsService.languageCode) {\r\n this.setLanguage(this.settingsService.languageCode.split('-')[0].toString());\r\n }\r\n }\r\n\r\n callToActionOnClick() {\r\n this.cToAction.emit();\r\n }\r\n\r\n getSpecificErrorMessage() {\r\n if (this.formControl.hasError('required')) {\r\n return this.mandatoryErrorMessage;\r\n }\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n setLanguage(lang: string): void {\r\n this.lang = lang;\r\n }\r\n\r\n recaptchaVerified() {\r\n\r\n this.settingsService.recaptchaVerified = true;\r\n this.captchaVerified = !this.captchaVerified;\r\n\r\n // this.reCaptchaV3Service.execute(this.siteKey,\r\n // this.action,\r\n // (token) => {\r\n // this.settingsService.recaptchaToken = token;\r\n // this.catchaVerified = true;\r\n // }, {\r\n // useGlobalDomain: true, // optional\r\n // });\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n \r\n {{field.label}}\r\n \r\n \r\n \"Recaptcha\"\r\n \r\n
\r\n
\r\n\r\n","
\r\n \r\n
","import { Component, OnInit, OnDestroy, Input } from '@angular/core';\r\nimport { Router, NavigationStart } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { NotificationAlertService } from '../../../services/notification-alert/notification-alert.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-notification-alert',\r\n templateUrl: 'notification-alert.component.html',\r\n styleUrls: ['./notification-alert.component.scss']\r\n})\r\nexport class NotificationAlertComponent implements OnInit, OnDestroy {\r\n @Input() id = 'default-alert';\r\n @Input() fade = true;\r\n @Input() field;\r\n\r\n alerts = [];\r\n alertSubscription: Subscription;\r\n routeSubscription: Subscription;\r\n\r\n constructor(\r\n private router: Router,\r\n private alertService: NotificationAlertService) { }\r\n\r\n ngOnInit() {\r\n // subscribe to new alert notifications\r\n this.alertSubscription = this.alertService.onAlert(this.id)\r\n .subscribe(alert => {\r\n // clear alerts when an empty alert is received\r\n if (!alert.message) {\r\n this.alerts.forEach((x, k) => {\r\n if (x.parentQIntentCode === alert.alertType) {\r\n this.alerts.splice(k, 1);\r\n }\r\n });\r\n return;\r\n }\r\n // add alert to array\r\n this.alerts.forEach((x, k) => {\r\n if (x.parentQIntentCode === alert.message.parentQIntentCode) {\r\n this.alerts.splice(k, 1);\r\n }\r\n });\r\n this.alerts.push(alert);\r\n });\r\n\r\n // clear alerts on location change\r\n this.routeSubscription = this.router.events.subscribe(event => {\r\n if (event instanceof NavigationStart) {\r\n this.alertService.clear(this.id);\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n // unsubscribe to avoid memory leaks\r\n this.alertSubscription.unsubscribe();\r\n this.routeSubscription.unsubscribe();\r\n }\r\n\r\n\r\n}\r\n","
\r\n \r\n \r\n \r\n\r\n {{currencyText}} \r\n\r\n \r\n {{field.iconName}}\r\n \r\n \r\n \r\n {{getSpecificErrorMessage()}}\r\n \r\n\r\n \r\n \r\n
\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { CurrencyBoxField } from '../../../form-field/currencybox-field';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { CurrencyFormatPipe } from '../../../../shared/pipes/currency-format.pipe';\r\n\r\n@Component({\r\n selector: 'lib-currency-box',\r\n templateUrl: './currency-box.component.html',\r\n styleUrls: ['./currency-box.component.scss']\r\n})\r\nexport class CurrencyBoxComponent implements OnInit {\r\n @Input() field: CurrencyBoxField;\r\n @Input() form: FormGroup;\r\n @Output() cToAction = new EventEmitter(); \r\n @Output() valueChange = new EventEmitter();\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n public emailErrorMessage: string;\r\n public validEmailErrorMessage: string;\r\n public confirmEmailErrorMessage: string;\r\n public minLengthErrorMessage: string;\r\n public maxLengthErrorMessage: string;\r\n public minRangeErrorMessage: string;\r\n public maxRangeErrorMessage: string;\r\n public numericErrorMessage: string;\r\n public invalidValueErrorMessage: string;\r\n public showTooltip = false;\r\n public maxLength: number;\r\n public correctFormatValidationMsg: string;\r\n public currencyText: string;\r\n public validationMessage: string;\r\n\r\n constructor(private layoutService: LayoutService, private sharedSettingsService: SharedSettingsService,\r\n private currencyPipe: CurrencyFormatPipe) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (Array.isArray(this.field.mandatoryValidationMsg)) {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg[0];\r\n this.emailErrorMessage = this.field.mandatoryValidationMsg[1];\r\n this.validEmailErrorMessage = this.field.mandatoryValidationMsg[2];\r\n this.confirmEmailErrorMessage = this.field.mandatoryValidationMsg[3];\r\n this.minLengthErrorMessage = this.field.mandatoryValidationMsg[4];\r\n this.maxLengthErrorMessage = this.field.mandatoryValidationMsg[5];\r\n this.minRangeErrorMessage = this.field.mandatoryValidationMsg[6];\r\n this.maxRangeErrorMessage = this.field.mandatoryValidationMsg[7];\r\n this.numericErrorMessage = this.field.mandatoryValidationMsg[8];\r\n this.invalidValueErrorMessage = this.field.mandatoryValidationMsg[9];\r\n } else {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg;\r\n this.correctFormatValidationMsg = this.field.correctFormatValidationMsg!=null && \r\n this.field.correctFormatValidationMsg!=='' ? this.field.correctFormatValidationMsg: 'Must be money value' ;\r\n }\r\n\r\n if (this.field.key === 'email') {\r\n this.showTooltip = true;\r\n }\r\n if (this.field.label === undefined || this.field.label === null)\r\n {\r\n this.field.label='';\r\n }\r\n\r\n this.currencyText=this.sharedSettingsService.currencyIso4217;\r\n }\r\n\r\n callToActionOnClick() {\r\n this.cToAction.emit();\r\n }\r\n\r\n valueChangeOnKeyPressed(event, data) {\r\n if (event.target.value?.length > 0) {\r\n this.convertToLocaliseCurrency(event);\r\n }\r\n event['tagName']=\"money\";\r\n event['id'] = data.key;\r\n event['qIntentCode'] = data?.qIntentCode;\r\n if (data.globalFunction !== null && data.globalFunction !== \"\") {\r\n event['data'] = data;\r\n }\r\n this.valueChange.emit(event);\r\n\r\n }\r\n\r\n onFocusInEvent()\r\n {\r\n this.validationMessage= '';\r\n }\r\n\r\n onBlurEvent(event)\r\n {\r\n if (event.target.value?.length > 0) {\r\n this.convertToLocaliseCurrency(event);\r\n }\r\n \r\n }\r\n\r\n getSpecificErrorMessage() {\r\n if (this.formControl.hasError('required')) {\r\n return this.mandatoryErrorMessage;\r\n }\r\n \r\n if (this.formControl.hasError('notMatch')) {\r\n return this.confirmEmailErrorMessage;\r\n }\r\n if ((this.formControl.hasError('maxLength')) && (this.field.questionFormat?.toLowerCase() === 'money')) {\r\n return this.maxLengthErrorMessage;\r\n }\r\n\r\n if ((this.formControl.hasError('minLength')) && (this.field.questionFormat?.toLowerCase() === 'money')) {\r\n return this.minLengthErrorMessage;\r\n }\r\n\r\n if ((this.formControl.hasError('pattern')) && ((typeof this.field.regexValidation !== 'undefined' && this.field.regexValidation))) {\r\n return this.correctFormatValidationMsg;\r\n }\r\n\r\n if ((this.formControl.hasError('pattern')) && (this.field.questionFormat?.toLowerCase() === 'money')) {\r\n return this.invalidValueErrorMessage;\r\n }\r\n\r\n }\r\n convertToLocaliseCurrency(event) {\r\n const formattedValue = this.sharedSettingsService.reverseFormatNumber(event.target.value);\r\n if (this.formControl.valid) {\r\n const localizedFormat = this.currencyPipe.transform(formattedValue)\r\n event.target.value = localizedFormat;\r\n this.form.get(this.field.key).setValue(localizedFormat);\r\n }\r\n }\r\n}\r\n\r\n","\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import {\r\n Component, OnInit, AfterViewInit, Input, EventEmitter, Output,\r\n ChangeDetectorRef, ViewChild, AfterViewChecked, AfterContentChecked, Renderer2\r\n} from '@angular/core';\r\nimport { MCIContext } from '../../../models/mci-context.model';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FieldMapper } from '../..../../field-mapper-strategy/field-mapper';\r\nimport { FormGroup, ValidatorFn, Validators } from '@angular/forms';\r\nimport { Question } from '../../../models';\r\nimport { FormFieldBase } from '../../../form-field/form-field-base';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\nimport { OndemandDataRequest } from '../../../models/ondemanddatarequest.model';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { Element, Parent } from '../../../models/Carrier-Integration/utility.model';\r\nimport { DropDownComponent } from '../../../components/inputs/drop-down/drop-down.component';\r\nimport { AnswerSets } from '../../../../shared/models/answer-sets.model';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\n\r\nconst datePickerErrorMessage = 'Shared.lblDatePickerErrorMessage';\r\nconst editLabel = 'Shared.lblEdit';\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst emailErrorMessageLabel = 'Shared.lblInvalidEmail';\r\nconst minLengthErrorMessageLabel = 'Shared.lblMinLengthErrorMessage';\r\nconst maxLengthErrorMessageLabel = 'Shared.lblMaxLengthErrorMessage';\r\nconst minRangeErrorMessageLabel = 'Shared.lblMinRangeErrorMessage';\r\nconst maxRangeErrorMessageLabel = 'Shared.lblMaxRangeErrorMessage';\r\nconst numericErrorMessageLabel = 'Shared.lblNumericErrorMessage';\r\nconst invalidValueErrorMessageLabel = 'Shared.lblInvalidValue';\r\nconst loaderMessageLabel = 'Shared.lblLoaderMessage';\r\nconst ERROR_NOT_FOUND = 'NotFound';\r\n\r\n@Component({\r\n selector: 'lib-group-panel-data-capture',\r\n templateUrl: './group-panel-data-capture.component.html',\r\n styleUrls: ['./group-panel-data-capture.component.scss']\r\n})\r\nexport class GroupPanelDataCaptureComponent implements OnInit, AfterViewInit, AfterViewChecked, AfterContentChecked {\r\n @Input() qnData: Question;\r\n @Input() groupPanelQnData: Question[];\r\n @Output() updateEmitter = new EventEmitter();\r\n groupPanelForm: FormGroup;\r\n pageFormFields: FormFieldBase[];\r\n subFormFields: FormFieldBase[];\r\n groupQnAnswerObj: Question[];\r\n datePickerErrorMessageText: string;\r\n mandatoryErrorMessageText: string;\r\n emailErrorMessageText: string;\r\n minLengthErrorMessage: string;\r\n maxLengthErrorMessage: string;\r\n minRangeErrorMessage: string;\r\n maxRangeErrorMessage: string;\r\n numericErrorMessage: string;\r\n invalidValueErrorMessage: string;\r\n editLabelText: string;\r\n nextBtn: string;\r\n currentSelection: string;\r\n previousSelection: string;\r\n @Input() maxRepeats: number = 1;\r\n formFieldIteration: number = 1;\r\n parentIntentCode: string = '';\r\n childSpace: number = 15;\r\n qSubDescription: string;\r\n onDemandDataRequestValues: OndemandDataRequest;\r\n onDemandDataPayLoad: OndemandDataRequest;\r\n childElements: Element[] = [];\r\n parent: Parent;\r\n inputParameters: Element[] = []\r\n inputParamValues: Element[] = []\r\n parentChildArray: Element[] = [];\r\n controlType: any;\r\n options: any[] = [];\r\n showChildOfSelectedParentFlag = false;\r\n @ViewChild(DropDownComponent) dropDownComponent: DropDownComponent;\r\n checkboxGroup: any;\r\n isLoading: boolean = false;\r\n loaderMessage: string\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private translate: TranslateService,\r\n private formGroupControlService: FormGroupControlService,\r\n private fieldMapper: FieldMapper,\r\n public questionSetService: QuestionSetService,\r\n private sessionStorageService: SessionStorageService,\r\n private sharedSettingsService: SharedSettingsService,\r\n private renderer: Renderer2\r\n ) {\r\n this.checkboxGroup = new Map()\r\n this.questionSetService.qSubDescriptionObservable.subscribe(qSubDescription => {\r\n // this.showChildOfSelectedParent(this.groupPanelQnData);\r\n this.repeatingElementHeading();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n // this.questionSetService.formFieldIteration = 1;\r\n }\r\n\r\n\r\n submitGroupPanelAnswer(): void {\r\n // ---- set ansewer in below function\r\n this.groupQnAnswerObj = this.setValueToAnswerSetsGroupQn(this.groupPanelQnData);\r\n this.updateEmitter.emit();\r\n\r\n }\r\n\r\n setValueToAnswerSetsGroupQn(groupPanelQnData) {\r\n groupPanelQnData.forEach((qn) => {\r\n const qnIntentCode = qn.qIntentCode;\r\n if (qn?.globalFunction?.toLowerCase()?.includes('dynamic') && !qn?.globalFunction?.toLowerCase()?.includes('source')) {\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === qn.qIntentCode) {\r\n qn.answerSets.length = 0;\r\n const fieldsOptionsVal = [];\r\n if (!fieldsVal?.options && fieldsVal?.value) {\r\n fieldsOptionsVal?.push({ name: fieldsVal?.value, value: fieldsVal?.value });\r\n fieldsVal.options = fieldsOptionsVal;\r\n }\r\n fieldsVal.options?.forEach((optionsVal, index) => {\r\n const answerSet = this.questionSetService.MapLookupChildAnswerSet(optionsVal);\r\n answerSet['active'] = true;\r\n qn.answerSets.push(answerSet);\r\n });\r\n }\r\n })\r\n }\r\n else if (qn?.globalFunction?.toLowerCase()?.includes('metadata') && qn?.globalFunction?.toLowerCase()?.includes('source')) {\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === qn.qIntentCode) {\r\n qn.answerSets.length = 0;\r\n if (fieldsVal?.options) {\r\n fieldsVal.options?.forEach((optionsVal, index) => {\r\n let answerSet = this.questionSetService.MapLookupChildAnswerSet(optionsVal);\r\n if (optionsVal.name !== '' && optionsVal.name !== undefined && optionsVal.value !== '' && optionsVal.value !== undefined) {\r\n if (optionsVal.name !== optionsVal.value) {\r\n answerSet = this.questionSetService.MapLookupChildAnswerSetMetadata(optionsVal);\r\n }\r\n }\r\n answerSet['active'] = true;\r\n qn.answerSets.push(answerSet);\r\n });\r\n }\r\n else {\r\n const optionsVal = [fieldsVal.value, fieldsVal.value];\r\n const answerSet = this.questionSetService.MapLookupChildAnswerSet(optionsVal);\r\n answerSet['active'] = true;\r\n qn.answerSets.push(answerSet);\r\n }\r\n }\r\n\r\n })\r\n\r\n }\r\n // Single input.\r\n if (qn?.answerSets?.length === 1) {\r\n const currentValue = this.groupPanelForm.get(qnIntentCode)?.value;\r\n const currentAnswerSet = qn.answerSets[0];\r\n if (qn.qQuestionFormat.toLowerCase() !== 'recaptcha') {\r\n currentAnswerSet.name = currentValue;\r\n if (currentValue) {\r\n currentAnswerSet.isAnswered = true;\r\n }\r\n }\r\n } else {\r\n if (qn?.answerSets) {\r\n qn?.answerSets.forEach(as => as.isAnswered = false);\r\n const formElement = this.groupPanelForm.get(qnIntentCode);\r\n if (formElement) {\r\n if (qn?.globalFunction?.toLowerCase()?.includes('metadata') && qn?.globalFunction?.toLowerCase()?.includes('source')) {\r\n const formData = this.groupPanelForm.get(qnIntentCode);\r\n const answeredData = qn.answerSets.filter(ans => ans.name === formData.value).pop();\r\n\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n if (answeredData.childQuestionSets?.length > 0) {\r\n this.setValueToAnswerSetsGroupQn(answeredData.childQuestionSets)\r\n }\r\n\r\n }\r\n }\r\n else {\r\n if (qn?.qQuestionFormat.toLowerCase() === 'checkbox') {\r\n const answeredData = qn.answerSets.filter(ans => ans.name?.toLowerCase() === formElement?.value?.toString()).pop();\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n if (answeredData.childQuestionSets?.length > 0) {\r\n this.setValueToAnswerSetsGroupQn(answeredData.childQuestionSets)\r\n }\r\n }\r\n }\r\n else {\r\n const answeredData = qn.answerSets.filter(ans => ans.name === formElement.value).pop();\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n if (answeredData.childQuestionSets?.length > 0) {\r\n this.setValueToAnswerSetsGroupQn(answeredData.childQuestionSets)\r\n }\r\n } else if (!answeredData && qn?.globalFunction?.toLowerCase()?.includes('autosuggestion')) {\r\n // To save entered value in auto suggested field\r\n // if value is not available in suggestion list\r\n const currentValue = this.groupPanelForm.get(qnIntentCode)?.value;\r\n const currentAnswerSet = qn.answerSets[0];\r\n currentAnswerSet.name = currentValue;\r\n if (currentValue) {\r\n currentAnswerSet.isAnswered = true;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return this.groupPanelQnData;\r\n }\r\n\r\n\r\n ngAfterViewChecked() {\r\n if (this.sessionStorageService.get('isRepeat') === 'true') {\r\n this.createRepeatingGroup();\r\n this.sessionStorageService.set('isRepeat', 'false');\r\n }\r\n // this.showChildOfSelectedParent(this.groupPanelQnData);\r\n }\r\n ngAfterContentChecked() {\r\n if (this.showChildOfSelectedParentFlag === true) {\r\n this.showChildOfSelectedParent(this.groupPanelQnData);\r\n const state = window.history.state;\r\n if (state && state.isBackwards === true || this.sharedSettingsService.isB2B()) {\r\n this.emitSelectionChange();\r\n }\r\n }\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n this.cdr.detectChanges();\r\n this.showChildOfSelectedParentFlag = true;\r\n // this.showChildOfSelectedParent(this.groupPanelQnData);\r\n }\r\n\r\n private createFormGroup() {\r\n this.qSubDescription = this.qnData.qSubDescription\r\n this.pageFormFields = [];\r\n const questions = this.groupPanelQnData;\r\n if (questions) {\r\n this.createChildGroup(questions);\r\n }\r\n }\r\n\r\n createChildGroup(questions, isRepeat?: string) {\r\n questions.forEach((question, index) => {\r\n question['masterGroupPanelChildQIntentCode'] = this.qnData?.childQIntentCode;\r\n question['isRepeatingGroupToBeNext'] = question?.isRepeatingGroupToBeNext;\r\n this.createLookUpParentChildHierarchy(question);\r\n this.mapFormData(question, index);\r\n this.createGrandChilds(question, 'outerCall', 0)\r\n });\r\n if (this.checkValidationRequired()) {\r\n this.groupPanelForm = this.formGroupControlService.toFormGroup(this.pageFormFields, true);\r\n this.groupPanelForm.setValidators(requireCheckboxesToBeCheckedValidator(this.checkboxGroup));\r\n }\r\n else {\r\n this.groupPanelForm = this.formGroupControlService.toFormGroup(this.pageFormFields);\r\n }\r\n }\r\n\r\n createGrandChilds(question, callType, maxRepeatIndex?: number) {\r\n // if (question.childQIntentCode) {\r\n question?.answerSets?.forEach((subQuestion) => {\r\n if (subQuestion?.childQIntentCode && subQuestion?.childQuestionSets?.length > 0) {\r\n if (callType === 'outerCall') {\r\n this.childSpace = 15;\r\n }\r\n subQuestion.childQuestionSets.forEach((que, ind) => {\r\n que['visibility'] = 'hide';\r\n que['margin'] = this.childSpace;\r\n que['index'] = maxRepeatIndex;\r\n que['masterGroupPanelIntentCode'] = question.masterGroupPanelIntentCode;\r\n que['masterGroupPanelChildQIntentCode'] = this.qnData?.childQIntentCode;\r\n que['isRepeatingGroupToBeNext'] = que?.isRepeatingGroupToBeNext;\r\n if (callType === 'outerCall') {\r\n que['rootParentQIntentCode'] = que.parentQIntentCode;\r\n this.parentIntentCode = que.parentQIntentCode;\r\n // que['masterGroupPanelIntentCode'] = question.masterGroupPanelIntentCode;\r\n } else if (callType === 'innerCall' && this.parentIntentCode) {\r\n que['rootParentQIntentCode'] = this.parentIntentCode;\r\n }\r\n\r\n this.mapFormData(que, ind, question.answerSets);\r\n if (que?.childQIntentCode) {\r\n this.childSpace = this.childSpace + 15;\r\n this.createGrandChilds(que, 'innerCall');\r\n }\r\n });\r\n }\r\n });\r\n // }\r\n }\r\n\r\n mapFormData(question, index, parentQuestionAnswerset?: AnswerSets[]) {\r\n const fieldData = this.fieldMapper.map(\r\n question,\r\n this.getErrorMessageText(question.qQuestionFormat),\r\n this.getEditLabelText(question.qQuestionFormat),\r\n index,\r\n this.questionSetService.formFieldIteration);\r\n\r\n // const existingCustomerDraftQuote = this.sessionStorageService.get('ExistingCustomerDraftQuote');\r\n // const isCopyQuoteAtpClient = this.sharedSettingsService.isCopyQuoteAtpClient;\r\n\r\n if (fieldData) {\r\n fieldData[question.parentQIntentCode];\r\n this.pageFormFields.push(fieldData);\r\n\r\n // if (parentQuestionAnswerset?.some(as => as.isAnswered) && fieldData?.value === undefined && fieldData?.required !== undefined\r\n // && (!existingCustomerDraftQuote || !isCopyQuoteAtpClient) && question?.qQuestionFormat?.toLowerCase() !== 'hidden') {\r\n // fieldData.required = false;\r\n // }\r\n // Added to check if Group checkbox validation required or not\r\n if ((fieldData.controlType === 'checkbox' && fieldData.required === true)\r\n || (parentQuestionAnswerset && this.checkboxGroup && this.checkboxGroup.size > 0\r\n && this.checkboxGroup.has(fieldData.rootParentQIntentCode))) {\r\n this.checkboxGroup.set(fieldData.key, null);\r\n // if it has child and its mandatory\r\n if (parentQuestionAnswerset && this.checkboxGroup?.has(fieldData.rootParentQIntentCode)\r\n && this.checkboxGroup.get(fieldData.rootParentQIntentCode) === null && fieldData.required === true) {\r\n this.checkboxGroup.set(fieldData.rootParentQIntentCode, fieldData.key);\r\n }\r\n\r\n\r\n }\r\n }\r\n }\r\n\r\n onValueChange(event) {\r\n if (event.value && event.value !== '-1' && (event?.data?.onDemandDataSubscribers !== '' && event?.data?.onDemandDataSubscribers)\r\n || event?.data?.globalFunction === 'Disable') {\r\n this.getOndemandDataValues(event);\r\n }\r\n else if (event?.target?.value) {\r\n if (event instanceof PointerEvent) {\r\n this.isLoading = true;\r\n }\r\n event['value'] = event.target.value\r\n this.getOndemandDataValues(event);\r\n }\r\n // to clear the child values if user has chosen clear option\r\n else if ((event.value === '' || event.value === '-1') &&\r\n (event?.data?.onDemandDataSubscribers !== '' && event?.data?.onDemandDataSubscribers)) {\r\n this.clearChildControls(event.data.onDemandDataSubscribers);\r\n }\r\n else if (event.value || event.source) {\r\n this.previousSelection = this.currentSelection;\r\n let qIntentCode;\r\n if (event.value) {\r\n this.currentSelection = event.value;\r\n qIntentCode = event?.qIntentCode;\r\n }\r\n else if (event.source && event.checked !== undefined) {\r\n this.currentSelection = event.checked;\r\n qIntentCode = event?.source.id;\r\n }\r\n\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element?.children;\r\n for (let i = 0; i < children?.length; i++) {\r\n const child = children[i];\r\n if ((child.getAttribute('parentQIntentCode') === qIntentCode) ||\r\n (child.getAttribute('rootParentQIntentCode') === qIntentCode)) {\r\n if (child.getAttribute('pvalue')?.toLowerCase() === this.currentSelection?.toString().toLowerCase()\r\n && qIntentCode === child.getAttribute('parentQIntentCode') && child.getAttribute('isHidden') !== 'true') {\r\n const field = this.pageFormFields?.filter(form => form.qIntentCode === (child.getAttribute('aKey')))[0];\r\n const validatorArray = this.formGroupControlService.addValidatorsToField(field);\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n\r\n if (!event?.persistChildValue) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n }\r\n\r\n // this.getFormField(child.getAttribute('aKey')).setValidators(Validators.required);\r\n this.getFormField(child.getAttribute('aKey')).addValidators(validatorArray);\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n } else if ((qIntentCode !== child.getAttribute('parentQIntentCode')) ||\r\n (child.getAttribute('pvalue')?.toLowerCase() !== this.currentSelection?.toString().toLowerCase())) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n // Replacing master group pannel childQintentcode with actual one\r\n if (child.getAttribute('isrepeatinggrouptobenext')?.toLowerCase() === 'true') {\r\n const masterGroupPanelQuestion = this.questionSetService.internalQuestionSet\r\n .find(q => q.qIntentCode === this.qnData?.masterGroupPanelIntentCode);\r\n const masterGroupPanelQuestionIndex = this.questionSetService.internalQuestionSet\r\n .findIndex(q => q.qIntentCode === this.qnData?.masterGroupPanelIntentCode);\r\n this.questionSetService.resetSelectedRepeatingGroup(masterGroupPanelQuestion, masterGroupPanelQuestion,\r\n false, masterGroupPanelQuestionIndex);\r\n this.questionSetService.internalQuestionSet[masterGroupPanelQuestionIndex].childQIntentCode =\r\n masterGroupPanelQuestion?.masterGroupPanelChildQIntentCode;\r\n }\r\n if (!event?.persistChildValue) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n }\r\n this.getFormField(child.getAttribute('aKey')).clearValidators();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n }\r\n }\r\n }\r\n if (event instanceof Event || event instanceof KeyboardEvent) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n }\r\n\r\n private getErrorMessageText(questionType: string): string | string[] {\r\n return questionType.toLowerCase() === 'datepicker'\r\n ? this.datePickerErrorMessageText\r\n : (questionType.toLowerCase() === 'text' || questionType.toLowerCase() === 'textarea'\r\n || questionType.toLowerCase() === 'money')\r\n ? [\r\n this.mandatoryErrorMessageText,\r\n this.emailErrorMessageText,\r\n '',\r\n '',\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage,\r\n '',\r\n '',\r\n '',\r\n this.invalidValueErrorMessage\r\n ] // Todo: change from positional to KVP.\r\n : questionType.toLowerCase() === 'numeric'\r\n ? [\r\n this.mandatoryErrorMessageText,\r\n '',\r\n '',\r\n '',\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage,\r\n this.minRangeErrorMessage,\r\n this.maxRangeErrorMessage,\r\n this.numericErrorMessage,\r\n '',] // Todo: change from positional to KVP.\r\n : this.mandatoryErrorMessageText;\r\n }\r\n\r\n private getEditLabelText(questionType: string): string {\r\n return questionType.toLowerCase() === 'datepicker' ? this.editLabelText : '';\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n datePickerErrorMessage,\r\n mandatoryErrorMessageLabel,\r\n emailErrorMessageLabel,\r\n minLengthErrorMessageLabel,\r\n maxLengthErrorMessageLabel,\r\n minRangeErrorMessageLabel,\r\n maxRangeErrorMessageLabel,\r\n numericErrorMessageLabel,\r\n invalidValueErrorMessageLabel,\r\n editLabel,\r\n loaderMessageLabel]).subscribe((res) => {\r\n this.datePickerErrorMessageText = res[datePickerErrorMessage];\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.emailErrorMessageText = res[emailErrorMessageLabel];\r\n this.minLengthErrorMessage = res[minLengthErrorMessageLabel];\r\n this.maxLengthErrorMessage = res[maxLengthErrorMessageLabel];\r\n this.minRangeErrorMessage = res[minRangeErrorMessageLabel];\r\n this.maxRangeErrorMessage = res[maxRangeErrorMessageLabel];\r\n this.numericErrorMessage = res[numericErrorMessageLabel];\r\n this.invalidValueErrorMessage = res[invalidValueErrorMessageLabel];\r\n this.editLabelText = res[editLabel];\r\n this.loaderMessage = res[loaderMessageLabel];\r\n });\r\n }\r\n\r\n getFormField(key: string) {\r\n return this.groupPanelForm?.get(key);\r\n }\r\n onAddAnotherClick() {\r\n if (this.questionSetService.formFieldIteration < this.maxRepeats) {\r\n this.setValueToAnswerSetsGroupQn(this.groupPanelQnData);\r\n this.questionSetService.formFieldIteration = this.questionSetService.formFieldIteration + 1;\r\n this.sessionStorageService.set('isRepeat', 'true')\r\n this.createChildGroup(this.groupPanelQnData, 'true');\r\n }\r\n }\r\n\r\n createRepeatingGroup() {\r\n // this.showHideIteration(this.questionSetService.formFieldIteration, 'reset');\r\n this.repeatingElementHeading();\r\n }\r\n\r\n showHideIteration(formFieldIteration, type) {\r\n this.groupPanelQnData.forEach((question) => {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element?.children;\r\n for (let i = 0; i < children?.length; i++) {\r\n const child = children[i];\r\n if (parseInt(child.getAttribute('iterationIndex')) === formFieldIteration && child.getAttribute('aKey') === question.qIntentCode) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n if (type === 'reset') {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n } else if (parseInt(child.getAttribute('iterationIndex')) !== formFieldIteration) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n }\r\n }\r\n });\r\n }\r\n\r\n repeatingElementHeading() {\r\n if (this.qnData && this.qnData?.qSubDescription) {\r\n this.qSubDescription = this.qnData.qSubDescription + ' (' + this.questionSetService.formFieldIteration + ')';\r\n }\r\n }\r\n\r\n\r\n showChildOfSelectedParent(questions) {\r\n this.showChildOfSelectedParentFlag = false;\r\n questions.forEach((question) => {\r\n this.showParent(question);\r\n this.showGrandChild(question);\r\n });\r\n }\r\n\r\n showGrandChild(question) {\r\n // if (question?.childQIntentCode) {\r\n question?.answerSets?.forEach((ques) => {\r\n if (ques?.childQIntentCode && ques?.childQuestionSets?.length > 0) {\r\n ques.childQuestionSets.forEach((que) => {\r\n const parentQIntentCode = que?.parentQIntentCode;\r\n const parentQIntentCodeValue = this.getFormField(parentQIntentCode)?.value;\r\n if (parentQIntentCodeValue) {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element?.children;\r\n for (let i = 0; i < children?.length; i++) {\r\n const child = children[i];\r\n if (que.parentQIntentCode === child.getAttribute('rootParentQIntentCode') ||\r\n que.parentQIntentCode === child.getAttribute('parentqintentcode')) {\r\n if (((child.getAttribute('pvalue')?.toLowerCase() ===\r\n this.getFormField(child.getAttribute('parentQIntentCode'))?.value?.toString().toLowerCase()) ||\r\n (!child.getAttribute('parentQIntentCode')\r\n && child.getAttribute('pvalue')?.toLowerCase() === parentQIntentCodeValue.toString().toLowerCase()))\r\n && child.getAttribute('isHidden') !== 'true') {\r\n const field = this.pageFormFields?.filter(form => form.qIntentCode === (child.getAttribute('aKey')))[0];\r\n const validatorArray = this.formGroupControlService.addValidatorsToField(field);\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n this.getFormField(child.getAttribute('aKey')).addValidators(validatorArray);\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n } else if ((child.getAttribute('pvalue')?.toLowerCase() !==\r\n this.getFormField(child.getAttribute('parentQIntentCode'))?.value?.toString().toLowerCase())\r\n || (!child.getAttribute('parentQIntentCode')\r\n && child.getAttribute('pvalue')?.toLowerCase() !== parentQIntentCodeValue.toString().toLowerCase()\r\n )) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n if (child.getAttribute('aKey')) {\r\n if (!question?.persistChildValue) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n }\r\n this.getFormField(child.getAttribute('aKey')).clearValidators();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (que?.childQIntentCode) {\r\n this.showGrandChild(que);\r\n }\r\n });\r\n }\r\n });\r\n // }\r\n }\r\n\r\n showParent(question) {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element?.children;\r\n for (let i = 0; i < children?.length; i++) {\r\n const child = children[i];\r\n if (child.getAttribute('aKey') === question.qIntentCode && !question.isHidden) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n } else if (child.getAttribute('aKey') === question.qIntentCode) {\r\n // else if(parseInt(child.getAttribute('iterationIndex')) !== this.questionSetService.formFieldIteration){\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n }\r\n }\r\n }\r\n\r\n // look up functions start\r\n // get child options in response\r\n getOndemandDataValues(event) {\r\n this.childElements = [];\r\n this.parentChildArray = [];\r\n this.controlType = [];\r\n if (event.tagName === 'SELECT') {\r\n this.controlType = \"SELECT\";\r\n }\r\n else if (event.tagName === 'text') {\r\n this.controlType = \"text\";\r\n }\r\n\r\n let selectedValue;\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element?.children;\r\n if (event?.data) {\r\n\r\n let hasMetadaInGlobalFunction: boolean = false;\r\n const rootLevelParentName: string = event.data?.onDemandDataParameters?.split(',').map(s => s.trim())[0];\r\n if (rootLevelParentName && rootLevelParentName.trim().length !== 0\r\n && rootLevelParentName.toLowerCase() !== event?.id?.toLowerCase()) {\r\n const rootLevelParent = this.pageFormFields.find(field => field.key.toLowerCase() === rootLevelParentName.toLowerCase());\r\n hasMetadaInGlobalFunction = rootLevelParent ? rootLevelParent?.globalFunction?.toLowerCase().includes('metadata') : false;\r\n }\r\n\r\n // if dropdown is child dropdown\r\n if (event?.data?.lookupPQIntentCode !== '' && event?.data?.lookupPQIntentCode) {\r\n // get the intend code and options of parents and its subchilds\r\n this.getPIntendCodeValue(children, '', event);\r\n } else {\r\n // if lookupPQIntentCode is not set and is Child Dropdown.(When answerset of childQuestionset contains questions.)\r\n // if dropdown is parent dropdown\r\n const onDemandDataParameters = event.data?.onDemandDataParameters\r\n && event.data.onDemandDataParameters !== '' ? event.data.onDemandDataParameters.split(',').map(s => s.trim())\r\n : [];\r\n\r\n onDemandDataParameters.forEach(parent => {\r\n const controlValue = this.pageFormFields.find(field => field.key.toLowerCase() === parent.toLowerCase());\r\n const selectedText = this.getFormField(parent).value;\r\n const selectedValue = controlValue?.selectedId;\r\n const type = this.controlType?.toLowerCase() === \"text\" ? this.questionSetService.getControlType(controlValue.controlType)\r\n : this.controlType;\r\n this.parentChildArray.push(\r\n {\r\n name: parent,\r\n selectedText: selectedText,\r\n type: type,\r\n selectedValue: hasMetadaInGlobalFunction ? selectedValue : selectedText,\r\n value: null\r\n });\r\n });\r\n\r\n if (this.parentChildArray?.length === 0 && !hasMetadaInGlobalFunction) {\r\n const controlValue = this.getFormField(event?.data?.qIntentCode).value;\r\n this.parentChildArray.push(\r\n {\r\n name: event?.data?.qIntentCode,\r\n selectedText: controlValue,\r\n type: this.controlType,\r\n selectedValue: controlValue,\r\n value: null\r\n });\r\n }\r\n }\r\n\r\n // added this code to pass the id of selected option if intentcode is configured with metadata property\r\n selectedValue = event.value;\r\n const grantParent = event?.data?.onDemandDataParameters?.split(',').map(s => s.trim())[0];\r\n\r\n this.groupPanelQnData?.filter(ques => {\r\n\r\n // checking if either parent or child intentcode configure with metadata property\r\n if ((grantParent && ques?.qIntentCode === grantParent && ques.globalFunction !== null\r\n && ques?.globalFunction !== \"\" && ques?.globalFunction?.toLowerCase()?.includes('metadata') ||\r\n (event?.data?.globalFunction !== null && event.data.globalFunction !== \"\"\r\n && event?.data?.globalFunction?.toLowerCase()?.includes('metadata')))) {\r\n\r\n selectedValue = event.data?.selectedId;\r\n\r\n }\r\n\r\n })\r\n\r\n\r\n // get childelements\r\n event.data.onDemandDataSubscribers.split(',').forEach((value, index, array) => {\r\n const control = this.pageFormFields.find(field => field.key.toLowerCase() === value.toLowerCase().trim());\r\n if (control) {\r\n this.childElements.push(\r\n {\r\n name: value?.trim(),\r\n selectedText: null,\r\n selectedValue: null,\r\n type: this.questionSetService.getControlType(control.controlType),\r\n value: null,\r\n });\r\n }\r\n });\r\n // get parent\r\n const parentField = this.pageFormFields.find(p => p.key.toLowerCase() === event.id?.trim()?.toLowerCase());\r\n if (hasMetadaInGlobalFunction && parentField.selectedId) {\r\n selectedValue = parentField.selectedId;\r\n }\r\n\r\n this.parent = {\r\n name: event.id?.trim(),\r\n selectedText: event.value,\r\n selectedValue: selectedValue,\r\n type: this.controlType,\r\n value: selectedValue,\r\n endPointUrl: null\r\n }\r\n\r\n let backendsystem = \"\";\r\n if (event?.data?.globalFunction?.toLowerCase()?.includes('metadata')) {\r\n backendsystem = MCIContext[3];\r\n }\r\n else { backendsystem = \"None\" }\r\n\r\n // payload value\r\n this.onDemandDataPayLoad = {\r\n backEndSystem: backendsystem,\r\n childElements: this.childElements,\r\n inputParameters: this.parentChildArray,\r\n parent: this.parent,\r\n productName: this.sessionStorageService.get('ProductName'),\r\n globalFunction: event.data.globalFunction,\r\n quoteId: this.sessionStorageService.get('QuoteReferenceID'),\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n sponsorName: this.sessionStorageService.get('SponsorName'),\r\n userId: ''\r\n };\r\n\r\n // api call\r\n this.questionSetService.getOnDemandDataRequest(this.onDemandDataPayLoad).then((observerResponse: OndemandDataRequest) => {\r\n if (observerResponse?.globalFunction?.toLowerCase()?.includes('autosuggestion') &&\r\n observerResponse?.optionsList.length > 0) {\r\n // To map result in auto suggestion list\r\n const optionsList = [];\r\n this.groupPanelQnData?.forEach(qnData => {\r\n if (qnData.qIntentCode === observerResponse.inputParameters[0].name) {\r\n const result = this.pageFormFields?.filter(formFieldVal => formFieldVal.key === qnData.qIntentCode)[0];\r\n observerResponse?.optionsList.forEach(opt => {\r\n const answerSet = this.questionSetService.MapAnswerSetMetadata({ text: opt, id: opt, value: opt });\r\n qnData.answerSets.push(answerSet);\r\n optionsList.push(answerSet.name);\r\n result.autoSuggestionList = optionsList;\r\n });\r\n }\r\n });\r\n } else {\r\n observerResponse?.childElements?.forEach((value, index, array) => {\r\n if ((this.groupPanelForm.controls[value.name]?.touched !== false &&\r\n this.groupPanelForm.controls[value.name]?.status !== \"INVALID\")\r\n || this.groupPanelForm.controls[value.name]?.value !== '') {\r\n if (!event?.isEmitted) {\r\n this.clearChildControls(value.name, value.type);\r\n }\r\n }\r\n this.options = [];\r\n if (value?.lookupData?.length > 0) {\r\n // to add clear option if response option is only one\r\n // if (value?.lookupData?.length < 2) {\r\n // this.options?.push({ name: '', value: '' });\r\n // }\r\n // bind the value for dropdown options\r\n value?.lookupData?.forEach(lookupDataValue => {\r\n this.options?.push({ name: lookupDataValue?.text, value: lookupDataValue?.value })\r\n })\r\n // binding the options in dropdown\r\n if (value.type === 'SELECT') {\r\n let toDisableControl = false;\r\n this.pageFormFields?.filter(fieldsVal => {\r\n\r\n // pushing the options along with id as id needs to pass in input parameter\r\n if (fieldsVal?.onDemandDataParameters !== '' && fieldsVal?.onDemandDataParameters !== null) {\r\n const isMetadata = this.pageFormFields?.\r\n find(field => field.qIntentCode === fieldsVal?.onDemandDataParameters?.split(',').\r\n map(s => s.trim())[0])?.globalFunction.toLowerCase()?.includes('metadata');\r\n\r\n if (isMetadata) {\r\n this.options = [];\r\n value?.lookupData?.forEach(lookupDataValue => {\r\n this.options?.push({ name: lookupDataValue?.text, value: lookupDataValue?.text, id: lookupDataValue?.value })\r\n })\r\n }\r\n\r\n }\r\n\r\n if (fieldsVal.key === value.name) {\r\n fieldsVal.options = this.options;\r\n\r\n // *** if the lookup has single option then we have to disable and autoselect that value ***//\r\n if (value?.lookupData?.length === 1) {\r\n const matSelect = this.groupPanelForm.get(value.name);\r\n matSelect.setValue(this.options[0].value, { emitEvent: true });\r\n toDisableControl = true;\r\n this.cdr.detectChanges();\r\n //* ** trigger SelectionChange() event ***/\r\n if (fieldsVal.controlType === \"dropdown\") {\r\n const data = this.pageFormFields.filter(field => field.key === value.name)[0];\r\n const selected = { value: this.options[0].value };\r\n this.dropDownComponent.onSelectionChange(selected, data);\r\n }\r\n }\r\n fieldsVal.readOnly = toDisableControl;\r\n fieldsVal.disableMatFormField = toDisableControl;\r\n }\r\n });\r\n }\r\n else {\r\n this.groupPanelForm.get(value.name).setValue(this.options);\r\n }\r\n }\r\n else if (!value?.lookupData && value?.value !== '' && value?.value !== null && value?.value !== undefined) {\r\n this.groupPanelForm.get(value.name).setValue(value.value);\r\n this.groupPanelForm.get(value.name).disabled;\r\n\r\n if (observerResponse?.error === ERROR_NOT_FOUND) {\r\n this.highlightElementAsNotFound(value.name);\r\n } else {\r\n this.removeHighlight(value.name);\r\n }\r\n this.pageFormFields?.filter(fieldsVal => {\r\n if (fieldsVal.key === value.name) {\r\n fieldsVal.value = value.value;\r\n }\r\n });\r\n }\r\n })\r\n }\r\n this.isLoading = false;\r\n });\r\n }\r\n }\r\n\r\n // method to clear child options when user reselect or clear the options\r\n clearChildControls(childQIntentCode, type?) {\r\n this.options = []; // to clear the previous value that user selected in array\r\n this.options?.push({ name: '', value: '' }) // to display empty value on UI\r\n\r\n // if 'onDemandDataSubscribers' has more that one child to iterate the childs\r\n if (childQIntentCode?.includes(',')) {\r\n const childQIntentCodes = childQIntentCode?.split(',').map(s => s.trim());\r\n if (childQIntentCodes?.length > 0) {\r\n childQIntentCodes.filter((child) => {\r\n this.clearChildControls(child); // passing the next child\r\n })\r\n }\r\n\r\n }\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === childQIntentCode) {\r\n this.getFormField(childQIntentCode).reset();\r\n this.getFormField(childQIntentCode).updateValueAndValidity();\r\n fieldsVal.options = this.options;\r\n fieldsVal.readOnly = true;\r\n fieldsVal.value = '';\r\n if (fieldsVal?.onDemandDataSubscribers !== '' && fieldsVal?.onDemandDataSubscribers !== null\r\n && fieldsVal.onDemandDataSubscribers !== undefined) {\r\n\r\n this.clearChildControls(fieldsVal.onDemandDataSubscribers);\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n getPIntendCodeValue(children, parentValue?, event?) {\r\n for (let i = 0; i < children?.length; i++) {\r\n if (!children[i]?.className?.includes('description-label') && !children[i]?.className?.includes('notification-alert')) {\r\n const parent = children[i];\r\n if (parentValue && parentValue?.getAttribute('lookupPQIntentCode') !== '') {\r\n if (parentValue.getAttribute('lookupPQIntentCode') !== null && parent.getAttribute('qIntentCode') !== null\r\n && parentValue.getAttribute('lookupPQIntentCode') === parent.getAttribute('qIntentCode')) {\r\n\r\n const parentControlValue = this.getFormField(parent.getAttribute('qIntentCode')).value;\r\n let parentControlId = parentControlValue;\r\n\r\n if (this.pageFormFields.filter(x => x.qIntentCode === parentValue?.getAttribute('lookupPQIntentCode'))[0]\r\n .globalFunction?.toLowerCase()?.includes('metadata')) {\r\n parentControlId = this.pageFormFields.filter(x => x.qIntentCode === parentValue?.\r\n getAttribute('lookupPQIntentCode'))[0].options.find(x => x.name === parentControlValue).id\r\n }\r\n\r\n this.parentChildArray.push(\r\n {\r\n lookupData: null,\r\n name: parentValue.getAttribute('lookupPQIntentCode'),\r\n selectedText: parentControlValue,\r\n type: this.controlType,\r\n selectedValue: parentControlId,\r\n value: null\r\n });\r\n this.getPIntendCodeValue(children, parent, '');\r\n }\r\n }\r\n else if (event !== null && children !== null && event?.data?.lookupPQIntentCode !== '' && event?.data?.lookupPQIntentCode) {\r\n if ((event?.data?.lookupPQIntentCode === parent?.getAttribute('qIntentCode'))) {\r\n // let parent=child.getAttribute('lookupPQIntentCode')\r\n let selectedValue;\r\n let parentSelectedValue;\r\n const controlValue = this.getFormField(event?.data?.qIntentCode).value;\r\n const parentControlValue = this.getFormField(event?.data?.lookupPQIntentCode).value;\r\n const grantParent = event?.data?.onDemandDataParameters?.split(',').map(s => s.trim())[0];\r\n selectedValue = controlValue;\r\n parentSelectedValue = parentControlValue;\r\n\r\n const isMetaData = this.groupPanelQnData?.find((intentCode) => intentCode.qIntentCode === (grantParent)).\r\n globalFunction?.toLowerCase()?.includes('metadata');\r\n\r\n // as child intent code doesnt have keyword configured in globalfunction checking whether parent has configured with metadata\r\n if (isMetaData) {\r\n this.pageFormFields?.filter(parentques => {\r\n\r\n if (parentques.qIntentCode === event?.data?.lookupPQIntentCode) {\r\n parentSelectedValue = parentques?.options.find((answer) => answer?.name === (parentControlValue)).id\r\n selectedValue = event.data.selectedId;\r\n }\r\n\r\n })\r\n }\r\n\r\n if (parent.getAttribute('lookupPQIntentCode') !== '') {\r\n this.getPIntendCodeValue(children, parent, '');\r\n }\r\n this.parentChildArray.push(\r\n {\r\n name: event?.data?.lookupPQIntentCode,\r\n selectedText: parentControlValue,\r\n type: this.controlType,\r\n selectedValue: parentSelectedValue,\r\n value: null\r\n },\r\n {\r\n name: event?.data?.qIntentCode,\r\n selectedText: controlValue,\r\n type: this.controlType,\r\n selectedValue: selectedValue,\r\n value: null\r\n });\r\n // this.parentChildArray.push({name:event?.data?.lookupPQIntentCode});\r\n // event.data.lookupPQIntentCode='';\r\n\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n\r\n createLookUpParentChildHierarchy(question: Question) {\r\n const grandParent = this.qnData.childQuestionSets.\r\n filter(x => x.qIntentCode === question.onDemandDataParameters?.split(',').map(s => s.trim())[0])\r\n\r\n if (question?.globalFunction?.toLowerCase()?.includes('source')) {\r\n question['lookupPQIntentCode'] = ''\r\n if (question.globalFunction?.toLowerCase()?.includes('metadata')) {\r\n const ParentArray = question.onDemandDataParameters?.split(',').map(s => s.trim());\r\n if (ParentArray?.length > 1) {\r\n question['lookupPQIntentCode'] = ParentArray[ParentArray.length - 2];\r\n }\r\n else {\r\n question['lookupPQIntentCode'] = ''\r\n }\r\n\r\n }\r\n\r\n }\r\n else if (question.globalFunction?.toLowerCase()?.includes('dynamic')) {\r\n const ParentArray = question.onDemandDataParameters?.split(',').map(s => s.trim());\r\n question['lookupPQIntentCode'] = ParentArray[ParentArray.length - 2];\r\n }\r\n // added this code to get the child options for metadata configuration\r\n else if (grandParent?.length > 0 && grandParent[0].globalFunction?.toLowerCase()?.includes('metadata')) {\r\n const ParentArray = question.onDemandDataParameters?.split(',').map(s => s.trim());\r\n question['lookupPQIntentCode'] = ParentArray[ParentArray.length - 1];\r\n }\r\n }\r\n\r\n emitSelectionChange() {\r\n this.groupPanelQnData.forEach((qn) => {\r\n if (qn?.globalFunction?.toLowerCase()?.includes('dynamic')) {\r\n //* ** trigger SelectionChange() event ***/\r\n if (qn.answerSets?.length > 0) {\r\n qn.answerSets.forEach(q => {\r\n if (q.isAnswered === true && q.name !== \"\") {\r\n const data = this.pageFormFields.filter(field => field.key === qn.qIntentCode)[0];\r\n const selected = { value: q.name, isEmitted: true };\r\n if (data?.controlType === \"dropdown\") {\r\n this.dropDownComponent.onSelectionChange(selected, data);\r\n }\r\n }\r\n });\r\n }\r\n }\r\n });\r\n }\r\n // look up functions end\r\n\r\n // Check if its a Checkbox group and one selection reqired\r\n checkValidationRequired() {\r\n if (this.checkboxGroup && this.pageFormFields && this.checkboxGroup.size > 1 &&\r\n this.checkboxGroup.size === this.pageFormFields.length) {\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n private highlightElementAsNotFound(elementId: string): void {\r\n const element = this.renderer.selectRootElement(`#${elementId}`, true);\r\n this.renderer.setStyle(element, 'color', 'red');\r\n }\r\n\r\n private removeHighlight(elementId: string): void {\r\n const element = this.renderer.selectRootElement(`#${elementId}`, true);\r\n this.renderer.removeStyle(element, 'color');\r\n }\r\n\r\n\r\n}\r\nexport function requireCheckboxesToBeCheckedValidator(checkGroup: any, minRequired = 1): ValidatorFn {\r\n return function validate(formGroup: FormGroup) {\r\n let checked = 0;\r\n\r\n Object.keys(formGroup.controls).forEach(key => {\r\n const control = formGroup.controls[key];\r\n if (control.value === true && checkGroup.has(key)) {\r\n // Check if it has any child\r\n const chilControl = formGroup.controls[checkGroup.get(key)];\r\n if (checkGroup.get(key) === null ||\r\n (chilControl && chilControl.value && chilControl.value !== undefined)) {\r\n checked++;\r\n }\r\n }\r\n if (checked >= minRequired && control.invalid) {\r\n control.clearValidators();\r\n control.updateValueAndValidity();\r\n }\r\n });\r\n\r\n if (checked < minRequired) {\r\n return {\r\n requireOneCheckboxToBeChecked: true,\r\n };\r\n }\r\n return null;\r\n };\r\n}\r\n\r\n","import { Component, Input, Output, EventEmitter, OnInit, AfterViewInit, ChangeDetectorRef } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { DatePickerFieldMapper } from '../field-mapper-strategy/strategies/date-picker-field-mapper';\r\nimport { Question } from '../../../models';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\nimport { DatePickerField } from '../../../form-field/date-picker-field';\r\n\r\nconst datePickerErrorMessage = 'Shared.lblDatePickerErrorMessage';\r\nconst editLabel = 'Shared.lblEdit';\r\n\r\n@Component({\r\n selector: 'lib-datepicker-data-capture',\r\n templateUrl: './datepicker-data-capture.component.html',\r\n styleUrls: ['./datepicker-data-capture.component.scss']\r\n})\r\nexport class DatepickerDataCaptureComponent implements OnInit, AfterViewInit {\r\n @Input() qnData: Question;\r\n @Input() nextBtn: string;\r\n @Output() updateEmitter = new EventEmitter();\r\n @Input() offsetBasisQnData: Question;\r\n dateForm: FormGroup;\r\n field: DatePickerField;\r\n datePickerErrorMessageText: string;\r\n editLabelText: string;\r\n offsetValue: string;\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n private translate: TranslateService,\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: DatePickerFieldMapper) { }\r\n\r\n ngOnInit(): void {\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n this.provideOffsetValue();\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdr.detectChanges();\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, this.datePickerErrorMessageText, this.editLabelText, undefined);\r\n this.dateForm = this.formGroupService.toFormGroup([this.field]);\r\n }\r\n\r\n submitDate() {\r\n const momentObj = this.dateForm.get(this.field.key).value;\r\n const val = momentObj.isMoment ? momentObj.format() : momentObj;\r\n const answeredData = this.qnData.answerSets[0];\r\n answeredData.name = val;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([datePickerErrorMessage, editLabel]).subscribe((res) => {\r\n this.datePickerErrorMessageText = res[datePickerErrorMessage];\r\n this.editLabelText = res[editLabel];\r\n });\r\n }\r\n\r\n private provideOffsetValue() {\r\n this.offsetValue = this.offsetBasisQnData && this.offsetBasisQnData.answerSets[0].name;\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
","import { Component, OnInit, Input, EventEmitter, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { TextAreaFieldMapper } from '../field-mapper-strategy/strategies/textarea-field-mapper';\r\nimport { Question } from '../../../models';\r\nimport { TextAreaField } from '../../../form-field/textarea-field';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst minLengthErrorMessageLabel = 'Shared.lblMinLengthErrorMessage';\r\nconst maxLengthErrorMessageLabel = 'Shared.lblMaxLengthErrorMessage';\r\n\r\n@Component({\r\n selector: 'lib-textarea-data-capture',\r\n templateUrl: './textarea-data-capture.component.html',\r\n styleUrls: ['./textarea-data-capture.component.scss']\r\n})\r\nexport class TextAreaDataCaptureComponent implements OnInit {\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n @Input() nextBtn: string;\r\n textareaForm: FormGroup;\r\n field: TextAreaField;\r\n mandatoryErrorMessageText: string;\r\n minLengthErrorMessage: string;\r\n maxLengthErrorMessage: string;\r\n\r\n\r\n constructor(\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: TextAreaFieldMapper,\r\n private translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, [\r\n this.mandatoryErrorMessageText,\r\n '',\r\n '',\r\n '',\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage]);\r\n this.textareaForm = this.formGroupService.toFormGroup([this.field]);\r\n }\r\n\r\n\r\n submitTextAnswer(answeredData): void {\r\n const val = this.textareaForm.get(this.field.key).value;\r\n answeredData.name = val;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n mandatoryErrorMessageLabel,\r\n minLengthErrorMessageLabel,\r\n maxLengthErrorMessageLabel]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.minLengthErrorMessage = res[minLengthErrorMessageLabel];\r\n this.maxLengthErrorMessage = res[maxLengthErrorMessageLabel];\r\n });\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FormGroupControlService } from 'projects/wtw-ui-components/src/lib/services/form-group/form-group.service';\r\nimport { SharedSettingsService } from 'projects/wtw-ui-components/src/lib/services/settings/settings-base.service';\r\nimport { RecaptchaField } from '../../../form-field/re-captcha-field';\r\nimport { Question } from '../../../models';\r\nimport { RecaptchaFieldMapper } from '../field-mapper-strategy/strategies/recaptcha-field-mapper';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\n\r\n@Component({\r\n selector: 'lib-recaptcha-data-capture',\r\n templateUrl: './recaptcha-data-capture.component.html',\r\n styleUrls: ['./recaptcha-data-capture.component.scss']\r\n})\r\nexport class RecaptchaDataCaptureComponent implements OnInit {\r\n\r\n @Input() qnData: Question;\r\n @Output() updateEmitter = new EventEmitter();\r\n @Input() nextBtn: string;\r\n recaptchaForm: FormGroup;\r\n field: RecaptchaField;\r\n mandatoryErrorMessageText: string;\r\n constructor(\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: RecaptchaFieldMapper,\r\n private translate: TranslateService,\r\n private settingsService: SharedSettingsService) { }\r\n\r\n ngOnInit() {\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n }\r\n\r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, [\r\n this.mandatoryErrorMessageText]);\r\n this.recaptchaForm = this.formGroupService.toFormGroup([this.field]);\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([mandatoryErrorMessageLabel]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n });\r\n }\r\n\r\n submitTextAnswer(answeredData): void {\r\n this.updateEmitter.emit();\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { Router } from '@angular/router';\r\nimport { BaseConstantService } from '../constant/base-constant.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ModalContent, SeverityLevel } from '../../shared/models/modal-content';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ModalTemplateComponent } from '../../shared/components/modal/modal-template/modal-template.component';\r\n\r\nconst translationKeys = {\r\n Header: 'Shared.lblNewUIUXSessionTimeoutHeader',\r\n InstructionText1: 'Shared.lblNewUIUXSessionInstructionText1',\r\n InstructionText2: 'Shared.lblNewUIUXSessionInstructionText2',\r\n Seconds: 'Shared.lblNewUIUXSessionTimeInSeconds',\r\n ContinueSession: 'Shared.btnNewUIUXContinueSession',\r\n Logout: 'Shared.btnNewUIUXSessionLogout'\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class IdleUserService {\r\n private inactivityTimeInSeconds;\r\n private countdownTimeInSeconds;\r\n\r\n private timeoutId: any;\r\n private popupCountdown: number = 0;\r\n private dialogRef: any;\r\n\r\n public translatedText = {\r\n Header: '',\r\n InstructionText1: '',\r\n InstructionText2: '',\r\n Seconds: '',\r\n ContinueSession: '',\r\n Logout: ''\r\n }\r\n\r\n constructor(private settingsService: SharedSettingsService,\r\n private translate: TranslateService,\r\n public dialog: MatDialog,\r\n private router: Router) {\r\n this.initListener();\r\n }\r\n\r\n public initIdleUserListener() {\r\n\r\n // if the inactivityMinutes is not configured for sponsor or it doesnt have any valid date, then set 10 min has inactive minutes \r\n const backgroundTimer = (this.settingsService.inActivityMinutesForSessionTimeout\r\n && this.settingsService.inActivityMinutesForSessionTimeout > 0) ? this.settingsService.inActivityMinutesForSessionTimeout : 10;\r\n\r\n const inactivityTimeInMinutes = backgroundTimer - this.settingsService.SessionTimeoutCountdown;\r\n this.inactivityTimeInSeconds = inactivityTimeInMinutes * 60 * 1000;// i.e., 10-2 => 8 minutes\r\n this.countdownTimeInSeconds = this.settingsService.SessionTimeoutCountdown * 60; // i.e., 2 minutes Or 120 seconds\r\n this.startIdleTimer();\r\n }\r\n\r\n private initListener() {\r\n window.addEventListener('mousemove', () => this.reset());\r\n window.addEventListener('click', () => this.reset());\r\n window.addEventListener('keypress', () => this.reset());\r\n window.addEventListener('DOMMouseScroll', () => this.reset());\r\n window.addEventListener('mousewheel', () => this.reset());\r\n window.addEventListener('touchmove', () => this.reset());\r\n window.addEventListener('MSPointerMove', () => this.reset());\r\n }\r\n\r\n private reset() {\r\n if (this.timeoutId && this.inactivityTimeInSeconds) {\r\n clearTimeout(this.timeoutId);\r\n this.startIdleTimer();\r\n }\r\n }\r\n\r\n private startIdleTimer() {\r\n this.timeoutId = setTimeout(() => {\r\n // User Inactivity detected for configured minutes\r\n if (this.dialogRef === undefined) {\r\n this.openSessionTimeoutDialog();\r\n }\r\n clearTimeout(this.timeoutId);\r\n }, this.inactivityTimeInSeconds);\r\n }\r\n\r\n public clearSession() {\r\n // clearing timer and removing events, \r\n // navigate to sesison timeout where the localstorage are cleared\r\n clearTimeout(this.timeoutId);\r\n this.removeListener();\r\n this.dialogRef?.close();\r\n this.router.navigate(['/sessiontimeout'], { replaceUrl: true });\r\n\r\n }\r\n\r\n private removeListener() {\r\n window.removeEventListener('mousemove', () => this.reset());\r\n window.removeEventListener('click', () => this.reset());\r\n window.removeEventListener('keypress', () => this.reset());\r\n window.removeEventListener('DOMMouseScroll', () => this.reset());\r\n window.removeEventListener('mousewheel', () => this.reset());\r\n window.removeEventListener('touchmove', () => this.reset());\r\n window.removeEventListener('MSPointerMove', () => this.reset());\r\n\r\n }\r\n\r\n private openSessionTimeoutDialog(): void {\r\n const countdownTimeInMilliSeconds = this.countdownTimeInSeconds * 1000;\r\n\r\n if (this.applyTranslations()) {\r\n\r\n const modalData: ModalContent = {\r\n\r\n headingText: this.translatedText.Header,\r\n subHeadingAdditionalText: this.translatedText.InstructionText1,\r\n secondsCount: this.countdownTimeInSeconds,\r\n secondsText: this.translatedText.Seconds,\r\n additionalText: '',\r\n instructionText: this.translatedText.InstructionText2,\r\n iconName: 'update',\r\n severityLevel: SeverityLevel.Update,\r\n buttons: [\r\n {\r\n buttonText: this.translatedText.ContinueSession,\r\n tag: true\r\n },\r\n {\r\n buttonText: this.translatedText.Logout,\r\n tag: false,\r\n isSecondary: true,\r\n hasFocus: true\r\n }\r\n ]\r\n };\r\n\r\n this.dialogRef = this.dialog.open(ModalTemplateComponent, {\r\n autoFocus: false, // Required to allow selective focus of button applied above.\r\n data: modalData\r\n });\r\n\r\n\r\n this.dialogRef.afterClosed().subscribe((result: boolean) => {\r\n if (result) {// *** Continue Session ***//\r\n this.dialogRef = undefined;\r\n }\r\n else if (result === false) {//* ** Logout ***//\r\n clearTimeout(this.timeoutId);\r\n this.removeListener();\r\n this.dialogRef?.close();\r\n this.router.navigate(['/logout'], { queryParams: { event: 'sessionlogout' } });\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n public async applyTranslations(): Promise {\r\n await this.translate.get([\r\n translationKeys.Header,\r\n translationKeys.InstructionText1,\r\n translationKeys.InstructionText2,\r\n translationKeys.Seconds,\r\n translationKeys.ContinueSession,\r\n translationKeys.Logout\r\n ]).subscribe((res) => {\r\n this.translatedText.Header = res[translationKeys.Header];\r\n this.translatedText.InstructionText1 = res[translationKeys.InstructionText1];\r\n this.translatedText.InstructionText2 = res[translationKeys.InstructionText2];\r\n this.translatedText.Seconds = res[translationKeys.Seconds];\r\n this.translatedText.ContinueSession = res[translationKeys.ContinueSession];\r\n this.translatedText.Logout = res[translationKeys.Logout];\r\n });\r\n return true;\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

\r\n
\r\n {{data.iconName}}\r\n
\r\n\r\n
\r\n\r\n
0\" class=\"highlight-text\">{{countDownValue}} {{data.secondsText}}
\r\n
\r\n
\r\n\r\n
\r\n {{data.checkboxLabel}}\r\n
\r\n\r\n
\r\n \r\n {{data.textboxLabel}}\r\n \r\n \r\n
\r\n\r\n
0\">\r\n
\r\n {{data.linkLabel}}\r\n
\r\n
\r\n\r\n
4 ,\r\n 'mat-body-container13_list' : data.bodyText.length < 4}\" *ngIf=\"data.bodyText\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{element.attributeName}} Quote {{element.Quote}} Profile {{element.Profile}}
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialog, MAT_DIALOG_DATA, MatDialogRef } from '@angular/material/dialog';\r\nimport { ModalContent } from '../../../models';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { MatBottomSheet } from '@angular/material/bottom-sheet';\r\nimport { BottomsheetComponent } from '../../bottomsheet/bottomsheet.component';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\nimport { Observable, timer } from 'rxjs';\r\nimport { IdleUserService } from '../../../../services/idle-user/idle-user.service';\r\n\r\nconst counter = timer(0, 1000);\r\n\r\n@Component({\r\n selector: 'lib-modal-template',\r\n templateUrl: './modal-template.component.html',\r\n styleUrls: ['./modal-template.component.scss']\r\n})\r\nexport class ModalTemplateComponent implements OnInit {\r\n public countDownValue: number;\r\n private popupTimerSubscription: any;\r\n isCheckboxChecked: boolean;\r\n textboxValue: string;\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: ModalContent,\r\n private layoutService: LayoutService,\r\n public bottomSheet: MatBottomSheet,\r\n private sharedSettingsService: SharedSettingsService,\r\n private idleUserService: IdleUserService\r\n ) { }\r\n displayedColumns: string[] = ['attributeName', 'Quote', 'Profile'];\r\n dataSource = this.data.bodyText;\r\n openBottomSheet() {\r\n const sheetObjectData = {\r\n key: 'privacyPolicy',\r\n label: this.data.linkLabel,\r\n openTo: 'bottomsheet',\r\n title: this.data.linkLabel,\r\n content: this.sharedSettingsService.privacyPolicyData,\r\n enableCloseBtn: true,\r\n overlayPanelClass: 'fullWidthBottomSheet',\r\n buttonText: this.data.sheetButtonText\r\n }\r\n const bottomSheetRef = this.bottomSheet.open(BottomsheetComponent, {\r\n panelClass: 'fullWidthBottomSheet',\r\n data: sheetObjectData\r\n });\r\n bottomSheetRef.afterDismissed().subscribe(result => {\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.dialogRef.disableClose = true; // Only close via button click\r\n this.dialogRef.addPanelClass('full-width-dialog'); // Injects globally declared style.\r\n this.layoutService.subscribeToLayoutChanges();\r\n this.manageScreenSizing();\r\n\r\n this.countDownValue = this.data.secondsCount;\r\n\r\n this.popupTimerSubscription = counter.subscribe(() => {\r\n if (this.data.secondsCount >= 0) {\r\n this.countDownValue = this.countDownValue - 1;\r\n if (this.countDownValue <= 0) {\r\n this.popupTimerSubscription.unsubscribe();\r\n this.idleUserService.clearSession();\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngOnDestroy() {\r\n this.popupTimerSubscription.unsubscribe();\r\n }\r\n\r\n onClick(tag: any): void {\r\n this.dialogRef.close(tag);\r\n // For PBI 301590 - Passing comment for renewal decline only\r\n if (this.data.isRenewal && tag) {\r\n this.sharedSettingsService.UpdateQuoteDeclineRenewalSubject({isSelected: this.isCheckboxChecked, value: this.textboxValue});\r\n }\r\n }\r\n\r\n disableYesButton(tag: boolean): boolean {\r\n return tag && this.data.isRenewal && (!(this.textboxValue?.length > 0) || !this.isCheckboxChecked) ? true : false;\r\n }\r\n\r\n get isMobile(): boolean {\r\n return this.layoutService.isSmallView();\r\n }\r\n\r\n get isTablet(): boolean {\r\n return this.layoutService.isMediumView();\r\n }\r\n\r\n get isDesktop(): boolean {\r\n return this.layoutService.isLargeView();\r\n }\r\n\r\n private manageScreenSizing() {\r\n const width = this.isMobile ? '95%' : '470px';\r\n this.dialogRef.updateSize(width, 'auto');\r\n }\r\n closeDialog() {\r\n this.dialogRef.close('close');\r\n }\r\n}\r\n","import { ModalContent, SeverityLevel } from '../../../../shared/models/modal-content';\r\nimport { ModalTemplateComponent } from '../../../../shared/components/modal/modal-template/modal-template.component';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\nimport { Subject } from 'rxjs';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\nconst headingInstructionLabel = 'Shared.lblDeletePopupHeading';\r\nconst subHeadingInstructionLabel = 'Shared.lblDeletePopupSubHeading';\r\nconst deletePopupOkBtnLabel = 'Shared.lblDeletePopupOkBtn';\r\nconst deletePopupCancelBtnLabel = 'Shared.lblDeletePopupCancelBtn';\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class BaseRepeatingGroupDataCaptureComponent implements OnInit {\r\n headingInstructionText: string;\r\n subHeadingInstructionText: string;\r\n deletePopupOkBtnText: string;\r\n deletePopupCancelBtnText: string;\r\n public deleteRepeatingQues = new Subject();\r\n // Observable string streams\r\n deleteRepeatingQuesObservable = this.deleteRepeatingQues.asObservable();\r\n constructor(public sessionStorage: SessionStorageService,\r\n public questionSetService: QuestionSetService,\r\n public translate: TranslateService,\r\n public dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit() { }\r\n public async applyLangTranslations(): Promise {\r\n await this.translate.get([\r\n headingInstructionLabel, subHeadingInstructionLabel, deletePopupOkBtnLabel, deletePopupCancelBtnLabel\r\n ]).subscribe((res) => {\r\n this.headingInstructionText = res[headingInstructionLabel];\r\n this.subHeadingInstructionText = res[subHeadingInstructionLabel];\r\n this.deletePopupOkBtnText = res[deletePopupOkBtnLabel];\r\n this.deletePopupCancelBtnText = res[deletePopupCancelBtnLabel];\r\n });\r\n return true;\r\n }\r\n // To Delete repeating group Iteration\r\n public deleteDialog(qnToDelete, deleteFrom, deleteFromPreviousAnswer) {\r\n if (this.applyLangTranslations()) {\r\n const modalData: ModalContent = {\r\n headingText: '',\r\n additionalText: this.headingInstructionText,\r\n instructionText: this.subHeadingInstructionText,\r\n iconName: 'warning',\r\n severityLevel: SeverityLevel.Warning,\r\n buttons: [\r\n {\r\n buttonText: this.deletePopupOkBtnText,\r\n tag: true\r\n },\r\n {\r\n buttonText: this.deletePopupCancelBtnText,\r\n tag: false,\r\n isSecondary: true,\r\n hasFocus: true\r\n }\r\n ]\r\n };\r\n\r\n const dialogRef = this.dialog.open(ModalTemplateComponent, {\r\n autoFocus: false, // Required to allow selective focus of button applied above.\r\n data: modalData\r\n });\r\n\r\n dialogRef.afterClosed().subscribe((result: boolean) => {\r\n if (result) {\r\n // Observable string streams\r\n if (deleteFromPreviousAnswer === true) {\r\n this.questionSetService.onDeleteRepeatingGroup(this.questionSetService.internalQuestionSet, qnToDelete, deleteFrom);\r\n } else {\r\n this.deleteRepeatingQues.next(\r\n {\r\n questionSet: this.questionSetService.internalQuestionSet, qnToDelete: qnToDelete,\r\n deleteFrom: deleteFrom\r\n }\r\n );\r\n }\r\n } else {\r\n // Revert control value.\r\n }\r\n });\r\n }\r\n }\r\n\r\n }\r\n","\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n ({{questionSetService.getCurrentRepeatingGroupIndex(qnData.qIntentCode).currentIterationIndex+1}}/{{maxRepeats}})\r\n
\r\n
\r\n
\r\n","import {\r\n Component, OnInit, AfterViewInit, Input, EventEmitter, Output,\r\n ChangeDetectorRef, ViewChild, AfterViewChecked, OnDestroy\r\n} from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { FieldMapper } from '../..../../field-mapper-strategy/field-mapper';\r\nimport { FormGroup, Validators } from '@angular/forms';\r\nimport { Question } from '../../../models';\r\nimport { FormFieldBase } from '../../../form-field/form-field-base';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\nimport { OndemandDataRequest } from '../../../models/ondemanddatarequest.model';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\nimport { Element, Parent } from '../../../models/Carrier-Integration/utility.model';\r\nimport { DropDownComponent } from '../../../components/inputs/drop-down/drop-down.component';\r\nimport { BaseRepeatingGroupDataCaptureComponent } from './base-repeating-group-data-capture';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { SharedSettingsService } from '../../../../services/settings/settings-base.service';\r\n\r\nconst datePickerErrorMessage = 'Shared.lblDatePickerErrorMessage';\r\nconst editLabel = 'Shared.lblEdit';\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst emailErrorMessageLabel = 'Shared.lblInvalidEmail';\r\nconst minLengthErrorMessageLabel = 'Shared.lblMinLengthErrorMessage';\r\nconst maxLengthErrorMessageLabel = 'Shared.lblMaxLengthErrorMessage';\r\nconst minRangeErrorMessageLabel = 'Shared.lblMinRangeErrorMessage';\r\nconst maxRangeErrorMessageLabel = 'Shared.lblMaxRangeErrorMessage';\r\nconst numericErrorMessageLabel = 'Shared.lblNumericErrorMessage';\r\nconst invalidValueErrorMessageLabel = 'Shared.lblInvalidValue';\r\nconst addAnotherBtnLabel = 'Shared.lblAddAnother';\r\nconst noMoreToAddBtnLabel = 'Shared.lblNoMoreToAdd';\r\nconst deleteRepeatingGroupLabel = 'Shared.lblDeleteRepeatingGroup';\r\n\r\n@Component({\r\n selector: 'lib-repeating-group-data-capture',\r\n templateUrl: './repeating-group-data-capture.component.html',\r\n styleUrls: ['./repeating-group-data-capture.component.scss']\r\n})\r\nexport class RepeatingGroupDataCaptureComponent extends BaseRepeatingGroupDataCaptureComponent implements OnInit,\r\n AfterViewInit, AfterViewChecked {\r\n @Input() qnData: Question;\r\n @Input() groupPanelQnData: Question[];\r\n @Output() updateEmitter = new EventEmitter();\r\n groupPanelForm: FormGroup;\r\n pageFormFields: FormFieldBase[];\r\n subFormFields: FormFieldBase[];\r\n groupQnAnswerObj: Question[];\r\n datePickerErrorMessageText: string;\r\n mandatoryErrorMessageText: string;\r\n emailErrorMessageText: string;\r\n minLengthErrorMessage: string;\r\n maxLengthErrorMessage: string;\r\n minRangeErrorMessage: string;\r\n maxRangeErrorMessage: string;\r\n numericErrorMessage: string;\r\n invalidValueErrorMessage: string;\r\n editLabelText: string;\r\n addAnotherBtnText: string;\r\n noMoreToAddBtnText: string;\r\n deleteRepeatingGroupText: string;\r\n nextBtn: string;\r\n currentSelection: string;\r\n previousSelection: string;\r\n @Input() maxRepeats: number;\r\n parentIntentCode: string = '';\r\n childSpace: number = 15;\r\n qSubDescription: string;\r\n onDemandDataRequestValues: OndemandDataRequest;\r\n onDemandDataPayLoad: OndemandDataRequest;\r\n childElements: Element[] = [];\r\n parent: Parent;\r\n inputParameters: Element[] = []\r\n inputParamValues: Element[] = []\r\n parentChildArray: Element[] = [];\r\n controlType: any;\r\n options: any[] = [];\r\n currentRepeatingGroupName: string;\r\n @ViewChild(DropDownComponent) dropDownComponent: DropDownComponent;\r\n currentRepeatingGroupIndex;\r\n currentlRepeatingGroupCount;\r\n @Output() deleteRepeatingGroup: EventEmitter = new EventEmitter();\r\n updatedQuestionSet: Question[];\r\n\r\n constructor(\r\n private cdr: ChangeDetectorRef,\r\n public translate: TranslateService,\r\n private formGroupControlService: FormGroupControlService,\r\n private fieldMapper: FieldMapper,\r\n public questionSetService: QuestionSetService,\r\n public sessionStorageService: SessionStorageService,\r\n public matDialog: MatDialog,\r\n public sharedSettingService: SharedSettingsService\r\n ) {\r\n super(sessionStorageService, questionSetService, translate, matDialog);\r\n this.questionSetService.qSubDescriptionObservable.subscribe(qSubDescription => {\r\n this.showChildOfSelectedParent(this.groupPanelQnData);\r\n });\r\n\r\n }\r\n\r\n ngOnInit() {\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n this.deleteRepeatingQues.subscribe((result) => {\r\n if (result) {\r\n this.questionSetService.onDeleteRepeatingGroup(result.questionSet, result.qnToDelete, result.deleteFrom);\r\n this.sessionStorageService.set('PreviousAnsEditButton', false);\r\n this.questionSetService.IsNewRepeatingGroup=false;\r\n this.deleteRepeatingGroup.emit();\r\n }\r\n });\r\n }\r\n\r\n\r\n async submitGroupPanelAnswer(): Promise {\r\n // ---- set ansewer in below function\r\n this.groupQnAnswerObj = this.setValueToAnswerSetsGroupQn(this.groupPanelQnData);\r\n\r\n if (this.updatedQuestionSet === undefined || this.updatedQuestionSet === null) {\r\n await this.updateResponseOfRepeatingGroup();\r\n // this.updateEmitter.emit({ internalQuestionSet: this.updatedQuestionSet });\r\n }\r\n else {\r\n this.updateEmitter.emit({ internalQuestionSet: this.updatedQuestionSet });\r\n }\r\n }\r\n\r\n setValueToAnswerSetsGroupQn(groupPanelQnData) {\r\n groupPanelQnData.forEach((qn) => {\r\n const qnIntentCode = qn.qIntentCode;\r\n if (qn?.globalFunction?.toLowerCase()?.includes('dynamic') && !qn?.globalFunction?.toLowerCase()?.includes('source')) {\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === qn.qIntentCode) {\r\n fieldsVal.options.forEach((optionsVal, index) => {\r\n const answerSet = this.questionSetService.MapLookupChildAnswerSet(optionsVal);\r\n answerSet['active'] = true;\r\n qn.answerSets.push(answerSet);\r\n });\r\n }\r\n })\r\n }\r\n // Single input.\r\n if (qn?.answerSets.length === 1) {\r\n // const currentValue = this.groupPanelForm.get(qnIntentCode)?.value;\r\n const currentValue = this.groupPanelForm.controls[qnIntentCode]?.value;\r\n\r\n const currentAnswerSet = qn?.answerSets[0];\r\n if (qn.qQuestionFormat.toLowerCase() !== 'recaptcha') {\r\n currentAnswerSet.name = currentValue;\r\n if (currentValue) {\r\n currentAnswerSet.isAnswered = true;\r\n }\r\n }\r\n } else {\r\n qn?.answerSets.forEach(as => as.isAnswered = false);\r\n // const formElement = this.groupPanelForm.get(qnIntentCode);\r\n const formElement = this.groupPanelForm.controls[qnIntentCode];\r\n\r\n if (formElement) {\r\n const answeredData = qn?.answerSets.filter(ans => ans.name === formElement.value).pop();\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n if (answeredData.childQuestionSets?.length > 0) {\r\n this.setValueToAnswerSetsGroupQn(answeredData.childQuestionSets)\r\n }\r\n }\r\n }\r\n }\r\n });\r\n return this.groupPanelQnData;\r\n }\r\n\r\n ngAfterViewChecked() {\r\n if (this.sessionStorageService.get('isRepeat') === 'true') {\r\n this.createRepeatingGroup();\r\n this.sessionStorageService.set('isRepeat', 'false');\r\n }\r\n }\r\n\r\n ngAfterViewInit() {\r\n this.cdr.detectChanges();\r\n this.showChildOfSelectedParent(this.groupPanelQnData);\r\n }\r\n\r\n private createFormGroup() {\r\n this.qSubDescription = this.qnData?.qSubDescription;\r\n this.pageFormFields = [];\r\n const questions = this.groupPanelQnData;\r\n if (questions) {\r\n this.formatQustionsForIteration(questions);\r\n this.createChildGroup(questions);\r\n }\r\n }\r\n\r\n formatQustionsForIteration(questions) {\r\n const repeatingGroupQuestions = [];\r\n questions.forEach((question, index) => {\r\n repeatingGroupQuestions[index] = question.name;\r\n });\r\n }\r\n\r\n createChildGroup(questions, isRepeat?: string) {\r\n questions.forEach((question, index) => {\r\n question.iterationIndex = this.questionSetService.formFieldIteration;\r\n this.createLookUpParentChildHeirarchy(question);\r\n this.mapFormData(question, index);\r\n this.createGrandChilds(question, 'outerCall', 0)\r\n });\r\n this.groupPanelForm = this.formGroupControlService.toFormGroup(this.pageFormFields);\r\n }\r\n\r\n\r\n createGrandChilds(question, callType, maxRepeatIndex?: number) {\r\n if (question.childQIntentCode) {\r\n question.answerSets.forEach((subQuestion) => {\r\n if (subQuestion?.childQIntentCode && subQuestion?.childQuestionSets?.length > 0) {\r\n if (callType === 'outerCall') {\r\n this.childSpace = 15;\r\n }\r\n subQuestion.childQuestionSets.forEach((que, ind) => {\r\n que['visibility'] = 'hide';\r\n que['margin'] = this.childSpace;\r\n que['index'] = maxRepeatIndex;\r\n question.iterationIndex = this.questionSetService.formFieldIteration;\r\n if (callType === 'outerCall') {\r\n que['rootParentQIntentCode'] = que.parentQIntentCode;\r\n this.parentIntentCode = que.parentQIntentCode;\r\n } else if (callType === 'innerCall' && this.parentIntentCode) {\r\n que['rootParentQIntentCode'] = this.parentIntentCode;\r\n }\r\n this.mapFormData(que, ind);\r\n if (que?.childQIntentCode) {\r\n this.childSpace = this.childSpace + 15;\r\n this.createGrandChilds(que, 'innerCall');\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n mapFormData(question, index) {\r\n const fieldData = this.fieldMapper.map(\r\n question,\r\n this.getErrorMessageText(question.qQuestionFormat),\r\n this.getEditLabelText(question.qQuestionFormat),\r\n index,\r\n this.questionSetService.formFieldIteration);\r\n if (fieldData) {\r\n fieldData[question.parentQIntentCode];\r\n this.pageFormFields.push(fieldData);\r\n }\r\n }\r\n\r\n onValueChange(event) {\r\n if (event.value) {\r\n this.previousSelection = this.currentSelection;\r\n this.currentSelection = event.value;\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element.children;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if ((child.getAttribute('parentQIntentCode') === event?.qIntentCode) ||\r\n (child.getAttribute('rootParentQIntentCode') === event?.qIntentCode)) {\r\n if (child.getAttribute('pvalue') === this.currentSelection &&\r\n (parseInt(child.getAttribute('iterationindex')) === this.questionSetService.formFieldIteration)) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n if (this.getFormField(child.getAttribute('aKey'))) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n this.getFormField(child.getAttribute('aKey')).setValidators(Validators.required);\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n } else if (child.getAttribute('pvalue') !== this.currentSelection) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n this.getFormField(child.getAttribute('aKey')).clearValidators();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n }\r\n }// ---to clear the child values if user has chosen clear option.\r\n if ((event.value === '' || event.value === '-1') && event?.data.globalFunction !== undefined) {\r\n this.clearChildControls(event.data.onDemandDataSubscribers);\r\n } else if (event.value && event?.data?.globalFunction !== undefined) {\r\n // ---to get the child values if user has chosen valid option.\r\n this.getOndemandDataValues(event);\r\n }\r\n }\r\n }\r\n\r\n private getErrorMessageText(questionType: string): string | string[] {\r\n return questionType.toLowerCase() === 'datepicker'\r\n ? this.datePickerErrorMessageText\r\n : (questionType.toLowerCase() === 'text' || questionType.toLowerCase() === 'textarea')\r\n ? [\r\n this.mandatoryErrorMessageText,\r\n this.emailErrorMessageText,\r\n '',\r\n '',\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage,\r\n '',\r\n '',\r\n '',\r\n this.invalidValueErrorMessage\r\n ] // Todo: change from positional to KVP.\r\n : questionType.toLowerCase() === 'numeric'\r\n ? [\r\n this.mandatoryErrorMessageText,\r\n '',\r\n '',\r\n '',\r\n this.minLengthErrorMessage,\r\n this.maxLengthErrorMessage,\r\n this.minRangeErrorMessage,\r\n this.maxRangeErrorMessage,\r\n this.numericErrorMessage,\r\n '',] // Todo: change from positional to KVP.\r\n : this.mandatoryErrorMessageText;\r\n }\r\n\r\n private getEditLabelText(questionType: string): string {\r\n return questionType.toLowerCase() === 'datepicker' ? this.editLabelText : '';\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n datePickerErrorMessage,\r\n mandatoryErrorMessageLabel,\r\n emailErrorMessageLabel,\r\n minLengthErrorMessageLabel,\r\n maxLengthErrorMessageLabel,\r\n minRangeErrorMessageLabel,\r\n maxRangeErrorMessageLabel,\r\n numericErrorMessageLabel,\r\n invalidValueErrorMessageLabel,\r\n addAnotherBtnLabel,\r\n noMoreToAddBtnLabel,\r\n deleteRepeatingGroupLabel,\r\n editLabel]).subscribe((res) => {\r\n this.datePickerErrorMessageText = res[datePickerErrorMessage];\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.emailErrorMessageText = res[emailErrorMessageLabel];\r\n this.minLengthErrorMessage = res[minLengthErrorMessageLabel];\r\n this.maxLengthErrorMessage = res[maxLengthErrorMessageLabel];\r\n this.minRangeErrorMessage = res[minRangeErrorMessageLabel];\r\n this.maxRangeErrorMessage = res[maxRangeErrorMessageLabel];\r\n this.numericErrorMessage = res[numericErrorMessageLabel];\r\n this.invalidValueErrorMessage = res[invalidValueErrorMessageLabel];\r\n this.editLabelText = res[editLabel];\r\n this.addAnotherBtnText = res[addAnotherBtnLabel];\r\n this.noMoreToAddBtnText = res[noMoreToAddBtnLabel];\r\n this.deleteRepeatingGroupText = res[deleteRepeatingGroupLabel];\r\n });\r\n }\r\n\r\n getFormField(key: string) {\r\n return this.groupPanelForm?.get(key);\r\n }\r\n\r\n onAddAnotherClick() {\r\n if (this.questionSetService.formFieldIteration <= this.maxRepeats) {\r\n this.sessionStorageService.set('isRepeat', 'true');\r\n this.sessionStorageService.set('maxRepeat', this.maxRepeats);\r\n this.sessionStorageService.set('currentRepeatedQuestion', this.qnData);\r\n this.increaseAnsweredRepeatingIteration();\r\n }\r\n this.submitGroupPanelAnswer();\r\n // this.createChildGroup(this.groupPanelQnData, 'true');\r\n }\r\n\r\n\r\n noMoreToAddClick() {\r\n this.increaseAnsweredRepeatingIteration();\r\n this.submitGroupPanelAnswer();\r\n }\r\n\r\n increaseAnsweredRepeatingIteration() {\r\n const answered = this.questionSetService.currentQuestion.childQuestionSets?.some(cqs => cqs.answerSets?.some(as => as.isAnswered));\r\n this.sessionStorageService.set('PreviousAnsEditButton', false);\r\n this.questionSetService.IsNewRepeatingGroup=false;\r\n if (this.questionSetService.currentQuestion.childQuestionSets?.length > 0 && answered === false) {\r\n const repeatingGroupName = this.questionSetService.getRepeatingGroupName(this.questionSetService.currentQuestion.qIntentCode);\r\n this.updatedQuestionSet =\r\n this.questionSetService.savedRepeatingGroup(this.questionSetService.internalQuestionSet, repeatingGroupName, 'increase');\r\n }\r\n }\r\n\r\n onDeleteClick() {\r\n this.deleteDialog(this.qnData, false, false);\r\n }\r\n\r\n createRepeatingGroup() {\r\n this.showHideIteration(this.questionSetService.formFieldIteration, 'reset');\r\n }\r\n\r\n showHideIteration(formFieldIteration, type) {\r\n this.groupPanelQnData.forEach((question) => {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element.children;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (parseInt(child.getAttribute('iterationIndex')) === formFieldIteration &&\r\n child.getAttribute('aKey') === question.qIntentCode) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n if (type === 'reset' && this.getFormField(child.getAttribute('aKey'))) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n } else if (parseInt(child.getAttribute('iterationIndex')) !== formFieldIteration) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n }\r\n }\r\n });\r\n }\r\n\r\n showChildOfSelectedParent(questions) {\r\n questions.forEach((question) => {\r\n this.showParent(question);\r\n this.showGrandChild(question);\r\n });\r\n }\r\n\r\n showGrandChild(question) {\r\n if (question?.childQIntentCode) {\r\n question.answerSets.forEach((ques) => {\r\n if (ques?.childQIntentCode && ques?.childQuestionSets?.length > 0) {\r\n ques.childQuestionSets.forEach((que) => {\r\n const parentQIntentCode = que?.parentQIntentCode;\r\n if (this.getFormField(parentQIntentCode).value) {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element.children;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (parseInt(child.getAttribute('iterationIndex')) === this.questionSetService.formFieldIteration &&\r\n ((child.getAttribute('pvalue') === this.getFormField(child.getAttribute('parentQIntentCode'))?.value) ||\r\n child.getAttribute('pvalue') === this.getFormField(que.parentQIntentCode).value) &&\r\n (que.parentQIntentCode === child.getAttribute('rootParentQIntentCode')\r\n || que.parentQIntentCode === child.getAttribute('parentqintentcode'))) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n } else if ((child.getAttribute('pvalue') !== this.getFormField(que.parentQIntentCode)?.value\r\n || child.getAttribute('pvalue') !== this.getFormField(child.getAttribute('parentQIntentCode'))?.value)\r\n && (que.parentQIntentCode === child.getAttribute('rootParentQIntentCode') ||\r\n que.parentQIntentCode === child.getAttribute('parentqintentcode'))) {\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n if (child.getAttribute('aKey')) {\r\n this.getFormField(child.getAttribute('aKey')).reset();\r\n this.getFormField(child.getAttribute('aKey')).clearValidators();\r\n this.getFormField(child.getAttribute('aKey')).updateValueAndValidity();\r\n }\r\n }\r\n }\r\n }\r\n if (que?.childQIntentCode) {\r\n this.showGrandChild(que);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n showParent(question) {\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element.children;\r\n for (let i = 0; i < children.length; i++) {\r\n const child = children[i];\r\n if (parseInt(child.getAttribute('iterationIndex')) === this.questionSetService.formFieldIteration &&\r\n child.getAttribute('aKey') === question.qIntentCode) {\r\n const styles = \"display:block; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n } else if (this.questionSetService.formFieldIteration !== null\r\n && parseInt(child.getAttribute('iterationIndex')) !== this.questionSetService.formFieldIteration\r\n && child.getAttribute('aKey') === question.qIntentCode) {\r\n // else if(parseInt(child.getAttribute('iterationIndex')) !== this.questionSetService.formFieldIteration){\r\n const styles = \"display:none; \" + \"margin-left:\" + getComputedStyle(child).marginLeft;\r\n child.setAttribute(\"style\", styles);\r\n }\r\n }\r\n }\r\n\r\n // look up functions start\r\n // get child options in response\r\n getOndemandDataValues(event) {\r\n this.childElements = [];\r\n this.parentChildArray = [];\r\n this.controlType = [];\r\n if (event.tagName === 'SELECT') {\r\n this.controlType = \"SELECT\";\r\n }\r\n const element = (document.getElementById('groupPanelForm'));\r\n const children = element.children;\r\n if (event?.data) {\r\n // if dropdown is child dropdown\r\n if (event?.data?.lookupPQIntentCode !== '' && event?.data?.lookupPQIntentCode) {\r\n // get the intend code and options of parents and its subchilds\r\n this.getPIntendCodeValue(children, '', event);\r\n }\r\n // if dropdown is parent dropdown\r\n else {\r\n const controlValue = this.getFormField(event?.data?.qIntentCode)?.value;\r\n this.parentChildArray.push(\r\n {\r\n name: event?.data?.qIntentCode,\r\n selectedText: controlValue,\r\n type: this.controlType,\r\n selectedValue: controlValue,\r\n value: null\r\n });\r\n }\r\n\r\n // get childelements\r\n event.data.onDemandDataSubscribers.split(',').forEach((value, index, array) => {\r\n this.childElements.push(\r\n {\r\n name: value,\r\n selectedText: null,\r\n selectedValue: null,\r\n type: this.controlType,\r\n value: null,\r\n });\r\n });\r\n // get parent\r\n this.parent = {\r\n name: event.id,\r\n selectedText: event.value,\r\n selectedValue: event.value,\r\n type: this.controlType,\r\n value: null,\r\n endPointUrl: null\r\n }\r\n // payload value\r\n this.onDemandDataPayLoad = {\r\n backEndSystem: \"None\",\r\n childElements: this.childElements,\r\n inputParameters: this.parentChildArray,\r\n parent: this.parent,\r\n productName: this.sessionStorageService.get('ProductName'),\r\n globalFunction: event.data.globalFunction,\r\n quoteId: this.sessionStorageService.get('QuoteReferenceID'),\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n sponsorName: this.sessionStorageService.get('SponsorName'),\r\n userId: ''\r\n };\r\n\r\n // api call\r\n this.questionSetService.getOnDemandDataRequest(this.onDemandDataPayLoad).then((observerResponse: OndemandDataRequest) => {\r\n observerResponse.childElements.forEach((value, index, array) => {\r\n if ((this.groupPanelForm.controls[value.name].touched !== false\r\n && this.groupPanelForm.controls[value.name].status !== \"INVALID\")\r\n || this.groupPanelForm.controls[value.name].value !== '') {\r\n this.clearChildControls(value.name, value.type);\r\n }\r\n this.options = [];\r\n if (value?.lookupData) {\r\n // to add clear option if response option is only one\r\n // //if (value?.lookupData?.length < 2) {\r\n // // // this.options?.push({ name: '', value: '' });\r\n // //}\r\n // bind the value for dropdown options\r\n value?.lookupData?.forEach(lookupDataValue => {\r\n this.options?.push({ name: lookupDataValue?.text, value: lookupDataValue?.value })\r\n })\r\n // binding the options in dropdown\r\n if (value.type === 'SELECT') {\r\n let toDisableControl = false;\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === value.name) {\r\n fieldsVal.options = this.options;\r\n // *** if the lookup has single option then we have to disable and autoselect that value ***//\r\n if (value?.lookupData?.length === 1) {\r\n const matSelect = this.groupPanelForm.get(value.name);\r\n matSelect.setValue(this.options[0].value, { emitEvent: true });\r\n toDisableControl = true;\r\n this.cdr.detectChanges();\r\n //* ** trigger SelectionChange() event ***/\r\n if (fieldsVal.controlType === \"dropdown\") {\r\n const data = this.pageFormFields.filter(field => field.key === value.name)[0];\r\n const selected = { value: this.options[0].value };\r\n this.dropDownComponent.onSelectionChange(selected, data);\r\n }\r\n }\r\n fieldsVal.readOnly = toDisableControl;\r\n }\r\n });\r\n }\r\n else {\r\n this.groupPanelForm.get(value.name).setValue(this.options);\r\n }\r\n }\r\n })\r\n });\r\n }\r\n }\r\n\r\n // method to clear child options when user reselect or clear the options\r\n clearChildControls(childQIntentCode, type?) {\r\n this.options = []; // to clear the previous value that user selected in array\r\n this.options?.push({ name: '', value: '' }) // to display empty value on UI\r\n this.pageFormFields.filter(fieldsVal => {\r\n if (fieldsVal.key === childQIntentCode) {\r\n this.getFormField(childQIntentCode).reset();\r\n this.getFormField(childQIntentCode).updateValueAndValidity();\r\n fieldsVal.options = this.options;\r\n fieldsVal.readOnly = true;\r\n if (fieldsVal?.onDemandDataSubscribers !== '' && fieldsVal?.onDemandDataSubscribers !== null) {\r\n this.clearChildControls(fieldsVal.onDemandDataSubscribers); // passing the next child\r\n }\r\n }\r\n });\r\n }\r\n\r\n getPIntendCodeValue(children, parentValue?, event?) {\r\n for (let i = 0; i < children?.length; i++) {\r\n const parent = children[i];\r\n if (event !== null && children !== null && event?.data?.lookupPQIntentCode !== '' && event?.data?.lookupPQIntentCode) {\r\n if ((event?.data?.lookupPQIntentCode === parent?.getAttribute('qIntentCode'))) {\r\n // let parent=child.getAttribute('lookupPQIntentCode')\r\n const controlValue = this.getFormField(event?.data?.qIntentCode).value;\r\n const parentControlValue = this.getFormField(event?.data?.lookupPQIntentCode).value;\r\n this.parentChildArray.push(\r\n {\r\n name: event?.data?.qIntentCode,\r\n selectedText: controlValue,\r\n type: this.controlType,\r\n selectedValue: controlValue,\r\n value: null\r\n },\r\n {\r\n name: event?.data?.lookupPQIntentCode,\r\n selectedText: parentControlValue,\r\n type: this.controlType,\r\n selectedValue: parentControlValue,\r\n value: null\r\n });\r\n // this.parentChildArray.push({name:event?.data?.lookupPQIntentCode});\r\n // event.data.lookupPQIntentCode='';\r\n if (parent.getAttribute('lookupPQIntentCode') !== '') {\r\n this.getPIntendCodeValue(children, parent, '');\r\n }\r\n }\r\n }\r\n else if (parentValue && parentValue?.getAttribute('lookupPQIntentCode') !== '') {\r\n if (parentValue.getAttribute('lookupPQIntentCode') === parent.getAttribute('qIntentCode')) {\r\n const parentControlValue = this.getFormField(parent.getAttribute('qIntentCode')).value;\r\n this.parentChildArray.push(\r\n {\r\n lookupData: null,\r\n name: parentValue.getAttribute('lookupPQIntentCode'),\r\n selectedText: parentControlValue,\r\n type: this.controlType,\r\n selectedValue: parentControlValue,\r\n value: null\r\n });\r\n this.getPIntendCodeValue(children, parent, '');\r\n }\r\n }\r\n }\r\n }\r\n\r\n createLookUpParentChildHeirarchy(question: Question) {\r\n if (question?.globalFunction?.toLowerCase()?.includes('source')) {\r\n question['lookupPQIntentCode'] = ''\r\n }\r\n else if (question && question.globalFunction?.toLowerCase()?.includes('dynamic')) {\r\n const ParentArray = question.onDemandDataParameters?.split(',').map(s => s.trim());\r\n question['lookupPQIntentCode'] = ParentArray[ParentArray.length - 2];\r\n\r\n }\r\n }\r\n // look up functions end\r\n\r\n\r\n async updateResponseOfRepeatingGroup() {\r\n\r\n // ---- set ansewer in below function\r\n if (this.updatedQuestionSet === undefined || this.updatedQuestionSet === null) {\r\n this.updatedQuestionSet = this.sharedSettingService.PrimaryQuestionData;\r\n\r\n const group = this.groupPanelQnData[0].qIntentCode.split('.');\r\n let groupName = '';\r\n if (group.length === 1 && group[0].includes('~')) {\r\n groupName = group[0].split('~')[0] + '~' + group[0].split('~')[1];\r\n } else if (group && group.length > 0) {\r\n groupName = group[0]?.replace('[', '~').replace(']', '');\r\n }\r\n\r\n if (groupName !== '' && groupName !== undefined) {\r\n // const groupName = group[0]?.replace('[', '~').replace(']', '');\r\n const grpQuestionSet = this.updatedQuestionSet && this.updatedQuestionSet.filter(qs => qs.qIntentCode === groupName);\r\n\r\n if (grpQuestionSet !== null && grpQuestionSet !== undefined && grpQuestionSet.length > 0) {\r\n\r\n for (const field in this.groupPanelForm.controls) { // 'field' is a string\r\n\r\n this.groupPanelQnData.forEach(element => {\r\n\r\n if (element.qIntentCode.toLowerCase() === field.toLowerCase()) {\r\n if (element.answerSets.length === 1 && element.qQuestionFormat.toLowerCase() !== 'recaptcha') {\r\n if (element.answerSets[0].name !== this.groupPanelForm.controls[field].value) {\r\n\r\n element.answerSets[0].name = this.groupPanelForm.controls[field].value\r\n }\r\n } else {\r\n element.answerSets.forEach(as => as.isAnswered = false);\r\n // const formElement = this.groupPanelForm.get(qnIntentCode);\r\n const formElement = this.groupPanelForm.controls[field];\r\n\r\n if (formElement) {\r\n const answeredData = element.answerSets.filter(ans => ans.name === formElement.value).pop();\r\n if (answeredData) {\r\n answeredData.isAnswered = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n\r\n grpQuestionSet[0].childQuestionSets = this.groupPanelQnData;\r\n this.sessionStorageService.set('currentRepeatedQuestion', grpQuestionSet[0]);\r\n }\r\n }\r\n this.sharedSettingService.PrimaryQuestionData = this.updatedQuestionSet;\r\n this.sharedSettingService.AnsweredQuestionSet = this.updatedQuestionSet;\r\n\r\n this.updateEmitter.emit({ internalQuestionSet: this.updatedQuestionSet });\r\n\r\n }\r\n\r\n }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CurrencyboxFieldMapper } from '../field-mapper-strategy/strategies/currencybox-field-mapper';\r\nimport { Question } from '../../../models';\r\nimport { CurrencyBoxField } from '../../../form-field/currencybox-field';\r\nimport { FormGroupControlService } from '../../../../services/form-group/form-group.service';\r\n\r\nconst mandatoryErrorMessageLabel = 'Shared.lblErrorMandatory';\r\nconst minLengthErrorMessageLabel = 'Shared.lblMinLengthErrorMessage';\r\nconst maxLengthErrorMessageLabel = 'Shared.lblMaxLengthErrorMessage';\r\nconst minRangeErrorMessageLabel = 'Shared.lblMinRangeErrorMessage';\r\nconst maxRangeErrorMessageLabel = 'Shared.lblMaxRangeErrorMessage';\r\nconst numericErrorMessageLabel = 'Shared.lblNumericErrorMessage';\r\nconst invalidValueErrorMessageLabel = 'Shared.lblInvalidValue'\r\n\r\n@Component({\r\n selector: 'lib-currency-data-capture',\r\n templateUrl: './currency-data-capture.component.html',\r\n styleUrls: ['./currency-data-capture.component.scss']\r\n})\r\nexport class CurrencyDataCaptureComponent implements OnInit {\r\n field: CurrencyBoxField;\r\n currencyForm: FormGroup;\r\n mandatoryErrorMessageText: string;\r\n minRangeErrorMessage: string;\r\n maxRangeErrorMessage: string;\r\n numericErrorMessage: string;\r\n minLengthErrorMessageLabel: string;\r\n maxLengthErrorMessageLabel: string;\r\n invalidValueErrorMessage: string;\r\n\r\n @Input() qnData: Question;\r\n @Input() nextBtn: string;\r\n @Output() updateEmitter = new EventEmitter();\r\n\r\n constructor(private formBuilder: FormBuilder,\r\n private formGroupService: FormGroupControlService,\r\n private fieldMapper: CurrencyboxFieldMapper,\r\n private translate: TranslateService) { }\r\n\r\n ngOnInit() {\r\n this.applyTranslations();\r\n this.createFormGroup();\r\n }\r\n \r\n createFormGroup() {\r\n this.field = this.fieldMapper.map(this.qnData, [\r\n this.mandatoryErrorMessageText,\r\n '',\r\n '',\r\n '',\r\n this.minLengthErrorMessageLabel,\r\n this.maxLengthErrorMessageLabel,\r\n this.minRangeErrorMessage,\r\n this.maxRangeErrorMessage,\r\n this.numericErrorMessage,\r\n this.invalidValueErrorMessage\r\n ]);\r\n this.currencyForm = this.formGroupService.toFormGroup( [this.field]);\r\n \r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([\r\n mandatoryErrorMessageLabel,\r\n minLengthErrorMessageLabel,\r\n maxLengthErrorMessageLabel,\r\n minRangeErrorMessageLabel,\r\n maxRangeErrorMessageLabel,\r\n numericErrorMessageLabel,\r\n invalidValueErrorMessageLabel\r\n ]).subscribe((res) => {\r\n this.mandatoryErrorMessageText = res[mandatoryErrorMessageLabel];\r\n this.minLengthErrorMessageLabel = res[minLengthErrorMessageLabel];\r\n this.maxLengthErrorMessageLabel = res[maxLengthErrorMessageLabel];\r\n this.minRangeErrorMessage = res[minRangeErrorMessageLabel];\r\n this.maxRangeErrorMessage = res[maxRangeErrorMessageLabel];\r\n this.numericErrorMessage = res[numericErrorMessageLabel];\r\n this.invalidValueErrorMessage = res[invalidValueErrorMessageLabel];\r\n });\r\n }\r\n \r\n submitAnswer(answeredData): void {\r\n const val = this.currencyForm.get(this.field.key).value;\r\n answeredData.name = val;\r\n answeredData.isAnswered = true;\r\n this.updateEmitter.emit();\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n","\r\nimport { ImageButtonComponent } from './image-button/image-button.component';\r\nimport { RadioDataCaptureComponent } from './radio-data-capture/radio-data-capture.component';\r\nimport { TextDataCaptureComponent } from './text-data-capture/text-data-capture.component';\r\nimport { OptionListDataCaptureComponent } from './option-list-data-capture/option-list-data-capture.component';\r\nimport { PlusMinusDataCaptureComponent } from './plus-minus-data-capture/plus-minus-data-capture.component';\r\nimport { CheckBoxDataCaptureComponent } from './check-box-data-capture/check-box-data-capture.component';\r\nimport { NumberDataCaptureComponent } from './number-data-capture/number-data-capture.component';\r\nimport { DropdownDataCaptureComponent } from './dropdown-data-capture/dropdown-data-capture.component';\r\nimport { GroupPanelDataCaptureComponent } from './group-panel-data-capture/group-panel-data-capture.component';\r\nimport { DatepickerDataCaptureComponent } from './datepicker-data-capture/datepicker-data-capture.component';\r\nimport { TextAreaDataCaptureComponent } from './textarea-data-capture/textarea-data-capture.component';\r\nimport { RecaptchaDataCaptureComponent } from './recaptcha-data-capture/recaptcha-data-capture.component';\r\nimport { RepeatingGroupDataCaptureComponent } from './repeating-group-data-capture/repeating-group-data-capture.component';\r\nimport { CurrencyDataCaptureComponent } from './currency-data-capture/currency-data-capture.component';\r\n// import { DatePickerComponent } from '../../shared/components/inputs/date-picker/date-picker.component';\r\n// import { DropDownComponent } from '../../shared/components/inputs/drop-down/drop-down.component';\r\nexport const components: any[] = [\r\n ImageButtonComponent,\r\n RadioDataCaptureComponent,\r\n TextDataCaptureComponent,\r\n OptionListDataCaptureComponent,\r\n PlusMinusDataCaptureComponent,\r\n CheckBoxDataCaptureComponent,\r\n NumberDataCaptureComponent,\r\n DropdownDataCaptureComponent,\r\n GroupPanelDataCaptureComponent,\r\n DatepickerDataCaptureComponent,\r\n TextAreaDataCaptureComponent,\r\n RecaptchaDataCaptureComponent,\r\n RepeatingGroupDataCaptureComponent,\r\n CurrencyDataCaptureComponent\r\n];\r\nexport * from './image-button/image-button.component';\r\nexport * from './radio-data-capture/radio-data-capture.component';\r\nexport * from './text-data-capture/text-data-capture.component';\r\nexport * from './option-list-data-capture/option-list-data-capture.component';\r\nexport * from './plus-minus-data-capture/plus-minus-data-capture.component';\r\nexport * from './check-box-data-capture/check-box-data-capture.component';\r\nexport * from './number-data-capture/number-data-capture.component';\r\nexport * from './dropdown-data-capture/dropdown-data-capture.component';\r\nexport * from './datepicker-data-capture/datepicker-data-capture.component';\r\nexport * from './group-panel-data-capture/group-panel-data-capture.component';\r\nexport * from './textarea-data-capture/textarea-data-capture.component';\r\nexport * from './data-capture-heading/data-capture-heading.component';\r\nexport * from './recaptcha-data-capture/recaptcha-data-capture.component';\r\nexport * from './repeating-group-data-capture/repeating-group-data-capture.component';\r\nexport * from './currency-data-capture/currency-data-capture.component';\r\n// export * from '../../shared/components/inputs/date-picker/date-picker.component';\r\n// export * from '../../shared/components/inputs/drop-down/drop-down.component';\r\n","
\r\n
i,'disabled':progress<=i}\">\r\n
\r\n\r\n
\r\n
{{stepText}} {{progress}} {{stepOfText}} {{total}} - {{stepName}}
","import { Component, OnInit, Input } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n\r\nconst stepLabel = 'Shared.lblNewClaimStep';\r\nconst stepOfLabel = 'Shared.lblNewClaimStepOf';\r\n@Component({\r\n selector: 'lib-progress-bar-steps',\r\n templateUrl: './progress-bar-steps.component.html',\r\n styleUrls: ['./progress-bar-steps.component.scss']\r\n})\r\nexport class ProgressBarStepsComponent implements OnInit {\r\n\r\n stepText: string;\r\n stepOfText: string;\r\n\r\n @Input() progress: number;\r\n @Input() total: number;\r\n @Input() stepName: string;\r\n Arr = Array;\r\n\r\n constructor( private translate: TranslateService) { }\r\n ngOnInit() {\r\n this.applyTranslations();\r\n\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([stepLabel, stepOfLabel]).subscribe((res) => {\r\n this.stepText = res[stepLabel];\r\n this.stepOfText = res[stepOfLabel];\r\n\r\n });\r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n

\r\n lock\r\n {{errorHeaderLabelText}}\r\n

\r\n
\r\n\r\n
\r\n error\r\n

{{errorMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n

{{errorSeconadryMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { IErrorState } from '../../../shared/models';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\n\r\nconst errorHeaderLabel = 'Shared.lblServiceError';\r\nconst errorMessageLabel = 'Shared.lblServiceErrorMessage';\r\nconst backButtonLabel = 'Shared.lblBack';\r\nconst logoutLabel = 'Shared.lblLogout';\r\nconst customerAccountLockedLabel = 'Shared.lblNewClaimCustomerAccountLocked';\r\nconst contactServicingTeamLabel = 'Shared.lblNewClaimCustomerAccountLockedContactServicingTeam';\r\nconst tryagainButtonLabel = 'Shared.lblTryAgain';\r\n\r\n@Component({\r\n selector: 'lib-error-page',\r\n templateUrl: './error-page.component.html',\r\n styleUrls: ['./error-page.component.scss']\r\n})\r\n\r\nexport class ErrorPageComponent implements OnInit {\r\n\r\n @Input() fromHomePage: boolean;\r\n @Input() extValidationFailed: boolean;\r\n @Input() extValidationRetry: boolean;\r\n @Input() errorMessageLabelText = 'I\\'m sorry, there has been a technical error';\r\n\r\n // If translate service is failed to retrieve the translated content, hardcoded value will be used for the UI content.\r\n errorHeaderLabelText = 'Service Error';\r\n errorSeconadryMessageLabelText;\r\n backButtonText = 'Back';\r\n logoutText = 'Logout';\r\n isMobile: boolean;\r\n isDesktop: boolean;\r\n hideBackButton: boolean;\r\n state: IErrorState;\r\n isLoading: boolean;\r\n hasMultipleSecondaryMessages: boolean;\r\n isCustomerBlocked = false;\r\n hideLogOutButton: boolean = false;\r\n retryNavigation: boolean = false;\r\n retryButtonText = 'Try Again';\r\n\r\n hasMultipleMessages(): boolean {\r\n return Array.isArray(this.errorMessageLabelText);\r\n }\r\n\r\n constructor(\r\n private msalService: MsalAuthenticationService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private sessionStorage: SessionStorageService,\r\n private baseConstantService: BaseConstantService,\r\n private metaTag: Meta,\r\n private baseSettingsService: SharedSettingsService\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: BaseConstantService.metaDataDenySearch }\r\n );\r\n\r\n this.getState();\r\n this.hideLogOutButton = this.state?.signInFailed || this.extValidationFailed || (this.fromHomePage && this.state?.isCustomerBlocked);\r\n this.hideBackButton = this.state?.signInFailed || this.extValidationFailed || (this.fromHomePage && this.state?.isCustomerBlocked);\r\n this.retryNavigation = this.state?.signInFailed || (this.extValidationFailed && this.extValidationRetry && !this.state?.signInFailed);\r\n \r\n await this.showLogoutLink();\r\n this.applyTranslations();\r\n this.checkDeviceWidth();\r\n }\r\n\r\n private getState() {\r\n if (history && history.state) {\r\n this.state = history.state as IErrorState;\r\n }\r\n }\r\n\r\n private hasCustomMessage() {\r\n return this.state && (this.state.header || this.state.primaryMessage);\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([errorHeaderLabel, errorMessageLabel, backButtonLabel, logoutLabel,\r\n customerAccountLockedLabel, contactServicingTeamLabel, tryagainButtonLabel]).subscribe((res) => {\r\n if (this.hasCustomMessage()) {\r\n if (this.state.buttonLabel === null || !this.state.buttonLabel) {\r\n this.state.buttonLabel = res[backButtonLabel];\r\n }\r\n this.setErrorHeaderAndMessage(this.state.header, this.state.primaryMessage, this.state.secondaryMessage, this.state.buttonLabel);\r\n } else if (this.state?.isCustomerBlocked) {\r\n this.isCustomerBlocked = this.state.isCustomerBlocked;\r\n this.setErrorHeaderAndMessage(res[customerAccountLockedLabel], null, res[contactServicingTeamLabel], null);\r\n } else {\r\n this.setErrorHeaderAndMessage(res[errorHeaderLabel], res[errorMessageLabel], null, res[backButtonLabel]);\r\n }\r\n if (this.logoutText && this.logoutText !== '' && res[logoutLabel] !== logoutLabel) {\r\n this.logoutText = res[logoutLabel];\r\n }\r\n this.retryButtonText = this.state?.signInFailed ? res[tryagainButtonLabel] : this.retryButtonText;\r\n });\r\n }\r\n\r\n private setErrorHeaderAndMessage(header, primaryMessage, secondaryMessage, buttonLabel) {\r\n this.errorHeaderLabelText = header && header !== errorHeaderLabel ? header : this.errorHeaderLabelText;\r\n this.errorMessageLabelText = (primaryMessage && primaryMessage !== errorMessageLabel && !this.fromHomePage)\r\n ? primaryMessage\r\n : this.errorMessageLabelText;\r\n this.errorSeconadryMessageLabelText = secondaryMessage;\r\n this.backButtonText = buttonLabel && buttonLabel !== backButtonLabel ? buttonLabel : this.backButtonText;\r\n this.hasMultipleSecondaryMessages = Array.isArray(secondaryMessage);\r\n if (secondaryMessage === 'customer') {\r\n this.hideLogOutButton = true;\r\n this.hideBackButton = true;\r\n this.errorSeconadryMessageLabelText = '';\r\n }\r\n }\r\n\r\n async showLogoutLink() {\r\n this.isLoading = true;\r\n this.logoutText = await this.baseConstantService.getLogOutText(this.logoutText);\r\n this.isLoading = false;\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n goBack() {\r\n this.router.navigate([this.sessionStorage.get('ErrorPagePreviousUrl')]);\r\n }\r\n\r\n logout() {\r\n this.msalService.logout();\r\n }\r\n\r\n navigationRetry() {\r\n if (this.state?.signInFailed && !this.extValidationFailed) {\r\n this.router.navigate(['/login']);\r\n } else if (this.extValidationFailed && !this.state?.signInFailed) {\r\n window.location.href = this.baseSettingsService.extValRetryUrl;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Observable, ReplaySubject, lastValueFrom, of } from 'rxjs';\r\nimport { finalize, publishReplay, refCount, share, shareReplay, tap } from 'rxjs/operators';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport {\r\n AddressDetails, ICustomerFieldValidations, SaveUserConsents,\r\n SaveUserConsentsResponse, UserProfile, ICustomerPolicySearchResult, IUserHistoryLog\r\n} from '../../shared/models';\r\nimport { BaseAccountService } from '../account/base-account.service';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { SharedSettingsService } from '../settings/settings-base.service';\r\nimport { SponsorService } from '../sponsor/sponsor.service';\r\nimport { CountryCodeLookupData, LookupData } from '../../shared/models/user-profile.model';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseCustomerService {\r\n\r\n private getCustomerFieldValidationsUrl = endPoints.apiUrl + endPoints.endPointName.getCustomerFieldValidations;\r\n private saveB2CCustomerPersonalDetailsUrl = endPoints.apiUrl + endPoints.endPointName.saveB2CCustomerPersonalDetails;\r\n private saveCustomerAddressUrl = endPoints.apiUrl + endPoints.endPointName.saveCustomerAddress;\r\n private getCustomerPreferredLanguageUrl = endPoints.apiUrl + endPoints.endPointName.getCustomerPreferredLanguage;\r\n private getCustomerUrl = endPoints.apiUrl + endPoints.endPointName.getCustomer;\r\n private getCustomerIdentifierUrl = endPoints.apiUrl + endPoints.endPointName.getCustIdentifier;\r\n private getCountryCodeLookupDataUrl = endPoints.apiUrl + endPoints.endPointName.getCountryCodeLookupData;\r\n private isValidCustomerIdentifierURL = endPoints.apiUrl + endPoints.endPointName.isValidCustomerIdentifier;\r\n private identifyCustomersPolicyUrl = endPoints.apiUrl + endPoints.endPointName.identifyCustomersPolicy;\r\n private saveUserHistoryLogUrl = endPoints.apiUrl + endPoints.endPointName.saveUserHistoryLog;\r\n private getUserHistoryByIpAddressUrl = endPoints.apiUrl + endPoints.endPointName.getUserHistoryByIpAddress;\r\n lookupDataObservable: Observable;\r\n private GetCustomerTypes = endPoints.apiUrl + endPoints.endPointName.getCustomerType;\r\n countryCodeLookupDataObservable: Observable;\r\n private customerFieldValidationCache: any;\r\n customerTypeCacheKey: any;\r\n\r\n constructor(\r\n protected commonHttpService: CommonHttpService,\r\n protected sessionStorageService: SessionStorageService,\r\n protected sharedSettingsService: SharedSettingsService,\r\n protected sponsorService: SponsorService,\r\n protected accountService: BaseAccountService,\r\n protected constantService: BaseConstantService\r\n ) { }\r\n\r\n setIsBackwardsFlaginSessionStorage() {\r\n // Check if 'enableSSOBasedAccess' is set or not if yes, check for\r\n // 'externalValidationIterationData.index' if that is > 0 then\r\n // set 'isBackwards' to true for skipping user details and address page.\r\n if (this.sharedSettingsService.enableSSOBasedAccess) {\r\n const externalValidationIterationData = this.sharedSettingsService.externalValidationIterationData;\r\n const isRepeatJourney = externalValidationIterationData\r\n && externalValidationIterationData.index\r\n && externalValidationIterationData.index > 0;\r\n if (isRepeatJourney) {\r\n this.sessionStorageService.set('isBackwards', true);\r\n }\r\n }\r\n }\r\n\r\n getCustomerFieldValidations(sponsorid: number): Observable {\r\n const productCustomerType = this.getProductCustomerType();\r\n\r\n if (this.customerFieldValidationCache && this.customerTypeCacheKey === productCustomerType) {\r\n return this.customerFieldValidationCache;\r\n }\r\n\r\n const apiURL = this.getCustomerFieldValidationsUrl;\r\n\r\n this.customerFieldValidationCache = this.commonHttpService.httpGetService(`${apiURL}/${sponsorid}/${productCustomerType}`).pipe(\r\n tap(res => this.customerTypeCacheKey = productCustomerType),\r\n shareReplay(1)\r\n );\r\n\r\n return this.customerFieldValidationCache;\r\n }\r\n\r\n saveB2CCutomerPersonalDetails(yourProfileModel: any): any {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.saveB2CCustomerPersonalDetailsUrl, yourProfileModel);\r\n }\r\n\r\n saveCustomerAddress(customerAddress: any): any {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.saveCustomerAddressUrl, customerAddress);\r\n }\r\n\r\n buildCustomerAddressList(addressList: any): AddressDetails[] {\r\n\r\n const addressListResult: AddressDetails[] = [];\r\n\r\n addressList.forEach((value) => {\r\n\r\n const address = new AddressDetails();\r\n\r\n address.addressId = value.addressId;\r\n address.addressLine1 = value.addressLine1;\r\n address.town = value.city;\r\n address.postalCode = value.zipCode;\r\n address.country = value.countryName;\r\n address.countryId = value.countryId;\r\n address.defaultAddress = value.isDefault;\r\n\r\n addressListResult.push(address);\r\n });\r\n\r\n return addressListResult;\r\n }\r\n\r\n getCustomerPreferredLanguage(customerId: number): Promise {\r\n const getCustomerPreferredLanguageUrl = `${this.getCustomerPreferredLanguageUrl}/${customerId}`;\r\n return lastValueFrom(this.commonHttpService.httpGetServiceWithBearer(getCustomerPreferredLanguageUrl));\r\n }\r\n\r\n setCustomerPreferredLanguage(languageId: number, languageCode: string) {\r\n this.sharedSettingsService.languageId = languageId;\r\n this.sharedSettingsService.languageCode = languageCode;\r\n this.sponsorService.browserLangFlag = false;\r\n // Publish the language change to any subscribers.\r\n this.sponsorService.languageObservable.next(languageId);\r\n }\r\n\r\n async saveUserConsent(saveUserConsent: SaveUserConsents): Promise {\r\n const saveUserConsentResponse = await lastValueFrom(this.accountService.saveB2CUserConsent(saveUserConsent));\r\n return saveUserConsentResponse;\r\n }\r\n\r\n getCustomer(): Observable {\r\n const data = {\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n customerId: this.sessionStorageService.get('customerId')\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.getCustomerUrl, data);\r\n }\r\n\r\n getCustomerDetailsByIdentifier(): Observable {\r\n const data = {\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n customerIdentifier: this.sessionStorageService.get('customerIdentifier')\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.getCustomerIdentifierUrl, data);\r\n }\r\n\r\n GetCustomerType() {\r\n const languageId = this.sessionStorageService.get('LanguageId');\r\n const apiURL = this.GetCustomerTypes + '/' + languageId;\r\n return this.commonHttpService.httpGetServiceWithBearer(apiURL);\r\n }\r\n\r\n getCountryCodeLookupData(contextcode: string, sponsorid: number, languagecode: string) {\r\n const apiURL = this.getCountryCodeLookupDataUrl;\r\n this.countryCodeLookupDataObservable = this.commonHttpService.\r\n httpGetServiceWithBearer(`${apiURL}/${contextcode}/${sponsorid}/${languagecode}`).pipe(\r\n share({\r\n connector: () => new ReplaySubject(1),\r\n resetOnError: false,\r\n resetOnComplete: false,\r\n resetOnRefCountZero: true,\r\n }))\r\n this.countryCodeLookupDataObservable.subscribe(result => {\r\n this.sessionStorageService.set('AreaCodeList', result);\r\n });\r\n return this.countryCodeLookupDataObservable;\r\n }\r\n\r\n isValidCustomerIdentifier(customerIdentifier: string): Observable {\r\n const data = {\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n customerIdentifier: customerIdentifier\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.isValidCustomerIdentifierURL, data);\r\n }\r\n\r\n identifyCustomersPolicy(mobilePhoneNumber: string, externalRefNumber: string,\r\n sponsorId: number): Observable {\r\n\r\n const customerIdentificationCriteria = {\r\n SponsorId: sponsorId,\r\n MobilePhoneNumber: mobilePhoneNumber,\r\n ExternalRefNumber: externalRefNumber\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.identifyCustomersPolicyUrl, customerIdentificationCriteria);\r\n \r\n }\r\n\r\n getUserHistoryByIpAddress(ipAddress: string, sponsorId: number): Observable {\r\n const getUserHistoryUrl = this.getUserHistoryByIpAddressUrl + '/' + ipAddress + '/' + sponsorId;\r\n return this.commonHttpService.httpGetServiceWithBearer(getUserHistoryUrl);\r\n } \r\n\r\n private getProductCustomerType(): string {\r\n let productCustomerType = this.sessionStorageService.get('ProductCustomerType');\r\n\r\n if (this.sessionStorageService.get('isCattributePresentForCustomerType') === true) {\r\n productCustomerType = this.sessionStorageService.get(BaseConstantService.CattributeCustomerType);\r\n } else if (this.sessionStorageService.get(BaseConstantService.CattributeCustomerType)) {\r\n productCustomerType = this.sessionStorageService.get(BaseConstantService.CattributeCustomerType);\r\n }\r\n\r\n return productCustomerType || this.sharedSettingsService.customerTypePerson;\r\n }\r\n\r\n\r\n saveUserHistoryLog(UserHistoryLog: IUserHistoryLog): Observable {\r\n const sponsorId: number = this.sessionStorageService.get('SponsorId');\r\n const requestBody: IUserHistoryLog = {\r\n logID: 0,\r\n userID: UserHistoryLog.userID,\r\n logDate: UserHistoryLog.logDate,\r\n sponsorID: sponsorId,\r\n userHostIP: UserHistoryLog.userHostIP,\r\n applicationName: UserHistoryLog.applicationName,\r\n description: UserHistoryLog.description,\r\n unsuccessfulAccessAttempt: UserHistoryLog.unsuccessfulAccessAttempt\r\n };\r\n return this.commonHttpService.httpPostServiceWithBearer(this.saveUserHistoryLogUrl, requestBody);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { Observable, finalize, lastValueFrom, of, share, tap } from 'rxjs';\r\nimport { IPrivacyNoticeLanguage, ICookieNoticeLanguage, Question } from '../../shared/models';\r\nimport { LookUpValuePayload } from '../../shared/models/lookupvalue-payload.model';\r\nimport { promise } from 'protractor';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReferenceService {\r\n\r\n constructor(private commonHttpService: CommonHttpService) { }\r\n\r\n private getGlobalPrivacyPolicyTextUrl = `${endPoints.apiUrl}${endPoints.endPointName.getGlobalPrivacyPolicy}`;\r\n private getCookieNoticeTextUrl = `${endPoints.apiUrl}${endPoints.endPointName.getCookieNotice}`;\r\n private getLookupUIImagesUrl = `${endPoints.apiUrl}${endPoints.endPointName.getLookupUIImagesAsync}`;\r\n private getLookUpValuesUrl = `${endPoints.apiUrl}${endPoints.endPointName.getLookUpValues}`;\r\n private getClaimLookUpValuesUrl = `${endPoints.apiUrl}${endPoints.endPointName.getClaimLookUpValues}`;\r\n private getProductNameValidationUrl = `${endPoints.apiUrl}${endPoints.endPointName.getProductNameValidation}`;\r\n private globalPrivacyPolicyCache: any;\r\n private globalPrivacyPolicyCachedObservable: Observable;\r\n private globalPrivacyPolicyCachedKey: any;\r\n private cookieNoticeCache: any;\r\n private cookieNoticeCachedObservable: Observable;\r\n private cookieNoticeCachedKey: any;\r\n private getSponsorBrandLogoUrl = `${endPoints.apiUrl}${endPoints.endPointName.getSponsorBrandLogo}`;\r\n // getGlobalPrivacyPolicyText(languageCode: string): Observable {\r\n // const apiURL = this.getGlobalPrivacyPolicyTextUrl + languageCode;\r\n // return this.commonHttpService.httpGetService(apiURL);\r\n // }\r\n\r\n getGlobalPrivacyPolicyText(languageCode: string): Observable {\r\n let observable: Observable;\r\n const apiURL = this.getGlobalPrivacyPolicyTextUrl + languageCode;\r\n const requestPayload = languageCode;\r\n if (!this.globalPrivacyPolicyCachedKey?.includes(languageCode)) {\r\n this.globalPrivacyPolicyCachedKey = requestPayload;\r\n }\r\n\r\n if (this.globalPrivacyPolicyCache && this.globalPrivacyPolicyCachedKey?.includes(requestPayload)) {\r\n observable = of(this.globalPrivacyPolicyCache);\r\n } else if (this.globalPrivacyPolicyCachedObservable && this.globalPrivacyPolicyCachedKey?.includes(requestPayload)) {\r\n observable = this.globalPrivacyPolicyCachedObservable;\r\n } else {\r\n this.globalPrivacyPolicyCachedObservable = this.commonHttpService.httpGetService(apiURL)\r\n .pipe(\r\n tap(res => this.globalPrivacyPolicyCache = res),\r\n share(),\r\n finalize(() => this.globalPrivacyPolicyCachedObservable = null)\r\n );\r\n observable = this.globalPrivacyPolicyCachedObservable;\r\n }\r\n return observable;\r\n }\r\n\r\n // getCookieNoticeText(languageCode: string): Observable {\r\n // const apiURL = this.getCookieNoticeTextUrl + languageCode;\r\n // return this.commonHttpService.httpGetService(apiURL);\r\n // }\r\n\r\n getCookieNoticeText(languageCode: string): Observable {\r\n let observable: Observable;\r\n const apiURL = this.getCookieNoticeTextUrl + languageCode;\r\n const requestPayload = languageCode;\r\n if (!this.cookieNoticeCachedKey?.includes(languageCode)) {\r\n this.cookieNoticeCachedKey = requestPayload;\r\n }\r\n\r\n if (this.cookieNoticeCache && this.cookieNoticeCachedKey?.includes(requestPayload)) {\r\n observable = of(this.cookieNoticeCache);\r\n } else if (this.cookieNoticeCachedObservable && this.cookieNoticeCachedKey?.includes(requestPayload)) {\r\n observable = this.cookieNoticeCachedObservable;\r\n } else {\r\n this.cookieNoticeCachedObservable = this.commonHttpService.httpGetService(apiURL)\r\n .pipe(\r\n tap(res => this.cookieNoticeCache = res),\r\n share(),\r\n finalize(() => this.cookieNoticeCachedObservable = null)\r\n );\r\n observable = this.cookieNoticeCachedObservable;\r\n }\r\n return observable;\r\n }\r\n\r\n getLookupUIImagesAsync(keyText: string): any {\r\n const apiURL = `${this.getLookupUIImagesUrl}/${keyText}`;\r\n return this.commonHttpService.httpGetService(apiURL);\r\n }\r\n\r\n getLookUpValues(requestBody: LookUpValuePayload): Promise {\r\n const apiURL = this.getLookUpValuesUrl;\r\n return lastValueFrom(this.commonHttpService.httpPostService(apiURL, requestBody));\r\n }\r\n getClaimLookUpValues(requestBody: LookUpValuePayload): Promise {\r\n const apiURL = this.getClaimLookUpValuesUrl;\r\n return lastValueFrom(this.commonHttpService.httpPostService(apiURL, requestBody));\r\n }\r\n\r\n async getProductNameValidation(sponsorEnglishName: string, productName: string): Promise {\r\n const apiURL = `${this.getProductNameValidationUrl}/${sponsorEnglishName}/${productName}`;\r\n return await lastValueFrom(this.commonHttpService.httpGetService(apiURL));\r\n }\r\n\r\n /**\r\n * Fetches the sponsor's brand logo and sets it as the favicon of the webpage.\r\n * If the favicon link element already exists, it updates the href attribute with the logo URL.\r\n * If the favicon link element does not exist, it creates a new one and sets the appropriate attributes.\r\n */\r\n applySponsorLogoAsFavicon(sponsorId, applyWillisBranding: boolean) {\r\n if (applyWillisBranding) {\r\n this.setFavicon('favicon.ico');\r\n } else {\r\n this.getSponsorBrandLogo(sponsorId).subscribe({\r\n next: (blob: Blob) => {\r\n let url;\r\n if (blob && blob.size > 0) {\r\n url = window.URL.createObjectURL(blob);\r\n } else {\r\n url = 'favicon.ico';\r\n }\r\n this.setFavicon(url);\r\n },\r\n error: (error) => {\r\n console.error('Error fetching favicon:', error);\r\n this.setFavicon('favicon.ico'); // set default favicon in case of error\r\n }\r\n });\r\n }\r\n }\r\n\r\n setFavicon(url: string) {\r\n let favicon: HTMLLinkElement = document.querySelector('link[rel=\"icon\"]');\r\n if (!favicon) {\r\n favicon = document.createElement('link');\r\n favicon.rel = 'icon';\r\n favicon.type = 'image/x-icon';\r\n document.head.appendChild(favicon);\r\n }\r\n favicon.href = url;\r\n }\r\n\r\n getSponsorBrandLogo(sponsorId: number): Observable {\r\n const apiURL =`${this.getSponsorBrandLogoUrl}/${sponsorId}`;\r\n return this.commonHttpService.httpGetFile(apiURL);\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { Observable, ReplaySubject } from 'rxjs';\r\nimport { BaseProductTemplate } from '../../shared/models/product-template.model';\r\nimport { share } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseProductTemplateService {\r\n private apiUrl = endPoints.apiUrl;\r\n\r\n private getMasterProductUrl = this.apiUrl + endPoints.endPointName.getMasterProduct;\r\n private getProductTemplateUrl = this.apiUrl + endPoints.endPointName.getProductTemplate;\r\n\r\n constructor(private commonHttpService: CommonHttpService) { }\r\n\r\n private productTemplateObservables: { [id: number]: Observable; } = {};\r\n\r\n getMasterProduct(templateId: number) {\r\n return this.commonHttpService.httpGetServiceWithBearer(this.getMasterProductUrl + '/' + templateId);\r\n }\r\n\r\n getProductTemplate(templateId: number): Observable {\r\n // Caching as queried in multiple places.\r\n if (!this.productTemplateObservables[templateId]) {\r\n const apiURL = this.getProductTemplateUrl;\r\n this.productTemplateObservables[templateId] = this.commonHttpService.httpGetServiceWithBearer(apiURL + '/' + templateId).pipe(\r\n share({\r\n connector: () => new ReplaySubject(1),\r\n resetOnError: false,\r\n resetOnComplete: false,\r\n resetOnRefCountZero: true,\r\n }))\r\n }\r\n return this.productTemplateObservables[templateId];\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild, ViewChildren, Input, Output, EventEmitter } from '@angular/core';\r\nimport { ActivatedRoute, RouterEvent } from '@angular/router';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { DataCaptureDirective } from '../data-capture.directive';\r\nimport { CustomDataCaptureComponent } from '../custom-data-capture.component';\r\nimport * as dataCaptureComponents from '../data-capture-components';\r\nimport { Router } from '@angular/router';\r\nimport { QuestionSetService } from '../../../services/question-set/question-set.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport {\r\n IProgressBar, Question, QuestionLogicResolverData, QuestionAnsweredEventArgs,\r\n IGetUIElement, ModalContent, SeverityLevel\r\n} from '../../models';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\nimport moment from 'moment';\r\nimport { BaseCustomerService } from '../../../services/customer/base-customer.service';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { DateManipulationService } from '../../../services/date-manipulation/date-manipulation.service';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { PagingService } from '../../../services/app-insights/paging-service';\r\nimport { ReferenceService } from '../../../services/References/reference.service';\r\nimport { BehaviorSubject, Subject, mergeMap } from 'rxjs';\r\nimport { LocalizationService } from '../../../services/localization/localization.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { BaseProductTemplateService } from '../../../services/base-product-template/base-product-template.service';\r\nimport { withFetch } from '@angular/common/http';\r\nimport { ModalTemplateComponent } from '../../components/modal/modal-template/modal-template.component';\r\n\r\nconst dynamicComponentMapper = {\r\n imagebutton: dataCaptureComponents.ImageButtonComponent,\r\n plusminus: dataCaptureComponents.PlusMinusDataCaptureComponent,\r\n optionslist: dataCaptureComponents.OptionListDataCaptureComponent,\r\n checkbox: dataCaptureComponents.CheckBoxDataCaptureComponent,\r\n text: dataCaptureComponents.TextDataCaptureComponent,\r\n numeric: dataCaptureComponents.NumberDataCaptureComponent,\r\n radio: dataCaptureComponents.RadioDataCaptureComponent,\r\n dropdown: dataCaptureComponents.DropdownDataCaptureComponent,\r\n datepicker: dataCaptureComponents.DatepickerDataCaptureComponent,\r\n grouppanel: dataCaptureComponents.GroupPanelDataCaptureComponent,\r\n repeatinggroup: dataCaptureComponents.RepeatingGroupDataCaptureComponent,\r\n textarea: dataCaptureComponents.TextAreaDataCaptureComponent,\r\n recaptcha: dataCaptureComponents.RecaptchaDataCaptureComponent,\r\n money: dataCaptureComponents.CurrencyDataCaptureComponent\r\n};\r\n\r\nconst nextButtonLabel = 'Shared.lblNext';\r\nconst logoutLabel = 'Shared.lblLogout';\r\nconst pageClaimQuestion = 'Shared.pageClaimQuestionnaire';\r\nconst productValidationText = 'Shared.productValidation';\r\n\r\nconst policyInceptionDateIntentCode = 'PolicyInceptionDate';\r\nconst policyExpiryDateIntentCode = 'PolicyExpiryDate';\r\n\r\nconst saveQuoteButtonLabel = 'Shared.lblSaveQuoteReferred';\r\nconst savedQuoteLabel = 'Shared.savedQuoteMessageReferred';\r\nconst okLabel = 'Shared.lblOk';\r\n\r\n@Component({\r\n selector: 'lib-base-question-logic',\r\n templateUrl: './base-question-logic.component.html',\r\n styleUrls: ['./base-question-logic.component.scss']\r\n})\r\nexport class BaseQuestionLogicComponent implements OnInit {\r\n @ViewChild(DataCaptureDirective, { static: true }) appDataCapture: DataCaptureDirective;\r\n quoteQnPayload: any;\r\n @Output() questionAnswered = new EventEmitter();\r\n @Input() questionObject: QuestionLogicResolverData;\r\n @Input() progressBar: IProgressBar;\r\n @Output() emitNextButtonClick = new EventEmitter();\r\n @Output() emitSaveResponseData = new EventEmitter();\r\n nextButtonText: string;\r\n isMobile: boolean;\r\n isTablet: boolean;\r\n isDesktop: boolean;\r\n logoutText: string;\r\n isCompressedViewOfPreviousAnswers: boolean;\r\n data: QuestionLogicResolverData;\r\n externalData: any;\r\n groupPannelQnData;\r\n pageClaimQuestion: string;\r\n productValidation: string;\r\n lookUpValues: any;\r\n subject = new BehaviorSubject(null);\r\n getUIElementData = new BehaviorSubject(null);\r\n getUIElementDataValue: IGetUIElement[] = [];\r\n lastQuestion;\r\n repeatingGroupName: string;\r\n isDuplicateProductName: any;\r\n WizardParentSponsorName: any;\r\n isQuoteReferredCheck: boolean;\r\n isLoading: boolean = false;\r\n\r\n private saveQuoteButtonText: string;\r\n private savedQuoteText: string;\r\n private okButtonText: string;\r\n\r\n constructor(\r\n private activatedRoute: ActivatedRoute,\r\n public questionSetService: QuestionSetService,\r\n private router: Router,\r\n private layoutService: LayoutService,\r\n public translate: TranslateService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n public sessionStorageService: SessionStorageService,\r\n private metaTag: Meta,\r\n private baseConstantService: BaseConstantService,\r\n private pagingService: PagingService,\r\n private dateManipulationService: DateManipulationService,\r\n private settingsService: SharedSettingsService,\r\n private customerService: BaseCustomerService,\r\n private referenceService: ReferenceService,\r\n private localizationService: LocalizationService,\r\n public matDialog: MatDialog,\r\n public baseProductTemplateService: BaseProductTemplateService\r\n ) {\r\n\r\n // super(sessionStorageService, questionSetService, translate, matDialog);\r\n }\r\n\r\n public ngOnInit() {\r\n\r\n\r\n this.localizationService.getUIElementsForProduct().subscribe(UIELementRes => {\r\n this.settingsService.setMCIPopUpText = UIELementRes?.find(result => result?.uiElementCode === 'lblMCIPopupText')?.uiElementValue;\r\n });\r\n\r\n if (this.questionObject && this.questionObject.questionSet === undefined) {\r\n this.questionObject.questionSet = this.settingsService.PrimaryQuestionData;\r\n }\r\n\r\n this.isQuoteReferredCheck = this.settingsService.isQuoteReferredCheck;\r\n const hasVisiblePolicyQuestions = this.questionSetService.hasVisibleQuestions('policy');\r\n if (this.isQuoteReferredCheck && this.settingsService.hidePolicyQuestionFromB2BProfileonB2C\r\n && hasVisiblePolicyQuestions && !Boolean(this.questionSetService.LastPolicyQuestion)) {\r\n this.questionSetService.setLastPolicyQuestion();\r\n }\r\n\r\n if (this.questionObject.questionSet?.some(value => value?.childQuestionSets?.\r\n some(childValue => childValue?.globalFunction?.toLowerCase()?.includes('dynamic')\r\n || value?.globalFunction?.toLowerCase()?.includes('source') ||\r\n childValue?.globalFunction?.toLowerCase()?.includes('metadata')))) {\r\n\r\n this.quoteQnPayload = {\r\n\r\n productTemplateId: this.sessionStorageService.get('ProductId'),\r\n timeZone: this.sessionStorageService.get('timeZone'),\r\n languageId: this.sessionStorageService.get('LanguageId'),\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n sponsorName: this.sessionStorageService.get('SponsorName')\r\n\r\n };\r\n\r\n if (this.questionObject.backwardNavRoute.includes('claim-details')) {\r\n this.referenceService.getClaimLookUpValues(this.quoteQnPayload).then(observerResponse => {\r\n this.settingsService.setLookUpValues = observerResponse;\r\n this.initializeQuestionSet();\r\n });\r\n }\r\n else {\r\n this.referenceService.getLookUpValues(this.quoteQnPayload).then(observerResponse => {\r\n this.settingsService.setLookUpValues = observerResponse;\r\n this.initializeQuestionSet();\r\n });\r\n }\r\n } else {\r\n this.initializeQuestionSet();\r\n }\r\n this.checkDeviceWidth();\r\n }\r\n\r\n initializeQuestionSet() {\r\n this.isCompressedViewOfPreviousAnswers = this.settingsService.compressedViewOfPreviousAnswers;\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: BaseConstantService.metaDataDenySearch }\r\n );\r\n this.checkSessionTimedOut();\r\n\r\n this.data = this.questionObject;\r\n this.externalData = this.sessionStorageService.get('ExternalData');\r\n // Initialise question set service with applicable question set if required.\r\n // This should only happen when when calling for first time within Quote module.\r\n if (!this.questionSetService.isInitialized) {\r\n this.questionSetService.initialize(this.data.questionSet);\r\n } else if (this.questionSetService.currentQuestion\r\n && this.questionSetService.currentQuestionType.toLowerCase() !== this.data.questionType.toLowerCase()) {\r\n this.questionSetService.navigateToQuestionType(this.data.questionType);\r\n }\r\n\r\n const currentQuestion = this.questionSetService.currentQuestion;\r\n\r\n if (currentQuestion) {\r\n this.loadQuestion(currentQuestion);\r\n\r\n if (window.location.pathname.includes('claim-questionnaire')) {\r\n this.pagingService.registerPageDetails(this.pageClaimQuestion);\r\n }\r\n } else {\r\n // Potentially skip this section where no Questions of the current type are supplied.\r\n const state = window.history.state;\r\n if (state && state.isBackwards === true) {\r\n this.goBack();\r\n } else {\r\n this.navigateToNextPage();\r\n }\r\n\r\n\r\n this.pagingService.registerPageDetails(`${this.data.questionType} Questions`);\r\n }\r\n }\r\n\r\n private checkSessionTimedOut() {\r\n if (this.msalAuthenticationService.isSessionTimedOut()) {\r\n this.router.navigate(['/sessiontimeout']);\r\n }\r\n }\r\n\r\n closeAndGoBack() {\r\n if (this.sessionStorageService.get('isRepeat') === 'true') {\r\n this.sessionStorageService.set('isRepeat', 'false');\r\n }\r\n\r\n if (this.questionSetService.positionForType > 0) {\r\n this.navigateToPrevious('navigateBack');\r\n } else {\r\n this.goBack();\r\n }\r\n }\r\n\r\n protected goBack() {\r\n this.customerService.setIsBackwardsFlaginSessionStorage();\r\n this.router.navigate([this.data.backwardNavRoute]);\r\n }\r\n\r\n previousClicked(question: Question) {\r\n this.moveToTop();\r\n if (question) {\r\n this.navigateToIntentCode(question.qIntentCode);\r\n }\r\n }\r\n\r\n protected get previousAnswers() {\r\n return this.questionSetService.answeredQuestions;\r\n }\r\n\r\n get iconName(): string {\r\n return this.questionSetService.positionForType > 0 ? 'keyboard_backspace' : this.data.backwardNavIcon;\r\n }\r\n\r\n private loadQuestion(questionSet: Question) {\r\n this.questionSetService.stashQuestionSet();\r\n // If required, pre-populate answer for question.\r\n if (this.externalData) {\r\n this.questionSetService.prePopulateAnswer(questionSet, this.externalData);\r\n }\r\n\r\n this.prePopulateSubGroupID(questionSet); // PBI#242648 To prepopulate sponsor dealer code based on b2b user logged in\r\n if (questionSet.isHidden) {\r\n this.resolveHiddenQuestion(questionSet, questionSet.isGroup);\r\n\r\n }\r\n else {\r\n // added this code for bug 197425\r\n if (this.isCompressedViewOfPreviousAnswers) {\r\n if (questionSet.qQuestionFormat?.toLowerCase() === 'confirmation') {\r\n if (window.location.pathname.includes('quote-questions')) {\r\n this.router.navigate(['quote/choose-cover']);\r\n }\r\n\r\n }\r\n }\r\n if (questionSet?.childQuestionSets?.length > 0) {\r\n this.resolveHiddenQuestionForGroupPannel(questionSet);\r\n }\r\n this.loadDynamicComponent(questionSet);\r\n }\r\n }\r\n\r\n private loadDynamicComponent(questionSet: Question) {\r\n this.moveToTop();\r\n let currentDynamicComponent;\r\n let groupPanelQnSet: Question[];\r\n let currentlRepeatingGroupCount: any;\r\n\r\n this.applyTranslations();\r\n this.showLogoutLink();\r\n this.sessionStorageService.set('PageId', '');\r\n let pageId = questionSet.pageId;\r\n this.groupPannelQnData = questionSet;\r\n if (questionSet.isGroup && questionSet.isGroup === true) {\r\n currentDynamicComponent = dynamicComponentMapper['grouppanel'];\r\n groupPanelQnSet = questionSet.childQuestionSets;\r\n groupPanelQnSet = this.questionSetService.getAlertMessage(groupPanelQnSet);\r\n } else if (questionSet?.maxRepeats > 0) {\r\n const currentRepeatingGroupName = this.questionSetService.getRepeatingGroupName(questionSet.qIntentCode);\r\n currentlRepeatingGroupCount = parseInt(this.questionSetService.getCurrentRepeatingGroupCount(currentRepeatingGroupName), 10);\r\n if (currentlRepeatingGroupCount === 0) {\r\n this.questionSetService.formFieldIteration = 1;\r\n this.questionSetService.initialRepeatingGroup = true;\r\n pageId = pageId ? pageId + \"_1\" : null;\r\n } else {\r\n pageId = pageId ? questionSet.pageId + \"_\" + currentlRepeatingGroupCount.toString(): null;\r\n this.questionSetService.setRepeatingGroupData(questionSet);\r\n }\r\n\r\n this.sessionStorageService.set('currentlRepeatingGroupCount', currentlRepeatingGroupCount);\r\n const state = window.history.state;\r\n // removed the condition as below two condition is enough to set the value and was creating issue for bug 209738\r\n if (this.questionSetService.initialRepeatingGroup === true && currentlRepeatingGroupCount === 0) {\r\n this.questionSetService.initialRepeatingGroup = false;\r\n questionSet = this.firstRepeatingIteration(questionSet);\r\n }\r\n currentDynamicComponent = dynamicComponentMapper['repeatinggroup'];\r\n groupPanelQnSet = questionSet?.childQuestionSets;\r\n groupPanelQnSet = this.questionSetService.getAlertMessage(groupPanelQnSet);\r\n }\r\n else {\r\n currentDynamicComponent = this.getSetQuestionTypeMapper(questionSet);\r\n }\r\n\r\n if (pageId) {\r\n this.sessionStorageService.set('PageId', pageId);\r\n }\r\n\r\n questionSet?.childQuestionSets?.filter(childQuestion => {\r\n this.lookUpValues = this.settingsService.getLookUpValues;\r\n this.lookUpValues?.filter(values => {\r\n this.mapAnswerSetFromLookup(childQuestion, values);\r\n\r\n // recursively check for Question answerSet with lookup response for all childQuestions\r\n if (childQuestion?.answerSets && values?.options.length > 0) {\r\n childQuestion?.answerSets?.forEach(answerSet => {\r\n values.options.forEach(option => {\r\n if (answerSet?.name === option?.text) {\r\n answerSet?.childQuestionSets?.forEach(cq => {\r\n option?.questions?.forEach(question => {\r\n if (question?.options?.length !== 0 && cq?.qIntentCode === question?.id) {\r\n this.mapAnswerSetFromLookup(cq, question);\r\n }\r\n });\r\n });\r\n }\r\n })\r\n })\r\n }\r\n })\r\n })\r\n\r\n // componentFactoryResolver is now depracated; from angular 13 we can directly pass the component in createComponent\r\n // const componentFactory = this.componentFactoryResolver.resolveComponentFactory(currentDynamicComponent);\r\n const viewContainerRef = this.appDataCapture.viewContainerRef;\r\n viewContainerRef.clear();\r\n\r\n if (currentDynamicComponent) {\r\n const componentRef = viewContainerRef.createComponent(currentDynamicComponent);\r\n const componentInst = (componentRef.instance as CustomDataCaptureComponent);\r\n componentInst.qnData = questionSet;\r\n componentInst.groupPanelQnData = groupPanelQnSet;\r\n componentInst.nextBtn = this.buttonLabel(questionSet.qIntentCode);\r\n componentInst.offsetBasisQnData = this.getOffsetBasisQuestion(questionSet);\r\n componentInst.maxRepeats = questionSet?.maxRepeats;\r\n componentInst.currentlRepeatingGroupCount = currentlRepeatingGroupCount\r\n componentInst.updateEmitter.subscribe((result) => {\r\n this.emitNextButtonClick.emit();\r\n if (result?.internalQuestionSet) {\r\n if (this.questionSetService.initialRepeatingGroup === false && currentlRepeatingGroupCount > 0) {\r\n this.data.questionSet = result.internalQuestionSet;\r\n }\r\n }\r\n else {\r\n // result.internalQuestionSet is undefined sometimes while moving from\r\n // choose-cover to repeating element question hence added below code\r\n this.data.questionSet = this.questionSetService.internalQuestionSet;\r\n }\r\n\r\n if (this.isQuoteReferredCheck && this.settingsService.hidePolicyQuestionFromB2BProfileonB2C\r\n && questionSet.qIntentCode === this.questionSetService.LastPolicyQuestion) {\r\n this.showRefferedPopUp();\r\n } else {\r\n if (this.questionSetService.currentQuestion.qIntentCode === 'WizardParentSponsor') {\r\n this.sessionStorageService.set('WizardParentSponsor', this.questionSetService.currentQuestion.answerSets[0].name);\r\n }\r\n if (this.questionSetService.currentQuestion.childQuestionSets !== undefined\r\n && this.questionSetService.currentQuestion.childQuestionSets.length > 0) {\r\n if (this.questionSetService.currentQuestion.childQuestionSets[0].qIntentCode === 'WizardProductName') {\r\n const WizardProductNameval = this.questionSetService.currentQuestion.childQuestionSets[0].answerSets[0].name\r\n this.WizardParentSponsorName = this.sessionStorageService.get('WizardParentSponsor')\r\n this.referenceService.getProductNameValidation(this.WizardParentSponsorName, WizardProductNameval).then(observerResponse => {\r\n this.isDuplicateProductName = observerResponse;\r\n if (this.isDuplicateProductName && this.isDuplicateProductName !== undefined) {\r\n return alert(this.productValidation);\r\n }\r\n else {\r\n this.onQuestionAnswered();\r\n }\r\n })\r\n }\r\n else {\r\n this.onQuestionAnswered();\r\n }\r\n }\r\n else {\r\n this.onQuestionAnswered();\r\n }\r\n }\r\n });\r\n if (questionSet?.maxRepeats > 0) {\r\n componentInst.deleteRepeatingGroup.subscribe(() => {\r\n this.onDeleteRepeatingGroup();\r\n })\r\n }\r\n }\r\n\r\n }\r\n\r\n mapAnswerSetFromLookup(childQuestion, values) {\r\n let isDuplicate = false;\r\n\r\n if (childQuestion?.globalFunction !== '' && childQuestion?.globalFunction !== null && childQuestion?.qIntentCode === values?.id) {\r\n if (childQuestion.globalFunction?.toLowerCase()?.includes('source')) {\r\n\r\n // bug241397-added this code to eliminate the options which are not available in lookup response\r\n if (childQuestion?.answerSets?.length === 1 && childQuestion?.answerSets[0]?.name !== ''\r\n && childQuestion?.answerSets[0]?.name !== undefined && childQuestion?.answerSets[0]?.name !== null) {\r\n if (values?.options?.filter(x => (x?.text === childQuestion?.answerSets[0]?.name) ||\r\n (x?.id === childQuestion?.answerSets[0]?.name))?.length === 0) {\r\n childQuestion.answerSets.splice(0, 1);\r\n }\r\n }\r\n\r\n values?.options.forEach((dataValue) => {\r\n let answerSet = this.questionSetService.MapAnswerSet(dataValue);\r\n\r\n if (answerSet.childQuestionSets?.length > 0 && childQuestion.answerSets.length > 0\r\n && childQuestion.answerSets[0]?.childQuestionSets?.length > 0) {\r\n answerSet.childQuestionSets = answerSet.childQuestionSets.map(obj1 => {\r\n const matchingQuetion = childQuestion.answerSets[0]?.childQuestionSets?.filter(p => p?.parentOValue === answerSet?.name)\r\n ?.find(obj2 => obj2?.qIntentCode === obj1?.id);\r\n return { ...obj1, ...matchingQuetion };\r\n });\r\n }\r\n if (dataValue.id !== '' && dataValue.id !== undefined && dataValue.text !== '' && dataValue.text !== undefined) {\r\n if (dataValue.id !== dataValue.text) { answerSet = this.questionSetService.MapAnswerSetMetadata(dataValue); }\r\n }\r\n\r\n isDuplicate = false;\r\n childQuestion?.answerSets?.forEach(value => {\r\n if (answerSet?.name === value?.name) {\r\n isDuplicate = true\r\n }\r\n })\r\n if (!isDuplicate) {\r\n childQuestion.answerSets.push(answerSet);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n showRefferedPopUp() {\r\n const modalData: ModalContent = {\r\n headingText: '',\r\n subHeadingText: this.savedQuoteText,\r\n additionalText: '',\r\n instructionText: '',\r\n iconName: '',\r\n severityLevel: SeverityLevel.Error,\r\n closeButton: true,\r\n buttons: [\r\n {\r\n buttonText: this.okButtonText,\r\n tag: true,\r\n isSecondary: true,\r\n }\r\n ]\r\n };\r\n const dialogRef = this.matDialog.open(ModalTemplateComponent, {\r\n autoFocus: false,\r\n data: modalData\r\n });\r\n dialogRef.afterClosed().subscribe(async (result: any) => {\r\n if (result !== 'close') {\r\n this.emitSaveResponseData.emit();\r\n }\r\n });\r\n }\r\n\r\n private getSetQuestionTypeMapper(questionSet) {\r\n const qQuestionFormat = questionSet.qQuestionFormat.toLowerCase();\r\n const qQuestionSubType = questionSet.subType ? questionSet.subType.toLowerCase() : null;\r\n if (qQuestionSubType && dynamicComponentMapper.hasOwnProperty(qQuestionSubType)) {\r\n return dynamicComponentMapper[qQuestionSubType];\r\n } else if (qQuestionFormat && dynamicComponentMapper.hasOwnProperty(qQuestionFormat)) {\r\n return dynamicComponentMapper[qQuestionFormat];\r\n }\r\n }\r\n\r\n private checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n hasAnsweredQuestions(dependentQuestions: any): boolean {\r\n let hasAnsweredQuestion: boolean = false;\r\n hasAnsweredQuestion = (dependentQuestions?.answerSets?.filter(x => x.isAnswered === true).length > 0);\r\n\r\n if (hasAnsweredQuestion === false && dependentQuestions.childQuestionSets?.length > 0) {\r\n dependentQuestions.childQuestionSets.filter(cq => {\r\n cq.answerSets?.filter(ans => {\r\n if (ans.isAnswered === true) {\r\n hasAnsweredQuestion = true;\r\n return;\r\n }\r\n });\r\n });\r\n }\r\n\r\n return hasAnsweredQuestion;\r\n }\r\n\r\n private onQuestionAnswered() {\r\n this.questionSetService.markQuoteChangesAsUnsaved(true);\r\n this.lastQuestion = this.questionSetService.currentQuestion;\r\n if (!this.lastQuestion?.isHidden && this.lastQuestion?.qQuestionFormat.toLowerCase() !== 'recaptcha') {\r\n this.sessionStorageService.set('lastAnsweredQuestionIntentCode', this.lastQuestion.qIntentCode);\r\n }\r\n\r\n if (this.questionSetService.currentQuestion.qIntentCode && this.questionSetService.currentQuestion.qIntentCode !== ''\r\n && !this.lastQuestion?.hideHistory && this.lastQuestion?.qQuestionFormat.toLowerCase() !== 'recaptcha') {\r\n\r\n const { currentQuestion, answeredQuestions } = this.questionSetService;\r\n const isRenewalQuote = this.sessionStorageService.get('IsRenewalQuote');\r\n\r\n // In renewal quotes, ensure the current and previous questions align for a slow reveal effect\r\n const previousAnswer = isRenewalQuote ? currentQuestion.childQIntentCode : currentQuestion.qIntentCode;\r\n const isSlowRevealEnabled = this.questionSetService.EnableSlowReveal;\r\n if (isSlowRevealEnabled) {\r\n const question = answeredQuestions.find(x => x.qIntentCode === currentQuestion.childQIntentCode);\r\n if (question) { question.visited = true;}\r\n }\r\n this.questionSetService.UpdatePreviousAnswerLastQuestion(previousAnswer);\r\n }\r\n\r\n this.cloneRepeatingGroupQuestions();\r\n\r\n if (this.lastQuestion.answerSets?.length > 1) {// *** To clear previous selection and its answers *** //\r\n const optionsToBeCleared = this.lastQuestion.answerSets.filter(q => q.isAnswered === false);\r\n\r\n optionsToBeCleared?.filter(x => x.isAnswered === false)?.forEach(opt => {\r\n const dependentQuestions = this.settingsService.AnsweredQuestionSet.filter(x => x.qIntentCode === opt.name);\r\n\r\n if (dependentQuestions?.length > 0) {\r\n\r\n const hasAnsweredQuestion = this.hasAnsweredQuestions(dependentQuestions[0]);\r\n if (hasAnsweredQuestion) {\r\n const answerSetIndex = this.settingsService.AnsweredQuestionSet.findIndex(q => q.qIntentCode === opt.name);\r\n const currentQuestionIntentCode = this.questionSetService.currentQuestion.qIntentCode;\r\n const parentQuestionIndex = this.settingsService.PrimaryQuestionData\r\n .findIndex(q => q.qIntentCode === currentQuestionIntentCode);\r\n\r\n // const primaryCopyOfOption = this.settingsService.PrimaryQuestionData.filter(x => x.qIntentCode === opt.name);\r\n const primaryCopyOfOption = this.settingsService.getBaseQuestionData?.filter(x => x.qIntentCode === opt.name);\r\n\r\n const answeredQSet = JSON.parse(JSON.parse(sessionStorage.getItem('AnsweredQuestionSet'))._value);\r\n\r\n // *** To maintain the latest selection of Parent question in 'AnsweredQuestionSet' ***//\r\n answeredQSet[parentQuestionIndex] = this.questionSetService.currentQuestion;\r\n\r\n if (primaryCopyOfOption) {\r\n // *** Overriding / Resetting the previously selected option's values with defaualt value ***//\r\n answeredQSet[answerSetIndex] = primaryCopyOfOption[0];\r\n }\r\n\r\n this.sessionStorageService.set('AnsweredQuestionSet', JSON.stringify(answeredQSet));\r\n\r\n // *** resetting the current question index as parent question ***//\r\n this.questionSetService.initialize(answeredQSet, parentQuestionIndex);\r\n }\r\n\r\n }\r\n });\r\n }\r\n this.updateChildQuestionStateOnParentEdit()\r\n this.settingsService.PrimaryQuestionData = this.questionSetService.internalQuestionSet;\r\n this.questionSetService.navigateNext();\r\n const currentQuestion = this.questionSetService.currentQuestion;\r\n if (this.questionSetService.currentQuestion?.maxRepeats > 0) {\r\n this.questionSetService.setRepeatingGroupData(currentQuestion);\r\n }\r\n if (currentQuestion) {\r\n this.questionAnswered.emit(new QuestionAnsweredEventArgs(this.lastQuestion));\r\n this.loadQuestion(currentQuestion);\r\n } else {\r\n // Let's leave the the service positioned on the last question, in case we navigate back to it.\r\n this.questionSetService.navigateToIntentCode(this.lastQuestion.qIntentCode);\r\n this.questionAnswered.emit(new QuestionAnsweredEventArgs(this.lastQuestion, true));\r\n const isB2BFlow = this.sessionStorageService.get('isb2b')\r\n const popUpTextValue = this.settingsService.getMCIPopUpText;\r\n const existingCustomerQuote = this.settingsService.existingCustomerQuote;\r\n if (existingCustomerQuote) {\r\n /* if 'existingCustomerQuote' is 'true' then.. if the code execution comming here then it means..\r\n user were trying to change/Override the quote question answer. So, if '' is 'true' then */\r\n this.sessionStorageService.set('isQSetOverride', true);\r\n const isB2cMultiCarrierQuotingEnabled = this.settingsService.isB2cMultiCarrierQuotingEnabled;\r\n if (isB2cMultiCarrierQuotingEnabled === true) {\r\n /* While overdding existing question set answers in the MCI journey..\r\n we have to consider it as a new Journey / Quote. Hence, clearing the existing quote details. */\r\n this.sessionStorageService.set('QuoteReferenceID', null);\r\n this.sessionStorageService.set('quoteSummary', null);\r\n this.sessionStorageService.set('OrderId', null);\r\n this.sessionStorageService.set('PolicyId', null);\r\n\r\n const productId = this.sessionStorageService.get('ProductId');\r\n if (productId > 0) {\r\n this.baseProductTemplateService.getMasterProduct(productId).subscribe(masterProduct => {\r\n if (masterProduct) {\r\n this.sessionStorageService.set('ProductId', masterProduct.productTemplateID);\r\n this.sessionStorageService.set('ProductName', masterProduct.productTemplateName);\r\n this.sessionStorageService.set(BaseConstantService.Key_IsATPDocumentDownloadForMCI, masterProduct.allowDocGenerationForMCI);\r\n this.settingsService.isDefaultListViewForMCI = masterProduct.isDefaultListView;\r\n\r\n }\r\n });\r\n }\r\n\r\n }\r\n }\r\n\r\n if (this.lastQuestion?.qQuestionType.toLowerCase() === 'quote') {\r\n if (this.sessionStorageService.get('isMasterProduct') && !isB2BFlow) {\r\n const isTsAndCsRequired = sessionStorage.getItem('isTermsAndConditionsAcceptanceRequiredToQuote');\r\n if (!isTsAndCsRequired || isTsAndCsRequired !== 'true')\r\n {\r\n this.sessionStorageService.set('isModelOpen', 'true');\r\n this.localizationService.openModal(popUpTextValue);\r\n }\r\n }\r\n }\r\n\r\n this.navigateToNextPage();\r\n }\r\n }\r\n\r\n // Only supports date, text, numeric.\r\n private resolveHiddenQuestion(question: Question, isGroup: boolean = false) {\r\n // Only enter below logic when not already asnwered/pre-populated.\r\n if (!question.answerSets.some(ans => ans.isAnswered)) {\r\n const answer = question.answerSets[0];\r\n\r\n if (question.qQuestionFormat.toLowerCase() === 'datepicker') {\r\n let isFixedTerm = false;\r\n let policyTerm = 0;\r\n\r\n // PBI 130354: Is this 'PolicyExpiryDate' & do we have a PolicyTerm on Product? => Set fixed term flag.\r\n if (question.qIntentCode.toLowerCase() === policyExpiryDateIntentCode.toLowerCase()) {\r\n policyTerm = Number(sessionStorage.getItem('policyTerm'));\r\n if (policyTerm && Number(policyTerm) > 0) {\r\n isFixedTerm = true;\r\n }\r\n }\r\n\r\n // 1. Get the TimeZoneOffset.\r\n const timeZoneOffset = this.sessionStorageService.get('timeZoneOffset');\r\n const sponsorTimeZoneOffset = timeZoneOffset && timeZoneOffset.toLowerCase().replace('utc', '');\r\n\r\n // 2. Calculate anchor date.\r\n // PBI 130354: If fixed term flag => OffsetBasis is always 'PolicyStartDate'.\r\n const offsetIntentCode = isFixedTerm ? policyInceptionDateIntentCode : question.offsetBasis;\r\n const offsetBasisValue = this.questionSetService.findAnswerForIntentCode(offsetIntentCode);\r\n\r\n let offsetBasisDate: moment.Moment;\r\n if (offsetBasisValue && moment(offsetBasisValue) && moment(offsetBasisValue).isValid()) {\r\n offsetBasisDate = moment.parseZone(offsetBasisValue);\r\n }\r\n const anchorDate = offsetBasisDate || this.dateManipulationService.getMomentDatewithUtcOffset(sponsorTimeZoneOffset);\r\n\r\n // 3. Discern the offset pattern.\r\n // PBI 130354: If fixed term flag => Build offset pattern from PolicyTerm i.e. 'n,months'.\r\n const offsetPattern =\r\n isFixedTerm ? `${policyTerm},months` :\r\n question.default?.toLowerCase() === 'mindate' ? question.minDate\r\n : question.default?.toLowerCase() === 'maxdate' ? question.maxDate\r\n : question.default;\r\n\r\n // 4. Calculate the date.\r\n let result: moment.Moment = this.dateManipulationService.applyDateOffset(offsetPattern, anchorDate, timeZoneOffset);\r\n\r\n if (isFixedTerm) {\r\n // PBI 130354: If fixed term flag && !isExpiryDateasInceptionDate => deduct one day from result.\r\n if (sessionStorage.getItem('isExpiryDateasInceptionDate') === 'false') {\r\n result = this.dateManipulationService.applyDateOffset('-1,days', result, timeZoneOffset);\r\n }\r\n } else if (offsetBasisValue === undefined && isFixedTerm === false && answer?.name) {\r\n result = this.dateManipulationService.getMomentDateWithUtc(answer.name);\r\n }\r\n\r\n answer.name = result?.format();\r\n } else {\r\n // Non-date questions.\r\n // Check if the answer should be populated from a parameter.\r\n if (question.parameterName) {\r\n const params = this.settingsService.queryParams;\r\n const paramValue = params && params[question.parameterName.toLowerCase()];\r\n if (paramValue) {\r\n answer.name = paramValue;\r\n }\r\n } else {\r\n // Just populate the answer with the default.\r\n if (question?.default && question?.default !== undefined) {\r\n answer.name = question.default;\r\n }\r\n }\r\n }\r\n\r\n answer.isAnswered = true;\r\n }\r\n if (!isGroup) {\r\n this.onQuestionAnswered();\r\n }\r\n }\r\n\r\n private resolveHiddenQuestionForGroupPannel(questionSet) {\r\n questionSet.childQuestionSets.forEach(ques => {\r\n if (ques.isHidden) {\r\n this.resolveHiddenQuestion(ques, true);\r\n }\r\n if (ques?.answerSets?.length > 0) {\r\n ques?.answerSets?.forEach((que) => {\r\n if (que?.childQIntentCode && que?.childQuestionSets?.length > 0) {\r\n this.resolveHiddenQuestionForGroupPannel(que);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n\r\n\r\n private prePopulateSubGroupID(questionSet: Question) {\r\n if (questionSet?.childQuestionSets) {\r\n const index = questionSet.childQuestionSets?.findIndex(i => i.subGroupID?.toLowerCase() === \"true\");\r\n if (index >= 0) {\r\n const subgroupid = this.sessionStorageService.get('sponsorsubgroupid');\r\n const childLink = questionSet.childQuestionSets[index];\r\n if (subgroupid && subgroupid !== '' && subgroupid !== null && !childLink.answerSets[0].isAnswered) {\r\n childLink.answerSets[0].name = subgroupid;\r\n childLink.answerSets[0].isAnswered = true;\r\n }\r\n }\r\n }\r\n }\r\n\r\n private navigateToPrevious(navigateFrom: string) {\r\n this.questionSetService.navigatePrevious(navigateFrom);\r\n if (this.questionSetService.currentQuestion?.maxRepeats > 0) {\r\n this.questionSetService.setRepeatingGroupData(this.questionSetService.currentQuestion);\r\n }\r\n this.loadDynamicComponent(this.questionSetService.currentQuestion);\r\n }\r\n\r\n private navigateToIntentCode(intentCode: string) {\r\n this.questionSetService.navigateToIntentCode(intentCode);\r\n this.loadDynamicComponent(this.questionSetService.currentQuestion);\r\n }\r\n\r\n private navigateToNextPage() {\r\n this.router.navigate([this.data.forwardNavRoute], { relativeTo: this.activatedRoute, state: { isForwardNavigation: true } });\r\n }\r\n\r\n private getOffsetBasisQuestion(question: Question): Question {\r\n if (question?.offsetBasis && question?.offsetBasis !== '') {\r\n return this.questionSetService.getQuestionByIntentCode(question.offsetBasis);\r\n }\r\n return null;\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([nextButtonLabel, logoutLabel, pageClaimQuestion, productValidationText,\r\n saveQuoteButtonLabel, savedQuoteLabel, okLabel]).subscribe((res) => {\r\n this.nextButtonText = res[nextButtonLabel];\r\n this.logoutText = res[logoutLabel];\r\n this.pageClaimQuestion = res[pageClaimQuestion];\r\n this.productValidation = res[productValidationText];\r\n this.saveQuoteButtonText = res[saveQuoteButtonLabel];\r\n this.savedQuoteText = res[savedQuoteLabel];\r\n this.okButtonText = res[okLabel];\r\n });\r\n }\r\n\r\n async showLogoutLink() {\r\n this.logoutText = await this.baseConstantService.getLogOutText(this.logoutText);\r\n }\r\n\r\n logout() {\r\n this.msalAuthenticationService.logout();\r\n }\r\n\r\n moveToTop() {\r\n let top = document.getElementById('header');\r\n if (top !== null) {\r\n top.scrollIntoView();\r\n top = null;\r\n }\r\n }\r\n\r\n // To clone repeating group question and modify QIntentCode for 2nd, 3rd and so on iteration\r\n cloneRepeatingGroupQuestions() {\r\n if (this.sessionStorageService.get('isRepeat') === 'true') {\r\n this.sessionStorageService.set('PreviousAnsEditButton', true);\r\n this.questionSetService.IsNewRepeatingGroup = true;\r\n const currentQIntentCode = this.sessionStorageService.get('currentRepeatedQuestion').qIntentCode;\r\n\r\n const index = this.data.questionSet.findIndex(i => i.qIntentCode === currentQIntentCode);\r\n if (index >= 0) {\r\n const childLink = this.data.questionSet[index].childQIntentCode;\r\n\r\n const clonedArray = JSON.parse(JSON.stringify(this.data.questionSet));\r\n const clonedGroup = clonedArray[index];\r\n this.repeatingGroupName = clonedGroup.qIntentCode;\r\n this.repeatingGroupName = this.questionSetService.getRepeatingGroupName(this.repeatingGroupName);\r\n this.questionSetService.formFieldIteration = this.questionSetService.formFieldIteration + 1\r\n const iterationCount = this.questionSetService.formFieldIteration;\r\n const clonedGroupIntentCode = this.repeatingGroupName + '~' + (iterationCount - 1);\r\n const indexOfQuestion = this.data.questionSet.findIndex(que => que.qIntentCode === clonedGroupIntentCode);\r\n if (indexOfQuestion < 0) {\r\n clonedGroup.childQuestionSets.forEach((child) => {\r\n const childQIntentCode = this.questionSetService.getRepeatingGroupChildQintentCode(child.qIntentCode);\r\n child.qIntentCode = this.repeatingGroupName + '~' + (iterationCount - 1) + '~' + childQIntentCode;\r\n child.answerSets.forEach(answer => {\r\n answer.isAnswered = false;\r\n });\r\n });\r\n clonedGroup.qIntentCode = this.repeatingGroupName + '~' + (iterationCount - 1);\r\n this.data.questionSet[index].childQIntentCode = clonedGroup.qIntentCode;\r\n this.data.questionSet[index].answerSets[0].childQIntentCode = clonedGroup.qIntentCode;\r\n clonedGroup.childQIntentCode = childLink;\r\n clonedGroup.answerSets[0].childQIntentCode = childLink;\r\n this.data.questionSet.splice(index + 1, 0, clonedGroup);\r\n if (clonedGroup?.qSubDescription) {\r\n clonedGroup.qSubDescription = this.questionSetService.getRepeatingGroupqSubDescription(clonedGroup?.qSubDescription)\r\n + ' (' + iterationCount + ')';\r\n }\r\n const currentlRepeatingGroupCount = this.sessionStorageService.get('currentlRepeatingGroupCount');\r\n this.data.questionSet = this.questionSetService.increaseRepeatingGroupCount(this.data.questionSet,\r\n currentlRepeatingGroupCount + 1, this.repeatingGroupName);\r\n this.questionSetService.updateRepeatingGroupCount(this.repeatingGroupName, iterationCount, clonedGroup.qIntentCode);\r\n this.questionSetService.initialize(this.data.questionSet, index);\r\n }\r\n }\r\n }\r\n }\r\n\r\n // To modify QIntentcode for first iteration of repeating group\r\n // and no need to make clone of question\r\n firstRepeatingIteration(questionSet: Question) {\r\n if (this.questionSetService.formFieldIteration === 1) {\r\n const index = this.data?.questionSet?.findIndex(i => i.qIntentCode === questionSet.qIntentCode);\r\n const clonedGroup = this.data?.questionSet[index];\r\n this.sessionStorageService.set('PreviousAnsEditButton', true);\r\n this.questionSetService.IsNewRepeatingGroup = true;\r\n // const childLink = this.data.questionSet[index].childQIntentCode;\r\n const repeatingGroupOriginalQIntentCode = clonedGroup.qIntentCode;\r\n this.repeatingGroupName = clonedGroup.qIntentCode;\r\n const iterationCount = this.questionSetService.formFieldIteration;\r\n clonedGroup.qIntentCode = this.repeatingGroupName + '~' + (iterationCount - 1);\r\n\r\n if (this.lastQuestion) {\r\n const lastQuestionIndex = this.data?.questionSet?.findIndex(i => i.qIntentCode === this.lastQuestion?.qIntentCode);\r\n this.data.questionSet[lastQuestionIndex].childQIntentCode = clonedGroup.qIntentCode;\r\n this.data.questionSet[lastQuestionIndex].answerSets.forEach(answer => {\r\n if (answer.childQIntentCode === repeatingGroupOriginalQIntentCode) {\r\n answer.childQIntentCode = clonedGroup.qIntentCode;\r\n }\r\n });\r\n }\r\n\r\n clonedGroup?.childQuestionSets.forEach((child) => {\r\n child.qIntentCode = this.repeatingGroupName + '~' + (iterationCount - 1) + '~' + child.qIntentCode;\r\n child.answerSets.forEach(answer => {\r\n answer.isAnswered = false;\r\n });\r\n });\r\n\r\n this.questionSetService.updateRepeatingGroupCount(this.repeatingGroupName, iterationCount, clonedGroup.qIntentCode);\r\n // clonedGroup.qSubDescription = clonedGroup.qSubDescription + ' (' + (iterationCount) + ')';\r\n if (clonedGroup?.qSubDescription) {\r\n clonedGroup.qSubDescription = this.questionSetService.getRepeatingGroupqSubDescription(clonedGroup?.qSubDescription)\r\n + ' (' + iterationCount + ')';\r\n }\r\n const currentlRepeatingGroupCount = this.sessionStorageService.get('currentlRepeatingGroupCount');\r\n this.data.questionSet = this.questionSetService.increaseRepeatingGroupCount(this.data.questionSet,\r\n currentlRepeatingGroupCount + 1, this.repeatingGroupName);\r\n this.questionSetService.internalQuestionSet = this.data.questionSet;\r\n return this.data.questionSet[index];\r\n }\r\n }\r\n\r\n onDeleteRepeatingGroup() {\r\n this.data.questionSet = JSON.parse(this.sessionStorageService.get('AnsweredQuestionSet'));\r\n this.navigateToPrevious('navigateAfterDelete');\r\n }\r\n\r\n private buttonLabel(intentCode): string {\r\n if (this.isQuoteReferredCheck && this.settingsService.hidePolicyQuestionFromB2BProfileonB2C\r\n && intentCode === this.questionSetService.LastPolicyQuestion) {\r\n return this.saveQuoteButtonText\r\n } else {\r\n return this.nextButtonText;\r\n }\r\n }\r\n\r\n /**\r\n * Updates the state of the child question based on the parent's selection.\r\n *\r\n * Scenario:\r\n * - If the parent question (e.g., extraDetails) is selected as \"Yes\", the child question (e.g., extraDetails) is included.\r\n * - If the parent question is later changed to \"No\", the child question should not appear in the next iteration.\r\n */\r\n private updateChildQuestionStateOnParentEdit(): void {\r\n const currentQuestion = this.questionSetService.currentQuestion;\r\n const internalQuestionSet = this.questionSetService.internalQuestionSet;\r\n\r\n const childQuestionIndex = internalQuestionSet.findIndex(question =>\r\n question.parentQIntentCode === currentQuestion.qIntentCode\r\n );\r\n\r\n if (childQuestionIndex !== -1) {\r\n const childQuestion = internalQuestionSet[childQuestionIndex];\r\n if (currentQuestion.childQIntentCode !== childQuestion.qIntentCode) {\r\n if (childQuestion.answerSets && childQuestion.answerSets.length > 0 && childQuestion.answerSets[0].isAnswered) {\r\n childQuestion.answerSets[0].isAnswered = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n schedule\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{field.mandatoryValidationMsg}}\r\n
\r\n\r\n\r\n\r\n","import { Component, Input, OnInit, ViewChild } from '@angular/core';\r\nimport { AbstractControl, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { TimePickerField } from '../../../form-field/time-picker-field';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-time-picker',\r\n templateUrl: './time-picker.component.html',\r\n styleUrls: ['./time-picker.component.scss']\r\n})\r\nexport class TimePickerComponent implements OnInit {\r\n\r\n @ViewChild('timepicker') timepicker: any;\r\n\r\n @Input() field: TimePickerField;\r\n @Input() form: FormGroup;\r\n\r\n public isSmallView: boolean;\r\n public disableElement = false;\r\n public timePickerFormControlName: string;\r\n public inputClicked = false;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit(): void {\r\n this.createForm();\r\n this.checkViewPortWidth();\r\n this.disableElement = this.field.readOnly;\r\n\r\n }\r\n\r\n createForm() {\r\n if (this.form) {\r\n this.timePickerFormControlName = this.field.key || 'timePickerField';\r\n } else {\r\n this.timePickerFormControlName = 'timePickerField';\r\n this.form = new FormGroup({ TimePickerField: new FormControl('') });\r\n }\r\n }\r\n\r\n get formControl(): AbstractControl {\r\n return this.form.controls[this.timePickerFormControlName];\r\n }\r\n\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n closeEvent() {\r\n if (this.formControl.status === 'INVALID') {\r\n this.inputClicked = true;\r\n } else {this.inputClicked = false; }\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n {{field.iconName}}\r\n
{{field.label}}
\r\n \r\n
\r\n
\r\n {{getSpecificErrorMessage()}}\r\n this.maxFileCount\">{{maxFileErrorMsg}}\r\n
\r\n","import { Component, ViewChild, ElementRef, Input, Output, EventEmitter, OnInit, OnChanges } from '@angular/core';\r\nimport { FileUploadField } from '../../../form-field/file-upload-field';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { AbstractControl, FormControl, ValidatorFn } from '@angular/forms';\r\n\r\n\r\nexport function fileSizeValidator(files, maxSize): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n let fileSizeValidatorflag = false;\r\n const file = control.value;\r\n if (file) {\r\n const fileSize = files.target.files[0].size;\r\n if (fileSize > maxSize) {\r\n fileSizeValidatorflag = true;\r\n } else {\r\n fileSizeValidatorflag = false;\r\n }\r\n }\r\n return fileSizeValidatorflag === true ? { inValidSize: true } : null;\r\n };\r\n}\r\n\r\nexport function fileExtensionValidator(validExt: string): ValidatorFn {\r\n return (control: AbstractControl): { [key: string]: any } | null => {\r\n let isAllowedFileType = false;\r\n if (control.value) {\r\n const fileExt = control.value.split('.').pop().toLowerCase();\r\n validExt.split(',').forEach(ext => {\r\n if (ext.trim() === fileExt) { isAllowedFileType = true; }\r\n });\r\n }\r\n return isAllowedFileType === false ? { invalidFileType: true } : null;\r\n };\r\n}\r\n\r\n@Component({\r\n selector: 'lib-file-upload',\r\n templateUrl: './file-upload.component.html',\r\n styleUrls: ['./file-upload.component.scss']\r\n})\r\n\r\nexport class FileUploadComponent implements OnInit, OnChanges {\r\n\r\n @ViewChild('fileInput') fileInput: ElementRef;\r\n @Output() fileUploadEvent = new EventEmitter();\r\n @Input() field: FileUploadField;\r\n @Input() form: FormGroup;\r\n @Input() isNextButtonDisabled: boolean;\r\n @Input() maxUploadedFiles: number;\r\n @Input() maxFileCount: number;\r\n @Input() mandatoryDocError: boolean;\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n public maxRangeErrorMessage: string;\r\n public inValidFileTypeErrorMessage: string;\r\n public mandatoryDocErrorMessage: string;\r\n public maxFileErrorMsg: string;\r\n uploadPanel = false;\r\n fileCount = 0;\r\n\r\n constructor(private layoutService: LayoutService, private formBuilder: FormBuilder) { }\r\n\r\n ngOnInit() {\r\n if (Array.isArray(this.field.mandatoryValidationMsg)) {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg[0];\r\n this.maxRangeErrorMessage = this.field.mandatoryValidationMsg[7];\r\n } else {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg;\r\n this.maxRangeErrorMessage = this.field.maxRangeErrorMessage;\r\n this.inValidFileTypeErrorMessage = this.field.inValidFileTypeErrorMessage;\r\n this.mandatoryDocErrorMessage = this.field.mandatoryDocErrorMessage;\r\n this.maxFileErrorMsg = this.field.maxFileErrorMsg;\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n if (this.maxUploadedFiles) {\r\n this.fileCount = this.maxUploadedFiles;\r\n }\r\n }\r\n\r\n uploadFileEvt(uploadedFile: any) {\r\n if (uploadedFile.target.files && uploadedFile.target.files[0]) {\r\n Array.from(uploadedFile.target.files).forEach((file: File) => {\r\n this.fileUploadEvent.emit(file);\r\n });\r\n }\r\n }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n onFileUpload(event) {\r\n this.uploadPanel = true;\r\n this.form.controls[this.field.key].setValidators([\r\n fileSizeValidator(event, this.field.maxSize),\r\n fileExtensionValidator(this.field.allowedFileType)\r\n ]);\r\n }\r\n\r\n getSpecificErrorMessage() {\r\n // ** adding the below and condition so that it will not throw validation message after upload all mendatory docs\r\n if (this.formControl.invalid && this.formControl.hasError('required') && !this.mandatoryDocError && this.isNextButtonDisabled) {\r\n return this.mandatoryErrorMessage;\r\n } else if (this.formControl.hasError('inValidSize') && !this.formControl.hasError('required') && (this.fileCount < this.maxFileCount)) {\r\n return this.maxRangeErrorMessage;\r\n } else if (this.formControl.hasError('invalidFileType') && !this.formControl.hasError('required')\r\n && (this.fileCount < this.maxFileCount)) {\r\n return this.inValidFileTypeErrorMessage;\r\n } else if (this.formControl.invalid && this.formControl.hasError('required') && this.mandatoryDocError && this.isNextButtonDisabled) {\r\n return this.mandatoryDocErrorMessage;\r\n }\r\n\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n
\r\n

\r\n {{sessionTimeoutHeaderText}}\r\n

\r\n
\r\n\r\n
\r\n check_circle\r\n

{{sessionTimeoutMessageText}}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { MsalAuthenticationService } from 'projects/wtw-ui-components/src/lib/services/common-auth/msalauthentication.service';\r\nimport { CookieBannerService } from 'projects/wtw-ui-components/src/lib/services/cookie-banner/cookie-banner.service';\r\nimport { LayoutService } from 'projects/wtw-ui-components/src/lib/services/layout/layout.service';\r\nimport { BaseConstantService } from 'projects/wtw-ui-components/src/lib/services/constant/base-constant.service';\r\nimport { SharedSettingsService } from 'projects/wtw-ui-components/src/lib/services/settings/settings-base.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n\r\n\r\nconst sessionTimeoutHeaderLabel = 'Shared.lblSessionTimeout';\r\nconst sessionTimeoutMessageLabel = 'Shared.lblSessionTimeoutMessage';\r\nconst returnToHomePageLabel = 'Shared.lblReturnToHomepage';\r\n\r\n@Component({\r\n selector: 'lib-session-timeout',\r\n templateUrl: './session-timeout.component.html',\r\n styleUrls: ['./session-timeout.component.scss']\r\n})\r\nexport class SessionTimeoutComponent implements OnInit {\r\n\r\n sessionTimeoutHeaderText: string;\r\n sessionTimeoutMessageText: string;\r\n returnToHomePageText: string;\r\n isDesktop = false;\r\n isTablet = false;\r\n isMobile = false;\r\n isB2BFlow = false;\r\n private sponsorName: string;\r\n\r\n constructor(\r\n private msalService: MsalAuthenticationService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private cookieBannerService: CookieBannerService,\r\n private layoutService: LayoutService,\r\n private metaTag: Meta,\r\n private settingsService: SharedSettingsService,\r\n private sessionStorage: SessionStorageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: BaseConstantService.metaDataDenySearch }\r\n );\r\n this.isB2BFlow = this.settingsService.isB2B(); \r\n if (this.isB2BFlow ) {\r\n // to disable browser back navigation\r\n window.history.pushState(null, null, null);\r\n window.onpopstate = function() {\r\n window.history.go(1);\r\n }\r\n } \r\n this.applyTranslations();\r\n this.checkDeviceWidth();\r\n this.msalService.removeMSALItems();\r\n this.cookieBannerService.clearLocalStorage();\r\n this.cookieBannerService.clearSessionStorage();\r\n this.cookieBannerService.clearExternalIntegrationSessionStorage();\r\n this.sponsorName = this.settingsService.sponsorName;\r\n \r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([sessionTimeoutHeaderLabel, sessionTimeoutMessageLabel, returnToHomePageLabel]).subscribe((res) => {\r\n this.sessionTimeoutHeaderText = res[sessionTimeoutHeaderLabel];\r\n this.sessionTimeoutMessageText = res[sessionTimeoutMessageLabel];\r\n this.returnToHomePageText = res[returnToHomePageLabel];\r\n });\r\n }\r\n\r\n navigateToHomePage() {\r\n if (this.sponsorName) {\r\n this.settingsService.sponsorName = this.sponsorName;\r\n }\r\n this.router.navigate(['**']);\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n}\r\n\r\n\r\n","import { Injectable, OnInit } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SideBarService {\r\n\r\n private showNav$: BehaviorSubject = new BehaviorSubject(false);\r\n\r\n constructor() { }\r\n\r\n getShowNav() {\r\n return this.showNav$.asObservable();\r\n }\r\n\r\n setShowNav(showHide: boolean) {\r\n this.showNav$.next(showHide);\r\n }\r\n\r\n toggleNavState() {\r\n this.showNav$.next(!this.showNav$.value);\r\n }\r\n\r\n isNavOpen() {\r\n return this.showNav$.value;\r\n }\r\n}\r\n","\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
clear
\r\n \r\n
\r\n \r\n
\r\n
\r\n
","import { Component, OnInit, Input, ViewChild, Renderer2, ElementRef } from '@angular/core';\r\nimport { SideBarService } from '../../../services/side-bar/side-bar.service';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { Observable } from 'rxjs';\r\n\r\n\r\n\r\nexport enum SideNavDirection {\r\n Left = 'left',\r\n Right = 'right'\r\n}\r\n\r\n@Component({\r\n selector: 'lib-side-bar',\r\n templateUrl: './side-bar.component.html',\r\n styleUrls: ['./side-bar.component.scss']\r\n})\r\nexport class SideBarComponent implements OnInit {\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n showSideNav: Observable;\r\n\r\n @Input() sidenavTemplateRef: any;\r\n @Input() duration = 0.25;\r\n @Input() navWidth: number = window.innerWidth;\r\n @Input() direction: SideNavDirection = SideNavDirection.Right;\r\n // @ViewChild('closeIcon') closeIcon: ElementRef;\r\n constructor(\r\n private sideBarService: SideBarService,\r\n private layoutService: LayoutService,\r\n private renderer: Renderer2\r\n ) {\r\n // this.renderer.listen('window', 'click', (e: Event) => {\r\n // if (this.closeIcon.nativeElement.contains(e.target)) {\r\n // document.body.style.overflow = 'hidden';\r\n // this.sideBarService.setShowNav(true);\r\n // }\r\n // });\r\n }\r\n\r\n ngOnInit(): void {\r\n this.checkDeviceWidth();\r\n this.showSideNav = this.sideBarService.getShowNav();\r\n }\r\n\r\n onSidebarClose() {\r\n this.sideBarService.setShowNav(false);\r\n document.body.style.overflow = 'auto';\r\n }\r\n\r\n getSideNavBarStyle(showNav: boolean) {\r\n const navBarStyle: any = {};\r\n navBarStyle.transition = this.direction + ' ' + this.duration + 's, visibility ' + this.duration + 's';\r\n navBarStyle.width = this.isMobile ? 100 + '%' : this.navWidth + 'px';\r\n navBarStyle[this.direction] = (showNav ? 0 : (this.navWidth * -1)) + 'px';\r\n\r\n return navBarStyle;\r\n }\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n \r\n
\r\n
\r\n \r\n {{option.name}} \r\n \r\n
\r\n
\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { LayoutService } from 'projects/wtw-ui-components/src/lib/services/layout/layout.service';\r\n\r\n\r\n@Component({\r\n selector: 'lib-radio-group',\r\n templateUrl: './radio-group.component.html',\r\n styleUrls: ['./radio-group.component.scss']\r\n})\r\nexport class RadioGroupComponent implements OnInit {\r\n\r\n @Input() field: any;\r\n @Input() form: FormGroup;\r\n @Output() cToAction = new EventEmitter();\r\n public isSmallView: boolean;\r\n public mandatoryErrorMessage: string;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n get formControl(): any {\r\n return this.form.controls[this.field.key];\r\n }\r\n\r\n // --- checking width of viewport and set the view flags on\r\n checkViewPortWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isSmallView = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n ngOnInit() {\r\n if (this.field.label === undefined || this.field.label === null) {\r\n this.field.label = '';\r\n }\r\n if (Array.isArray(this.field.mandatoryValidationMsg)) {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg[0];\r\n } else {\r\n this.mandatoryErrorMessage = this.field.mandatoryValidationMsg;\r\n }\r\n }\r\n\r\n callToActionOnClick() {\r\n this.cToAction.emit();\r\n }\r\n\r\n getSpecificErrorMessage() {\r\n if (this.formControl.hasError('required')) {\r\n return this.mandatoryErrorMessage;\r\n }\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n {{countryCodeLabelValue}}\r\n \r\n {{personalDetailsForm.controls['countryCode'].value}}\r\n \r\n {{option.value}}\r\n \r\n \r\n {{mandatoryErrorMessageTextValue}}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n help\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { FormGroupControlService } from 'projects/wtw-ui-components/src/lib/services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { CountryCodeLookupData } from '../../../../models/user-profile.model';\r\nimport { PersonalDetails } from '../../../../models/your-profile.model';\r\n\r\n@Component({\r\n selector: 'lib-personal-details',\r\n templateUrl: './personal-details.component.html',\r\n styleUrls: ['./personal-details.component.scss']\r\n})\r\n\r\nexport class PersonalDetailsComponent implements OnInit {\r\n\r\n\r\n personalDetailsForm: FormGroup;\r\n pageFormFields: FormFieldBase[] = [];\r\n @Input() personalDetails: PersonalDetails;\r\n @Output() personalDetailsEvent = new EventEmitter();\r\n isReady = false;\r\n tooltipText: string;\r\n countryCodeRequiredValue: boolean;\r\n countryCodeReadOnlyValue: boolean;\r\n selectedCountryCodeValue: string;\r\n countryCodeLabelValue: string;\r\n countryCodeLookupDataValue: CountryCodeLookupData[];\r\n mandatoryErrorMessageTextValue: string | string[];\r\n\r\n constructor(\r\n private readonly formGroupControlService: FormGroupControlService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.buildFormFields();\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n for (const [key, value] of Object.entries(this.personalDetails)) {\r\n if (key !== 'pageInfo' && key !== 'tooltipText' && key !== 'isEditMode' && key !== 'selectedCountryCode' &&\r\n key !== 'countryCodeLookupData' && key !== 'countryCodeReadOnly' &&\r\n key !== 'countryCodeRequired' && key !== 'countryCodeLabel' && key !== 'showCountryCodeCtrl') {\r\n formFields.push(value);\r\n }\r\n }\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.pageFormFields = results;\r\n this.personalDetailsForm = new FormGroup(\r\n this.formGroupControlService.toFormControlArray(results)\r\n );\r\n\r\n if (this.personalDetails.showCountryCodeCtrl) {\r\n this.personalDetailsForm.addControl('countryCode', new FormControl('', Validators.required));\r\n } else {\r\n this.personalDetailsForm.addControl('countryCode', new FormControl(''));\r\n }\r\n this.isReady = true;\r\n });\r\n\r\n this.tooltipText = this.personalDetails.tooltipText;\r\n this.selectedCountryCodeValue = this.personalDetails.selectedCountryCode;\r\n this.countryCodeLabelValue = this.personalDetails.countryCodeLabel;\r\n this.countryCodeLookupDataValue = this.personalDetails.countryCodeLookupData;\r\n this.countryCodeReadOnlyValue = this.personalDetails.countryCodeReadOnly;\r\n this.countryCodeRequiredValue = this.personalDetails.countryCodeRequired;\r\n if (this.personalDetails.showCountryCodeCtrl) {\r\n this.mandatoryErrorMessageTextValue = this.personalDetails.countryCode.mandatoryValidationMsg;\r\n }\r\n }\r\n\r\n\r\n onClickEvent(eventType: string) {\r\n this.personalDetailsEvent.emit(eventType);\r\n }\r\n\r\n}\r\n\r\n","\r\n\r\n\r\n

{{data.typeLabel}}

\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n

{{address.pageInfo.defaultAddressText}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { Input } from '@angular/core';\r\nimport { Component, EventEmitter, Inject, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { FormGroupControlService } from '../../../../../services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { Address, ManageAddresses } from '../../../../models';\r\n// import { FormGroup } from '@angular/forms';\r\n// import { FormFieldBase, FormGroupControlService } from 'wtw-ui-components';\r\n\r\n@Component({\r\n selector: 'lib-address-modal',\r\n templateUrl: './address-modal.component.html',\r\n styleUrls: ['./address-modal.component.scss']\r\n})\r\nexport class AddressModalComponent implements OnInit {\r\n\r\n pageFormFields: FormFieldBase[] = [];\r\n addressForm: FormGroup;\r\n address: ManageAddresses;\r\n isDefaultAddress = false;\r\n isDefaultAddressDisabled = false;\r\n\r\n\r\n constructor(@Inject(MAT_DIALOG_DATA) public data: { addForm: FormGroup, add: ManageAddresses, typeLabel: string, eventType: string },\r\n private readonly formGroupControlService: FormGroupControlService,\r\n public dialogRef: MatDialogRef) { }\r\n\r\n ngOnInit(): void {\r\n this.isDefaultAddress = this.data.addForm.controls.defaultAddress.value;\r\n this.isDefaultAddressDisabled = this.isDefaultAddress;\r\n if (this.data.eventType === 'new') {this.isDefaultAddressDisabled = false; }\r\n this.address = this.data.add;\r\n this.buildFormFields();\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n for (const [key, value] of Object.entries(this.data.add)) {\r\n if (key !== 'pageInfo' && key !== 'addressList') {\r\n formFields.push(value);\r\n }\r\n }\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.pageFormFields = results;\r\n this.addressForm = this.data.addForm;\r\n });\r\n }\r\n\r\n onClickEvent() {\r\n if (this.addressForm.valid) {\r\n const addressResult = {\r\n firstLine: this.data.addForm.controls.addressLine1.value,\r\n city: this.data.addForm.controls.town.value,\r\n countryId: this.data.addForm.controls.country.value,\r\n postCode: this.data.addForm.controls.postalCode.value,\r\n isNew: this.data.eventType === 'new' ? true : false,\r\n isDefault: this.isDefaultAddress,\r\n isDeleted: false,\r\n customerAddressID: this.data.addForm.value.addressId,\r\n customerAddressTypeID: 1,\r\n };\r\n\r\n this.dialogRef.close(addressResult);\r\n }\r\n }\r\n\r\n onCancel(): void {\r\n this.dialogRef.close();\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n {{this.labels.contactPreferenceAddress}}\r\n
\r\n
\r\n {{this.labels.editHeaderLabel}}\r\n
\r\n
\r\n {{ this.labels.defaultLabel}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{add.addressLine1}}
\r\n
{{add.town}}
\r\n
{{add.country}}
\r\n
{{add.postalCode}}
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, Input, OnInit, ViewChild, Output, EventEmitter } from '@angular/core';\r\nimport { ManageAddresses } from '../../../../../shared/models';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { FormGroupControlService } from '../../../../../services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AddressModalComponent } from '../address-modal/address-modal.component';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\nconst pageLabels = {\r\n contactPreferenceAddress: 'AccountDetails.lblContactPreferenceAddress',\r\n editHeaderLabel: 'AccountDetails.lblEditHeaderLabel',\r\n editLabel: 'Shared.lblEdit',\r\n defaultLabel: 'Shared.lblDefault'\r\n};\r\n\r\n@Component({\r\n selector: 'lib-manage-addresses',\r\n templateUrl: './manage-addresses.component.html',\r\n styleUrls: ['./manage-addresses.component.scss']\r\n})\r\n\r\nexport class ManageAddressesComponent implements OnInit {\r\n\r\n @Input() manageAddresses: ManageAddresses;\r\n\r\n pageFormFields: FormFieldBase[] = [];\r\n addressForm: FormGroup;\r\n aKey: string;\r\n aValue: string;\r\n bKey: string;\r\n bValue: string;\r\n pageHeader: string;\r\n @Output() addressUpdateEvent = new EventEmitter();\r\n public labels = {\r\n contactPreferenceAddress: '',\r\n editHeaderLabel: '',\r\n editLabel: '',\r\n defaultLabel: ''\r\n };\r\n\r\n constructor(public dialog: MatDialog,\r\n private readonly formGroupControlService: FormGroupControlService,\r\n private readonly translate: TranslateService) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.applyTranslation();\r\n this.buildFormFields();\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n for (const [key, value] of Object.entries(this.manageAddresses)) {\r\n if (key !== 'pageInfo' && key !== 'addressList') {\r\n formFields.push(value);\r\n }\r\n }\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.pageFormFields = results;\r\n this.addressForm = new FormGroup(\r\n this.formGroupControlService.toFormControlArray(results)\r\n );\r\n });\r\n }\r\n\r\n onEditClick(add: ManageAddresses, type: string): void {\r\n\r\n Object.entries(this.addressForm.controls).forEach(\r\n ([oKey, oValue]) => {\r\n this.aKey = oKey;\r\n Object.entries(add).forEach(\r\n ([key, value]) => {\r\n this.bKey = key;\r\n this.bValue = value;\r\n if (this.aKey === this.bKey) {\r\n this.addressForm.controls[this.aKey].setValue(this.bValue);\r\n // this.manageAddresses[this.aKey].value = add[this.bKey];\r\n }\r\n if (this.bKey === 'country') {\r\n this.addressForm.controls[this.bKey].setValue(add['countryId']);\r\n }\r\n });\r\n }\r\n );\r\n\r\n this.pageHeader = this.setPageHeader(type);\r\n\r\n const dialogRef = this.dialog.open(AddressModalComponent, {\r\n width: '830px',\r\n height: 'auto',\r\n data: { addForm: this.addressForm, add: this.manageAddresses, typeLabel: this.pageHeader, eventType: type }\r\n });\r\n\r\n dialogRef.afterClosed()\r\n .subscribe(result => {\r\n this.addressUpdateEvent.emit(result); // emit to parent\r\n });\r\n\r\n }\r\n\r\n onAddClick(type: string): void {\r\n this.buildFormFields();\r\n Object.entries(this.addressForm.controls).forEach(\r\n ([oKey, oValue]) => {\r\n this.aKey = oKey;\r\n this.manageAddresses[this.aKey].value = '';\r\n this.addressForm.controls[this.aKey].setValue('');\r\n }\r\n );\r\n\r\n this.pageHeader = this.setPageHeader(type);\r\n\r\n const dialogRef1 = this.dialog.open(AddressModalComponent, {\r\n width: '830px',\r\n height: 'auto',\r\n data: { addForm: this.addressForm, add: this.manageAddresses, typeLabel: this.pageHeader, eventType: type }\r\n });\r\n dialogRef1.afterClosed()\r\n .subscribe(result => {\r\n this.addressUpdateEvent.emit(result); // emit to parent\r\n });\r\n }\r\n\r\n setPageHeader(type: string): string {\r\n if (type === 'edit') {\r\n return this.manageAddresses.pageInfo.editHeaderText;\r\n } else if (type === 'new') {\r\n return this.manageAddresses.pageInfo.addHeaderText;\r\n }\r\n }\r\n\r\n applyTranslation() {\r\n const { contactPreferenceAddress,\r\n editHeaderLabel,\r\n editLabel,\r\n defaultLabel\r\n } = pageLabels;\r\n\r\n this.translate.get([contactPreferenceAddress,\r\n editHeaderLabel, editLabel, defaultLabel])\r\n .subscribe((res) => {\r\n this.labels.contactPreferenceAddress = res[contactPreferenceAddress];\r\n this.labels.editHeaderLabel = res[editHeaderLabel];\r\n this.labels.editLabel = res[editLabel];\r\n this.labels.defaultLabel = res[defaultLabel];\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { EventEmitter, Output } from '@angular/core';\r\nimport { Component, Input, OnInit } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormGroupControlService } from 'projects/wtw-ui-components/src/lib/services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { LanguagePreference } from '../../../../models/your-profile.model';\r\n\r\n\r\n@Component({\r\n selector: 'lib-lang-preference',\r\n templateUrl: './lang-preference.component.html',\r\n styleUrls: ['./lang-preference.component.scss']\r\n})\r\n\r\nexport class LangPreferenceComponent implements OnInit {\r\n\r\n @Input() languagePreference: LanguagePreference;\r\n @Output() langPreferencesEvent = new EventEmitter();\r\n\r\n languagePreferenceForm: FormGroup;\r\n field: FormFieldBase[] = [];\r\n isReady = false;\r\n\r\n constructor(private readonly formGroupControlService: FormGroupControlService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.buildFormFields();\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n for (const [key, value] of Object.entries(this.languagePreference)) {\r\n if (key === 'currentLanguage') {\r\n formFields.push(value);\r\n }\r\n }\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.field = results;\r\n this.languagePreferenceForm = new FormGroup(\r\n this.formGroupControlService.toFormControlArray(results)\r\n );\r\n\r\n this.isReady = true;\r\n });\r\n }\r\n\r\n onClickEvent(eventType: string) {\r\n this.langPreferencesEvent.emit(eventType);\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n {{consentPreferences.pageInfo.subheadingText}}\r\n
\r\n
\r\n

\r\n {{consentPreferences.policyHeading}}\r\n

\r\n
\r\n
\r\n {{consentPreferences.policyDescription}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n {{consentObj.consentHeading}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{consentObj.consentLegalText}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormGroupControlService } from 'projects/wtw-ui-components/src/lib/services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { ConsentPreferences } from '../../../../models/your-profile.model';\r\n\r\n\r\n@Component({\r\n selector: 'lib-consent-preferences',\r\n templateUrl: './consent-preferences.component.html',\r\n styleUrls: ['./consent-preferences.component.scss']\r\n})\r\n\r\nexport class ConsentPreferencesComponent implements OnInit {\r\n\r\n @Input() consentPreferences: ConsentPreferences;\r\n @Output() consentPreferencesEvent = new EventEmitter();\r\n consentPreferencesForm: FormGroup;\r\n field: FormFieldBase[] = [];\r\n isReady = false;\r\n\r\n constructor(private readonly formGroupControlService: FormGroupControlService) { }\r\n\r\n ngOnInit(): void {\r\n this.buildFormFields();\r\n\r\n this.consentPreferences.consentList.forEach((value) => {\r\n value['isContentCollapsed'] = true;\r\n });\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n this.consentPreferences.consentList.forEach((value) => {\r\n formFields.push(value.consent);\r\n });\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.field = results;\r\n this.consentPreferencesForm = new FormGroup(\r\n this.formGroupControlService.toFormControlArray(results)\r\n );\r\n\r\n this.isReady = true;\r\n });\r\n }\r\n\r\n onClickEvent(eventType: string) {\r\n this.consentPreferencesEvent.emit(eventType);\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n {{contactPreferences.pageInfo.subheadingText}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {{contactPreferences.pageInfo.note}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { FormGroupControlService } from 'projects/wtw-ui-components/src/lib/services/form-group/form-group.service';\r\nimport { FormFieldBase } from '../../../../form-field/form-field-base';\r\nimport { ContactPreferences } from '../../../../models/your-profile.model';\r\n\r\n\r\n@Component({\r\n selector: 'lib-contact-preferences',\r\n templateUrl: './contact-preferences.component.html',\r\n styleUrls: ['./contact-preferences.component.scss']\r\n})\r\n\r\nexport class ContactPreferencesComponent implements OnInit {\r\n\r\n @Input() contactPreferences: ContactPreferences;\r\n @Output() contactPreferencesEvent = new EventEmitter();\r\n contactPreferencesForm: FormGroup;\r\n field: FormFieldBase[] = [];\r\n isReady = false;\r\n\r\n constructor(private readonly formGroupControlService: FormGroupControlService) { }\r\n\r\n ngOnInit(): void {\r\n this.buildFormFields();\r\n\r\n this.contactPreferences.contactTypeList.forEach((value) => {\r\n value['isContentCollapsed'] = true;\r\n });\r\n }\r\n\r\n async buildFormFields() {\r\n\r\n const formFields: FormFieldBase[] = [];\r\n this.contactPreferences.contactTypeList.forEach((value) => {\r\n formFields.push(value.contact);\r\n });\r\n\r\n this.formGroupControlService.formFieldswithOrder(formFields).subscribe(results => {\r\n this.field = results;\r\n this.contactPreferencesForm = new FormGroup(\r\n this.formGroupControlService.toFormControlArray(results)\r\n );\r\n\r\n this.isReady = true;\r\n });\r\n }\r\n\r\n onClickEvent(eventType: string) {\r\n this.contactPreferencesEvent.emit(eventType);\r\n }\r\n\r\n}\r\n\r\n","\r\n \r\n \r\n \r\n {{yourProfileData.personalDetails.pageInfo.icon}}{{yourProfileData.personalDetails.pageInfo.headingText}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{yourProfileData.manageAddresses.pageInfo.icon}} {{yourProfileData.manageAddresses.pageInfo.headingText}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n {{yourProfileData.languagePreference.pageInfo.icon}}{{yourProfileData.languagePreference.pageInfo.headingText}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{yourProfileData.consentPreferences.pageInfo.headingText}} \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{yourProfileData.contactPreferences.pageInfo.headingText}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { MatAccordion } from '@angular/material/expansion';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Subscription } from 'rxjs';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { PersonalDetailsComponent } from './components/personal-details/personal-details.component';\r\nimport { ManageAddressesComponent } from './components/manage-addresses/manage-addresses.component';\r\nimport { LangPreferenceComponent } from './components/lang-preference/lang-preference.component';\r\nimport { ConsentPreferencesComponent } from './components/consent-preferences/consent-preferences.component';\r\nimport { ContactPreferencesComponent } from './components/contact-preferences/contact-preferences.component';\r\nimport { AddressDetails, YourProfileData } from '../../models/your-profile.model';\r\nimport { BaseCustomerService } from '../../../services/customer/base-customer.service';\r\nimport { BaseAccountService } from '../../../services/account/base-account.service';\r\nimport { CustomerConsent } from '../../models/customerconsent.model';\r\nimport { DataShareConsent } from '../../models/datashareconsent.model';\r\nimport { SaveUserConsents } from '../../models/save-user-consents.model';\r\nimport { endPoints } from '../../core/app.config';\r\nimport { AddressModalComponent } from './components/address-modal/address-modal.component';\r\nimport { PagingService } from '../../../services/app-insights/paging-service';\r\n\r\n@Component({\r\n selector: 'lib-base-your-profile',\r\n templateUrl: './base-your-profile.component.html',\r\n styleUrls: ['./base-your-profile.component.scss']\r\n})\r\n\r\nexport class BaseYourProfileComponent implements OnInit {\r\n\r\n @ViewChild(MatAccordion) accordion: MatAccordion;\r\n @ViewChild(PersonalDetailsComponent) personalDetailsComponent: PersonalDetailsComponent;\r\n @ViewChild(ManageAddressesComponent) manageAddressComponent: ManageAddressesComponent;\r\n @ViewChild(AddressModalComponent) addressModalComponent: AddressModalComponent;\r\n @ViewChild(LangPreferenceComponent) langPreferenceComponent: LangPreferenceComponent;\r\n @ViewChild(ConsentPreferencesComponent) consentPreferencesComponent: ConsentPreferencesComponent;\r\n @ViewChild(ContactPreferencesComponent) contactPreferencesComponent: ContactPreferencesComponent;\r\n @Input() yourProfileData: YourProfileData;\r\n @Input() yourProfilePreviousData: any;\r\n @Output() languageChangeWarningEvent = new EventEmitter();\r\n currentLanguageObject = {\r\n languageCode: '',\r\n languageId: null\r\n };\r\n readOnlyControls: string[] = [];\r\n private customLogos: any[] = [];\r\n public consentLogo: string;\r\n public contactLogo: string;\r\n private customerId: number;\r\n private isAnySectionEdited: boolean; // To load the latest data on click of cancel after edit\r\n\r\n constructor(\r\n private readonly sessionStorage: SessionStorageService,\r\n private readonly baseCustomerService: BaseCustomerService,\r\n private accountService: BaseAccountService,\r\n private route: ActivatedRoute,\r\n private pagingService: PagingService) { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.isAnySectionEdited = false;\r\n this.customerId = this.yourProfilePreviousData.yourProfileModel.userProfile.customerId;\r\n this.checkForReadOnlyControls();\r\n this.setReadOnlyPersonalDetails(true);\r\n this.setReadOnlyConsentPreferences(true);\r\n this.setReadOnlyContactPreferences(true);\r\n this.getLogos();\r\n }\r\n\r\n getLogos() {\r\n this.customLogos = this.route.snapshot.data.getLogoResolver;\r\n this.consentLogo = this.customLogos.find(value => value.title === 'Consent_Your_Profile').imageData;\r\n this.contactLogo = this.customLogos.find(value => value.title === 'Contact_Your_Profile').imageData;\r\n }\r\n\r\n checkForReadOnlyControls() {\r\n const personalDetails = this.yourProfileData.personalDetails;\r\n for (const [key, value] of Object.entries(personalDetails)) {\r\n if (value?.readOnly) {\r\n this.readOnlyControls.push(value?.key);\r\n }\r\n }\r\n }\r\n\r\n // Consent Preference Save\r\n consentPreferencesEvent(eventType: string) {\r\n if (eventType === 'save') {\r\n this.saveConsentPreferences('consent');\r\n } else if (eventType === 'edit') {\r\n this.setReadOnlyConsentPreferences(false);\r\n } else if (eventType === 'cancel') {\r\n this.resetConsentPreferencesForm();\r\n }\r\n }\r\n\r\n setReadOnlyConsentPreferences(readOnlyValue: boolean) {\r\n this.yourProfileData.consentPreferences.isEditMode = !readOnlyValue;\r\n\r\n this.yourProfileData.consentPreferences.consentList.forEach((value, i) => {\r\n if (value.consent.hasOwnProperty('readOnly')) {\r\n this.yourProfileData.consentPreferences.consentList[i].consent.readOnly = readOnlyValue;\r\n }\r\n });\r\n }\r\n\r\n saveConsentPreferences(saveType: string) {\r\n const saveUserConsnetObj = this.buildUserConsent(\r\n this.yourProfilePreviousData.yourProfileModel.consentPurposeList,\r\n this.yourProfilePreviousData.yourProfileModel.contactPreferences,\r\n this.consentPreferencesComponent.consentPreferencesForm.value,\r\n this.contactPreferencesComponent.contactPreferencesForm.value,\r\n saveType);\r\n this.baseCustomerService.saveUserConsent(saveUserConsnetObj).then((value) => {\r\n this.isAnySectionEdited = true;\r\n if (saveType === 'consent') {\r\n this.setReadOnlyConsentPreferences(true);\r\n } else if (saveType === 'contact') {\r\n this.setReadOnlyContactPreferences(true);\r\n }\r\n });\r\n }\r\n\r\n private buildUserConsent(consentModel, contactModel, consentFormAnswers,\r\n contactFormAnswers, preferenceSaveType: string = 'both'): SaveUserConsents {\r\n const customerConsents: CustomerConsent[] = consentModel.map((consentObj) => {\r\n const obj: CustomerConsent = {\r\n consentOptIn: JSON.parse(consentFormAnswers[consentObj.title]),\r\n consentPurposeId: consentObj.consentPurposeId,\r\n customerConsentId: consentObj.customerConsentId,\r\n customerId: this.customerId,\r\n id: consentObj.consentPurposeId,\r\n languageId: consentObj.languageId,\r\n };\r\n return obj;\r\n });\r\n\r\n const dataShareConsent: DataShareConsent = {\r\n agreeDataSharingConsent: contactModel.agreeDataSharingConsent,\r\n agreeEmailTPCP: JSON.parse(contactFormAnswers.email),\r\n agreeMailTPCP: JSON.parse(contactFormAnswers.address),\r\n agreePhoneTPCP: JSON.parse(contactFormAnswers.phone),\r\n customerId: this.customerId,\r\n dataConsentId: contactModel.dataConsentID\r\n };\r\n\r\n const saveUserConsents: SaveUserConsents = {\r\n customerConsents,\r\n dataShareConsent,\r\n customerId: this.customerId,\r\n languageId: this.sessionStorage.get('LanguageId'),\r\n userName: this.yourProfilePreviousData.yourProfileModel.userProfile.email,\r\n saveType: preferenceSaveType\r\n };\r\n return saveUserConsents;\r\n }\r\n\r\n resetConsentPreferencesForm() {\r\n if (this.isAnySectionEdited) {\r\n this.updateLatestDetails('consent');\r\n } else {\r\n this.setReadOnlyConsentPreferences(true);\r\n this.consentPreferencesComponent.buildFormFields();\r\n }\r\n }\r\n\r\n // Contact Preference Save\r\n contactPreferencesEvent(eventType: string) {\r\n if (eventType === 'save') {\r\n this.saveConsentPreferences('contact');\r\n } else if (eventType === 'edit') {\r\n this.setReadOnlyContactPreferences(false);\r\n } else if (eventType === 'cancel') {\r\n this.resetContactPreferencesForm();\r\n }\r\n }\r\n\r\n resetContactPreferencesForm() {\r\n if (this.isAnySectionEdited) {\r\n this.updateLatestDetails('contact');\r\n }\r\n this.setReadOnlyContactPreferences(true);\r\n this.contactPreferencesComponent.buildFormFields();\r\n }\r\n\r\n setReadOnlyContactPreferences(readOnlyValue: boolean) {\r\n this.yourProfileData.contactPreferences.isEditMode = !readOnlyValue;\r\n\r\n this.yourProfileData.contactPreferences.contactTypeList.forEach((value, i) => {\r\n if (value.contact.hasOwnProperty('readOnly')) {\r\n this.yourProfileData.contactPreferences.contactTypeList[i].contact.readOnly = readOnlyValue;\r\n }\r\n });\r\n }\r\n\r\n\r\n // Personal Details Functions\r\n personalDetailsEvent(eventType: string) {\r\n if (eventType === 'save') {\r\n this.savePersonalDeatils('personalDetails');\r\n } else if (eventType === 'edit') {\r\n this.setReadOnlyPersonalDetails(false);\r\n } else if (eventType === 'cancel') {\r\n this.resetPersonalDetailsForm();\r\n }\r\n }\r\n\r\n async savePersonalDeatils(saveType: string) {\r\n const personalDetailsForm = this.personalDetailsComponent.personalDetailsForm;\r\n const languagePreferencesForm = this.langPreferenceComponent?.languagePreferenceForm;\r\n const objDate = this.pagingService.convertDateIntoUTC(personalDetailsForm?.controls?.dateOfBirth?.value);\r\n const yourProfileModel = {\r\n userProfile: {\r\n customerId: this.customerId,\r\n title: personalDetailsForm?.controls?.title?.value,\r\n customerIdentifier: personalDetailsForm?.controls?.ssn?.value,\r\n firstName: personalDetailsForm?.controls?.firstName?.value,\r\n lastName: personalDetailsForm?.controls?.lastName?.value,\r\n phoneNumber: personalDetailsForm?.controls?.phoneNumber?.value,\r\n countryCode: personalDetailsForm?.controls?.countryCode?.value,\r\n dateOfBirth: objDate,\r\n placeOfBirth: personalDetailsForm?.controls?.placeOfBirth?.value,\r\n placeOfBirthTown: personalDetailsForm?.controls?.placeOfBirthTown?.value,\r\n customerPreferredLanguageID: languagePreferencesForm?.controls?.currentLanguage?.value,\r\n email2: personalDetailsForm?.controls?.email2?.value,\r\n IsB2bUser: false\r\n },\r\n\r\n currentUser: {\r\n sponsorId: this.sessionStorage.get('SponsorId'),\r\n currentUserName: this.sessionStorage.get('LoggedInUser'),\r\n languageCode: this.sessionStorage.get('LanguageCode'),\r\n subGroupID: '',\r\n }\r\n };\r\n\r\n await this.baseCustomerService.saveB2CCutomerPersonalDetails(yourProfileModel).subscribe(res => {\r\n if (res && res.isSsuccess === true) {\r\n this.isAnySectionEdited = true;\r\n if (saveType === 'personalDetails') {\r\n this.setReadOnlyPersonalDetails(true);\r\n } else if (saveType === 'languagePreferences') {\r\n this.setReadOnlyLanguagePreferences(true);\r\n\r\n const currentLanguageId = this.langPreferenceComponent?.languagePreferenceForm.controls.currentLanguage.value;\r\n\r\n this.currentLanguageObject.languageId = currentLanguageId;\r\n\r\n this.currentLanguageObject.languageCode =\r\n this.yourProfilePreviousData.customerDetailOptions.sponsorLanguage.preferredLanguages.find((obj) => {\r\n return obj.languageID === currentLanguageId;\r\n }).languageCode;\r\n\r\n this.sessionStorage.set('LanguageCode', this.currentLanguageObject.languageCode);\r\n this.sessionStorage.set('LanguageId', this.currentLanguageObject.languageId);\r\n\r\n this.baseCustomerService.setCustomerPreferredLanguage(\r\n this.currentLanguageObject.languageId, this.currentLanguageObject.languageCode);\r\n window.location.reload();\r\n\r\n }\r\n }\r\n });\r\n }\r\n\r\n addressUpdateEvent(address: any) {\r\n if (address) {\r\n address.customerId = this.sessionStorage.get('customerId');\r\n address.SponsorId = this.sessionStorage.get('SponsorId');\r\n address.UserLanguageCode = this.sessionStorage.get('LanguageCode');\r\n\r\n this.baseCustomerService.saveCustomerAddress(address).subscribe(res => {\r\n\r\n if (res && res === true) {\r\n console.log('Address saved successcfully..!');\r\n\r\n const addressList: AddressDetails[] = [];\r\n this.accountService.yourProfile().subscribe(result => {\r\n if (result) {\r\n this.yourProfileData.manageAddresses.addressList =\r\n this.baseCustomerService.buildCustomerAddressList(result.yourProfileModel?.addresses);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n setReadOnlyPersonalDetails(readOnlyValue: boolean) {\r\n this.yourProfileData.personalDetails.isEditMode = !readOnlyValue;\r\n\r\n for (const [key, value] of Object.entries(this.yourProfileData.personalDetails)) {\r\n if (!this.readOnlyControls.includes(value?.key) && value.hasOwnProperty('readOnly')) {\r\n this.yourProfileData.personalDetails[key].readOnly = readOnlyValue;\r\n }\r\n }\r\n }\r\n\r\n resetPersonalDetailsForm() {\r\n if (this.isAnySectionEdited) {\r\n this.updateLatestDetails('personalDetails');\r\n } else {\r\n this.setReadOnlyPersonalDetails(true);\r\n this.personalDetailsComponent.buildFormFields();\r\n }\r\n }\r\n\r\n // Language Preferences Functions\r\n langPreferencesEvent(eventType: string) {\r\n if (eventType === 'save') {\r\n this.saveLanguagePreferences();\r\n } else if (eventType === 'edit') {\r\n this.setReadOnlyLanguagePreferences(false);\r\n } else if (eventType === 'cancel') {\r\n this.resetLanguagePreferencesForm();\r\n }\r\n }\r\n\r\n saveLanguagePreferences() {\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n if (baseUrl.indexOf('claims') === 1) {\r\n this.languageChangeWarningEvent.emit(true);\r\n } else {\r\n this.savePersonalDeatils('languagePreferences');\r\n }\r\n }\r\n\r\n setReadOnlyLanguagePreferences(readOnlyValue: boolean) {\r\n this.yourProfileData.languagePreference.isEditMode = !readOnlyValue;\r\n\r\n this.yourProfileData.languagePreference.currentLanguage.readOnly = readOnlyValue;\r\n }\r\n\r\n resetLanguagePreferencesForm() {\r\n if (this.isAnySectionEdited) {\r\n this.updateLatestDetails('languagePreferences');\r\n }\r\n this.setReadOnlyLanguagePreferences(true);\r\n this.langPreferenceComponent.buildFormFields();\r\n }\r\n\r\n async updateLatestDetails(updateType: string) {\r\n this.accountService.yourProfile().subscribe((yourProfileDetails) => {\r\n if (updateType === 'personalDetails') {\r\n this.yourProfileData.personalDetails.title.value = yourProfileDetails.yourProfileModel.userProfile.title;\r\n this.yourProfileData.personalDetails.ssn.value = yourProfileDetails.yourProfileModel.userProfile.customerIdentifier;\r\n this.yourProfileData.personalDetails.firstName.value = yourProfileDetails.yourProfileModel.userProfile.firstName;\r\n this.yourProfileData.personalDetails.lastName.value = yourProfileDetails.yourProfileModel.userProfile.lastName;\r\n this.yourProfileData.personalDetails.email.value = yourProfileDetails.yourProfileModel.userProfile.email;\r\n this.yourProfileData.personalDetails.dob.value = yourProfileDetails.yourProfileModel.userProfile.dateOfBirth;\r\n // in one scenario 'personalDetails' doesn't have 'phonenumber' property\r\n if (this.yourProfileData?.personalDetails?.phoneNumber?.value) { \r\n this.yourProfileData.personalDetails.phoneNumber.value = yourProfileDetails.yourProfileModel.userProfile.phoneNumber;\r\n }\r\n this.yourProfileData.personalDetails.countryCode.value = yourProfileDetails.yourProfileModel.userProfile.countryCode;\r\n this.isAnySectionEdited = false;\r\n this.resetPersonalDetailsForm();\r\n }\r\n\r\n if (updateType === 'languagePreferences') {\r\n this.yourProfileData.languagePreference.currentLanguage.value =\r\n yourProfileDetails.yourProfileModel.userProfile.languageId;\r\n this.isAnySectionEdited = false;\r\n this.resetLanguagePreferencesForm();\r\n }\r\n\r\n if (updateType === 'consent') {\r\n yourProfileDetails.yourProfileModel.consentPurposeList.forEach((value, index) => {\r\n this.yourProfileData.consentPreferences.consentList[index].consent.value = value.consentValue.toString();\r\n });\r\n this.isAnySectionEdited = false;\r\n this.resetConsentPreferencesForm();\r\n }\r\n\r\n if (updateType === 'contact') {\r\n this.yourProfileData.contactPreferences.contactTypeList[0].contact.value =\r\n yourProfileDetails.yourProfileModel.contactPreferences.agreeEmailTPCP.toString();\r\n\r\n this.yourProfileData.contactPreferences.contactTypeList[1].contact.value =\r\n yourProfileDetails.yourProfileModel.contactPreferences.agreeMailTPCP.toString();\r\n\r\n this.yourProfileData.contactPreferences.contactTypeList[2].contact.value =\r\n yourProfileDetails.yourProfileModel.contactPreferences.agreePhoneTPCP.toString();\r\n this.isAnySectionEdited = false;\r\n this.resetContactPreferencesForm();\r\n }\r\n\r\n });\r\n\r\n }\r\n\r\n}\r\n\r\n","import { Component, EventEmitter, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { DropDownItem } from '../../../shared/models/drop-down-item.model';\r\nimport { ICustomerFieldValidations, YourProfileData } from '../../../shared/models';\r\nimport XRegExp from \"XRegExp\";\r\nimport {\r\n AddressDetails, ConsentPreferences, ContactPreferences,\r\n ContactType,\r\n LanguagePreference, ManageAddresses,\r\n PersonalDetails,\r\n PolicyConsent\r\n} from '../../../shared/models/your-profile.model';\r\nimport { BaseYourProfileComponent } from '../base-your-profile/base-your-profile.component';\r\nimport { CountryCodeLookupData } from '../../../shared/models/user-profile.model';\r\nimport { BaseCustomerService } from '../../../services/customer/base-customer.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\nconst pageLabels = {\r\n yourProfileTitleLabel: 'AccountDetails.lblYourProfileTitle',\r\n mandatoryErrorMessageLabel: 'Shared.lblErrorMandatory',\r\n personalDetailsLabel: 'AccountDetails.lblPersonalDetails',\r\n manageAddressesLabel: 'AccountDetails.lblManageAddresses',\r\n languagePreferenceLabel: 'AccountDetails.lblLanguagePreference',\r\n consentPreferencesLabel: 'AccountDetails.lblConsentPreferences',\r\n contactPreferencesLabel: 'AccountDetails.lblContactPreferences',\r\n tooltipText: 'AccountDetails.lblTooltipText',\r\n addNewAddressText: 'AccountDetails.lblAddNewAddress',\r\n editLabel: 'Shared.lblEdit',\r\n saveLabel: 'Shared.lblSave',\r\n cancelLabel: 'Shared.lblCancel',\r\n correctFormatErrorMessageLabel: 'Shared.lblCorrectFormatErrorMessage',\r\n seeLegalText: 'AccountDetails.lblSeeLegalText',\r\n hideLegalText: 'AccountDetails.lblHideLegalText',\r\n consentSubHeadingDescription: 'AccountDetails.lblConsentSubHeadingDescription',\r\n consentPolicyLabel: 'AccountDetails.lblConsentPolicyHeading',\r\n consentPolicyDescription: 'AccountDetails.lblConsentPolicyDescription',\r\n contactSubHeadingLabel: 'AccountDetails.lblContactSubHeadingDescription',\r\n contactNote: 'AccountDetails.lblContactNote',\r\n personalDetailsTitle: 'AccountDetails.lblPersonalDetailsTitle',\r\n personalDetailsSSN: 'AccountDetails.lblPersonalDetailsSSN',\r\n personalDetailsFirstName: 'AccountDetails.lblPersonalDetailsFirstName',\r\n personalDetailsLastName: 'AccountDetails.lblPersonalDetailsLastName',\r\n personalDetailsEmail: 'AccountDetails.lblPersonalDetailsEmail',\r\n personalDetailsDOB: 'AccountDetails.lblPersonalDetailsDOB',\r\n personalDetailsPlaceOfBirth: 'AccountDetails.lblPersonalDetailsPlaceOfBirth',\r\n personalDetailsPlaceOfBirthTown: 'AccountDetails.lblPersonalDetailsPlaceOfBirthTown',\r\n personalDetailsPhoneNumber: 'AccountDetails.lblPersonalDetailsPhoneNumber',\r\n countryCodeLabel: 'AccountDetails.lblCountryAreaCodeYourProfile',\r\n currentLanguage: 'AccountDetails.lblCurrentLanguage',\r\n contactPreferenceEmail: 'AccountDetails.lblContactPreferenceEmail',\r\n contactPreferenceAddress: 'AccountDetails.lblContactPreferenceAddress',\r\n contactPreferencePhone: 'AccountDetails.lblContactPreferencePhone',\r\n contactPreferenceYesOption: 'AccountDetails.lblContactPreferenceYesOption',\r\n contactPreferenceNoOption: 'AccountDetails.lblContactPreferenceNoOption',\r\n editHeaderLabel: 'AccountDetails.lblEditHeaderLabel',\r\n addHeaderLabel: 'AccountDetails.lblAddHeaderLabel',\r\n defaultAddressLabel: 'AccountDetails.lblDefaultAddressLabel',\r\n manageAddAddressLine: 'AccountDetails.lblManageAddAddressLine',\r\n manageAddTown: 'AccountDetails.lblManageAddTown',\r\n manageAddPostCode: 'AccountDetails.lblManageAddPostCode',\r\n manageAddCountry: 'AccountDetails.lblManageAddCountry',\r\n personalDetailsEmail2: 'AccountDetails.lblPersonalDetailsEmail2' \r\n};\r\n\r\n@Component({\r\n selector: 'lib-your-profile',\r\n templateUrl: './your-profile.component.html',\r\n styleUrls: ['./your-profile.component.scss']\r\n})\r\n\r\nexport class YourProfileComponent implements OnInit {\r\n\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n public isLoading = false;\r\n public labels = {\r\n yourProfileTitleLabel: '',\r\n mandatoryErrorMessageLabel: '',\r\n correctFormatErrorMessageLabel: '',\r\n personalDetailsLabel: '',\r\n manageAddressesLabel: '',\r\n languagePreferenceLabel: '',\r\n consentPreferencesLabel: '',\r\n contactPreferencesLabel: '',\r\n addNewAddressText: '',\r\n tooltipText: '',\r\n editLabel: '',\r\n saveLabel: '',\r\n cancelLabel: '',\r\n seeLegalText: '',\r\n hideLegalText: '',\r\n consentSubHeadingDescription: '',\r\n consentPolicyLabel: '',\r\n consentPolicyDescription: '',\r\n contactSubHeadingLabel: '',\r\n contactNote: '',\r\n personalDetailsTitle: '',\r\n personalDetailsSSN: '',\r\n personalDetailsFirstName: '',\r\n personalDetailsLastName: '',\r\n personalDetailsEmail: '',\r\n personalDetailsDOB: '',\r\n personalDetailsPlaceOfBirth: '',\r\n personalDetailsPlaceOfBirthTown: '',\r\n personalDetailsPhoneNumber: '',\r\n CountryCode: '',\r\n manageAddAddressLine: '',\r\n manageAddTown: '',\r\n manageAddPostCode: '',\r\n manageAddCountry: '',\r\n currentLanguage: '',\r\n contactPreferenceEmail: '',\r\n contactPreferenceAddress: '',\r\n contactPreferencePhone: '',\r\n editHeaderLabel: '',\r\n addHeaderLabel: '',\r\n defaultAddressLabel: '',\r\n personalDetailsEmail2: ''\r\n };\r\n yourProfileData: YourProfileData = new YourProfileData();\r\n yourProfileResponse: any;\r\n profileEnabledDetailsResponse: any;\r\n consentAndContactEnabled = false;\r\n radioOption = [\r\n { id: 'true', value: '' },\r\n { id: 'false', value: '' }\r\n ];\r\n private countries: DropDownItem[];\r\n private countryCodeRequired: boolean;\r\n private countryCodeReadOnly: boolean;\r\n private selectedCountryCode: string;\r\n private countryCodeLookupData: CountryCodeLookupData[];\r\n public customerFields: ICustomerFieldValidations[];\r\n @Output() languageChangeWarningEvent = new EventEmitter();\r\n @ViewChild(BaseYourProfileComponent) baseYourProfileComponent: BaseYourProfileComponent;\r\n\r\n constructor(\r\n private readonly translate: TranslateService,\r\n private readonly layoutService: LayoutService,\r\n private route: ActivatedRoute,\r\n private sessionStorageService: SessionStorageService,\r\n private baseCustomerService: BaseCustomerService,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.customerFields = this.route.snapshot.data.profileEnabledDetailsResponse;\r\n this.checkDeviceWidth();\r\n this.applyTranslation();\r\n this.yourProfileResponse = this.route.snapshot.data.yourProfileResponse;\r\n if (this.yourProfileResponse.yourProfileModel.consentPurposeList.length) {\r\n this.consentAndContactEnabled = true;\r\n }\r\n this.countries = this.route.snapshot.data.yourProfileResponse.customerDetailOptions.countryList;\r\n this.initializeYourProfileObject();\r\n }\r\n\r\n languageChangeWarning(event) {\r\n this.languageChangeWarningEvent.emit(event);\r\n }\r\n\r\n applyTranslation() {\r\n const { yourProfileTitleLabel, mandatoryErrorMessageLabel, correctFormatErrorMessageLabel, personalDetailsLabel,\r\n manageAddressesLabel, languagePreferenceLabel, consentPreferencesLabel,\r\n contactPreferencesLabel, tooltipText, addNewAddressText, editLabel,\r\n saveLabel, cancelLabel, seeLegalText, hideLegalText,\r\n consentSubHeadingDescription, consentPolicyLabel, consentPolicyDescription,\r\n contactSubHeadingLabel, contactNote, personalDetailsTitle, personalDetailsSSN,\r\n personalDetailsFirstName, personalDetailsLastName, personalDetailsEmail,\r\n personalDetailsDOB, personalDetailsPlaceOfBirth, personalDetailsPlaceOfBirthTown,\r\n personalDetailsPhoneNumber, countryCodeLabel, currentLanguage,\r\n contactPreferenceEmail, contactPreferenceAddress,\r\n contactPreferencePhone, contactPreferenceYesOption, contactPreferenceNoOption,\r\n editHeaderLabel, addHeaderLabel, defaultAddressLabel, manageAddAddressLine, manageAddTown,\r\n manageAddPostCode, manageAddCountry, personalDetailsEmail2\r\n } = pageLabels;\r\n\r\n this.translate.get([yourProfileTitleLabel, mandatoryErrorMessageLabel,\r\n correctFormatErrorMessageLabel, personalDetailsLabel, manageAddressesLabel, languagePreferenceLabel,\r\n consentPreferencesLabel, contactPreferencesLabel, tooltipText,\r\n addNewAddressText, editLabel, saveLabel, cancelLabel, seeLegalText,\r\n hideLegalText, consentSubHeadingDescription, consentPolicyLabel,\r\n consentPolicyDescription, contactSubHeadingLabel, contactNote,\r\n personalDetailsTitle, personalDetailsSSN, personalDetailsFirstName,\r\n personalDetailsLastName, personalDetailsEmail,\r\n personalDetailsDOB, personalDetailsPlaceOfBirth, personalDetailsPlaceOfBirthTown,\r\n personalDetailsPhoneNumber, countryCodeLabel, currentLanguage,\r\n contactPreferenceEmail, contactPreferenceAddress, contactPreferencePhone,\r\n contactPreferenceYesOption, contactPreferenceNoOption,\r\n editHeaderLabel, addHeaderLabel, defaultAddressLabel,\r\n manageAddAddressLine, manageAddTown,\r\n manageAddPostCode, manageAddCountry, personalDetailsEmail2])\r\n .subscribe((res) => {\r\n this.labels.yourProfileTitleLabel = res[yourProfileTitleLabel];\r\n this.labels.mandatoryErrorMessageLabel = res[mandatoryErrorMessageLabel];\r\n this.labels.correctFormatErrorMessageLabel = res[correctFormatErrorMessageLabel];\r\n this.labels.personalDetailsLabel = res[personalDetailsLabel];\r\n this.labels.manageAddressesLabel = res[manageAddressesLabel];\r\n this.labels.languagePreferenceLabel = res[languagePreferenceLabel];\r\n this.labels.consentPreferencesLabel = res[consentPreferencesLabel];\r\n this.labels.contactPreferencesLabel = res[contactPreferencesLabel];\r\n this.labels.editLabel = res[editLabel];\r\n this.labels.saveLabel = res[saveLabel];\r\n this.labels.cancelLabel = res[cancelLabel];\r\n this.labels.tooltipText = res[tooltipText];\r\n this.labels.addNewAddressText = res[addNewAddressText];\r\n this.labels.seeLegalText = res[seeLegalText];\r\n this.labels.hideLegalText = res[hideLegalText];\r\n this.labels.consentSubHeadingDescription = res[consentSubHeadingDescription];\r\n this.labels.consentPolicyLabel = res[consentPolicyLabel];\r\n this.labels.consentPolicyDescription = res[consentPolicyDescription];\r\n this.labels.contactSubHeadingLabel = res[contactSubHeadingLabel];\r\n this.labels.contactNote = res[contactNote];\r\n this.labels.personalDetailsTitle = res[personalDetailsTitle];\r\n this.labels.personalDetailsSSN = res[personalDetailsSSN];\r\n this.labels.personalDetailsFirstName = res[personalDetailsFirstName];\r\n this.labels.personalDetailsLastName = res[personalDetailsLastName];\r\n this.labels.personalDetailsEmail = res[personalDetailsEmail];\r\n this.labels.personalDetailsDOB = res[personalDetailsDOB];\r\n this.labels.personalDetailsPlaceOfBirth = res[personalDetailsPlaceOfBirth];\r\n this.labels.personalDetailsPlaceOfBirthTown = res[personalDetailsPlaceOfBirthTown];\r\n this.labels.personalDetailsEmail2 = res[personalDetailsEmail2];\r\n\r\n this.labels.personalDetailsPhoneNumber = res[personalDetailsPhoneNumber];\r\n this.labels.CountryCode = res[countryCodeLabel];\r\n this.labels.currentLanguage = res[currentLanguage];\r\n this.labels.contactPreferenceEmail = res[contactPreferenceEmail];\r\n this.labels.contactPreferenceAddress = res[contactPreferenceAddress];\r\n this.labels.contactPreferencePhone = res[contactPreferencePhone];\r\n this.radioOption[0].value = res[contactPreferenceYesOption];\r\n this.radioOption[1].value = res[contactPreferenceNoOption];\r\n this.labels.editHeaderLabel = res[editHeaderLabel];\r\n this.labels.addHeaderLabel = res[addHeaderLabel];\r\n this.labels.defaultAddressLabel = res[defaultAddressLabel];\r\n this.labels.manageAddAddressLine = res[manageAddAddressLine];\r\n this.labels.manageAddTown = res[manageAddTown];\r\n this.labels.manageAddPostCode = res[manageAddPostCode];\r\n this.labels.manageAddCountry = res[manageAddCountry];\r\n });\r\n }\r\n\r\n private checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n private initializeYourProfileObject() {\r\n this.yourProfileData.personalDetails = this.initPersonalDetails(this.yourProfileData.personalDetails);\r\n this.yourProfileData.manageAddresses = this.initManageAddresses(this.yourProfileData.manageAddresses);\r\n this.yourProfileData.languagePreference = this.initLangPreferences(this.yourProfileData.languagePreference);\r\n this.yourProfileData.consentPreferences = this.initConsentPreference(this.yourProfileData.consentPreferences);\r\n this.yourProfileData.contactPreferences = this.initContactPreference(this.yourProfileData.contactPreferences);\r\n }\r\n\r\n private initPersonalDetails(personalDetails: PersonalDetails): PersonalDetails {\r\n // Page Info Mapping\r\n personalDetails.pageInfo.headingText = this.labels.personalDetailsLabel;\r\n personalDetails.pageInfo.icon = 'person';\r\n personalDetails.pageInfo.btnEditText = this.labels.editLabel;\r\n personalDetails.pageInfo.btnSaveText = this.labels.saveLabel;\r\n personalDetails.pageInfo.btnCancelText = this.labels.cancelLabel;\r\n personalDetails.isEditMode = false;\r\n\r\n // Title Mapping\r\n if (this.isShowhideField('CM_Title')) {\r\n personalDetails.title.key = 'title',\r\n personalDetails.title.label = this.labels.personalDetailsTitle;\r\n personalDetails.title.required = this.isMandatory('CM_Title');\r\n personalDetails.title.readOnly = this.isReadOnly('CM_Title');\r\n personalDetails.title.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.title.options =\r\n this.getOptionList(this.yourProfileResponse.customerDetailOptions.titleList,\r\n 'value', 'id');\r\n personalDetails.title.order = 1;\r\n personalDetails.title.value = this.yourProfileResponse.yourProfileModel.userProfile.title;\r\n } else { delete personalDetails.title; }\r\n\r\n // SSN Mapping\r\n if (this.isShowhideField('CM_CustomerIdentifier')) {\r\n personalDetails.ssn.key = 'ssn';\r\n personalDetails.ssn.label = this.labels.personalDetailsSSN;\r\n personalDetails.ssn.required = this.isMandatory('CM_CustomerIdentifier');\r\n personalDetails.ssn.readOnly = this.isReadOnly('CM_CustomerIdentifier');\r\n personalDetails.ssn.regexValidation = this.validateNumeric('CM_CustomerIdentifier');\r\n personalDetails.ssn.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.ssn.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n personalDetails.ssn.maxLength = this.getMaxLength('CM_CustomerIdentifier');\r\n personalDetails.ssn.order = 2;\r\n personalDetails.ssn.value = this.yourProfileResponse.yourProfileModel.userProfile.customerIdentifier;\r\n } else { delete personalDetails.ssn; }\r\n\r\n // Firstname Mapping\r\n if (this.isShowhideField('CM_FirstName')) {\r\n personalDetails.firstName.key = 'firstName';\r\n personalDetails.firstName.label = this.labels.personalDetailsFirstName;\r\n personalDetails.firstName.required = this.isMandatory('CM_FirstName');\r\n personalDetails.firstName.readOnly = this.isReadOnly('CM_FirstName');\r\n personalDetails.firstName.regexValidation = this.validateAlphaWithPunctuations('CM_FirstName');\r\n personalDetails.firstName.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n personalDetails.firstName.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.firstName.order = 3;\r\n personalDetails.firstName.value = this.yourProfileResponse.yourProfileModel.userProfile.firstName;\r\n personalDetails.firstName.maxLength = this.getMaxLength('CM_FirstName');\r\n } else { delete personalDetails.firstName; }\r\n\r\n // Lastname Mapping\r\n if (this.isShowhideField('CM_LastName')) {\r\n personalDetails.lastName.key = 'lastName';\r\n personalDetails.lastName.label = this.labels.personalDetailsLastName;\r\n personalDetails.lastName.required = this.isMandatory('CM_LastName');\r\n personalDetails.lastName.readOnly = this.isReadOnly('CM_LastName');\r\n personalDetails.lastName.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.lastName.order = 4;\r\n personalDetails.lastName.value = this.yourProfileResponse.yourProfileModel.userProfile.lastName;\r\n personalDetails.lastName.maxLength = this.getMaxLength('CM_LastName');\r\n personalDetails.lastName.regexValidation = this.validateAlphaWithPunctuations('CM_LastName');\r\n personalDetails.lastName.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n } else { delete personalDetails.lastName; }\r\n\r\n // DOB Mapping\r\n if (this.isShowhideField('CM_DateofBirth')) {\r\n const dob: ICustomerFieldValidations = this.customerFields?.find(fields =>\r\n fields.fieldName.toUpperCase() === 'CM_DateofBirth'.toUpperCase());\r\n const maxDateValue = dob.minAge > 0 ? '-' + dob.minAge + ',years' : '-1,days';\r\n\r\n personalDetails.dob.key = 'dateOfBirth';\r\n personalDetails.dob.label = this.labels.personalDetailsDOB;\r\n personalDetails.dob.required = this.isMandatory('CM_DateofBirth');\r\n personalDetails.dob.readOnly = this.isReadOnly('CM_DateofBirth');\r\n personalDetails.dob.maxDate = maxDateValue;\r\n personalDetails.dob.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.dob.order = 5;\r\n personalDetails.dob.value = this.yourProfileResponse.yourProfileModel.userProfile.dateOfBirth;\r\n // personalDetails.dob.callToActionLabel = this.labels.editLabel;\r\n } else { delete personalDetails.dob; }\r\n\r\n if (this.isShowhideField('CM_PlaceOfBirth')) {\r\n personalDetails.placeOfBirth.key = 'placeOfBirth';\r\n personalDetails.placeOfBirth.label = this.labels.personalDetailsPlaceOfBirth;\r\n personalDetails.placeOfBirth.value = this.yourProfileResponse.yourProfileModel.userProfile.placeOfBirth;\r\n personalDetails.placeOfBirth.required = this.isMandatory('CM_PlaceOfBirth');\r\n personalDetails.placeOfBirth.readOnly = this.isReadOnly('CM_PlaceOfBirth');\r\n personalDetails.placeOfBirth.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.placeOfBirth.maxLength = this.getMaxLength('CM_PlaceOfBirth');\r\n personalDetails.placeOfBirth.order = 6;\r\n } else { delete personalDetails.placeOfBirth; }\r\n\r\n if (this.isShowhideField('CM_PlaceOfBirthTown')) {\r\n personalDetails.placeOfBirthTown.key = 'placeOfBirthTown';\r\n personalDetails.placeOfBirthTown.label = this.labels.personalDetailsPlaceOfBirthTown;\r\n personalDetails.placeOfBirthTown.value = this.yourProfileResponse.yourProfileModel.userProfile.placeOfBirthTown;\r\n personalDetails.placeOfBirthTown.required = this.isMandatory('CM_PlaceOfBirthTown');\r\n personalDetails.placeOfBirthTown.readOnly = this.isReadOnly('CM_PlaceOfBirthTown');\r\n personalDetails.placeOfBirthTown.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.placeOfBirthTown.maxLength = this.getMaxLength('CM_PlaceOfBirthTown');\r\n personalDetails.placeOfBirthTown.order = 7;\r\n } else { delete personalDetails.placeOfBirthTown; }\r\n\r\n // Email Mapping\r\n if (this.isShowhideField('CM_Email1')) {\r\n personalDetails.email.key = 'email';\r\n personalDetails.email.label = this.labels.personalDetailsEmail;\r\n personalDetails.email.value = this.yourProfileResponse.yourProfileModel.userProfile.email;\r\n personalDetails.email.readOnly = true; // always in readoOnly\r\n personalDetails.email.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.email.iconName = 'email test';\r\n personalDetails.email.order = 8;\r\n personalDetails.tooltipText = this.labels.tooltipText;\r\n } else { delete personalDetails.email; }\r\n // Email2 Mapping\r\n if (this.isNewShowhideField('CM_Email2')) {\r\n personalDetails.email2.key = 'email2';\r\n personalDetails.email2.label = this.labels.personalDetailsEmail2;\r\n personalDetails.email2.value = this.yourProfileResponse.yourProfileModel.userProfile.email2;\r\n personalDetails.email2.readOnly = this.isReadOnly('CM_Email2');\r\n personalDetails.lastName.required = this.isMandatory('CM_Email2');\r\n personalDetails.email2.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.email2.iconName = 'email test';\r\n personalDetails.email2.order = 9;\r\n personalDetails.email2.type = 'email';\r\n } else { delete personalDetails.email2; }\r\n\r\n // CM_CountryCode or Phone Number Mapping\r\n if (this.isShowhideField('CM_CountryCode')) {\r\n const phoneField = this.customerFields?.find(fields => fields.fieldName.toUpperCase() === 'CM_PhoneNumber1'.toUpperCase());\r\n personalDetails.countryCode.key = 'phoneNumber';\r\n personalDetails.countryCode.label = this.labels.personalDetailsPhoneNumber;\r\n personalDetails.countryCode.value = this.yourProfileResponse.yourProfileModel.userProfile.phoneNumber;\r\n personalDetails.countryCode.required = this.isMandatory('CM_PhoneNumber1');\r\n personalDetails.countryCode.readOnly = this.isReadOnly('CM_PhoneNumber1');\r\n personalDetails.countryCode.maxLength = phoneField?.maxLength;\r\n personalDetails.countryCode.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.countryCode.order = 10;\r\n personalDetails.countryCode.regexValidation = this.validateNumeric('CM_PhoneNumber1');\r\n personalDetails.countryCode.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n personalDetails.countryCodeLookupData = this.route.snapshot.data.countryLookupData;\r\n if (personalDetails.countryCodeLookupData.length > 0) {\r\n personalDetails.countryCodeLookupData[0].value = personalDetails.countryCodeLookupData[0].value.replace(/\\s/g, '');\r\n personalDetails.countryCodeLookupData[0].code = personalDetails.countryCodeLookupData[0].code.replace(/\\s/g, '');\r\n }\r\n personalDetails.countryCodeLabel = this.labels.CountryCode;\r\n personalDetails.showCountryCodeCtrl = this.isShowhideField('CM_CountryCode');\r\n personalDetails.countryCodeRequired = this.isMandatory('CM_CountryCode');\r\n personalDetails.countryCodeReadOnly = this.isReadOnly('CM_CountryCode');\r\n const strCountry = this.yourProfileResponse.yourProfileModel.userProfile;\r\n personalDetails.selectedCountryCode = strCountry && strCountry.countryCode ? strCountry.countryCode : '';\r\n delete personalDetails.phoneNumber;\r\n } else\r\n if (this.isShowhideField('CM_PhoneNumber1')) {\r\n const phoneField = this.customerFields?.find(fields => fields.fieldName.toUpperCase() === 'CM_PhoneNumber1'.toUpperCase());\r\n personalDetails.phoneNumber.key = 'phoneNumber';\r\n personalDetails.phoneNumber.label = this.labels.personalDetailsPhoneNumber;\r\n personalDetails.phoneNumber.value = this.yourProfileResponse.yourProfileModel.userProfile.phoneNumber;\r\n personalDetails.phoneNumber.required = this.isMandatory('CM_PhoneNumber1');\r\n personalDetails.phoneNumber.readOnly = this.isReadOnly('CM_PhoneNumber1');\r\n personalDetails.phoneNumber.maxLength = phoneField?.maxLength;\r\n personalDetails.phoneNumber.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n personalDetails.phoneNumber.order = 10;\r\n personalDetails.phoneNumber.regexValidation = this.validateNumeric('CM_PhoneNumber1');\r\n personalDetails.phoneNumber.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n delete personalDetails.countryCode;\r\n } else { delete personalDetails.phoneNumber; }\r\n return personalDetails;\r\n }\r\n\r\n private initManageAddresses(manageAddresses: ManageAddresses) {\r\n // Page Info Mapping\r\n manageAddresses.pageInfo.headingText = this.labels.manageAddressesLabel;\r\n manageAddresses.pageInfo.editHeaderText = this.labels.editHeaderLabel;\r\n manageAddresses.pageInfo.addHeaderText = this.labels.addHeaderLabel;\r\n manageAddresses.pageInfo.defaultAddressText = this.labels.defaultAddressLabel;\r\n\r\n manageAddresses.pageInfo.icon = 'place';\r\n manageAddresses.pageInfo.btnEditText = this.labels.addNewAddressText;\r\n manageAddresses.pageInfo.btnSaveText = this.labels.saveLabel;\r\n manageAddresses.pageInfo.btnCancelText = this.labels.cancelLabel;\r\n\r\n // Address Line Mapping\r\n manageAddresses.addressLine1.key = 'addressLine1';\r\n manageAddresses.addressLine1.label = this.labels.manageAddAddressLine;\r\n manageAddresses.addressLine1.required = true;\r\n // personalDetails.firstName.readOnly = this.isReadOnly('CM_FirstName');\r\n manageAddresses.addressLine1.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n manageAddresses.addressLine1.order = 1;\r\n manageAddresses.addressLine1.value = '';\r\n manageAddresses.addressLine1.regexValidation = this.validateAlphanumericWithSpecialCharacters('CM_AddressLine1');\r\n manageAddresses.addressLine1.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n\r\n // Town Mapping\r\n manageAddresses.town.key = 'town';\r\n manageAddresses.town.label = this.labels.manageAddTown;\r\n manageAddresses.town.required = true;\r\n // personalDetails.firstName.readOnly = this.isReadOnly('CM_FirstName');\r\n manageAddresses.town.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n manageAddresses.town.order = 2;\r\n manageAddresses.town.value = '';\r\n\r\n // Post Code Mapping\r\n manageAddresses.postalCode.key = 'postalCode';\r\n manageAddresses.postalCode.label = this.labels.manageAddPostCode;\r\n manageAddresses.postalCode.required = true;\r\n manageAddresses.postalCode.regexValidation = this.validateNumeric('CM_ZipCode');\r\n manageAddresses.postalCode.correctFormatValidationMsg = this.labels.correctFormatErrorMessageLabel;\r\n // personalDetails.firstName.readOnly = this.isReadOnly('CM_FirstName');\r\n manageAddresses.postalCode.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n manageAddresses.postalCode.order = 3;\r\n manageAddresses.postalCode.value = '';\r\n\r\n manageAddresses.addressId = { key: 'addressId', value: 0 },\r\n manageAddresses.defaultAddress = { key: 'defaultAddress', value: false },\r\n\r\n // Country Mapping\r\n manageAddresses.country.key = 'country',\r\n manageAddresses.country.label = this.labels.manageAddCountry;\r\n manageAddresses.country.required = true;\r\n // manageAddresses.country.readOnly = this.isReadOnly('CM_Title');\r\n manageAddresses.country.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n manageAddresses.country.options =\r\n this.getOptionList(this.countries,\r\n 'value', 'id');\r\n manageAddresses.country.order = 4;\r\n manageAddresses.country.value = '';\r\n\r\n this.yourProfileResponse.yourProfileModel.addresses.forEach((value) => {\r\n const addressObject = new AddressDetails();\r\n addressObject.addressId = value.addressId;\r\n addressObject.addressLine1 = value.addressLine1;\r\n addressObject.town = value.city;\r\n addressObject.postalCode = value.zipCode;\r\n addressObject.country = value.countryName;\r\n addressObject.countryId = value.countryId;\r\n addressObject.defaultAddress = value.isDefault;\r\n manageAddresses.addressList.push(addressObject);\r\n });\r\n return manageAddresses;\r\n }\r\n\r\n private initLangPreferences(languagePreference: LanguagePreference) {\r\n\r\n const isMultiLangEnabled =\r\n this.yourProfileResponse.yourProfileModel.isMultiLanguageEnabled;\r\n languagePreference.isMultiLanguageEnabled = isMultiLangEnabled;\r\n\r\n if (isMultiLangEnabled) {\r\n // Page Info Mapping\r\n languagePreference.pageInfo.headingText = this.labels.languagePreferenceLabel;\r\n languagePreference.pageInfo.icon = 'language';\r\n languagePreference.pageInfo.btnEditText = this.labels.editLabel;\r\n languagePreference.pageInfo.btnSaveText = this.labels.saveLabel;\r\n languagePreference.pageInfo.btnCancelText = this.labels.cancelLabel;\r\n languagePreference.isEditMode = false;\r\n\r\n languagePreference.currentLanguage.key = 'currentLanguage',\r\n languagePreference.currentLanguage.label = this.labels.currentLanguage;\r\n languagePreference.currentLanguage.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n languagePreference.currentLanguage.value =\r\n this.yourProfileResponse.yourProfileModel.userProfile.languageId;\r\n languagePreference.currentLanguage.required = true;\r\n languagePreference.currentLanguage.readOnly = true;\r\n languagePreference.currentLanguage.order = 1;\r\n languagePreference.currentLanguage.options =\r\n this.getOptionList(this.yourProfileResponse.customerDetailOptions.sponsorLanguage.preferredLanguages,\r\n 'languageName', 'languageID');\r\n }\r\n\r\n return languagePreference;\r\n }\r\n\r\n private initConsentPreference(consentPreferences: ConsentPreferences) {\r\n\r\n consentPreferences.isConsentPreferencesEnabled = this.consentAndContactEnabled;\r\n if (consentPreferences.isConsentPreferencesEnabled) {\r\n // Page Info Mapping\r\n consentPreferences.pageInfo.headingText = this.labels.consentPreferencesLabel;\r\n consentPreferences.pageInfo.btnEditText = this.labels.editLabel;\r\n consentPreferences.pageInfo.subheadingText = this.labels.consentSubHeadingDescription;\r\n consentPreferences.pageInfo.btnSaveText = this.labels.saveLabel;\r\n consentPreferences.pageInfo.btnCancelText = this.labels.cancelLabel;\r\n consentPreferences.isEditMode = false;\r\n\r\n consentPreferences.policyHeading = this.labels.consentPolicyLabel;\r\n consentPreferences.policyDescription = this.labels.consentPolicyDescription;\r\n\r\n this.yourProfileResponse.yourProfileModel.consentPurposeList.forEach((value, index) => {\r\n const consentObject = new PolicyConsent();\r\n consentObject.consent.key = value.title;\r\n consentObject.consentHeading = value.title;\r\n consentObject.consent.label = value.shortDescription;\r\n consentObject.consentLegalText = value.longDescription;\r\n consentObject.seeLegalText = this.labels.seeLegalText;\r\n consentObject.hideLegalText = this.labels.hideLegalText;\r\n consentObject.consent.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n consentObject.consent.required = true;\r\n consentObject.consent.order = index + 1;\r\n consentObject.consent.options =\r\n this.getOptionList(this.radioOption,\r\n 'value', 'id');\r\n consentObject.consent.value = value.consentValue.toString();\r\n consentObject.consentHeading = value.title;\r\n consentObject.consent.readOnly = false;\r\n consentPreferences.consentList.push(consentObject);\r\n });\r\n }\r\n return consentPreferences;\r\n }\r\n\r\n private initContactPreference(contactPreferences: ContactPreferences) {\r\n contactPreferences.isContactPreferencesEnabled = this.consentAndContactEnabled;\r\n if (contactPreferences.isContactPreferencesEnabled) {\r\n // Page Info Mapping\r\n contactPreferences.pageInfo.headingText = this.labels.contactPreferencesLabel;\r\n contactPreferences.pageInfo.btnEditText = this.labels.editLabel;\r\n contactPreferences.pageInfo.subheadingText = this.labels.contactSubHeadingLabel;\r\n contactPreferences.pageInfo.note = this.labels.contactNote;\r\n contactPreferences.pageInfo.btnSaveText = this.labels.saveLabel;\r\n contactPreferences.pageInfo.btnCancelText = this.labels.cancelLabel;\r\n contactPreferences.isEditMode = false;\r\n\r\n for (let i = 0; i < 3; i++) {\r\n const contactObject = new ContactType();\r\n contactObject.contact.mandatoryValidationMsg = this.labels.mandatoryErrorMessageLabel;\r\n contactObject.contact.required = true;\r\n contactObject.contact.order = i + 1;\r\n contactObject.contact.options =\r\n this.getOptionList(this.radioOption,\r\n 'value', 'id');\r\n contactObject.contact.readOnly = false;\r\n\r\n if (i === 0) {\r\n contactObject.contact.key = 'email';\r\n contactObject.contact.label = this.labels.contactPreferenceEmail;\r\n contactObject.contact.value = this.yourProfileResponse.yourProfileModel.contactPreferences.agreeEmailTPCP.toString();\r\n } else if (i === 1) {\r\n contactObject.contact.key = 'address';\r\n contactObject.contact.label = this.labels.contactPreferenceAddress;\r\n contactObject.contact.value = this.yourProfileResponse.yourProfileModel.contactPreferences.agreeMailTPCP.toString();\r\n } else if (i === 2) {\r\n contactObject.contact.key = 'phone';\r\n contactObject.contact.label = this.labels.contactPreferencePhone;\r\n contactObject.contact.value = this.yourProfileResponse.yourProfileModel.contactPreferences.agreePhoneTPCP.toString();\r\n }\r\n contactPreferences.contactTypeList.push(contactObject);\r\n }\r\n }\r\n return contactPreferences;\r\n }\r\n\r\n private getOptionList(optionList: any[], name: string | number, value: string | number) {\r\n return optionList.map((obj) => {\r\n return { name: obj[name], value: obj[value]};\r\n });\r\n }\r\n\r\n private isShowhideField(fieldName: string): boolean {\r\n return this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase() && fields.isShowHide);\r\n }\r\n private isNewShowhideField(fieldName: string): boolean {\r\n return this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase() && fields.isNewSalesShowHide);\r\n }\r\n private isMandatory(fieldName: string): boolean {\r\n return this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase() && fields.isMandatry);\r\n }\r\n\r\n private isReadOnly(fieldName: string): boolean {\r\n return this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase() && fields.isReadOnly);\r\n }\r\n\r\n private getMaxLength(fieldName: string): number {\r\n const fieldConfig = this.customerFields?.find(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase());\r\n return fieldConfig?.maxLength > 0 ? fieldConfig?.maxLength : fieldConfig?.defaultMaxLength;\r\n }\r\n\r\n savePersonalDetailsForPartialClaim(saveType: string) {\r\n this.baseYourProfileComponent.savePersonalDeatils(saveType);\r\n }\r\n\r\n private validateNumeric(fieldName: string): string {\r\n const fieldConfig = this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase()\r\n && fields?.displayName?.includes('Numeric'));\r\n return fieldConfig === true ? '^[-]?[0-9., ]*$' : null;\r\n }\r\n\r\n private validateAlphaWithPunctuations(fieldName: string): any {\r\n const fieldConfig = this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase()\r\n && fields?.displayName === 'AlphaWithPunctuations');\r\n return fieldConfig === true ? XRegExp('^([\\\\pL+ A-z &\\.,\\'])*$') : null;\r\n }\r\n\r\n private validateAlphanumericWithSpecialCharacters(fieldName: string): any {\r\n const fieldConfig = this.customerFields?.some(fields => fields.fieldName.toUpperCase() === fieldName.toUpperCase()\r\n && fields?.displayName === 'AlphanumericWithSpecialCharacters');\r\n return fieldConfig === true ? XRegExp('^((?:[\\\\pL+ A-Za-z0-9-\\'.,@:?!()$#/\\\\]+|&[^#])*&?)*$') : null;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { BaseYourProfileComponent } from './base-your-profile/base-your-profile.component';\r\nimport { AddressModalComponent } from './base-your-profile/components/address-modal/address-modal.component';\r\nimport { ConsentPreferencesComponent } from './base-your-profile/components/consent-preferences/consent-preferences.component';\r\nimport { ContactPreferencesComponent } from './base-your-profile/components/contact-preferences/contact-preferences.component';\r\nimport { LangPreferenceComponent } from './base-your-profile/components/lang-preference/lang-preference.component';\r\nimport { ManageAddressesComponent } from './base-your-profile/components/manage-addresses/manage-addresses.component';\r\nimport { PersonalDetailsComponent } from './base-your-profile/components/personal-details/personal-details.component';\r\n\r\n\r\n\r\nexport const components: any[] = [\r\n BaseYourProfileComponent,\r\n ConsentPreferencesComponent,\r\n ContactPreferencesComponent,\r\n LangPreferenceComponent,\r\n ManageAddressesComponent,\r\n PersonalDetailsComponent,\r\n AddressModalComponent\r\n];\r\n\r\n\r\nexport * from './base-your-profile/base-your-profile.component';\r\nexport * from './base-your-profile/components/consent-preferences/consent-preferences.component';\r\nexport * from './base-your-profile/components/contact-preferences/contact-preferences.component';\r\nexport * from './base-your-profile/components/lang-preference/lang-preference.component';\r\nexport * from './base-your-profile/components/manage-addresses/manage-addresses.component';\r\nexport * from './base-your-profile/components/personal-details/personal-details.component';\r\nexport * from './base-your-profile/components/address-modal/address-modal.component';\r\n","import { Injectable } from '@angular/core';\r\nimport { FileRequest } from '../../shared/models/filerequest.model';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\n\r\nexport class BaseDocumentService {\r\n\r\n private storeClaimsTemporaryAttachmentsURL = endPoints.apiUrl + endPoints.endPointName.storeClaimsTemporaryAttachmentsURL;\r\n private getTempAttachmentDocumentsURL = endPoints.apiUrl + endPoints.endPointName.getTempAttachmentDocuments;\r\n private deleteTemporaryAttachmentsURL = endPoints.apiUrl + endPoints.endPointName.deleteTemporaryAttachments;\r\n private getFileURL = endPoints.apiUrl + endPoints.endPointName.getFile;\r\n private downloadDocumentURL = endPoints.apiUrl + endPoints.endPointName.downloadDocument;\r\n\r\n constructor(protected commonHttpService: CommonHttpService) {\r\n }\r\n\r\n storeClaimsTemporaryAttachments(attachmentInfo: any) {\r\n const formData: FormData = new FormData();\r\n formData.append('fileKey', attachmentInfo.file, attachmentInfo.file.name);\r\n formData.append('claimId', attachmentInfo.claimId);\r\n formData.append('AttachmentTypeId', attachmentInfo.attachmentTypeId);\r\n formData.append('AttachDescription', attachmentInfo.attachDescription);\r\n formData.append('attachmentReferenceId', attachmentInfo.attachmentReferenceId);\r\n\r\n return this.commonHttpService.httpPostFile(this.storeClaimsTemporaryAttachmentsURL, formData);\r\n }\r\n\r\n getTempAttachmentDocuments(documentRequest: any) {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.getTempAttachmentDocumentsURL, documentRequest);\r\n }\r\n\r\n deleteTemporaryAttachments(documentRequest: any) {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.deleteTemporaryAttachmentsURL, documentRequest);\r\n }\r\n\r\n getFile(documentRequest: FileRequest) {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.getFileURL, documentRequest);\r\n }\r\n\r\n downloadDocument(documentRequest: any): any {\r\n return this.commonHttpService.httpPostServiceWithBearer(this.downloadDocumentURL, documentRequest);\r\n }\r\n\r\n downloadFile(fileContent: any, fileName: string) {\r\n const mimeType = 'application/pdf';\r\n const pdfSrc: Uint8Array = this.base64DecodetoByteArray(fileContent);\r\n const file = new Blob([pdfSrc], { type: mimeType });\r\n const nav = (window.navigator as any);\r\n if (nav.msSaveOrOpenBlob) {\r\n // *** IE11 and Edge *** //\r\n nav.msSaveOrOpenBlob(file, );\r\n } else {\r\n // *** Chrome, Safari, Firefox, Opera *** //\r\n const url = URL.createObjectURL(file);\r\n this.openLink(url, fileName);\r\n // *** Remove the link when done ***//\r\n window.URL.revokeObjectURL(url);\r\n }\r\n }\r\n\r\n base64DecodetoByteArray(base64EncodeData: string) {\r\n const byteArray = new Uint8Array(atob(base64EncodeData).split('').map(char => char.charCodeAt(0)));\r\n return byteArray;\r\n }\r\n\r\n base64DecodetoBlobFile(base64EncodeData: string, mimeType: string) {\r\n const byteArray = new Uint8Array(atob(base64EncodeData).split('').map(char => char.charCodeAt(0)));\r\n const file = new Blob([byteArray], { type: mimeType });\r\n return file;\r\n }\r\n\r\n private openLink(url: string, fileName: string) {\r\n const a = document.createElement('a');\r\n // *** Firefox requires the link to be in the body *** //\r\n document.body.appendChild(a);\r\n a.style.display = 'none';\r\n a.href = url;\r\n a.download = fileName;\r\n a.click();\r\n // *** Remove the link when done *** //\r\n document.body.removeChild(a);\r\n }\r\n\r\n getFileExtension(filename) {\r\n return filename.split('.').pop().toUpperCase();\r\n }\r\n\r\n getUploadedDocIcon(uploadedDocType) {\r\n const supportedFormats = [\r\n { icon: 'image', name: 'image', type: ['jpg', 'png', 'jpeg', 'bmp', 'tif', 'tiff'] },\r\n { icon: 'insert_drive_file', name: 'documents', type: ['doc', 'docx', 'xls', 'xlsx'] },\r\n { icon: 'picture_as_pdf', name: 'pdf', type: ['pdf'] },\r\n { icon: 'description', name: 'text-document', type: ['ppt', 'pptx', 'csv', 'txt'] },\r\n { icon: 'library_music', name: 'music', type: ['mp3'] }\r\n ];\r\n return supportedFormats.filter(sf => sf.type.includes(this.getFileExtension(uploadedDocType).toLowerCase()))[0];\r\n\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service';\r\nimport { BaseDocumentService } from '../../services/document/base-document.service';\r\nimport { PolicyRenewalDetail } from '../../shared/models/policyRenewalDetail.model';\r\n\r\n\r\nconst routes = {\r\n yourPoliciesURL: endPoints.apiUrl + endPoints.endPointName.yourPolicies,\r\n yourPolicyURL: endPoints.apiUrl + endPoints.endPointName.yourPolicy,\r\n renewPolicyURL: endPoints.apiUrl + endPoints.endPointName.renewPolicy,\r\n resumeQuoteURL: endPoints.apiUrl + endPoints.endPointName.resumeQuote,\r\n removeDraftClaimURL: endPoints.apiUrl + endPoints.endPointName.removeDraftClaims\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class PolicyService {\r\n viewPlociyDetailsObservable = new Subject();\r\n constructor(protected commonHttpService: CommonHttpService,\r\n protected sessionStorageService: SessionStorageService,\r\n private settingsService: SharedSettingsService,\r\n private documentService: BaseDocumentService\r\n ) { }\r\n\r\n\r\n yourPolicies(customerId: string): any {\r\n const languageId = this.sessionStorageService.get('LanguageId');\r\n const policyUrl = `${routes.yourPoliciesURL}/${customerId}/${languageId}`;\r\n return this.commonHttpService.httpGetServiceWithBearer(policyUrl);\r\n }\r\n\r\n yourPolicy(policyId: string, productTemplateId: number): any {\r\n const inputData = {\r\n customerId: this.sessionStorageService.get('customerId'),\r\n productId: productTemplateId,\r\n policyId,\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n sponsorEnglishName: this.sessionStorageService.get('SponsorName'),\r\n languageId: this.sessionStorageService.get('LanguageId'),\r\n timeZone: this.sessionStorageService.get('timeZone')\r\n };\r\n const policyUrl = `${routes.yourPolicyURL}`;\r\n return this.commonHttpService.httpPostServiceWithBearer(policyUrl, inputData);\r\n }\r\n\r\n renewPolicy(policy: any): Promise {\r\n const request = {\r\n customerId: this.sessionStorageService.get('customerId'),\r\n productTemplateId: policy.productTemplateId,\r\n policyId: policy.policyID,\r\n sponsorId: this.sessionStorageService.get('SponsorId'),\r\n sponsorEnglishName: this.sessionStorageService.get('SponsorName'),\r\n orderId: policy.renewalQuoteOrderID\r\n };\r\n\r\n let requestUrl = `${routes.renewPolicyURL}`;\r\n if (policy.quoteOrigin !== null && policy.quoteOrigin !== undefined && policy.quoteOrigin.toUpperCase() === 'RENEWALS') {\r\n requestUrl = `${routes.resumeQuoteURL}`;\r\n }\r\n return this.commonHttpService.httpPostServiceWithBearer(requestUrl, request).toPromise();\r\n }\r\n\r\n\r\n removeDraftClaimURL(): Observable {\r\n const inputData = {\r\n customerId: this.sessionStorageService.get('customerId'),\r\n sponsorId: this.sessionStorageService.get('SponsorId')\r\n };\r\n const policyUrl = `${routes.removeDraftClaimURL}`;\r\n return this.commonHttpService.httpPostServiceWithBearer(policyUrl, inputData);\r\n }\r\n\r\n viewPolicyDetail(policy) {\r\n this.viewPlociyDetailsObservable.next(policy);\r\n }\r\n\r\n downloadPolicyDocument(documentInfo) {\r\n const fileName = (documentInfo.documentTypeName + '.' + documentInfo.fileExtension).trim();\r\n const docRequest = {\r\n documentId: documentInfo.documentID,\r\n policyId: documentInfo.policyID,\r\n customerId: this.sessionStorageService.get('customerId'),\r\n sponsorID: this.settingsService.sponsorId,\r\n languageID: this.settingsService.languageId,\r\n context: 'Policy'\r\n };\r\n this.documentService.downloadDocument(docRequest).subscribe(\r\n res => {\r\n this.documentService.downloadFile(res, fileName);\r\n });\r\n }\r\n\r\n downloadPolicyAttachment(documentInfo) {\r\n const fileName = documentInfo.fileName.split(\".\");\r\n const fileNameWithExtension = (fileName[0] + '.' + documentInfo.fileExtension).trim();\r\n const docRequest = {\r\n attachmentId: documentInfo.documentID,\r\n policyId: documentInfo.policyID,\r\n customerId: this.sessionStorageService.get('customerId'),\r\n sponsorID: this.settingsService.sponsorId,\r\n languageID: this.settingsService.languageId,\r\n context: 'Policy'\r\n };\r\n this.documentService.getFile(docRequest).subscribe(\r\n res => {\r\n this.documentService.downloadFile(res, fileNameWithExtension);\r\n });\r\n }\r\n\r\n findFileTypeIcon(policyUploads) {\r\n policyUploads.find(p => {\r\n const supportedIcon = this.documentService.getUploadedDocIcon(p.fileExtension);\r\n p['fileIcon'] = supportedIcon.icon;\r\n });\r\n return policyUploads;\r\n }\r\n\r\n savePolicyRenewalDetailsToSession(detail: PolicyRenewalDetail) {\r\n detail.isb2b = false;\r\n detail.IsRenewalQuote = true;\r\n detail.IsRenewalPolicy = true;\r\n Object.keys(detail).forEach(key => {\r\n this.sessionStorageService.set(key, detail[key]);\r\n });\r\n this.getProductTemplate(detail.ProductId).subscribe(data => {\r\n detail.cultureName = data.cultureName;\r\n detail.currencyIso4217 = data.currencyIso4217;\r\n this.sessionStorageService.set('cultureName', data.cultureName);\r\n this.sessionStorageService.set('currencyIso4217', data.currencyIso4217);\r\n })\r\n }\r\n\r\n getProductTemplate(productTemplateId: any): Observable {\r\n const ProductTemplateUrl = endPoints.apiUrl + endPoints.endPointName.getProductTemplate\r\n return this.commonHttpService.httpGetServiceWithBearer(ProductTemplateUrl + '/' + productTemplateId)\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport moment from 'moment';\r\n\r\n@Pipe({\r\n name: 'localDateFormatPipe'\r\n})\r\nexport class LocalDateFormatPipe implements PipeTransform {\r\n constructor(private sessionStorage: SessionStorageService) { }\r\n\r\n transform(date: Date | string): string {\r\n if (date) {\r\n const stringToDate = new Date(date);\r\n let transformedDate;\r\n let dateFormat = 'DD/MM/YYYY';\r\n\r\n if (this.sessionStorage.get('LocalisedDateFormat')) {\r\n dateFormat = this.sessionStorage.get('LocalisedDateFormat');\r\n }\r\n if (moment(date, 'DD/MM/YYYY', true).isValid()) {\r\n const newDate = new Date(date);\r\n transformedDate = moment(newDate, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n return transformedDate.format(dateFormat);\r\n }\r\n if (date.toString() !== (moment(date, dateFormat, true).format(dateFormat))) {\r\n if (moment(stringToDate, dateFormat).isValid()) {\r\n\r\n transformedDate = moment(stringToDate, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n } else {\r\n transformedDate = moment(transformedDate, dateFormat, this.sessionStorage.get('LanguageCode'), false);\r\n }\r\n return transformedDate.format(dateFormat);\r\n } else {\r\n return date.toString();\r\n }\r\n\r\n }\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n tune\r\n \r\n {{selectedStatusForSorting}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
{{policy.productCategory}}
\r\n
\r\n
\r\n {{labels.policyNumberLabel}}:\r\n {{policy.policyNumber}}\r\n
\r\n
\r\n
\r\n
\r\n \r\n
{{labels.viewRenewalPolicy}}
\r\n
{{labels.viewRenewalQuoteButtonLabel}}
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{labels.insurerNameLabel}}:
\r\n
{{policy.insurerName}}
\r\n
\r\n
\r\n
\r\n {{labels.policyInceptionDateLabel}}:\r\n
\r\n
{{policy.policyInceptionDate | localDateFormatPipe}}
\r\n
\r\n
\r\n
\r\n {{labels.policyExpiryDateLabel}}:\r\n
\r\n
{{policy.policyExpiryDate | localDateFormatPipe}}
\r\n
\r\n
\r\n
{{labels.policyTermLabel}}:
\r\n
{{policy.policyTerm}}
\r\n
\r\n
\r\n
{{labels.policyPremiumLabel}}:
\r\n
{{policy.formattedPremium}}
\r\n
\r\n
\r\n
{{labels.paymentTermsLabel}}:
\r\n
{{policy.paymentTerms}}
\r\n
\r\n
\r\n
{{labels.policyStatusLabel}}:
\r\n
{{policy.policyStatus}}
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n {{labels.noPolicyInfoLabel}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n","import { AfterViewInit, Component, OnInit, ViewChild } from '@angular/core';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../services/layout/layout.service';\r\nimport { SideBarService } from '../../services/side-bar/side-bar.service';\r\nimport { PolicyService } from '../../services/policy/policy.service';\r\nimport { YourPolicy } from '../models/index';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\nimport { PolicyRenewalDetail } from '../models/policyRenewalDetail.model';\r\n\r\nconst yourPoliciesTitleLabel = 'AccountDetails.lblYourPoliciesTitle';\r\nconst policyNumberLabel = 'AccountDetails.lblPolicyNumber';\r\nconst insurerNameLabel = 'AccountDetails.lblInsurerName';\r\nconst policyInceptionDateLabel = 'AccountDetails.lblPolicyInceptionDate';\r\nconst policyExpiryDateLabel = 'AccountDetails.lblPolicyExpiryDate';\r\nconst policyTermLabel = 'AccountDetails.lblPolicyTerm';\r\nconst policyPremiumLabel = 'AccountDetails.lblPolicyPremium';\r\nconst policyStatusLabel = 'AccountDetails.lblPolicyStatus';\r\nconst paymentTermsLabel = 'AccountDetails.lblPaymentTerms';\r\nconst viewTextLabel = 'AccountDetails.lblViewText';\r\nconst viewRenewalQuoteButtonLabel = 'AccountDetails.lblViewRenewalQuote';\r\nconst noPolicyInfoLabel = 'AccountDetails.lblNoPolicyInfoText';\r\nconst viewRenewalPolicy = 'AccountDetails.lblViewRenewalPolicy';\r\n\r\n\r\n@Component({\r\n selector: 'lib-your-policies',\r\n templateUrl: './your-policies.component.html',\r\n styleUrls: ['./your-policies.component.scss']\r\n})\r\nexport class YourPoliciesComponent implements OnInit, AfterViewInit {\r\n isMobile = false;\r\n isTablet = false;\r\n isDesktop = false;\r\n public isLoading = false;\r\n public policiesInfo: YourPolicy[];\r\n isPoliciesInfo = false;\r\n filterIcon: any;\r\n selectedStatusForSorting = 'All';\r\n selectedStatusInput = 'All';\r\n statusList: string[] = ['All'];\r\n renewPolicyButtonLabel: string;\r\n renewPolicyButtonAdminLabel: string;\r\n public filterPolicyList: YourPolicy[];\r\n\r\n public hideFilterSelection = true;\r\n\r\n\r\n public labels = {\r\n yourPoliciesTitleLabel: '',\r\n productCategoryLabel: '',\r\n policyNumberLabel: '',\r\n insurerNameLabel: '',\r\n policyInceptionDateLabel: '',\r\n policyExpiryDateLabel: '',\r\n policyTermLabel: '',\r\n policyPremiumLabel: '',\r\n policyStatusLabel: '',\r\n paymentTermsLabel: '',\r\n viewTextLabel: '',\r\n viewRenewalQuoteButtonLabel: '',\r\n noPolicyInfoLabel: '',\r\n viewRenewalPolicy: ''\r\n };\r\n\r\n constructor(\r\n private translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private policyService: PolicyService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.policiesInfo = this.route.snapshot.data.yourpolicyList;\r\n this.renewPolicyButtonAdminLabel = this.route.snapshot.data.myTransactionsLabel;\r\n this.filterPolicyList = Object.assign([], this.policiesInfo);\r\n this.createStatusArray();\r\n this.sortObjectBasedOnExpiryDate();\r\n\r\n if (this.filterPolicyList.length === 0) { this.isPoliciesInfo = true; }\r\n\r\n const labelList: string[] = [yourPoliciesTitleLabel, policyNumberLabel, insurerNameLabel,\r\n policyInceptionDateLabel, policyExpiryDateLabel, policyTermLabel, policyPremiumLabel, policyStatusLabel, paymentTermsLabel,\r\n viewTextLabel, viewRenewalQuoteButtonLabel, noPolicyInfoLabel, viewRenewalPolicy\r\n ];\r\n this.bindTranslatedLabels(this.applyTranslations([...labelList]));\r\n if (this.filterPolicyList.length > 0) {\r\n this.checkDeviceWidth();\r\n }\r\n\r\n\r\n this.policiesInfo.forEach((policy) => {\r\n policy.renewalPolicyButtonLabel = this.renewPolicyButtonAdminLabel;\r\n if (policy.isRenewPolicyButton &&\r\n (policy.policyStatusInEnglish.toUpperCase() === 'ACTIVE' || policy.policyStatusInEnglish.toUpperCase() === 'EXPIRED')\r\n && !policy.isB2cSingleCarrierMultiQuoteEnabled) {\r\n policy.showRenewalPolicyButton = true;\r\n if ((policy.renewalQuoteStatus === null || policy.renewalQuoteStatus === undefined) ||\r\n policy.renewalQuoteStatus.toUpperCase() === \"QUOTED\") {\r\n policy.renewalPolicyButtonLabel = this.renewPolicyButtonAdminLabel;\r\n } \r\n else {\r\n policy.showRenewalPolicyButton = false;\r\n }\r\n }\r\n });\r\n }\r\n\r\n ngAfterViewInit() {\r\n if (this.filterPolicyList.length > 0) {\r\n this.displayWindowSize();\r\n }\r\n }\r\n\r\n displayWindowSize() {\r\n window.scrollTo({ top: 0, behavior: 'smooth' });\r\n const windowWidth = document.body.scrollWidth;\r\n const windowHeight = document.body.scrollHeight;\r\n const overlayElement = document.getElementById('overlay');\r\n const topHeight = document.getElementById('toggleDropdown').getBoundingClientRect().top;\r\n const elementHeight = windowHeight - topHeight - 56;\r\n const overlayLeft = ((windowWidth - 200) / 2) - 30;\r\n overlayElement.style.left = `-${overlayLeft}px`;\r\n overlayElement.style.width = windowWidth + 'px';\r\n overlayElement.style.height = elementHeight + 'px';\r\n\r\n if (this.isMobile) {\r\n const dropdownContent = document.getElementById('dropdown-content');\r\n dropdownContent.style.minWidth = windowWidth + 'px';\r\n dropdownContent.style.left = `-${overlayLeft}px`;\r\n dropdownContent.style.paddingLeft = `${overlayLeft + 40}px`;\r\n }\r\n }\r\n\r\n private bindTranslatedLabels(translatedLabelList: string[]): void {\r\n this.labels.yourPoliciesTitleLabel = translatedLabelList[yourPoliciesTitleLabel];\r\n this.labels.policyNumberLabel = translatedLabelList[policyNumberLabel];\r\n this.labels.insurerNameLabel = translatedLabelList[insurerNameLabel];\r\n this.labels.policyInceptionDateLabel = translatedLabelList[policyInceptionDateLabel];\r\n this.labels.policyExpiryDateLabel = translatedLabelList[policyExpiryDateLabel];\r\n this.labels.policyTermLabel = translatedLabelList[policyTermLabel];\r\n this.labels.policyPremiumLabel = translatedLabelList[policyPremiumLabel];\r\n this.labels.policyStatusLabel = translatedLabelList[policyStatusLabel];\r\n this.labels.paymentTermsLabel = translatedLabelList[paymentTermsLabel];\r\n this.labels.viewTextLabel = translatedLabelList[viewTextLabel];\r\n this.labels.viewRenewalQuoteButtonLabel = translatedLabelList[viewRenewalQuoteButtonLabel];\r\n this.labels.noPolicyInfoLabel = translatedLabelList[noPolicyInfoLabel];\r\n this.labels.viewRenewalPolicy = translatedLabelList[viewRenewalPolicy];\r\n }\r\n\r\n private applyTranslations(labelList: string[]): string[] {\r\n let response: string[];\r\n this.translate.get(labelList).subscribe((res) => {\r\n response = res;\r\n });\r\n return response;\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n async renewPolicy(policy, isViewRenewalQuote: boolean = false) {\r\n\r\n const { quoteReferenceID, policyID, productTemplateId, renewalQuoteOrderID, renewalQuoteReferenceID, renewalPolicyID,\r\n policyNumber, renewalProductId } = policy;\r\n\r\n const detail: PolicyRenewalDetail = {\r\n QuoteReferenceID: renewalQuoteOrderID > 0 ? renewalQuoteReferenceID : quoteReferenceID,\r\n AssociatedPolicyId: policyID,\r\n ProductId: productTemplateId,\r\n RenewalQuoteOrderID: renewalQuoteOrderID,\r\n RenewalQuoteReferenceID: renewalQuoteReferenceID,\r\n RenewalPolicyID: renewalPolicyID,\r\n RenewalPolicyNumber: policyNumber,\r\n RenewalProductId: renewalProductId\r\n };\r\n\r\n this.policyService.savePolicyRenewalDetailsToSession(detail);\r\n this.router.navigate(['quote/choose-cover'], { queryParams: { PreviousPage: 'YourPolicies', ViewRenewalQuote: isViewRenewalQuote } });\r\n }\r\n\r\n viewPolicyDetail(policy) {\r\n this.policyService.viewPolicyDetail(policy);\r\n }\r\n\r\n viewRenewalPolicyDetail(policyId) {\r\n if (!policyId) {\r\n return;\r\n }\r\n const renewalPolicy = this.filterPolicyList.find(policy => policy.policyID === policyId.toString());\r\n this.viewPolicyDetail(renewalPolicy);\r\n }\r\n\r\n toggleDropdown() {\r\n this.hideFilterSelection = !this.hideFilterSelection;\r\n if (!this.hideFilterSelection) {\r\n this.displayWindowSize();\r\n }\r\n }\r\n\r\n clearFilter() {\r\n this.selectedStatusInput = 'All';\r\n this.selectedStatusForSorting = 'All';\r\n this.filterPolicyList = Object.assign([], this.policiesInfo);\r\n this.sortObjectBasedOnExpiryDate();\r\n this.toggleDropdown();\r\n }\r\n\r\n applyFilter() {\r\n if (this.selectedStatusInput === 'All') {\r\n this.clearFilter();\r\n } else {\r\n this.selectedStatusForSorting = this.selectedStatusInput;\r\n this.filterPolicyList = this.policiesInfo.filter((value) => {\r\n if (value.policyStatus === this.selectedStatusForSorting) {\r\n return value;\r\n }\r\n });\r\n this.sortObjectBasedOnExpiryDate();\r\n this.toggleDropdown();\r\n }\r\n\r\n }\r\n\r\n createStatusArray() {\r\n this.policiesInfo.forEach((value) => {\r\n if (!this.statusList.includes(value.policyStatus)) {\r\n this.statusList.push(value.policyStatus);\r\n }\r\n });\r\n }\r\n\r\n sortObjectBasedOnExpiryDate() {\r\n this.filterPolicyList.sort((a, b) => {\r\n const firstValue = new Date(a.policyExpiryDate).getTime();\r\n const secondValue = new Date(b.policyExpiryDate).getTime();\r\n return secondValue - firstValue;\r\n });\r\n }\r\n\r\n checkForViewRenewal(renewalPolicyID): boolean {\r\n return renewalPolicyID > 0 &&\r\n this.filterPolicyList.some(x => x.policyID === renewalPolicyID.toString() \r\n && x.policyStatusInEnglish.toLowerCase() === 'soon to be active');\r\n }\r\n\r\n checkForViewRenewalQuote(policy: YourPolicy): boolean {\r\n return this.checkForViewRenewal(policy.renewalPolicyID) === false && policy.renewalQuoteStatus === 'QUOTEREFERRED';\r\n }\r\n}\r\n","import { Component, Input, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, NavigationEnd, Router, RouterEvent } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { AppConfig, endPoints } from '../../core/app.config';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { SponsorService } from '../../../services/sponsor/sponsor.service';\r\nimport { ITopbarLabellist } from '../../models/topbar-navlink';\r\nimport { BaseAccountService } from '../../../services/account/base-account.service';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\nimport { Subscription } from 'rxjs';\r\nimport { UtilitiesService } from '../../../services/utilities/utilities.service';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\n\r\n\r\nconst newQuoteLabel = 'Home.lblNewQuote';\r\nconst newPolicySearchLabel = 'Shared.lblNewPolicySearchLabel';\r\nconst savedQuotesLabel = 'Home.lblSavedQuotes';\r\nconst renewalsLabel = 'Home.lblRenewals';\r\nconst loginRegisterLabel = 'Shared.lblLoginRegister';\r\nconst logoutLabel = 'Shared.lblLogout';\r\nconst newClaimLabel = 'Shared.lblNewClaim';\r\nconst yourClaimLabel = 'Shared.lblYourClaim';\r\nconst yourPoliciesLabel = 'Shared.lblYourPolicies';\r\nconst homeLabel = 'Home.lblHome';\r\n@Component({\r\n selector: 'lib-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.css']\r\n})\r\nexport class HeaderComponent implements OnInit, OnDestroy {\r\n\r\n topbarLabellist: ITopbarLabellist[] = [];\r\n profileMenuItems = [];\r\n newClaimText: string;\r\n selectLanguagesText: string;\r\n AppConfig: any = AppConfig;\r\n loginRegisterText: string;\r\n sponsorImage: string;\r\n currentPageLangSelection: boolean;\r\n loggedInUserName: string;\r\n displayMenus: boolean;\r\n displayRenewalsMenu: boolean;\r\n routerSubscription: Subscription;\r\n @Input() showLoginRegisterLogoutButton: boolean;\r\n @Input() hideAuthenticationForCustomerIdentification: boolean;\r\n isB2BFlow: boolean;\r\n\r\n\r\n constructor(private activatedRoute: ActivatedRoute,\r\n private router: Router,\r\n private accountService: BaseAccountService,\r\n private sessionStorage: SessionStorageService,\r\n private translate: TranslateService,\r\n private sponsorService: SponsorService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n private sharedSettingsService: SharedSettingsService,\r\n private utilitiesService: UtilitiesService,\r\n ) {\r\n this.routerSubscription = router.events.subscribe((routerEvent) => {\r\n if (routerEvent instanceof NavigationEnd) {\r\n this.languageSelection();\r\n }\r\n });\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.getLogo();\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n this.isB2BFlow = this.sharedSettingsService.isB2B();\r\n if (baseUrl.indexOf('salesv2') === 1) {\r\n if (this.isB2BFlow) {\r\n this.bindTranslatedLabels(this.applyTranslations([newQuoteLabel, newPolicySearchLabel]));\r\n } else {\r\n this.bindTranslatedLabels(this.applyTranslations([newQuoteLabel, savedQuotesLabel, renewalsLabel, homeLabel]));\r\n }\r\n } else {\r\n this.bindTranslatedLabels(this.applyTranslations([newClaimLabel, yourClaimLabel, yourPoliciesLabel]));\r\n }\r\n this.setLoginLogoutText();\r\n this.languageSelection();\r\n }\r\n\r\n private setLoginLogoutText() {\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n if (baseUrl.indexOf('salesv2') === 1) {\r\n const jwtToken = localStorage.getItem('msal.idtoken');\r\n if ((this.displayMenus || this.displayRenewalsMenu) && (jwtToken === null || this.msalAuthenticationService.isSessionTimedOut())) {\r\n this.loginRegisterText = this.applyTranslations([loginRegisterLabel])[loginRegisterLabel];\r\n }\r\n } else {\r\n const jwtToken = localStorage.getItem('msal.idtoken');\r\n if (jwtToken === null || this.msalAuthenticationService.isSessionTimedOut()) {\r\n this.loginRegisterText = this.applyTranslations([loginRegisterLabel])[loginRegisterLabel];\r\n }\r\n }\r\n }\r\n\r\n private constructPathName(pathname: string): string {\r\n return pathname.split('/')[1];\r\n }\r\n languageSelection() {\r\n if (this.router.url.includes('/home/new-claim') || this.router.url.includes('/account-details/your-policies') ||\r\n this.router.url.includes('/account-details/your-profile') || this.router.url.includes('/home/new-quote') ||\r\n this.router.url.includes('/home/save-quote') || this.router.url.includes('/home/your-claim') ||\r\n this.router.url.includes('/quote/renewal-quotes')) {\r\n this.currentPageLangSelection = true;\r\n } else {\r\n this.currentPageLangSelection = false;\r\n }\r\n }\r\n\r\n private bindTranslatedLabels(translatedLabelList: string[]): void {\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n if (baseUrl.indexOf('claims') === 1) {\r\n this.topbarLabellist = [\r\n {\r\n label: translatedLabelList[newClaimLabel],\r\n navLink: '/home/new-claim'\r\n }\r\n ];\r\n this.profileMenuItems = [];\r\n if (this.hideAuthenticationForCustomerIdentification !== true && this.msalAuthenticationService.isAuthenticated() &&\r\n ((this.activatedRoute.snapshot.data.accountVerification || this.sharedSettingsService.enableAssently === true) ||\r\n this.isSkeletalPolicy())) {\r\n this.topbarLabellist.push({\r\n label: translatedLabelList[yourClaimLabel],\r\n navLink: '/home/your-claim'\r\n });\r\n this.getMenuByProfile();\r\n\r\n }\r\n } else {\r\n\r\n let headerText = \"\";\r\n let policySearchText =\"\";\r\n if (this.sessionStorage.get('EnableSalesV2Home') === true && (this.isB2BFlow === false)) {\r\n headerText = translatedLabelList[homeLabel];\r\n }\r\n else {\r\n headerText = translatedLabelList[newQuoteLabel];\r\n }\r\n this.topbarLabellist = [\r\n {\r\n label: headerText,\r\n navLink: '/home/new-quote'\r\n }\r\n\r\n ];\r\n if (this.isB2BFlow && this.sessionStorage.get('policySearchEnabled') === true)\r\n {\r\n policySearchText =translatedLabelList[newPolicySearchLabel];\r\n this.topbarLabellist.push( {\r\n label: policySearchText,\r\n navLink: '/policy/search'\r\n })\r\n }\r\n\r\n if (!this.isB2BFlow) {\r\n if (sessionStorage.getItem('saveQuoteEnabled') === 'true') {\r\n this.displayMenus = true;\r\n } else {\r\n this.displayMenus = false;\r\n }\r\n if (this.displayMenus) {\r\n this.topbarLabellist.push({\r\n label: translatedLabelList[savedQuotesLabel],\r\n navLink: '/quote/saved-quotes'\r\n });\r\n }\r\n this.displayRenewalsMenu = sessionStorage.getItem('renewals') === 'true'\r\n if (this.displayRenewalsMenu) {\r\n this.topbarLabellist.push({\r\n label: translatedLabelList[renewalsLabel],\r\n navLink: '/quote/renewal-quotes'\r\n });\r\n }\r\n }\r\n\r\n this.profileMenuItems = [];\r\n\r\n const isSalesV2 = window.location.href.toLowerCase().indexOf('salesv2') > 0 ? true : false;\r\n\r\n if (this.hideAuthenticationForCustomerIdentification !== true && isSalesV2\r\n && (this.displayMenus || this.displayRenewalsMenu) && this.msalAuthenticationService.isAuthenticated()) {\r\n this.getMenuByProfile();\r\n } else if (this.hideAuthenticationForCustomerIdentification !== true\r\n && (this.displayMenus || this.displayRenewalsMenu) && this.msalAuthenticationService.isAuthenticated()\r\n && (this.activatedRoute.snapshot.data.accountVerification || this.sharedSettingsService.enableAssently === true)) {\r\n this.getMenuByProfile();\r\n }\r\n }\r\n\r\n }\r\n getMenuByProfile() {\r\n this.accountService.getMenuByProfile(BaseAccountService.ProfileName).subscribe(menuItems => {\r\n this.profileMenuItems = [];\r\n const parentArray = [];\r\n menuItems.find((items) => {\r\n if (items.parentId === '00000000-0000-0000-0000-000000000000') {// To Find parent menu Items\r\n parentArray.push(items);\r\n }\r\n });\r\n parentArray.find((items) => {\r\n const subItems = [];\r\n menuItems.forEach((item) => {\r\n if (item.parentId === items.menuId) {\r\n subItems.push({ id: item.menuId, name: item.description, url: item.url, icon: item?.menuIcon });\r\n }\r\n });\r\n this.profileMenuItems.push({ items, subItems });\r\n });\r\n });\r\n }\r\n\r\n\r\n\r\n private getLogo(): void {\r\n const isWTWBrandingEnabled = this.sponsorService.applyWillisBranding;\r\n const sponsorLogo = this.sponsorService.sponsorLogo;\r\n\r\n if (isWTWBrandingEnabled === false && sponsorLogo !== '' &&\r\n sponsorLogo !== undefined && sponsorLogo !== 'data:image/;base64,') {\r\n // Show Sponsor Logo\r\n this.sponsorImage = sponsorLogo;\r\n } else {\r\n // Show WTW logo\r\n this.sponsorImage = window.location.origin + '/' + this.constructPathName(window.location.pathname)\r\n + `${this.AppConfig.assetsImagesPath}` + 'wtw-logo.jpg';\r\n }\r\n }\r\n\r\n private isSkeletalPolicy(): boolean {\r\n return ((sessionStorage.getItem('EnableCustomerIdentityB2CClaims') !== null &&\r\n !JSON.parse(sessionStorage.getItem('EnableCustomerIdentityB2CClaims'))._value) &&\r\n (sessionStorage.getItem('ManageClaimsb2cSalesPortalEnabled') !== null &&\r\n JSON.parse(sessionStorage.getItem('ManageClaimsb2cSalesPortalEnabled'))._value))\r\n }\r\n\r\n private applyTranslations(labelList: string[]): string[] {\r\n let response: string[];\r\n\r\n const navigationEntries = performance.getEntriesByType('navigation') as PerformanceNavigationTiming[];\r\n if (navigationEntries.length > 0 && navigationEntries[0].type === 'reload'\r\n && this.sharedSettingsService.getHomeTranslation(labelList)) {\r\n response = this.sharedSettingsService.getHomeTransalation();\r\n return response;\r\n }\r\n\r\n this.translate.get(labelList).subscribe((res) => {\r\n response = res;\r\n this.sharedSettingsService.setHomeTransalation(res);\r\n });\r\n return response;\r\n }\r\n\r\n navigateToNavLink(event: string) {\r\n if (event === 'savedquotes') {\r\n this.router.navigate(['/quote/saved-quotes']);\r\n } else if (event === 'renewals') {\r\n this.router.navigate(['/quote/renewal-quotes']);\r\n } else if (event === 'yourpolicies') {\r\n this.router.navigate(['/account-details/your-policies']);\r\n } else if (event === 'yourprofile') {\r\n this.router.navigate(['/account-details/your-profile']);\r\n } else if (event === 'yourclaims') {\r\n this.router.navigate(['home/your-claim']);\r\n } else if (event === 'LoginLogoutEvent') {\r\n if (this.msalAuthenticationService.isAuthenticated()) {\r\n this.msalAuthenticationService.logout();\r\n this.router.navigate(['/logout']);\r\n } else {\r\n this.loginRedirect();\r\n }\r\n } else {\r\n this.router.navigateByUrl(event);\r\n }\r\n }\r\n\r\n loginRedirect() {\r\n // Auth guard on this route will trigger login process.\r\n this.router.navigate(['/login']);\r\n }\r\n ngOnDestroy() {\r\n this.routerSubscription.unsubscribe();\r\n }\r\n}\r\n","\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n

\r\n lock\r\n {{errorHeaderLabelText}}\r\n

\r\n
\r\n \r\n
\r\n error\r\n

{{errorMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n

{{errorSeconadryMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n ","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MsalAuthenticationService } from '../../../../services/common-auth/msalauthentication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { IErrorState } from '../../../../shared/models';\r\nimport { BaseConstantService } from '../../../../services/constant/base-constant.service';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { QuestionSetService } from '../../../../services/question-set/question-set.service';\r\n\r\nconst errorHeaderLabel = 'Shared.lblServiceError';\r\nconst errorMessageLabel = 'Shared.lblDocusignServiceErrorMessage';\r\nconst backButtonLabel = 'Shared.lblDocusignPleaseTryAgain';\r\nconst logoutLabel = 'Shared.lblLogout';\r\nconst customerAccountLockedLabel = 'Shared.lblNewClaimCustomerAccountLocked';\r\nconst contactServicingTeamLabel = 'Shared.lblNewClaimCustomerAccountLockedContactServicingTeam';\r\n\r\n@Component({\r\n selector: 'lib-docusign-error-page',\r\n templateUrl: './docusign-error-page.component.html',\r\n styleUrls: ['./docusign-error-page.component.scss']\r\n})\r\n\r\nexport class DocusignErrorPageComponent implements OnInit {\r\n\r\n @Input() fromHomePage: boolean;\r\n @Input() errorMessageLabelText = 'Unable to estabilish connection to E-signature.';\r\n\r\n // If translate service is failed to retrieve the translated content, hardcoded value will be used for the UI content.\r\n errorHeaderLabelText = 'Service Error';\r\n errorSeconadryMessageLabelText;\r\n backButtonText = 'Please Try Again';\r\n logoutText = 'Logout';\r\n isMobile: boolean;\r\n isDesktop: boolean;\r\n isTablet: boolean;\r\n hideBackButton: boolean;\r\n state: IErrorState;\r\n isLoading: boolean;\r\n hasMultipleSecondaryMessages: boolean;\r\n isCustomerBlocked = false;\r\n\r\n hasMultipleMessages(): boolean {\r\n return Array.isArray(this.errorMessageLabelText);\r\n }\r\n\r\n constructor(\r\n private msalService: MsalAuthenticationService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private sessionStorage: SessionStorageService,\r\n private baseConstantService: BaseConstantService,\r\n private questionSetService: QuestionSetService,\r\n private metaTag: Meta,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: BaseConstantService.metaDataDenySearch }\r\n );\r\n\r\n this.getState();\r\n await this.showLogoutLink();\r\n this.applyTranslations();\r\n this.checkDeviceWidth();\r\n }\r\n\r\n private getState() {\r\n if (history && history.state) {\r\n this.state = history.state as IErrorState;\r\n }\r\n }\r\n\r\n private hasCustomMessage() {\r\n return this.state && (this.state.header || this.state.primaryMessage);\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([errorHeaderLabel, errorMessageLabel, backButtonLabel, logoutLabel,\r\n customerAccountLockedLabel, contactServicingTeamLabel]).subscribe((res) => {\r\n if (this.hasCustomMessage()) {\r\n this.setErrorHeaderAndMessage(this.state.header, this.state.primaryMessage, this.state.secondaryMessage, this.state.buttonLabel);\r\n } else if (this.state?.isCustomerBlocked) {\r\n this.isCustomerBlocked = this.state.isCustomerBlocked;\r\n this.setErrorHeaderAndMessage(res[customerAccountLockedLabel], null, res[contactServicingTeamLabel], null);\r\n } else {\r\n this.setErrorHeaderAndMessage(res[errorHeaderLabel], res[errorMessageLabel], null, res[backButtonLabel]);\r\n }\r\n if (this.logoutText && this.logoutText !== '' && res[logoutLabel] !== logoutLabel) {\r\n this.logoutText = res[logoutLabel];\r\n }\r\n });\r\n }\r\n\r\n private setErrorHeaderAndMessage(header, primaryMessage, secondaryMessage, buttonLabel) {\r\n this.errorHeaderLabelText = header && header !== errorHeaderLabel ? header : this.errorHeaderLabelText;\r\n this.errorMessageLabelText = (primaryMessage && primaryMessage !== errorMessageLabel && !this.fromHomePage)\r\n ? primaryMessage\r\n : this.errorMessageLabelText;\r\n this.errorSeconadryMessageLabelText = secondaryMessage;\r\n this.backButtonText = buttonLabel && buttonLabel !== backButtonLabel ? buttonLabel : this.backButtonText;\r\n this.hasMultipleSecondaryMessages = Array.isArray(secondaryMessage);\r\n }\r\n\r\n async showLogoutLink() {\r\n this.isLoading = true;\r\n this.logoutText = await this.baseConstantService.getLogOutText(this.logoutText);\r\n this.isLoading = false;\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isTablet = this.layoutService.isMediumView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n goBack() {\r\n this.router.navigate(['policy/docusignnav']);\r\n }\r\n\r\n logout() {\r\n this.msalService.logout();\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n

\r\n \r\n {{errorHeaderLabelText}}\r\n

\r\n
\r\n
\r\n error\r\n

{{errorMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n

{{errorSeconadryMessageLabelText}}

\r\n
\r\n

{{message}}

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { LayoutService } from '../../../services/layout/layout.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { IErrorState } from '../../../shared/models';\r\nimport { BaseConstantService } from '../../../services/constant/base-constant.service';\r\nimport { Meta } from '@angular/platform-browser';\r\n\r\nconst errorHeaderLabel = 'Shared.lblServiceError';\r\nconst backButtonLabel = 'Shared.lblBack';\r\nconst logoutLabel = 'Shared.lblLogout';\r\n\r\n@Component({\r\n selector: 'lib-link-expired-screen',\r\n templateUrl: './link-expired-screen.component.html',\r\n styleUrls: ['./link-expired-screen.component.scss']\r\n})\r\n\r\nexport class LinkExpiredScreenComponent implements OnInit {\r\n\r\n @Input() fromHomePage: boolean;\r\n @Input() errorMessageLabelText = 'The link to create your password has expired.';\r\n\r\n\r\n errorHeaderLabelText = 'Service Error';\r\n errorSeconadryMessageLabelText;\r\n backButtonText = 'Login';\r\n logoutText = 'Logout';\r\n isMobile: boolean;\r\n isDesktop: boolean;\r\n hideBackButton: boolean;\r\n state: IErrorState;\r\n isLoading: boolean;\r\n hasMultipleSecondaryMessages: boolean;\r\n isCustomerBlocked = false;\r\n\r\n hasMultipleMessages(): boolean {\r\n return Array.isArray(this.errorMessageLabelText);\r\n }\r\n\r\n constructor(\r\n private msalService: MsalAuthenticationService,\r\n private router: Router,\r\n private translate: TranslateService,\r\n private layoutService: LayoutService,\r\n private sessionStorage: SessionStorageService,\r\n private baseConstantService: BaseConstantService,\r\n private metaTag: Meta,\r\n ) { }\r\n\r\n async ngOnInit() {\r\n this.getState();\r\n this.applyTranslations();\r\n this.checkDeviceWidth();\r\n }\r\n\r\n private getState() {\r\n if (history && history.state) {\r\n this.state = history.state as IErrorState;\r\n }\r\n }\r\n\r\n private hasCustomMessage() {\r\n return this.state && (this.state.header || this.state.primaryMessage);\r\n }\r\n\r\n private applyTranslations() {\r\n this.translate.get([errorHeaderLabel, backButtonLabel, logoutLabel]).subscribe((res) => {\r\n if (this.hasCustomMessage()) {\r\n if (this.state.buttonLabel === null || !this.state.buttonLabel) {\r\n this.state.buttonLabel = res[backButtonLabel];\r\n }\r\n this.setErrorHeaderAndMessage(this.state.header, this.state.primaryMessage, this.state.secondaryMessage, this.state.buttonLabel);\r\n } else {\r\n this.setErrorHeaderAndMessage(res[errorHeaderLabel], null, null, res[backButtonLabel]);\r\n }\r\n if (this.logoutText && this.logoutText !== '' && res[logoutLabel] !== logoutLabel) {\r\n this.logoutText = res[logoutLabel];\r\n }\r\n });\r\n }\r\n\r\n private setErrorHeaderAndMessage(header, primaryMessage, secondaryMessage, buttonLabel) {\r\n this.errorHeaderLabelText = header && header !== errorHeaderLabel ? header : this.errorHeaderLabelText;\r\n this.errorMessageLabelText = (primaryMessage && !this.fromHomePage)\r\n ? primaryMessage\r\n : this.errorMessageLabelText;\r\n this.errorSeconadryMessageLabelText = secondaryMessage;\r\n this.backButtonText = buttonLabel && buttonLabel !== backButtonLabel ? buttonLabel : this.backButtonText;\r\n this.hasMultipleSecondaryMessages = Array.isArray(secondaryMessage);\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n this.isDesktop = this.layoutService.isLargeView();\r\n });\r\n }\r\n\r\n goBack() {\r\n this.msalService.login();\r\n }\r\n\r\n logout() {\r\n this.msalService.logout();\r\n }\r\n}\r\n","\r\n \r\n \r\n {{button.label}}\r\n \r\n \r\n\r\n","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { ButtonToggle } from '../../../models/button-toggle.model';\r\nimport { LayoutService } from '../../../../services/layout/layout.service';\r\n\r\n@Component({\r\n selector: 'lib-button-toggle',\r\n templateUrl: './button-toggle.component.html',\r\n styleUrls: ['./button-toggle.component.scss']\r\n})\r\nexport class ButtonToggleComponent implements OnInit {\r\n @Input() buttonLabels: ButtonToggle[];\r\n @Input() isExcluded: boolean;\r\n selectedValue: string;\r\n @Output() CoverageNameClicked = new EventEmitter();\r\n isMobile: boolean;\r\n isCustomHeight: boolean;\r\n\r\n constructor(private layoutService: LayoutService) { }\r\n\r\n ngOnInit() {\r\n this.checkDeviceWidth();\r\n this.buttonLabels?.forEach((button) => {\r\n if (button.isSelected) {\r\n this.selectedValue = button.intentCode\r\n }\r\n })\r\n this.addCustomCss();\r\n }\r\n\r\n checkDeviceWidth() {\r\n this.layoutService.subscribeToLayoutChanges().subscribe(observerResponse => {\r\n this.isMobile = this.layoutService.isSmallView();\r\n });\r\n }\r\n\r\n onValueChange(event, selectedValue, previousValue) {\r\n if (selectedValue.intentCode === previousValue) {\r\n // To stop triggering of already selected option on each event\r\n return false;\r\n }\r\n this.selectedValue = selectedValue.intentCode;\r\n event['previousValue'] = previousValue;\r\n this.CoverageNameClicked.emit(event);\r\n }\r\n addCustomCss() {\r\n const isTextExceed = this.buttonLabels.find(tile => tile.label.length > 25);\r\n if (this.buttonLabels[0].groupId > 0 && isTextExceed) {\r\n this.isCustomHeight = true;\r\n } else {\r\n this.isCustomHeight = false;\r\n }\r\n }\r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { LayoutModule } from '@angular/cdk/layout';\r\nimport { AppMaterialModule } from './shared/app-material/app-material.module';\r\nimport { WtwUiComponentsComponent } from './wtw-ui-components.component';\r\nimport { PrimaryButtonComponent } from './shared/components/buttons/primary-button/primary-button.component';\r\nimport { NavigationLinkButtonComponent } from './shared/components/buttons/navigation-link-button/navigation-link-button.component';\r\nimport { SecondaryButtonComponent } from './shared/components/buttons/secondary-button/secondary-button.component';\r\nimport { SimpleButtonComponent } from './shared/components/buttons/simple-button/simple-button.component';\r\nimport { SimpleWideCardComponent } from './shared/components/buttons/simple-wide-card/simple-wide-card.component';\r\nimport { WideButtonComponent } from './shared/components/buttons/wide-button/wide-button.component';\r\nimport { CloseTopComponent } from './shared/components/controls/close-top/close-top.component';\r\nimport { IconButtonComponent } from './shared/components/controls/icon-button/icon-button.component';\r\nimport { DatePickerComponent } from './shared/components/inputs/date-picker/date-picker.component';\r\nimport { DropDownComponent } from './shared/components/inputs/drop-down/drop-down.component';\r\nimport { TextBoxComponent } from './shared/components/inputs/text-box/text-box.component';\r\nimport { TextAreaComponent } from './shared/components/inputs/text-area/text-area.component';\r\nimport { TopBarWithIconAndLinkComponent } from './shared/components/top-bar-with-icon-and-link/top-bar-with-icon-and-link.component';\r\nimport { BottomsheetComponent } from './shared/components/bottomsheet/bottomsheet.component';\r\nimport { NumbersOnlyDirective } from './shared/directives/numbers-only.directive';\r\nimport { AutofocusDirective } from './shared/directives/auto-focus.directive';\r\nimport { SafeHtmlPipe } from './shared/pipes/safe-html.pipe';\r\nimport { StripHtmlTagsPipe } from './shared/pipes/strip-html-tags.pipe';\r\nimport { MomentOffsetDatePipe } from './shared/pipes/moment-offset-date-pipe';\r\nimport { HeadingSubHeadingComponent } from './shared/components/heading-sub-heading/heading-sub-heading.component';\r\nimport { CardButtonComponent } from './shared/components/buttons/card-button/card-button.component';\r\nimport { ProgressBarComponent } from './shared/components/progress/progress-bar/progress-bar.component';\r\nimport { CookieBannerComponent } from './shared/components/cookie-banner/cookie-banner.component';\r\nimport { TileWithImageComponent } from './shared/components/tile/tile-with-image/tile-with-image.component';\r\nimport { LinkButtonComponent } from './shared/components/buttons/link-button/link-button.component';\r\nimport { TileListComponent } from './shared/components/tile/tile-list/tile-list.component';\r\nimport { IconDropDownComponent } from './shared/components/controls/icon-drop-down/icon-drop-down.component';\r\nimport { InfoCardComponent } from './shared/components/controls/info-card/info-card.component';\r\nimport { ViewPdfComponent } from './shared/components/controls/view-pdf/view-pdf.component';\r\nimport { PdfViewerModule, PdfViewerComponent } from 'ng2-pdf-viewer';\r\nimport { ContentListComponent } from './shared/components/content-section/content-list/content-list.component';\r\nimport { ContentSectionComponent } from './shared/components/content-section/content-section/content-section.component';\r\nimport { ContactUsComponent } from './shared/components/contact-us/contact-us.component';\r\nimport { FooterComponent } from './shared/components/footer/footer.component';\r\nimport { FaqComponent } from './shared/components/controls/faq/faq.component';\r\nimport { StraplineContentComponent } from './shared/components/strapline-content/strapline-content.component';\r\nimport { TopbarSwitcherComponent } from './shared/components/topbar-switcher/topbar-switcher.component';\r\nimport { TopbarDropdownComponent } from './shared/components/topbar-switcher/topbar-dropdown/topbar-dropdown.component';\r\nimport { LogoutComponent } from './shared/components/authentication/logout/logout.component';\r\nimport { LoginRegisterLogoutComponent } from './shared/components/login-register-logout/login-register-logout.component';\r\nimport { BaseConstantService } from '../lib/services/constant/base-constant.service';\r\nimport { DataCaptureDirective } from './shared/question-set/data-capture.directive';\r\nimport { PreviousComponent } from './shared/question-set/previous/previous.component';\r\nimport * as dataCaptureComponents from './shared/question-set/data-capture-components';\r\nimport { TranslateModule } from '@ngx-translate/core';\r\nimport { DataCaptureHeadingComponent } from './shared/question-set/data-capture-components';\r\nimport { ProgressBarStepsComponent } from './shared/components/progress/progress-bar-steps/progress-bar-steps.component';\r\nimport { ErrorPageComponent } from './shared/components/error-page/error-page.component';\r\nimport { BaseQuestionLogicComponent } from './shared/question-set/base-question-logic/base-question-logic.component';\r\nimport { TimePickerComponent } from './shared/components/inputs/time-picker/time-picker.component';\r\nimport { NgxMatTimepickerModule } from 'ngx-mat-timepicker';\r\nimport { FileUploadComponent } from './shared/components/inputs/file-upload/file-upload.component';\r\nimport { SessionTimeoutComponent } from './shared/components/authentication/session-expiry/session-timeout.component';\r\nimport { ModalTemplateComponent } from './shared/components/modal/modal-template/modal-template.component';\r\nimport { SideBarComponent } from './shared/components/side-bar/side-bar.component';\r\nimport { RecaptchaV2Component } from './shared/components/inputs/recaptcha-v2/recaptcha-v2.component';\r\nimport { NgxCaptchaModule } from 'ngx-captcha';\r\nimport { IsEllipsisActiveDirective } from './shared/directives/is-ellipsis-active.directive';\r\nimport { IconMenuComponent } from './shared/components/controls/icon-menu/icon-menu.component';\r\nimport { RadioGroupComponent } from './shared/components/inputs/radio-group/radio-group.component';\r\nimport { YourProfileComponent } from './shared/profile-details/your-profile/your-profile.component';\r\nimport * as profileComponents from './shared/profile-details/index';\r\nimport { YourPoliciesComponent } from './shared/your-policies/your-policies.component';\r\nimport { NotificationAlertComponent } from './shared/components/notification-alert/notification-alert.component';\r\nimport { HeaderComponent } from './shared/components/header/header.component';\r\nimport { AssentlyLoginComponent } from './shared/components/assently-login/assently-login/assently-login.component';\r\nimport { DocusignErrorPageComponent } from './shared/components/error-page/docusign-error-page/docusign-error-page.component';\r\nimport { LinkExpiredScreenComponent } from './shared/components/link-expired-screen/link-expired-screen.component';\r\nimport { SpinnerModalComponent } from './shared/components/spinner-modal/spinner-modal.component';\r\nimport { WideButtonWithAccordionComponent }\r\n from './shared/components/buttons/wide-button-with-accordion/wide-button-with-accordion.component';\r\nimport { LocalDateFormatPipe } from './shared/pipes/local-date-format-pipe';\r\nimport { CurrencyBoxComponent } from './shared/components/inputs/currency-box/currency-box.component';\r\nimport { CurrencyDataCaptureComponent } \r\nfrom './shared/question-set/data-capture-components/currency-data-capture/currency-data-capture.component';\r\nimport { ButtonToggleComponent } from './shared/components/buttons/button-toggle/button-toggle.component';\r\nimport { AutoSearchDropdownComponent } from \r\n'./shared/components/inputs/auto-search-dropdown/auto-search-dropdown.component';\r\nimport { AutoSuggestInputComponent } from\r\n './shared/components/inputs/auto-suggest-input/auto-suggest-input.component';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { CheckBoxComponent } from './shared/components/inputs/check-box/check-box.component';\r\nimport { CurrencyFormatPipe } from './shared/pipes/currency-format.pipe';\r\nimport { ProgressSpinnerComponent } from './shared/components/progress-spinner/progress-spinner.component';\r\nimport { NgbTypeaheadModule } from '@ng-bootstrap/ng-bootstrap';\r\n\r\n@NgModule({\r\n declarations: [\r\n WtwUiComponentsComponent,\r\n PrimaryButtonComponent,\r\n NavigationLinkButtonComponent,\r\n SecondaryButtonComponent,\r\n SimpleButtonComponent,\r\n SimpleWideCardComponent,\r\n WideButtonComponent,\r\n CloseTopComponent,\r\n IconButtonComponent,\r\n DatePickerComponent,\r\n DropDownComponent,\r\n RadioGroupComponent,\r\n TextBoxComponent,\r\n TextAreaComponent,\r\n TopBarWithIconAndLinkComponent,\r\n HeadingSubHeadingComponent,\r\n BottomsheetComponent,\r\n NumbersOnlyDirective,\r\n AutofocusDirective,\r\n SafeHtmlPipe,\r\n StripHtmlTagsPipe,\r\n MomentOffsetDatePipe,\r\n LocalDateFormatPipe,\r\n CardButtonComponent,\r\n ProgressBarComponent,\r\n CookieBannerComponent,\r\n TileWithImageComponent,\r\n LinkButtonComponent,\r\n TileListComponent,\r\n IconDropDownComponent,\r\n InfoCardComponent,\r\n ViewPdfComponent,\r\n ContentListComponent,\r\n ContentSectionComponent,\r\n ContactUsComponent,\r\n FooterComponent,\r\n FaqComponent,\r\n StraplineContentComponent,\r\n TopbarSwitcherComponent,\r\n TopbarDropdownComponent,\r\n LoginRegisterLogoutComponent,\r\n LogoutComponent,\r\n DataCaptureDirective,\r\n ...dataCaptureComponents.components,\r\n PreviousComponent,\r\n DataCaptureHeadingComponent,\r\n ProgressBarStepsComponent,\r\n TimePickerComponent,\r\n BaseQuestionLogicComponent,\r\n FileUploadComponent,\r\n ErrorPageComponent,\r\n SessionTimeoutComponent,\r\n ModalTemplateComponent,\r\n SpinnerModalComponent,\r\n SpinnerModalComponent,\r\n SideBarComponent,\r\n RecaptchaV2Component,\r\n IsEllipsisActiveDirective,\r\n IconMenuComponent,\r\n YourProfileComponent,\r\n ...profileComponents.components,\r\n YourPoliciesComponent,\r\n NotificationAlertComponent,\r\n HeaderComponent,\r\n AssentlyLoginComponent,\r\n DocusignErrorPageComponent,\r\n LinkExpiredScreenComponent,\r\n WideButtonWithAccordionComponent,\r\n CurrencyBoxComponent,\r\n CurrencyDataCaptureComponent,\r\n AutoSearchDropdownComponent,\r\n ButtonToggleComponent,\r\n CheckBoxComponent,\r\n CurrencyFormatPipe,\r\n ProgressSpinnerComponent, \r\n AutoSuggestInputComponent \r\n ],\r\n imports: [\r\n CommonModule,\r\n LayoutModule,\r\n FormsModule,\r\n ReactiveFormsModule.withConfig({callSetDisabledState: 'whenDisabledForLegacyCode'}),\r\n AppMaterialModule,\r\n PdfViewerModule,\r\n TranslateModule,\r\n NgxMatTimepickerModule,\r\n NgxCaptchaModule,\r\n MatTooltipModule,\r\n NgbTypeaheadModule\r\n ],\r\n exports: [\r\n AppMaterialModule,\r\n WtwUiComponentsComponent,\r\n PrimaryButtonComponent,\r\n NavigationLinkButtonComponent,\r\n SecondaryButtonComponent,\r\n SimpleButtonComponent,\r\n SimpleWideCardComponent,\r\n WideButtonComponent,\r\n CloseTopComponent,\r\n IconButtonComponent,\r\n DatePickerComponent,\r\n DropDownComponent,\r\n RadioGroupComponent,\r\n TextBoxComponent,\r\n TextAreaComponent,\r\n TopBarWithIconAndLinkComponent,\r\n HeadingSubHeadingComponent,\r\n BottomsheetComponent,\r\n HeaderComponent,\r\n NumbersOnlyDirective,\r\n AutofocusDirective,\r\n SafeHtmlPipe,\r\n StripHtmlTagsPipe,\r\n MomentOffsetDatePipe,\r\n LocalDateFormatPipe,\r\n LayoutModule,\r\n CardButtonComponent,\r\n ProgressBarComponent,\r\n CookieBannerComponent,\r\n TileWithImageComponent,\r\n LinkButtonComponent,\r\n TileListComponent,\r\n IconDropDownComponent,\r\n InfoCardComponent,\r\n ViewPdfComponent,\r\n PdfViewerComponent,\r\n PdfViewerModule,\r\n ContentListComponent,\r\n ContentSectionComponent,\r\n ContactUsComponent,\r\n FooterComponent,\r\n FaqComponent,\r\n StraplineContentComponent,\r\n TopbarSwitcherComponent,\r\n TopbarDropdownComponent,\r\n LogoutComponent,\r\n DataCaptureDirective,\r\n ...dataCaptureComponents.components,\r\n PreviousComponent,\r\n DataCaptureHeadingComponent,\r\n ProgressBarStepsComponent,\r\n LoginRegisterLogoutComponent,\r\n TimePickerComponent,\r\n NgxMatTimepickerModule,\r\n BaseQuestionLogicComponent,\r\n FileUploadComponent,\r\n ErrorPageComponent,\r\n SessionTimeoutComponent,\r\n ModalTemplateComponent,\r\n SideBarComponent,\r\n RecaptchaV2Component,\r\n NgxCaptchaModule,\r\n IsEllipsisActiveDirective,\r\n IconMenuComponent,\r\n YourProfileComponent,\r\n ...profileComponents.components,\r\n YourPoliciesComponent,\r\n NotificationAlertComponent,\r\n AssentlyLoginComponent,\r\n DocusignErrorPageComponent,\r\n LinkExpiredScreenComponent,\r\n WideButtonWithAccordionComponent,\r\n CurrencyBoxComponent,\r\n AutoSearchDropdownComponent,\r\n ButtonToggleComponent, \r\n MatTooltipModule,\r\n CheckBoxComponent,\r\n CurrencyFormatPipe,\r\n ProgressSpinnerComponent,\r\n AutoSuggestInputComponent\r\n ],\r\n schemas: [\r\n CUSTOM_ELEMENTS_SCHEMA\r\n ],\r\n providers: [\r\n BaseConstantService,\r\n PdfViewerComponent,\r\n NgxMatTimepickerModule,\r\n NgxCaptchaModule,\r\n CurrencyFormatPipe,\r\n ]\r\n})\r\nexport class WtwUiComponentsModule { }\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class TimePickerField extends FormFieldBase {\r\n controlType = 'timepicker';\r\n // minDate: string;\r\n // maxDate: string;\r\n default: string;\r\n offsetBasis: string;\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n callToActionLabel?: string,\r\n // minDate?: string,\r\n // maxDate?: string,\r\n default?: string,\r\n offsetBasis?: string\r\n } = {}) {\r\n super(options);\r\n // this.minDate = options.minDate || '';\r\n // this.maxDate = options.maxDate || '';\r\n this.default = options.default || '';\r\n this.offsetBasis = options.offsetBasis || '';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { CommonHttpService } from '../common-http/common-http.service';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\nconst routes = {\r\n getB2CSalesBackOfficeUsersSession: endPoints.apiUrl + endPoints.endPointName.getB2CSalesBackOfficeUsersSession,\r\n};\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class BackOfficeUsersService {\r\n\r\n\r\n constructor(protected commonHttpService: CommonHttpService) {\r\n }\r\n\r\n getB2CSalesBackOfficeUsersSession(sessionId: any): Promise {\r\n const apiUrl = `${routes.getB2CSalesBackOfficeUsersSession}/${sessionId}`;\r\n return lastValueFrom(this.commonHttpService.httpGetServiceWithBearer(apiUrl));\r\n }\r\n\r\n}\r\n","export class CardButtonBase {\r\n key: string;\r\n titleLabel: string;\r\n subTitleLabel: string;\r\n iconName: string;\r\n menuInfo: MenuParams[];\r\n\r\n constructor(options: {\r\n key?: string,\r\n titleLabel?: string,\r\n subTitleLabel?: string,\r\n iconName?: string,\r\n } = {}) {\r\n this.key = options.key || '';\r\n this.titleLabel = options.titleLabel || '';\r\n this.subTitleLabel = options.subTitleLabel || '';\r\n this.iconName = options.iconName || '\\'visiblity\\'';\r\n }\r\n }\r\n\r\nexport class MenuParams {\r\n key: string;\r\n iconName: string;\r\n menuLabel: string;\r\n data: object | string;\r\n }\r\n","import { CardButtonBase } from './card-button-base';\r\n// import { MenuParams } from './card-button-base';\r\n\r\nexport class CardWithMenu extends CardButtonBase {\r\n controlType = 'cardwithmenu';\r\n // menuInfo: MenuParams[] = [];\r\n\r\n constructor(options: {} = {}) {\r\n super(options);\r\n this.menuInfo = options['menuInfo'] || [];\r\n }\r\n}\r\n","import { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable, from, lastValueFrom, empty } from 'rxjs';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\nimport { ReCaptchaV3Service } from 'ngx-captcha';\r\nimport { switchMap } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MsalHttpInterceptor implements HttpInterceptor {\r\n private token: string;\r\n public siteKey = '6LeELWgdAAAAADHHjwa8oio-sa-_3sZOF693kJeQ';\r\n public action = 'homepage';\r\n\r\n constructor(private settingsService: SharedSettingsService,\r\n private reCaptchaV3Service: ReCaptchaV3Service) {}\r\n\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n // To exclude the route for sending JWT token\r\n // make sure the excluderequests are in lowercase.\r\n const excludeRequests = ['api/configuration/get', '/manifest.json',\r\n 'assets/i18n/en-gb.json', 'assets/i18n/en-us.json', 'assets/i18n/fr-fr.json', 'api/localization/gettranslations',\r\n 'api/b2cproducttemplate/getb2chomeproductdetails', 'api/b2cproducttemplate/getproducttemplate', 'api/quotation/getquoterating'];\r\n\r\n const recaptchaRequests = ['api/quotation/getquoterating'];\r\n\r\n let addTokenHeader = true;\r\n\r\n let addRecaptcha = false;\r\n\r\n\r\n for (const excludeRequest of excludeRequests) {\r\n if (req.url.toLocaleLowerCase().search(excludeRequest) >= 0) {\r\n addTokenHeader = false;\r\n }\r\n }\r\n\r\n for (const recaptchaRequest of recaptchaRequests) {\r\n if (req.url.toLocaleLowerCase().includes(recaptchaRequest)) {\r\n addRecaptcha = true;\r\n }\r\n }\r\n\r\n if (addTokenHeader) {\r\n this.token = localStorage.getItem('msal.idtoken');\r\n req = req.clone({\r\n setHeaders: {\r\n 'Access-Control-Allow-Origin': window.location.origin,\r\n Authorization: `Bearer ${this.token}`\r\n }\r\n });\r\n }\r\n\r\n if (this.settingsService.recaptchaVerified !== null &&\r\n this.settingsService.recaptchaVerified !== undefined &&\r\n this.settingsService.recaptchaVerified === true && addRecaptcha) {\r\n return from(this.reCaptchaV3Service.executeAsPromise(this.siteKey, this.action, { useGlobalDomain: true }))\r\n .pipe(\r\n switchMap((recaptchaToken: string) => {\r\n\r\n this.settingsService.recaptchaToken = recaptchaToken;\r\n\r\n if (this.settingsService.recaptchaToken) {\r\n if (this.settingsService.recaptchaCount === null\r\n || this.settingsService.recaptchaCount === undefined\r\n || this.settingsService.recaptchaCount <= 0) {\r\n this.settingsService.recaptchaCount = 1;\r\n this.settingsService.recaptchaVerified = false;\r\n req = req.clone({ headers: req.headers.set('Recaptcha', this.settingsService.recaptchaToken) });\r\n }\r\n }\r\n\r\n return next.handle(req);\r\n })\r\n );\r\n\r\n }\r\n\r\n return next.handle(req);\r\n }\r\n\r\n}\r\n","// This class must be descended and then provided in each target module to load specific translations for that module's TranslationsLoader.\r\n\r\nimport { Injectable } from '@angular/core';\r\n\r\nimport { ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Injectable()\r\nexport abstract class BaseTranslationsResolver {\r\n constructor(\r\n private translate: TranslateService,\r\n private sessionStorage: SessionStorageService) { }\r\n\r\n async resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // Set up Translations.\r\n // this language will be used as a fallback when a translation isn't found in the current language\r\n await this.translate.setDefaultLang('en-GB');\r\n\r\n const currentLang = this.sessionStorage.get('LanguageCode');\r\n\r\n // the lang to use, if the lang isn't available, it will use the current loader to get them\r\n await lastValueFrom(this.translate.use(currentLang));\r\n\r\n const translations = await lastValueFrom(this.translate.getTranslation(currentLang));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { MsalAuthenticationService } from '../../services/common-auth/msalauthentication.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { SharedSettingsService } from '../../services/settings/settings-base.service';\r\nimport { BaseAccountService } from './../../services/account/base-account.service';\r\nimport { UtilitiesService } from '../../services/utilities/utilities.service';\r\nimport { BaseConstantService } from '../../services/constant/base-constant.service';\r\nimport { endPoints } from '../../shared/core/app.config';\r\nimport { ErrorState } from '../models/error-state.model';\r\nimport { ICheckCustomerBlockResponse } from '../models/check-customer-block-response.model';\r\nimport { lastValueFrom } from 'rxjs';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard {\r\n constructor(\r\n private router: Router,\r\n private msalService: MsalAuthenticationService,\r\n private sessionStorage: SessionStorageService,\r\n private settingsService: SharedSettingsService,\r\n private accountService: BaseAccountService,\r\n private sharedSettingsService: SharedSettingsService,\r\n private utilitiesService: UtilitiesService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n const promise: Promise = new Promise(\r\n (resolve: (res: boolean) => void, reject: (res: boolean) => void) => {\r\n this.msalService.authenticated()\r\n .then(async result => {\r\n if (result) {\r\n this.setATPLoginExpiryTime();\r\n\r\n if (this.msalService.isSessionTimedOut()) {\r\n this.router.navigate(['/sessiontimeout']);\r\n } else {\r\n // Check if customer already blocked from using claim portal.\r\n const checkCustomerBlockResponse = await this.isBlockedCustomer();\r\n if (checkCustomerBlockResponse && checkCustomerBlockResponse.isSuccess && checkCustomerBlockResponse.isBlocked) {\r\n this.errorRedirect(checkCustomerBlockResponse.isBlocked);\r\n } else if (!checkCustomerBlockResponse || !checkCustomerBlockResponse.isSuccess) {\r\n this.errorRedirect(false);\r\n } else {\r\n resolve(true);\r\n }\r\n }\r\n } else {\r\n const enableVoucherBasedAccess = this.settingsService.enableVoucherBasedAccess;\r\n const enableSSOBasedAccess = this.settingsService.enableSSOBasedAccess;\r\n const enableGuestPurchase = this.settingsService.enableGuestPurchase;\r\n const enableAssently = this.settingsService.enableAssently;\r\n const extAuthNav = this.settingsService.extAuthNav;\r\n const enableICECommonAuth = this.settingsService.enableICECommonAuth;\r\n const allowCustomerIdentification = this.settingsService.allowCustomerIdentification;\r\n \r\n const isB2BFlow = this.settingsService.isB2B();\r\n\r\n if (enableVoucherBasedAccess || enableSSOBasedAccess\r\n || enableGuestPurchase || enableAssently || isB2BFlow || extAuthNav || allowCustomerIdentification) {\r\n const idTokenExpiryTime = localStorage.getItem('idTokenExpiryTime');\r\n\r\n const currentTime = new Date().getTime();\r\n const idToken = localStorage.getItem('msal.idtoken');\r\n // If 'idTokenExpiryTime' is greater then 'currentTime' and 'id_token' present in local storage then\r\n // return true otherwise redirect to login component.\r\n if (idTokenExpiryTime && Number(idTokenExpiryTime) > currentTime && idToken) {\r\n resolve(true);\r\n } else {\r\n this.loginRedirect(route, state);\r\n }\r\n } else {\r\n this.loginRedirect(route, state);\r\n }\r\n resolve(false);\r\n }\r\n }).catch(() => {\r\n this.loginRedirect(route, state);\r\n resolve(false);\r\n }); \r\n }\r\n );\r\n \r\n return promise;\r\n }\r\n\r\n setATPLoginExpiryTime() {\r\n if (this.settingsService.isATPLogin) {\r\n const ATPLoginExpiryTime = this.sharedSettingsService.ATPLoginExpiryTime;\r\n if (!ATPLoginExpiryTime) {\r\n const currentTime = new Date();\r\n this.sharedSettingsService.ATPLoginExpiryTime = (currentTime.setMinutes(currentTime.getMinutes()\r\n + this.settingsService.TimeOutDuration));\r\n }\r\n }\r\n }\r\n\r\n loginRedirect(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n // Set the Url if there are any redirect url\r\n this.router.navigate(['/login'], { queryParams: { returnUrl: state.url, currentUrl: this.router.url } });\r\n }\r\n\r\n canActivateChild(childRoute: ActivatedRouteSnapshot, state: RouterStateSnapshot): Promise {\r\n return this.canActivate(childRoute, state);\r\n }\r\n\r\n private async isBlockedCustomer(): Promise {\r\n const baseUrl = endPoints.baseUrl.toLowerCase();\r\n if (baseUrl.indexOf('claims') === -1) {\r\n return {\r\n isSuccess: true,\r\n isBlocked: false\r\n };\r\n } else {\r\n return await lastValueFrom(this.accountService.isCustomerBlocked());\r\n }\r\n }\r\n\r\n private errorRedirect(isBlockedCustomer: boolean) {\r\n localStorage.clear();\r\n this.router.navigate(['error-page'], { state: new ErrorState(null, null, null, null, isBlockedCustomer) });\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Meta } from '@angular/platform-browser';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { PagingService } from '../../../services/app-insights/paging-service';\r\nimport { SharedSettingsService } from '../../../services/settings/settings-base.service';\r\n\r\n@Component({\r\n template: ''\r\n})\r\nexport abstract class LoginBaseComponent implements OnInit {\r\n\r\n protected returnUrl: string;\r\n protected currentUrl: string;\r\n\r\n constructor(\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n public msalService: MsalAuthenticationService,\r\n private metaTag: Meta,\r\n public sharedSettingsService: SharedSettingsService,\r\n private pagingService: PagingService) { }\r\n\r\n async ngOnInit() {\r\n this.metaTag.updateTag(\r\n { name: 'robots', content: 'noindex, nofollow' } // Todo: define as constant.\r\n );\r\n const enableGuestPurchase = this.sharedSettingsService.enableGuestPurchase;\r\n const pageName = enableGuestPurchase ? 'Guest Purchase' : 'Login';\r\n this.pagingService.registerPageDetails(pageName);\r\n\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'];\r\n this.currentUrl = this.route.snapshot.queryParams['currentUrl'];\r\n\r\n if (this.returnUrl) {\r\n this.sharedSettingsService.previousUrl = this.returnUrl;\r\n }\r\n\r\n if (this.currentUrl) {\r\n this.sharedSettingsService.currentUrl = this.currentUrl;\r\n }\r\n\r\n await this.authenticate();\r\n }\r\n\r\n protected async authenticate() {\r\n this.msalService.authenticated()\r\n .then(result => {\r\n if (result) {\r\n this.router.navigate([this.returnUrl || '/']);\r\n } else {\r\n // If token is expired, redirect the user to login page.\r\n console.log('Token expired');\r\n if (sessionStorage.getItem('forgotPassword') == null) {\r\n this.msalService.login();\r\n } else {\r\n sessionStorage.removeItem('forgotPassword');\r\n }\r\n\r\n }\r\n }).catch(error => {\r\n console.log('login.component error ' + error);\r\n this.msalService.login();\r\n });\r\n }\r\n}\r\n","import { FormFieldBase } from './form-field-base';\r\n\r\nexport class FileUploadField extends FormFieldBase {\r\n controlType = 'file';\r\n validatorMatchWith: string;\r\n questionFormat: string;\r\n allowedFileType: string;\r\n maxSize: number;\r\n maxRangeErrorMessage: string;\r\n inValidFileTypeErrorMessage: string;\r\n mandatoryDocErrorMessage: string;\r\n maxFileErrorMsg: string;\r\n\r\n constructor(options: {\r\n value?: string,\r\n key?: string,\r\n label?: string,\r\n required?: boolean,\r\n order?: number,\r\n controlType?: string,\r\n type?: string,\r\n readOnly?: boolean,\r\n iconName?: string,\r\n mandatoryValidationMsg?: string | string[],\r\n validatorMatchWith?: string,\r\n allowedFileType?: string,\r\n maxSize?: number,\r\n maxRangeErrorMessage?: string,\r\n isVisible?: boolean,\r\n questionFormat?: string;\r\n inValidFileTypeErrorMessage?: string;\r\n mandatoryDocErrorMessage?: string;\r\n maxFileErrorMsg?: string;\r\n } = {}) {\r\n super(options);\r\n this.validatorMatchWith = options['validatorMatchWith'] || '';\r\n this.questionFormat = options.questionFormat;\r\n this.allowedFileType = options.allowedFileType;\r\n this.maxSize = options.maxSize;\r\n this.maxRangeErrorMessage = options.maxRangeErrorMessage;\r\n this.inValidFileTypeErrorMessage = options.inValidFileTypeErrorMessage;\r\n this.mandatoryDocErrorMessage = options.mandatoryDocErrorMessage;\r\n this.maxFileErrorMsg = options.maxFileErrorMsg;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { Observable, lastValueFrom } from 'rxjs';\r\nimport { MsalAuthenticationService } from '../../../services/common-auth/msalauthentication.service';\r\nimport { BaseAccountService } from '../../../services/account/base-account.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AccountVerificationResolver {\r\n constructor(\r\n private accountService: BaseAccountService,\r\n private msalAuthenticationService: MsalAuthenticationService,\r\n ) { }\r\n\r\n async resolve(route: ActivatedRouteSnapshot) {\r\n if (this.msalAuthenticationService.isAuthenticated()) {\r\n const isAccountVerified = await lastValueFrom(this.accountService.isAccountVerified());\r\n return isAccountVerified;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { SponsorService } from '../../../services/sponsor/sponsor.service';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SponsorLanguageResolver {\r\n constructor(\r\n private sponsorService: SponsorService,\r\n private sessionStorage: SessionStorageService) {}\r\n\r\n resolve() {\r\n const sponsorID: number = this.sessionStorage.get('SponsorId');\r\n if (sponsorID) {\r\n return this.sponsorService.initialiseSponsorPreferredLanguage(sponsorID);\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { BaseAccountService } from '../../../services/account/base-account.service';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class YourProfileResolver {\r\n\r\n constructor(private accountService: BaseAccountService\r\n ) {}\r\n\r\n async resolve(route: ActivatedRouteSnapshot) {\r\n let isEncryptionRequired = route.data[\"encryptedValue\"];\r\n\r\n // Validate and convert to boolean\r\n if (typeof isEncryptionRequired === 'string') {\r\n isEncryptionRequired = isEncryptionRequired.toLowerCase() === 'true';\r\n } else if (typeof isEncryptionRequired !== 'boolean') {\r\n isEncryptionRequired = false; // Default value if not a boolean or string\r\n }\r\n\r\n const yourProfileDetails = await lastValueFrom(this.accountService.yourProfile(isEncryptionRequired));\r\n return yourProfileDetails;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { ReferenceService } from '../../../services/References/reference.service';\r\nimport { forkJoin, Observable, of } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class GetLogoResolver {\r\n constructor(private referenceService: ReferenceService) {}\r\n\r\n resolve(): Observable {\r\n const consentLogo = this.referenceService.getLookupUIImagesAsync('Consent_Your_Profile');\r\n const contactLogo = this.referenceService.getLookupUIImagesAsync('Contact_Your_Profile');\r\n return forkJoin([consentLogo, contactLogo]).pipe(map((response) => {\r\n return response.map(value => value[0]);\r\n }));\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\n\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { BaseCustomerService } from '../../../services/customer/base-customer.service';\r\nimport { ICustomerFieldValidations } from '../../models/customer-field-validations.model';\r\nimport { Observable, lastValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ProfileEnabledDetailsResolver {\r\n\r\n private sponsorId: number;\r\n\r\n constructor(private customerService: BaseCustomerService,\r\n private sessionStorage: SessionStorageService) {}\r\n\r\n async resolve() {\r\n this.sponsorId = this.sessionStorage.get('SponsorId');\r\n const customerFields = await lastValueFrom(this.customerService.getCustomerFieldValidations(this.sponsorId));\r\n return customerFields;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ActivatedRouteSnapshot } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { PolicyService } from '../../../services/policy/policy.service';\r\nimport { lastValueFrom } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class YourPoliciesResolver {\r\n\r\n private customerId: number;\r\n\r\n constructor(\r\n private policyService: PolicyService,\r\n private sessionStorageService: SessionStorageService) { }\r\n\r\n async resolve(route: ActivatedRouteSnapshot) {\r\n const customerid = this.sessionStorageService.get('customerId') ? this.sessionStorageService.get('customerId') : 0;\r\n const yourpolicyList = await lastValueFrom(this.policyService.yourPolicies(customerid));\r\n return yourpolicyList;\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Resolve, ActivatedRouteSnapshot } from '@angular/router';\r\nimport { SessionStorageService } from 'angular-web-storage';\r\nimport { Observable } from 'rxjs';\r\nimport { forkJoin } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\nimport { LocalizationService } from '../../../services/localization/localization.service';\r\nimport { PolicyService } from '../../../services/policy/policy.service';\r\nimport { IGetUIElement } from '../../models/get-ui-element.model';\r\nimport { IGetUIElementsPayload } from '../../models/get-ui-elements-payload.model';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class MyTransactionsLabelResolver implements Resolve {\r\n\r\n private getUiElementForMyTransactions: IGetUIElementsPayload;\r\n\r\n constructor(\r\n private localizationService: LocalizationService,\r\n private sessionStorageService: SessionStorageService) { }\r\n\r\n async resolve(route: ActivatedRouteSnapshot) {\r\n\r\n this.getUiElementForMyTransactions = {\r\n sponsorEnglishName: this.sessionStorageService.get('SponsorName'),\r\n PageNames: ['MyTransactions'],\r\n productId: this.sessionStorageService.get('ProductId'),\r\n applicationName: '',\r\n languageId: this.sessionStorageService.get('LanguageId')\r\n };\r\n \r\n const result = await this.localizationService.getUIElements(this.getUiElementForMyTransactions).toPromise();\r\n const renewPolicyButtonLabel = result.find(item => item.uiElementCode === 'RenewPolicyButton')?.uiElementValue;\r\n return renewPolicyButtonLabel;\r\n }\r\n}\r\n","/*\r\n* Public API Surface of wtw-ui-components\r\n*/\r\nexport * from './lib/wtw-ui-components.service';\r\nexport * from './lib/wtw-ui-components.component';\r\nexport * from './lib/wtw-ui-components.module';\r\nexport * from './lib/shared/app-material/app-material.module';\r\nexport * from './lib/shared/components/bottomsheet/bottomsheet.component';\r\nexport * from './lib/shared/components/buttons/button-base';\r\nexport * from './lib/shared/components/buttons/navigation-link-button/navigation-link-button.component';\r\nexport * from './lib/shared/components/buttons/primary-button/primary-button.component';\r\nexport * from './lib/shared/components/buttons/secondary-button/secondary-button.component';\r\nexport * from './lib/shared/components/buttons/simple-button/simple-button.component';\r\nexport * from './lib/shared/components/buttons/simple-wide-card/simple-wide-card.component';\r\nexport * from './lib/shared/components/buttons/wide-button/wide-button.component';\r\nexport * from './lib/shared/components/buttons/link-button/link-button.component';\r\nexport * from './lib/shared/components/buttons/card-button/card-button.component';\r\nexport * from './lib/shared/components/controls/close-top/close-top.component';\r\nexport * from './lib/shared/components/controls/icon-button/icon-button.component';\r\nexport * from './lib/shared/components/inputs/date-picker/date-picker.component';\r\nexport * from './lib/shared/components/inputs/time-picker/time-picker.component';\r\nexport * from './lib/shared/components/inputs/drop-down/drop-down.component';\r\nexport * from './lib/shared/components/inputs/radio-group/radio-group.component';\r\nexport * from './lib/shared/components/inputs/text-box/text-box.component';\r\nexport * from './lib/shared/components/inputs/currency-box/currency-box.component';\r\nexport * from './lib/shared/components/inputs/text-area/text-area.component';\r\nexport * from './lib/shared/components/top-bar-with-icon-and-link/top-bar-with-icon-and-link.component';\r\nexport * from './lib/shared/components/cookie-banner/cookie-banner.component';\r\nexport * from './lib/shared/components/progress/progress-bar/progress-bar.component';\r\nexport * from './lib/shared/components/heading-sub-heading/heading-sub-heading.component';\r\nexport * from './lib/shared/directives/numbers-only.directive';\r\nexport * from './lib/shared/form-field/form-field-base';\r\nexport * from './lib/shared/form-field/textbox-field';\r\nexport * from './lib/shared/form-field/textarea-field';\r\nexport * from './lib/shared/form-field/dropdown-field';\r\nexport * from './lib/shared/form-field/date-picker-field';\r\nexport * from './lib/shared/form-field/time-picker-field';\r\nexport * from './lib/shared/models/index';\r\nexport * from './lib/shared/pipes/moment-offset-date-pipe';\r\nexport * from './lib/shared/pipes/safe-html.pipe';\r\nexport * from './lib/shared/pipes/strip-html-tags.pipe';\r\nexport * from './lib/services/back-office-users/back-office-users.service';\r\nexport * from './lib/services/breakpoints/breakpoints.service';\r\nexport * from './lib/services/layout/layout.service';\r\nexport * from './lib/services/cookie-banner/cookie-banner.service';\r\nexport * from './lib/services/form-group/form-group.service';\r\nexport * from './lib/services/date-manipulation/date-manipulation.service';\r\nexport * from './lib/shared/components/buttons/card-button/card-button-base';\r\nexport * from './lib/shared/components/buttons/card-button/card-with-menu';\r\nexport * from './lib/shared/animation/slidein-animation';\r\nexport * from './lib/shared/components/tile/tile-list/tile-list.component';\r\nexport * from './lib/shared/components/tile/tile-with-image/tile-with-image.component';\r\nexport * from './lib/shared/components/controls/icon-drop-down/icon-drop-down.component';\r\nexport * from './lib/shared/components/controls/info-card/info-card.component';\r\nexport * from './lib/shared/components/controls/view-pdf/view-pdf.component';\r\nexport * from './lib/shared/components/content-section/content-list/content-list.component';\r\nexport * from './lib/shared/components/content-section/content-section/content-section.component';\r\nexport * from './lib/shared/components/contact-us/contact-us.component';\r\nexport * from './lib/shared/components/footer/footer.component';\r\nexport * from './lib/shared/components/controls/faq/faq.component';\r\nexport * from './lib/services/common-http/common-http.service';\r\nexport * from './lib/shared/core/http-interceptor/msal.http-interceptors';\r\nexport * from './lib/shared/core/app-insights/logging.service';\r\nexport * from './lib/services/settings/settings-base.service';\r\nexport * from './lib/services/config/config.service';\r\nexport * from './lib/services/sponsor/sponsor.service';\r\nexport * from './lib/services/utilities/utilities.service';\r\nexport * from './lib/shared/components/strapline-content/strapline-content.component';\r\nexport * from './lib/services/translations/base-translations-resolver';\r\nexport * from './lib/services/localization/localization.service';\r\nexport * from './lib/services/References/reference.service';\r\nexport * from './lib/shared/components/topbar-switcher/topbar-switcher.component';\r\nexport * from './lib/shared/components/topbar-switcher/topbar-dropdown/topbar-dropdown.component';\r\nexport * from './lib/shared/components/login-register-logout/login-register-logout.component';\r\nexport * from './lib/services/app-insights/paging-service';\r\nexport * from './lib/services/common-auth/msalauthentication.service';\r\nexport * from './lib/shared/guards/authentication.guard';\r\nexport * from './lib/shared/components/authentication/login-base';\r\nexport * from './lib/shared/components/authentication/logout/logout.component';\r\nexport * from './lib/services/account/base-account.service';\r\nexport * from './lib/services/question-set/question-set.service';\r\nexport * from './lib/services/customer/base-customer.service';\r\nexport * from './lib/services/constant/base-constant.service';\r\nexport * from './lib/services/document/base-document.service';\r\nexport * from './lib/shared/components/modal/modal-template/modal-template.component';\r\nexport * from './lib/shared/directives/auto-focus.directive';\r\nexport * from './lib/shared/components/header/header.component';\r\nexport * from './lib/services/Assently/assently.service';\r\nexport * from './lib/services/base-product-template/base-product-template.service';\r\nexport * from './lib/services/idle-user/idle-user.service';\r\n\r\n// Data Capture Components\r\nexport * from './lib/shared/question-set/data-capture-components/check-box-data-capture/check-box-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/data-capture-heading/data-capture-heading.component';\r\nexport * from './lib/shared/question-set/data-capture-components/datepicker-data-capture/datepicker-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/dropdown-data-capture/dropdown-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/group-panel-data-capture/group-panel-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/image-button/image-button.component';\r\nexport * from './lib/shared/question-set/data-capture-components/number-data-capture/number-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/option-list-data-capture/option-list-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/plus-minus-data-capture/plus-minus-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/radio-data-capture/radio-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/text-data-capture/text-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/textarea-data-capture/textarea-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/recaptcha-data-capture/recaptcha-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture-components/repeating-group-data-capture/repeating-group-data-capture.component';\r\nexport * from './lib/shared/question-set/data-capture.directive';\r\n\r\n// Profile Components\r\nexport * from './lib/shared/profile-details/your-profile/your-profile.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/base-your-profile.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/consent-preferences/consent-preferences.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/contact-preferences/contact-preferences.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/lang-preference/lang-preference.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/manage-addresses/manage-addresses.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/personal-details/personal-details.component';\r\nexport * from './lib/shared/profile-details/base-your-profile/components/address-modal/address-modal.component';\r\n\r\nexport * from './lib/shared/question-set/previous/previous.component';\r\nexport * from './lib/shared/question-set/base-question-logic/base-question-logic.component';\r\nexport * from './lib/shared/question-set/data-capture-components/data-capture-heading/data-capture-heading.component';\r\nexport * from './lib/shared/components/progress/progress-bar-steps/progress-bar-steps.component';\r\nexport * from './lib/shared/components/error-page/error-page.component';\r\nexport * from './lib/shared/components/inputs/file-upload/file-upload.component';\r\nexport * from './lib/shared/form-field/file-upload-field';\r\nexport * from './lib/shared/components/authentication/session-expiry/session-timeout.component';\r\nexport * from './lib/shared/components/side-bar/side-bar.component';\r\nexport * from './lib/services/side-bar/side-bar.service';\r\nexport * from './lib/shared/components/inputs/recaptcha-v2/recaptcha-v2.component';\r\nexport * from './lib/shared/form-field/re-captcha-field';\r\nexport * from './lib/shared/directives/is-ellipsis-active.directive';\r\nexport * from './lib/shared/components/controls/icon-menu/icon-menu.component';\r\nexport * from './lib/shared/form-field/radio-group-field';\r\nexport * from './lib/shared/resolvers/user-account-resolver/account-verification.resolver';\r\nexport * from './lib/shared/resolvers/sponsor-resolver/sponsor-language.resolver';\r\nexport * from './lib/shared/resolvers/profile-details-resolver/your-profile.resolver';\r\nexport * from './lib/shared/resolvers/profile-details-resolver/get-logo.resolver';\r\nexport * from './lib/shared/resolvers/profile-details-resolver/profile-enabled-details.resolver';\r\nexport * from './lib/shared/your-policies/your-policies.component';\r\nexport * from './lib/shared/resolvers/your-policies-resolver/your-policies.resolver';\r\nexport * from './lib/shared/resolvers/my-transactions-label-resolver/my-transactions-label.resolver';\r\nexport * from './lib/services/policy/policy.service';\r\nexport * from './lib/shared/components/notification-alert/notification-alert.component';\r\nexport * from './lib/shared/components/assently-login/assently-login/assently-login.component';\r\nexport * from './lib/services/external-validation/external-validation.service';\r\nexport * from './lib/shared/components/error-page/docusign-error-page/docusign-error-page.component';\r\nexport * from './lib/shared/form-field/CountryCodePhoneNumber-Field';\r\nexport * from './lib/shared/components/link-expired-screen/link-expired-screen.component';\r\nexport * from './lib/services/CreatePassword.service';\r\nexport * from './lib/shared/components/buttons/wide-button-with-accordion/wide-button-with-accordion.component';\r\nexport * from './lib/shared/question-set/data-capture-components/repeating-group-data-capture/base-repeating-group-data-capture';\r\n\r\nexport * from './lib/shared/pipes/local-date-format-pipe';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["NgModule","RouterModule","LoginComponent","LogoutComponent","SessionTimeoutComponent","ErrorPageComponent","SiteInactiveGuard","routes","path","redirectTo","pathMatch","canActivate","loadChildren","then","m","HomeModule","AccountModule","ClaimModule","AccountDetailsModule","component","data","reuseComponent","AppRoutingModule","__decorate","imports","forRoot","onSameUrlNavigation","scrollPositionRestoration","initialNavigation","exports","Component","forkJoin","lastValueFrom","of","map","NavigationCancel","NavigationEnd","NavigationError","NavigationStart","Router","SessionStorageService","ClaimsSettingsService","SponsorService","UtilitiesService","LocalizationService","ReferenceService","LoggingService","ConfigService","MsalAuthenticationService","BaseCustomerService","BaseAccountService","AssentlyService","SharedSettingsService","ExternalValidationRequest","ExternalValidationService","TranslateService","cssVars","okButtonLabel","inactiveErrorPath","AppComponent","constructor","router","sessionStorage","settingsService","sponsorService","utilitiesService","localizationService","translate","referenceService","loggingService","configService","baseCustomerService","baseAccountService","msalAuthenticationService","assentlyService","baseSettingsService","externalValidationService","isLoading","hasSponsorErrors","url","routePrefix","isProductDetail","events","subscribe","routerEvent","checkRouterEvent","languageObservable","languageId","loadLanguageSpecificContent","sponsorName","instrumentationKey","getServiceConfigData","appInsights","initializeAppInsights","urlAfterRedirects","set","currentPageRoute","split","pop","toLowerCase","indexOf","get","replace","applicationPreviousURL","applicationCurrentURL","getAssentlyURL","getassentlyurl","id","document","getElementById","script","createElement","src","head","appendChild","ngOnInit","_this","getUrlParameterByName","currentUrl","previousUrl","idToken","localStorage","setItem","currentTime","Date","String","setMinutes","getMinutes","currentLang","undefined","setDefaultLang","getSponsor","result","sponsor","activateNewClaimsWebsiteUrl","enableAssently","setupOnetrustCookieBanner","oneTrustCookieBannerScriptId","setLocalDateFormat","applyWillisBranding","sponsorLogo","enableSponsorLogo","sponsorId","timeZone","timeZoneOffset","disableNewClaims","enableGuestPurchase","enableCustomerIdentityB2CClaims","allowCustomerIdentification","blockedTimeForCutomerIdentifaction","minimumCharForAutoSuggestion","minimumCharactersforWebServiceCall","customerId","applySponsorLogoAsFavicon","isAuthenticated","setCustomerPreferredLanguage","hasOwnProperty","getUserName","userDetail","customerID","loggedInUser","firstName","setSponsorLanguage","isPreferredLanguageSet","use","languageCode","loadLocalizationAndPageContent","getItem","navigate","clearPreviousRoutes","isSessionTimedOut","conditionallyGetExternalValidationStatus","_ref","_asyncToGenerator","success","externalValidationResult","processExternalValidationResult","_x","apply","arguments","ApplyBrandingSettings","createTermsOfUseScriptBox","loadErrorPageContent","watch","getGlobalLoader","loaderFlag","getCustomerPreferredLanguage","langObject","userPreferredLanguageId","languageID","applyTranslations","pageNames","getUiElementPayload","sponsorEnglishName","PageNames","applicationName","getUIElement","getUIElements","getTermsOfUseContent","getTermsOfUsebySponsorName","toString","getGlobalPrivacyPolicy","getGlobalPrivacyPolicyText","getCookieNoticeData","getCookieNoticeText","pipe","results","resUiElement","resTermsOfUse","resGlobalPrivacyPolicyText","resCookieNoticeData","sharedUIElement","privacyPolicyData","cookieNoticeData","termsAndConditionsData","copyrightsTextElement","find","item","uiElementCode","privacyPolicyLinkElement","cookieNoticeLinkElement","termsAndConditionsLinkElement","contactUsTitleElement","contactUsContentElement","contactUsContactNumberElement","contactUsPageElement","copyrightsText","uiElementValue","privacyPolicyLink","cookieNoticeLink","termsAndConditionsLink","contactUsTitle","contactUsContent","contactUsTelephoneNumber","contactUsPage","menuLinks","key","label","openTo","title","content","telephoneNumber","enableCloseBtn","overlayPanelClass","helpText","privacyNoticeDescription","buttonText","okButtonText","termsOfUseDescription","description","footerLinksAndContent","initialized","next","res","cookieBannerScriptId","element","setAttribute","_this2","window","location","pathname","includes","navigateByUrl","remove","preferredDateFormatId","getLocalisedDateFormatById","localDateFormat","getJavaScript","javaScriptUploadID","inlineCode","createTextNode","fileContent","body","getB2CWebsiteBrandingDetails","isNewUIUXBrandingEnabled","Object","entries","brandingSettings","forEach","value","documentElement","style","setProperty","request","getAllParameters","isGuestPurchase","appName","isB2BFlow","isSSOSAML","getExternalValidationStatus","tokenGenerationRedirectUrl","href","getPageUniqueSelector","pageId","getErrorContent","errorContent","errorTitle","_","selector","template","__NG_CLI_RESOURCE__0","BrowserModule","CUSTOM_ELEMENTS_SCHEMA","APP_INITIALIZER","HttpClientModule","HttpClient","HttpParams","AppMaterialModule","WtwUiComponentsModule","FormsModule","ReactiveFormsModule","BrowserAnimationsModule","SharedModule","CoreModule","APP_CONFIG","AppConfig","TranslateModule","TranslateLoader","TranslateHttpLoader","endPoints","Location","ConstantService","CurrencyFormatPipe","initializeApp","config","promise","loadServiceConfigData","httpLoaderFactory","http","constantService","apiUrl","SponsorNameQueryParamName","paramName","stashedResult","JSON","parse","queryParams","_value","paramValue","httpParams","fromString","AppModule","declarations","withConfig","callSetDisabledState","loader","provide","useFactory","deps","providers","useValue","multi","bootstrap","schemas","Meta","ActivatedRoute","PagingService","LoginBaseComponent","route","msalService","metaTag","sharedSettingsService","pagingService","InjectionToken","host","origin","baseUrl","endPointName","configurationEndPoint","validateCustomer","getClaimReasons","blockCustomer","claimEndPoint","documentEndPoint","claimReasonEndPoint","saveCustomerVerificationAttemptLog","getCustomerVerificationAttemptLog","getClaimQuestionSet","getPolicyDetailsForNewClaims","getClaimReasonDocumentTypes","saveClaim","createSkeletalPolicy","updateSkeletalPolicy","expireSkeletalPolicy","resumeDraftClaim","getExistingDraftClaim","getPartialClaimsCount","getClaimsByCustomer","submitClaim","getClaims","getClaimAttachments","setClaimPage","getMenuByProfile","getToken","checkToken","getcustomeridentifier","getProductTemplates","getProductHideTimeLoss","getProductTemplate","getClaimsDetailsByCustomer","configApiEndPoints","GetConfigurationUrl","assetsImagesPath","HTTP_INTERCEPTORS","MsalHttpInterceptor","useClass","Injectable","Injector","_2","ProductIdQueryParamName","_3","MenuTypeID","_4","ProfileName","_5","PageName","NewClaims","AccountVerification","ClaimDetails","Policy","UploadDocuments","DataConsent","ReviewConfirm","YourClaims","YourPolicies","ClaimsNotificationDeclaration","ClaimSubmitted","YourProfile","injector","metaDataAllowSearch","metaDataDenySearch","getLogOutText","logoutText","voucherBasedAccess","enableVoucherBasedAccess","authenticated","pageName","response","_6","providedIn","Subject","ClaimDetailsKey","UploadDocumentsKey","ClaimIdKey","CustomerIdKey","ClaimResumeFlag","AnswersToResumeKey","ApplicationPreviousURL","AllQuestionsAnsweredKey","UserPreferredLanguageID","DisableNewClaimsKey","CurrentDocumentCountKey","ManageClaimsb2cSalesPortalEnabledKey","EnableCustomerIdentityB2CClaimsKey","EmailIdKey","sessionStorageService","currentDocumentCount","getValue","setValue","claimDetails","uploadDocuments","claimId","resetClaim","answersToResume","allQuestionsAnswered","isClaimResume","asObservable","setGlobalLoader","manageClaimsb2cSalesPortalEnabled","state","canActivateChild","childRoute","ClaimDetailsRequest","productId","policyId","claimQuestionResponse","finalQuestionAnswered","emailId","ClaimDetailsResponse","ClaimPageOrder","ExistingDraftClaimRequest","NewClaimContentData","UserDetailsObject","PolicyDetails","SidebarObject","NestedAccordion","ProductWisePolicy","labels","details","Output","EventEmitter","Input","QuestionSetService","LayoutService","pageLabels","editLabel","policyDetailsHeadingLabel","policyNumberLabel","policyInceptionDateLabel","policyExpiryDateLabel","policyTermLabel","policyPremiumLabel","startClaimLabel","lossDateLabel","lossTimeLabel","timeZoneLabel","claimReasonLabel","claimDetailsLabel","awareDateLabel","previousAnswersLabel","supportingDocumentsLabel","claimQuestionnaireLabel","claimUploadedDocumentsLabel","QuestionContainerComponent","questionSetService","layoutService","activatedRoute","sharedSettings","isMobile","isTablet","isDesktop","isSkeletalPolicy","isEnableAssently","policyData","edit","policyDetailsHeading","policyNumber","policyInceptionDate","policyExpiryDate","policyTerm","policyPremium","startClaim","lossDate","lossTime","claimReason","awareDate","previousAnswers","supportingDocuments","uploadedDocuments","changeClaimQuestion","refreshRequired","loadPreviousAnswers","checkDeviceWidth","ngOnChanges","populatePolicyDetails","populateBasicClaimDetails","populateUploadDocuments","policy","selectedPolicy","convertDateIntoUTC","premium","isContinuous","splice","claimDataObject","uploadDocumentsObject","uploadedFilesName","subscribeToLayoutChanges","observerResponse","isSmallView","isMediumView","isLargeView","editClicked","question","emit","navigateToIntentCode","qIntentCode","qQuestionType","goToClaimQuestions","goToPolicySelection","goToBasicClaimDetails","goToUploadDocuments","CommonModule","environment","production","enableProdMode","platformBrowserDynamic","bootstrapModule","catch","err","console","error","CommonHttpService","CreatePasswordService","commonHttpService","getupdatecratepwdUrl","updatecreatePasswordId","geturl","createPassword","updateCreateNewPasswordStatus","createPasswordId","getcreatepasswordUrl","httpGetService","validateNewCreatePassword","CustomBreakpointNames","mobile","tablet","desktop","BreakpointsService","breakpoints","getBreakpoints","keys","getBreakpointName","breakpointValue","Msal","CookieBannerService","cookieBannerService","createPasswordService","b2cLoginAuditLogUrl","b2cLoginAuditLog","setConfigServiceData","configServiceData","appConfig","baseAuthorityUrl","azureAd","instance","tenantId","authority","signUpSignInMFAPolicy","signUpSignInPolicy","buildUserAgentApplication","authCallback","errorDesc","token","tokenType","msalKeysToRetain","removeMSALItems","forgotPassword","login","createpasswordid","ATPLoginExpiryTime","TimeOutDuration","resetPasswordPolicy","clientApplication","UserAgentApplication","clientId","bind","cacheLocation","navigateToLoginRequestUrl","postLogoutRedirectUri","redirectUri","unprotectedResources","validateAuthority","loadFrameTimeout","apiURL","httpPostServiceWithBearer","loginRedirect","b2cScopes","buildB2CLoginQueryString","logout","clearLocalStorage","clearSessionStorage","clearExternalIntegrationSessionStorage","getUserEmail","msalTokenInfo","getUser","unique_name","getUserLoggedInDateTime","iat","changePassword","changePasswordPolicyId","Promise","resolve","reject","acquireTokenSilent","jwtToken","tokenExpiryTime","isATPLogin","removeItem","getTime","isSessionTimeout","i","length","startsWith","push","URL","HttpHeaders","HttpRequest","HttpBackend","catchError","httpBackend","httpOptions","headers","httpClient","httpGetFileService","req","handleError","httpPostService","post","httpGetServiceWithBearer","httpGetFile","responseType","httpPostFile","Accept","options","params","observe","httpPutService","put","operation","logError","status","log","navigateErrorPage","message","serviceConfig","srvConfig","BaseConstantService","ExtAuthNavQueryParamName","SkipLandingPage","Key_IsB2B","Key_B2BUserName","_7","Key_B2BEmail","_8","Key_IsATPDocumentDownloadForMCI","_9","Key_ExistingCustomerQuote","_10","Key_IsNetPremiumOverridden","_11","Key_IsQuoteReferredCheck","_12","Key_ResumeCustomerId","_13","Key_IsDefaultListViewForMCI","_14","DefaultDateFormat","_15","YearMonthDayDateFormat","_16","WizardSponsorSponsorEnglishName","_17","_18","_19","Key_OrderId","_20","Key_QuoteReferenceID","_21","Key_ProductId","_22","Key_IsB2cSingleCarrierMultiQuoteEnabled","_23","Key_IsB2cMultiCarrierQuotingEnabled","_24","defaultSponsorBrandNameClaims","_25","Key_QuoteOrigin","_26","Key_Renewals","_27","Key_RepeatingGroupLength","_28","Key_RepeatingGroupQuestionFormat","_29","CattributeCustomerType","_30","Key_Province","_31","Key_QuoteStatusChangedFromReferred","_32","customerTypeList","_33","QUOTE_ORIGIN","RENEWALS","NEW_BUSINESS","_34","CoverageTerm","_35","KEY_PolicyIdToBeCloned","_36","KEY_PrimaryQuestionData","_37","KEY_AnsweredQuestionSet","_38","KEY_IsRefreshRequired","_39","IsCopyQuoteAtpClientQueryParamName","_40","ProductTemplateIdQueryParamName","_41","PolicyExternalRef","_42","KEY_PrimaryGrossPremium","_43","KEY_hidePolicyQuestionsEdit","_44","QuestionType","Subtotal","TaxOnPremium","TaxSubtotal","Charge","TaxOnCharge","Commission","_45","mappedControlType","dropdown","text","checkbox","datepicker","_46","Session","msalIdToken","idTokenExpiryTime","atpLoginExpiryTime","_47","checkBannerStatus","clearLocalStorageExceptCookie","clear","customerIdentifier","QueryParams","siteActive","saveQuoteEnabled","isMultiProductLanding","isSearchMetaDataRequired","ErrorPagePreviousUrl","enableSSOBasedAccess","enableICECommonAuth","recaptchaVerified","enableMFA","extAuthNav","isb2b","externalData","CompressedViewOfPreviousAnswers","isB2cSingleCarrierMultiQuoteEnabled","email","newCreatePwdId","EnableSalesV2Home","legalApprovedRegionAppInsights","gtm","DisplayGrossPremium","LocalisedDateFormat","getCookieValue","cookieName","cookieString","cookie","cookies","name","c","decodeURIComponent","FormControl","FormGroup","Validators","customValidatorsToFieldForMaxRange","field","control","maxErrorFlag","deLocalizedValue","reverseFormatNumber","questionFormat","maxRange","Number","max","customValidatorsToFieldForMinRange","minxErrorFlag","minRange","min","customValidationToFieldForPattern","pattern","thousandSeparator","Intl","NumberFormat","format","decimalSeparator","findDecimal","applyMaxLengthValidation","maxLengthErrorFlag","maxLength","applyMinLengthValidation","minLengthErrorFlag","minLength","FormGroupControlService","toFormGroup","fields","isGroupCheckbox","addValidators","toFormControlArray","formFieldswithOrder","formFields","sort","a","b","order","group","fieldValue","validatorArray","addValidatorsToField","controlType","Boolean","required","requiredTrue","textBoxField","type","quesetionformat","regexValidation","localization","cultureName","textAreaField","currencyText","BreakpointObserver","breakpointObserver","breakpointService","activeBreakpoints","observeResponse","parseBreakpointsResponse","isBreakpointActive","breakpointName","breakpoint","getAllBreakpoints","every","BehaviorSubject","QueryParamsKey","LanguageIdKey","LanguageCodeKey","SponsorNameKey","SponsorIdKey","ProductIdKey","TimeZoneKey","TimeZoneOffsetKey","CurrentUrlKey","PreviousUrlKey","EnableVoucherBasedAccessKey","EnableSSOBasedAccessKey","EnableMFA","EnableICECommonAuth","RecaptchaVerified","ExtAuthNavKey","EnableGuestPurchaseKey","EnableSponsorLogoKey","ExternalValidationIterationDataKey","RecaptchaToken","RecaptchaCount","LoggedInUserKey","IsMultiProductLanding","IsMultiProductFindOutMoreLinkClickedKey","EnableSponsorSpecificTagsKey","SelectedPolicyKey","IsPreferredLanguageSetKey","EnableAssentlyKey","TimeOutLimit","CompressedViewOfPreviousAnswersKey","SponsorBrandName","newOrEditQuoteAllowed","customerTypeBoth","customerTypePerson","customerTypeCompany","CustomerFieldsValidations","policyHolderDetailsFields","IsB2cMultiCarrierQuotingEnabled","IsB2cSingleCarrierMultiQuoteEnabled","GTMCodeKey","IsLinkToPolicyClicked","B2BCustomerIdKey","DefaultCoverageTerm","IsESignatureEnabled","IsDDBeforeESignature","ProductName","IsMasterProduct","IsUnderMasterPolicy","ProductCustomerType","moment","IsCopyQuoteAtpClient","SelectedCoverageTerm","PrivacyPolicyData","AddPremiumOfMandatoryAndPreSelectedCoveragesKey","HidePolicyQuestionFromB2BProfileonB2CKey","EditPrimaryCoveargeTermOnSecondaryCoveragePageKey","CurrencyIso4217","AlternateViewOfSecondaryCoveragePageKey","ClearSelectionOnSecondaryCoverageskey","IsCopyQuotePolicyQuestion","NavigateToUserDetails","DiscountRate","AllowCustomerIdentificationKey","AppExtValRetryUrl","TokenGenerationRedirectUrl","ExternalValidationResult","BlockedTimeForCutomerIdentifactionKey","ProductValidityEndDate","InActivityMinutesForSessionTimeoutKey","SponsorLanguageCodeKey","SessionTimeoutCountdown","renewalDeclineComment","UserSessionKey","MinimumCharForAutoSuggestion","CultureName","cachedValues","LookUpValues","quoteDeclineRenewalSubject","setBaseQuestionData","BaseQuestionData","getBaseQuestionData","setMCIPopUpText","MCIPopUpText","getMCIPopUpText","setLookUpValues","getLookUpValues","customerFieldsValidationsList","sponsorBrandName","isMultiProductFindOutMoreLinkClicked","languageIdValue","compressedViewOfPreviousAnswers","displayGrossPremium","sponsorIdValue","enableSponsorSpecificTags","externalValidationIterationData","recaptchaToken","recaptchaCount","getValueFromLocalStorage","setValueToLocalStorage","resetSelectedPolicy","isB2B","hasGuestToken","useCaching","paramVal","stringify","queryParamsVal","b2bEmail","b2bName","isB2cMultiCarrierQuotingEnabled","isCopyQuotePolicyQuestion","navigateToUserDetails","isATPDocumentDownloadForMCI","existingCustomerQuote","isNetPremiumOverridden","isQuoteReferredCheck","resumeCustomerId","IsRefreshRequired","isDefaultListViewForMCI","setLocalisedDateFormat","objDate","dateFormat","objectNewDate","valueOf","resultDate","PrimaryQuestionData","primaryQuestion","isLinkToPolicyClicked","AnsweredQuestionSet","answeredQuestionSet","gtmCode","getPreviousAnswerEditButtonStatus","PreviousAnsEditButton","b2BCustomerId","defaultCoverageTerm","isESignatureEnabled","productName","isDDBeforeESignature","isMasterProduct","isUnderMasterPolicy","productValidityEndDate","productCustomerType","isCopyQuoteAtpClient","selectedCoverageTerm","addPremiumOfMandatoryAndPreSelectedCoverages","editPrimaryCoveargeTermOnSecondaryCoveragePage","hidePolicyQuestionFromB2BProfileonB2C","currencyIso4217","setAlternateViewOfSecondaryCoveragePage","getAlternateViewOfSecondaryCoveragePage","setClearSelectionOnSecondaryCoverage","getClearSelectionOnSecondaryCoverage","discountRate","extValRetryUrl","hidePolicyQuestionsEdit","val","reversedVal","RegExp","isNaN","inActivityMinutesForSessionTimeout","sponsorLanguageCode","getRandomNumber","Math","floor","random","isQuoteStatusChangedFromReferred","setUserSessionKey","sessionId","getUserSessionKey","userSessionKeyValue","UpdateQuoteDeclineRenewalSubject","GetQuoteDeclineRenewalSubject","getHomeTranslation","labelList","cachedData","getHomeTransalation","_homeTranslationCacheObj","setHomeTransalation","SeverityLevel","ApplicationInsights","isAppInsightsInitialized","applicationSiteName","initializedByWithoutProductName","siteName","appMonitor","loadAppInsights","telemetryInitializer","envelope","SiteName","SponsorName","addTelemetryInitializer","logPageView","trackPageView","uri","severityLevel","sendToConsole","logEvent","properties","trackEvent","logMetric","average","trackMetric","logException","exception","trackException","logTrace","trackTrace","Error","Critical","stack","groupEnd","Warning","warn","Information","getSponsorLogoContent","getSponsorPreferredLanguage","getSponsorUrl","getStrapLineUIElements","getPageContentValues","getCookieNotice","getUserProfile","getDecryptedIdentifier","yourProfile","saveNewB2CUser","getTimeZoneInfo","getCustomerFieldValidations","storeClaimsTemporaryAttachmentsURL","getTempAttachmentDocuments","deleteTemporaryAttachments","getFile","downloadDocument","isCustomerBlocked","isAccountVerified","saveB2CCustomerPersonalDetails","saveCustomerAddress","getLookupUIImagesAsync","saveB2CUserConsent","yourPolicy","yourPolicies","removeDraftClaims","getValidationStatus","getCustomer","getCountryCodeLookupData","getB2CSalesBackOfficeUsersSession","getClaimLookUpValues","getOnDemandDataRequest","getAssentlyUrl","getMasterProduct","getCustomerType","renewPolicy","resumeQuote","getDateFormatByIdUrl","getSubGroupIdBySponsorIdUrl","getProductNameValidation","getCustIdentifier","isValidAuthCustomerIdentifier","isValidCustomerIdentifier","getSponsorCustomerIdentification","identifyCustomersPolicy","saveUserHistoryLog","getUserHistoryByIpAddress","getSponsorBrandLogo","getPolicyResponseData","Pipe","transform","parseFloat","toFixed","currencyCode","formatedAmount","currency","WtwUiComponentsService","factory","ɵfac","args","WtwUiComponentsComponent","selectors","decls","vars","WtwUiComponentsComponent_Template","rf","ctx","i0","ɵɵelementStart","ɵɵtext","ɵɵelementEnd","MatCardModule","MatIconModule","MatButtonModule","MatToolbarModule","MatTabsModule","MatListModule","MatInputModule","MatSelectModule","MatCheckboxModule","MatMenuModule","MatSnackBarModule","MatButtonToggleModule","MatRadioModule","MatDialogModule","MatAutocompleteModule","MatExpansionModule","NgxMatSelectSearchModule","MatSlideToggleModule","MatStepperModule","MatDatepickerModule","MatNativeDateModule","MatTooltipModule","MatProgressBarModule","MatProgressSpinnerModule","MatTreeModule","MatTableModule","MatSidenavModule","MatGridListModule","MatPaginatorModule","NgxPaginationModule","MatChipsModule","MatBottomSheetModule","ngJitMode","ɵɵsetNgModuleScope","ButtonBaseDirective","detail","disabled","isBlock","clicked","isButtonVisible","tag","hasFocus","emitRawEvent","onClick","event","textOnly","inputs","enableBorderRadius","outputs","Directive","AutofocusDirective","el","focus","setTimeout","nativeElement","autofocus","condition","ɵɵdirectiveInject","ElementRef","SafeHtmlPipe","sanitized","bypassSecurityTrustHtml","i7","DomSanitizer","pure","ɵɵelement","ɵɵclassProp","ctx_r2","ɵɵproperty","ɵɵpipeBind1","ɵɵsanitizeHtml","ctx_r4","ctx_r5","PrimaryButtonComponent","showTick","showBookmark","ɵPrimaryButtonComponent_BaseFactory","PrimaryButtonComponent_Factory","t","ɵɵgetInheritedFactory","features","ɵɵInheritDefinitionFeature","consts","PrimaryButtonComponent_Template","ɵɵlistener","PrimaryButtonComponent_Template_button_click_0_listener","ɵɵtemplate","PrimaryButtonComponent_mat_icon_1_Template","PrimaryButtonComponent_mat_icon_2_Template","PrimaryButtonComponent_span_3_Template","PrimaryButtonComponent_ng_template_4_Template","ɵɵtemplateRefExtractor","PrimaryButtonComponent_span_6_Template","ɵɵadvance","_r3","styles","NavigationLinkButtonComponent","ɵNavigationLinkButtonComponent_BaseFactory","NavigationLinkButtonComponent_Factory","NavigationLinkButtonComponent_Template","NavigationLinkButtonComponent_Template_button_click_0_listener","NavigationLinkButtonComponent_mat_icon_1_Template","ɵɵtextInterpolate","ctx_r0","ctx_r3","SecondaryButtonComponent","ɵSecondaryButtonComponent_BaseFactory","SecondaryButtonComponent_Factory","SecondaryButtonComponent_Template","SecondaryButtonComponent_Template_button_click_0_listener","$event","SecondaryButtonComponent_span_1_Template","SecondaryButtonComponent_ng_template_2_Template","SecondaryButtonComponent_span_4_Template","ɵɵpureFunction1","_c0$D","_r1","SimpleButtonComponent","ɵSimpleButtonComponent_BaseFactory","SimpleButtonComponent_Factory","SimpleButtonComponent_Template","SimpleButtonComponent_Template_button_click_0_listener","_c0$C","iconName","SimpleWideCardComponent","labelName","isLast","SimpleWideCardComponent_Template","SimpleWideCardComponent_span_3_Template","_c0$B","SeverityLevel$1","ɵɵinject","i1","i1$1","i2$1","i1$2","image","additionalText","ctx_r1","instructionText","SpinnerModalComponent","dialogRef","disableClose","addPanelClass","manageScreenSizing","spinnerLogo","width","height","updateSize","closeDialog","close","SpinnerModalComponent_Factory","i1$3","MatDialogRef","MAT_DIALOG_DATA","SpinnerModalComponent_Template","SpinnerModalComponent_h5_4_Template","SpinnerModalComponent_span_8_Template","_c0$A","headingText","ɵɵsanitizeUrl","Inject","ValidatingQuoteTxt","QuoteRetrievingQuotesUIUXText","dialog","getUIelementsUrl","getStrapLineUIElementsUrl","getPageContentUrl","uiElementObj","uiElementObjObservable","requestBody","getUIElementsValues","uiElementData","uiElementCodeList","straplineHeaderTextElement","headingTextCode","straplineDescriptionElement","additionalTextCode","straplineButtonElement","callToActionCode","straplineImageElement","imageCode","straplineContent","straplineHeaderText","straplineDescription","straplineButton","straplineImage","errorPage","setUIElementObj","resultData","getUIElementDataByPageName","filter","pageObj","CloseModalDailog","quoteRetrievingQuotes","validatingQuotes","openModal","modalData","open","autoFocus","getUIElementsForProduct","i3","MatDialog","titleService","getSponorBrandNameLabel","sponorSuffix","tempDivElement","innerHTML","textContent","innerText","registerPageDetails","currentPage","fullPageName","setTitle","stripLeadingSlashes","getSponsorBrandName","selectedSponsorBrandName","x","brandName","input","charAt","substring","startDate","Title","Tile","DropdownItem","InfoCard","currencySymbol","currencySymbolAfterMoney","monthText","editPrimaryCoveargeTermOnSecondaryCoverage","hideCoverage","InfoCardDescription","AccordionItem","CoverageTermsWithPricing","CoverageGrouping","QuestionLogicResolverData","IterationData","ErrorState","header","primaryMessage","secondaryMessage","buttonLabel","signInFailed","SaveUserConsentsResponse","QuestionAnsweredEventArgs","finalQuestion","FormFieldBase","descriptionLabel","readOnly","callToActionLabel","mandatoryValidationMsg","DatePickerField","minDate","maxDate","default","offsetBasis","isExpiryDateAsInceptionDate","isFixedTerms","DropDownField","groupOptions","RadioGroupField","validatorMatchWith","TextboxField","correctFormatValidationMsg","CountryCodePhoneNumberField","YourProfileData","personalDetails","PersonalDetails","manageAddresses","ManageAddresses","languagePreference","LanguagePreference","consentPreferences","ConsentPreferences","contactPreferences","ContactPreferences","pageInfo","PageInfo","ssn","lastName","dob","placeOfBirth","placeOfBirthTown","phoneNumber","countryCode","email2","addressList","addressLine1","town","postalCode","country","AddressDetails","addressId","countryId","defaultAddress","disableMyAccountCreationB2C","isMultiLanguageEnabled","currentLanguage","isConsentPreferencesEnabled","policyHeading","policyDescription","consentList","PolicyConsent","consentHeading","seeLegalText","hideLegalText","consentLegalText","consent","isContactPreferencesEnabled","contactTypeList","ContactType","contact","subheadingText","editHeaderText","addHeaderText","note","icon","btnEditText","btnSaveText","btnCancelText","defaultAddressText","YourPolicy","PolicyResponse","Alert","init","assign","AlertMessage","ExternalValidationResponse","B2BData","MCIContext","MandatoryForCoverageResponse","MultiQuoteOptionalCoverageItems","MandatoryForCoverages","ButtonToggle","NotificationAlertService","subject","defaultId","onAlert","getNotification","alert","alertService","currencyPipe","internalIsInitialized","currentPosition","formFieldIteration","initialRepeatingGroup","qSubDescriptionObservable","selectedParentDropDownValue","deletedRepeatingGroup","_lastPolicyQuestion","getOnDemandDataRequestUrl","getPolicyResponseDataUrl","navigateToPreviousQues","_navigateToPreviousQuesValue","previousAnswerLastQuestion","grossPremiumPreviousAnswer","getPrimaryCoveragTerm","isSingleCarrierSingleQuoteResumeFlow","_unsavedQuoteChangesNotifier$","unsavedQuoteChanges$","_quoteAccepted","_profileTypeSetNotifier$","_referralPermissionSetNotifier$","_policyQuestionResponses","_policyQuestionHidden","_enableSlowReveal","initialize","questionSet","position","internalQuestionSet","isInitialized","qset","currentQuestion","internalGetQuestionSet","currentQuestionType","positionForType","intentCode","q","isHidden","qQuestionFormat","findIndex","f","getAlertMessage","qs","qsKey","qKey","parentQIntentCode","answerSets","ans","parentOValue","childQuestionSets","showAlertMessages","alertMsg","object","ind","alertMessage","cssClasses","autoClose","keepAfterRouteChange","alertType","CssClasses","answeredQuestions","some","as","isAnswered","cqs","hasVisibleQuestions","questionType","visibleQuestions","getQuestionByIntentCode","qnSet","onDeleteRepeatingGroup","repeatingGroupToDelete","deleteFromPreviousAnswer","setRepeatingGroupData","repeatingGroupName","removeEmptyIteration","childLink","childQIntentCode","clonedArray","index","removedIterationIndex","parseInt","questionToReorder","queIndex","getRepeatingGroupName","backupChildQIntentCode","qSubDescription","getRepeatingGroupqSubDescription","child","getRepeatingGroupChildQintentCode","currentlRepeatingGroupCount","increaseRepeatingGroupCount","savedRepeatingGroup","currentQuesIndex","currentRepeatingGroupQues","currentRepeatingGroupQuesCount","currentQues","answered","clearUnSelectedOptionChildAnsweredQuestions","grandChildQuestion","checkIfUnSelectedOptionHasAnsweredChild","UnSelectedOption","answeredRepeatingGroupChildQue","currentRepeatingGroupName","CurrentRepeatingGroupCount","getCurrentRepeatingGroupCount","answerSet","childAnswerSetIndex","originalQuestionSet","questionObject","questionIndex","checkIfDuplicateChildQuestions","childQIntentCodeArray","isChildQIntentCodeDuplicate","navigateNext","answers","visibleAnsweredQuestions","answeredQuestionsOfType","answeredPosition","nextAnsweredPosition","nextQuestionLink","nextAnsweredQuestion","nextQuestion","isMaxRepeat","existingCustomerDraftQuote","childAnsweredQuestion","clearAnswers","isValid","dateToStore","isRepeatingGroupToBeNext","navigatePrevious","navigateFrom","IsNewRepeatingGroup","removeEmptyRepeatingGroupClone","previousIntentCode","isDeletingQuesAns","validationResult","externalIntegration","firstQS","lastAnsweredQuestionIntentCode","updateRepeatingGroupCount","navigateToQuestionType","navigateToLastQuestionOfType","reverse","navigateToLastQuestionOfTypeByIntentcode","clearAll","findAnswerForIntentCode","getQuestionAnswer","childResult","stashQuestionSet","prePopulateAnswer","prePopulateValue","childQuestion","dataObjectArray","isdataValueMatch","isSelectedAnswer","odefault","persistChildValue","childQue","prePopulateValueForDefaultQuestion","prePopulateAnsweredQuestion","answeredQuestion","suppliedValue","toUpperCase","mapQuoteQuestionAnswer","questionSetResult","quoteResponses","isFromYourPolicies","dateValue","childDateValue","objChildDate","MapAnswerSet","dataValue","active","textValue","allowEdit","selected","questions","MapAnswerSetMetadata","MapLookupChildAnswerSet","childOptions","MapLookupChildAnswerSetMetadata","unansweredIntentCode","answeredValue","qMandatory","targetAnswer","showHideIteration","qnData","resultArray","increaseDecreaseCount","clonedGroupIntentCode","que","getCurrentRepeatingGroupIndex","iterationIndex","currentIterationIndex","filteredData","maxRepeats","incearseDecrease","getSavedRepeatingGroup","hasRepeatingGroup","quoteResponseData","cloneRepeatingGroupQuestions","quoteResponse","repeatingGroupCount","prop","innerObj","repeatingGroupLengthqIntentCode","cloneIterationCount","values","createClone","qIntentCodeToClone","parentQuestionSets","childQIntentCodeLink","clonedGroup","parentToBeCloned","lastNonRepeatingGroupQuesIndex","answer","formatIntentCode","quoteResponseList","setLastPolicyQuestion","clearLastPolicyQuestion","UpdatePreviousAnswerLastQuestion","GetPreviousAnswerLastQuestion","UpdateGrossPremiumPreviousAnswer","LastPolicyQuestion","GetGrossPremiumPreviousAnswer","UpdatePrimaryCoverageTerm","GetPrimaryCoverageTerm","markQuoteChangesAsUnsaved","unsavedChangesExist","getControlType","inputString","quoteAccepted","setQuoteAccepted","setSingleCarrierSingleQuoteResumeFlow","isB2b","isExistingQuote","profileTypeSet","referralPermissionSet","notifyProfileTypeIsSet","notifyReferralPermissionIsSet","setPolicyQuestion","policyQuestions","_policyQuestions","setPolicyQuestionResponse","policyDetails","responses","policyQuestionHidden","includePolicyResponse","answeredResponseDictionary","policyResponses","isPolicyResponseCommon","policyResponse","answeredQuestionResponse","matchingQuestion","setReferralPermission","permissions","referralPermissions","getReferralPermission","reArrangeRepeatingGroupPosition","masterGroupPanelIntentcode","repeatingGroupToReposition","targetRepeatingGroup","newPosition","newArray","targetRepeatingGroupLength","clearChildQuestionSet","childQuestionSet","setResetChildQintentCode","masterGroupPanelIntentCode","masterGroupPanelQuestion","masterGroupPanelQuestionIndex","selectedOption","resetSelectedRepeatingGroup","masterGroupPanelChildQIntentCode","checkRepeatingGroup","filteredResult","isNextQueRepeatingGroup","nextQueRepeatingGroup","repeatingGroupsListToDelete","EnableSlowReveal","IsEllipsisActiveDirective","elementRef","ngAfterViewInit","MomentOffsetDatePipe","date","formateDate","replaceAll","stringToDate","transformedDate","newDate","toDate","ɵɵpureFunction3","_c0$z","ctx_r11","img","WideButtonComponent_p_4_img_1_Template","ɵɵtextInterpolate1","WideButtonComponent_div_5_Template_div_click_0_listener","ɵɵrestoreView","_r13","ctx_r12","ɵɵnextContext","ɵɵresetView","isDisabledButton","callToAction","ctx_r14","WideButtonComponent_div_6_img_1_Template","ctx_r15","subheading","WideButtonComponent_div_7_span_2_Template","ctx_r17","ctx_r18","referredTooltipText","WideButtonComponent_ng_template_8_p_0_span_1_Template","WideButtonComponent_ng_template_8_p_0_mat_icon_2_Template","ctx_r16","WideButtonComponent_ng_template_8_p_0_Template","ctx_r6","isCompressedViewOfPreviousAnswers","ɵɵpureFunction2","_c1$h","ctx_r24","i_r21","ctx_r31","indexVal","detail_r20","ɵɵelementContainerStart","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_container_4_mat_icon_1_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_container_4_p_2_Template","ɵɵelementContainerEnd","ctx_r25","isEmailValueBlank","isValidDate","ctx_r35","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_template_5_mat_icon_0_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_template_5_p_1_Template","ctx_r27","WideButtonComponent_ng_container_11_ng_container_1_div_1_hr_1_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_p_2_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_container_4_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_ng_template_5_Template","WideButtonComponent_ng_container_11_ng_container_1_div_1_p_7_Template","ctx_r22","_r26","WideButtonComponent_ng_container_11_ng_container_1_div_1_Template","WideButtonComponent_ng_container_11_ng_container_1_Template","ctx_r7","ctx_r8","ctx_r9","_c2$6","ctx_r43","item_r42","WideButtonComponent_ng_cotainer_14_ng_container_10_img_3_Template","sideText","WideButtonComponent_ng_cotainer_14_hr_1_Template","WideButtonComponent_ng_cotainer_14_ng_container_10_Template","ctx_r10","totalGrossPremiumText","totalGrossPremiumValue","infoItems","WideButtonComponent","deleteClicked","showTooltip","panelOpenState","isVisibleMatPanelHeader","showUserDetails","locale","Array","isArray","isDate","togglePanel","stopPropagation","utc","isMoment","defaultFormat","onDeleteClick","panelState","deleteCallToAction","WideButtonComponent_Template","WideButtonComponent_Template_mat_expansion_panel_expandedChange_2_listener","WideButtonComponent_p_4_Template","WideButtonComponent_div_5_Template","WideButtonComponent_div_6_Template","WideButtonComponent_div_7_Template","WideButtonComponent_ng_template_8_Template","WideButtonComponent_hr_10_Template","WideButtonComponent_ng_container_11_Template","WideButtonComponent_p_12_Template","WideButtonComponent_p_13_Template","WideButtonComponent_ng_cotainer_14_Template","_c3$1","_c4$1","_r4","CloseTopComponent","CloseTopComponent_Template","CloseTopComponent_Template_mat_icon_click_1_listener","IconButtonComponent","IconButtonComponent_Template","IconButtonComponent_Template_mat_icon_click_1_listener","DateManipulationService","applyDateOffset","offsetValue","anchorDate","getMomentDatewithUtcOffset","dateOffsetComponents","applyDateChange","utcOffset","getMomentDateWithUtc","unit","delta","duration","add","dateFormatFactory","session","setDateForamat","localisedDateFormatObj","dateformat","dateInput","display","monthYearLabel","dateA11yLabel","monthYearA11yLabel","DatePickerComponent","dateAdapter","dateManipulationService","sponsorTimeZoneOffset","stashedDate","retrieveAnchorFromSessionStorage","minDateOffset","maxDateOffset","createForm","offsetControl","form","controls","offsetControlStartValue","valueChanges","debounceTime","distinctUntilChanged","offsetControlDate","setDefaultDate","checkViewPortWidth","setLocale","datePickerFormControlName","datePickerField","calculatedDate","newFieldValue","month","day","getCalculatedDateUnderMasterPolicy","offsetControlDateFromSession","patchValue","getThisformValuewithFormat","datevalue","formControl","getAnchorDate","updateValueAndValidity","offsetDate","endDateDay","endDateMonth","comparisonMonth","comparisonDay","comparisonYear","year","defaultDateFormat","currentYear","offsetFieldControl","dynamicDate","parseZone","showErrorMessage","invalid","hasError","touched","target","i7$1","DateAdapter","ɵcmp","ɵɵdefineComponent","ɵɵProvidersFeature","MAT_MOMENT_DATE_ADAPTER_OPTIONS","useUtc","MomentDateAdapter","MAT_DATE_LOCALE","MAT_DATE_FORMATS","DatePickerComponent_Template","DatePickerComponent_Template_div_click_1_listener","_r2","_r0","ɵɵreference","DatePickerComponent_Template_input_dateChange_9_listener","DatePickerComponent_mat_error_15_Template","_c0$y","valid","ɵɵpropertyInterpolate","option_r2","SearchLabel","NoRecordsFoundLabel","AutoSearchDropdownComponent","searchControl","valueChange","filteredOptions","ReplaySubject","_onDestroy","optionList","selectedValue","optionListDetailsForm","controlName","takeUntil","filterOptions","noRecordsFoundLabel","searchLabel","setInitialValue","onSelectionChange","ngOnDestroy","complete","take","singleSelect","compareWith","search","viewQuery","AutoSearchDropdownComponent_Query","AutoSearchDropdownComponent_Template_mat_select_ngModelChange_2_listener","AutoSearchDropdownComponent_Template_mat_select_selectionChange_2_listener","AutoSearchDropdownComponent_Template_mat_select_click_2_listener","AutoSearchDropdownComponent_mat_option_6_Template","_c1$g","_c2$5","disableMatFormField","placeHolderLabel","isDisabled","ViewChild","static","option_r6","DropDownComponent_div_0_mat_select_4_Template_mat_select_selectionChange_0_listener","_r8","DropDownComponent_div_0_mat_select_4_mat_option_1_Template","dropDownFormControlName","option_r12","DropDownComponent_div_0_mat_select_5_mat_optgroup_1_mat_option_1_Template","groupOption_r10","DropDownComponent_div_0_mat_select_5_Template_mat_select_selectionChange_0_listener","_r14","ctx_r13","DropDownComponent_div_0_mat_select_5_mat_optgroup_1_Template","mandatoryErrorMsg","DropDownComponent_div_0_mat_select_4_Template","DropDownComponent_div_0_mat_select_5_Template","DropDownComponent_div_0_mat_error_6_Template","_c0$w","_c1$f","DropDownComponent_div_1_Template_lib_auto_search_dropdown_valueChange_1_listener","_r17","onAutoSearchSelectionChange","DropDownComponent_div_1_mat_error_2_Template","DropDownComponent","grantParent","onDemandDataParameters","s","trim","rootLevelParentName","parent","cq","globalFunction","option","defaultValue","onDemandDataSubscribers","MatSelectChange","dropDownField","DropDownComponent_Template","DropDownComponent_div_0_Template","DropDownComponent_div_1_Template","AutoSuggestInputComponent_button_6_Template_button_click_0_listener","callToActionOnClick","AutoSuggestInputComponent","autoSuggestChange","onAutoSuggestBlur","text$","term","autoSuggestionList","v","getSuggestionList","onBlurEvent","autoSuggestListForm","AutoSuggestInputComponent_Template","AutoSuggestInputComponent_Template_input_keyup_4_listener","AutoSuggestInputComponent_Template_input_blur_4_listener","AutoSuggestInputComponent_span_5_Template","AutoSuggestInputComponent_button_6_Template","_c0$v","_c1$e","ɵɵattribute","TextBoxComponent_div_0_button_6_Template_button_click_0_listener","_r6","TextBoxComponent_div_0_lib_secondary_button_9_Template_lib_secondary_button_clicked_0_listener","valueChangeOnKeyPressed","searchButtonText","tmp_3_0","TextBoxComponent_div_0_Template_input_keydown_enter_4_listener","_r10","TextBoxComponent_div_0_Template_input_blur_4_listener","TextBoxComponent_div_0_span_5_Template","TextBoxComponent_div_0_button_6_Template","TextBoxComponent_div_0_lib_secondary_button_9_Template","_c0$u","_c1$d","getSpecificErrorMessage","enableSearchButton","TextBoxComponent_div_1_Template_lib_auto_suggest_input_onAutoSuggestBlur_1_listener","TextBoxComponent_div_1_Template_lib_auto_suggest_input_autoSuggestChange_1_listener","TextBoxComponent_div_1_mat_error_2_Template","TextBoxComponent","cToAction","mandatoryErrorMessage","emailErrorMessage","validEmailErrorMessage","confirmEmailErrorMessage","minLengthErrorMessage","maxLengthErrorMessage","minRangeErrorMessage","maxRangeErrorMessage","numericErrorMessage","invalidValueErrorMessage","isAutoSuggestionVisible","convertToLocaliseCurrency","PointerEvent","formattedValue","localizedFormat","TextBoxComponent_Template","TextBoxComponent_div_0_Template","TextBoxComponent_div_1_Template","TextAreaComponent","TextAreaComponent_Template","_c0$t","rows","routes$2","gettoken","checktoken","sessionStorageSerice","e","DecryptResult","getCustomerIdentifier","cusotmerIdentifier","inputData","getExternalValidationStatusUrl","assentlyVerificationFailedHeading","assentlyVerificationFailedMessage","AssentlyLoginComponent","isModalOpen","isAssentlyModalLoading","assentlyVerificationFailedHeadingLabel","assentlyVerificationFailedMessageLabel","GetInitToken","DoAssently","tokenVal","_this3","_this4","coreid_client","allowedEids","mode","language","provider","callback","decryptedData","decryptResultData","customerData","enableScrolling","goToRoute","navigateToErrorPage","start","disableScrolling","messages","overflow","AssentlyLoginComponent_Template","loadingMessage","ProgressSpinnerComponent","ProgressSpinnerComponent_Template","ProgressSpinnerComponent_p_2_Template","LoginRegisterLogoutComponent_div_0_Template_div_click_0_listener","_r5","navigateToLogin","loginRegisterText","LoginRegisterLogoutComponent_ng_container_1_Template_button_click_1_listener","_r7","LoginRegisterLogoutComponent_lib_assently_login_2_Template_lib_assently_login_isModalOpen_0_listener","_r9","closeAssentlyModal","LoginRegisterLogoutComponent_lib_assently_login_2_Template_lib_assently_login_isAssentlyModalLoading_0_listener","getLoader","LoginRegisterLogoutComponent","ref","redirectToLogin","isAssentlyEnabled","ngAfterContentChecked","detectChanges","loaderValue","pointerEvents","ChangeDetectorRef","LoginRegisterLogoutComponent_Template","LoginRegisterLogoutComponent_div_0_Template","LoginRegisterLogoutComponent_ng_container_1_Template","LoginRegisterLogoutComponent_lib_assently_login_2_Template","LoginRegisterLogoutComponent_lib_progress_spinner_3_Template","TopBarWithIconAndLinkComponent_div_2_Template_lib_icon_button_click_1_listener","clickIconEmit","iconNearbyLink","TopBarWithIconAndLinkComponent_div_3_Template_div_click_0_listener","clickLabelEmit","TopBarWithIconAndLinkComponent_div_3_mat_icon_1_Template","linkLabel","TopBarWithIconAndLinkComponent_div_4_Template_button_click_3_listener","closeCurrentTab","closeButtonText","closeLabel$1","TopBarWithIconAndLinkComponent","emitIconAction","emitLabelAction","changes","currentValue","history","pushState","onpopstate","go","getClass","ɵɵNgOnChangesFeature","TopBarWithIconAndLinkComponent_Template","TopBarWithIconAndLinkComponent_div_2_Template","TopBarWithIconAndLinkComponent_div_3_Template","TopBarWithIconAndLinkComponent_div_4_Template","BottomsheetComponent","bottomSheetRef","closeBottomsheet","dismiss","BottomsheetComponent_Factory","i1$4","MatBottomSheetRef","MAT_BOTTOM_SHEET_DATA","BottomsheetComponent_Template","BottomsheetComponent_Template_lib_top_bar_with_icon_and_link_emitIconAction_2_listener","BottomsheetComponent_ng_container_7_Template","BottomsheetComponent_Template_lib_primary_button_clicked_10_listener","_c0$s","NumbersOnlyDirective","onInputChange","initalValue","hostBindings","NumbersOnlyDirective_HostBindings","HostListener","StripHtmlTagsPipe","subHeading","HeadingSubHeadingComponent","checkLayoutViewPort","isDesktopView","heading","HeadingSubHeadingComponent_Template","HeadingSubHeadingComponent_div_2_Template","_c0$r","cardInput","titleLabel","subTitleLabel","item_r5","CardButtonComponent_button_11_Template_button_click_0_listener","restoredCtx","$implicit","menuClicked","CardButtonComponent_button_11_mat_icon_1_Template","menuLabel","pageLabels$2","newClaimRemoveTxt","newClaimViewTxt","removeTxt","viewTxt","CardButtonComponent","emitMenuAction","emitHeaderClickAction","newSalesRemoveTxt","newSalesViewTxt","applyTranslation","emitHeaderClicked","menuInfo","CardButtonComponent_Template","CardButtonComponent_Template_mat_card_header_click_2_listener","CardButtonComponent_mat_card_title_6_Template","CardButtonComponent_mat_card_subtitle_7_Template","CardButtonComponent_button_8_Template","CardButtonComponent_button_11_Template","_c0$q","ProgressBarComponent","progressValue","ProgressBarComponent_Template","CookieBannerComponent_div_0_Template_span_click_3_listener","openBottomSheet","CookieBannerComponent_div_0_Template_lib_icon_button_clicked_5_listener","closeBanner","affixClass","bannerText","learnMoreText","CookieBannerComponent","bottomSheet","isFixedAtBottom","showBanner","getDistanceFromBottom","panelClass","afterDismissed","cookieBannerDiv","distanceToBottom","getBoundingClientRect","bottom","affix","MatBottomSheet","CookieBannerComponent_HostBindings","ɵɵresolveWindow","CookieBannerComponent_div_0_Template","LinkButtonComponent","ɵLinkButtonComponent_BaseFactory","LinkButtonComponent_Factory","linkAction","linkTotext","LinkButtonComponent_Template","LinkButtonComponent_Template_button_click_0_listener","TileWithImageComponent_ng_template_2_div_0_p_8_Template_lib_secondary_button_clicked_1_listener","onButtonClicked","calltoAction","TileWithImageComponent_ng_template_2_div_0_p_8_Template","TileWithImageComponent_ng_template_2_div_0_Template_lib_link_button_clicked_10_listener","onLinkClicked","_c0$p","isImageLeft","_c1$c","_c2$4","hideEditButton","TileWithImageComponent_ng_template_2_div_1_p_9_Template_lib_secondary_button_clicked_1_listener","_r12","TileWithImageComponent_ng_template_2_div_1_p_9_Template","TileWithImageComponent_ng_template_2_div_1_Template_lib_link_button_clicked_11_listener","_c3","TileWithImageComponent_ng_template_2_div_0_Template","TileWithImageComponent_ng_template_2_div_1_Template","isMobileView","TileWithImageComponent","sharedSettingService","buttonClicked","linkClicked","isTabletView","dataLayer","eventCategory","eventAction","eventLabel","productname","TileWithImageComponent_Template","TileWithImageComponent_ng_template_1_Template","TileWithImageComponent_ng_template_2_Template","_c4","TileListComponent_lib_tile_with_image_0_Template_lib_tile_with_image_buttonClicked_0_listener","onButtonClick","TileListComponent_lib_tile_with_image_0_Template_lib_tile_with_image_linkClicked_0_listener","onLinkClick","i_r2","tile_r1","linkText","TileListComponent","tiles","TileListComponent_Template","TileListComponent_lib_tile_with_image_0_Template","category_r2","IconDropDownComponent_mat_form_field_0_Template_mat_select_ngModelChange_4_listener","IconDropDownComponent_mat_form_field_0_Template_mat_select_selectionChange_4_listener","IconDropDownComponent_mat_form_field_0_mat_option_5_Template","Categories","IconDropDownComponent","selectChange","selectChange1","mobileMenuClose","classList","IconDropDownComponent_Factory","DOCUMENT","selectLanguagesText","selectedOption1","IconDropDownComponent_Template","IconDropDownComponent_mat_form_field_0_Template","infoData","sublabel","coverageTermsLabel","defaultCoverageTermText","InfoCardComponent_div_12_ng_container_1_Template_lib_auto_search_dropdown_click_3_listener","InfoCardComponent_div_12_ng_container_1_Template_lib_auto_search_dropdown_valueChange_3_listener","coverageTermDetailsForm","InfoCardComponent_div_12_ng_container_1_Template","coverName_r11","InfoCardComponent_div_13_mat_chip_option_2_Template","mandatoryOrPreSelectedCoverages","InfoCardComponent","formBuilder","coverageTermChanged","coverageTerm","coverageTermsList","coverageTerms","i3$1","FormBuilder","InfoCardComponent_Template","InfoCardComponent_Template_div_click_0_listener","InfoCardComponent_ng_container_3_Template","InfoCardComponent_div_9_Template","InfoCardComponent_ng_container_11_Template","InfoCardComponent_div_12_Template","InfoCardComponent_div_13_Template","ViewPdfComponent_div_0_Template_mat_icon_click_14_listener","onPDFDownload","ViewPdfComponent_div_0_Template_mat_icon_click_17_listener","onPrint","ViewPdfComponent_div_0_Template_mat_icon_click_23_listener","fit_to_screen","ViewPdfComponent_div_0_Template_mat_icon_click_27_listener","incrementZoom","ViewPdfComponent_div_0_Template_mat_icon_click_31_listener","ViewPdfComponent_div_0_Template_pdf_viewer_after_load_complete_34_listener","afterLoadComplete","ViewPdfComponent_div_0_Template_pdf_viewer_pagechanging_34_listener","pagechanging","fileName","ɵɵtextInterpolate2","page","totalPages","pdfSrc","fitToPage","autoresize","zoom","ViewPdfComponent_ng_container_1_div_9_Template_mat_icon_click_4_listener","mobilePdfClose","ViewPdfComponent_ng_container_1_div_9_Template_mat_icon_click_12_listener","ViewPdfComponent_ng_container_1_div_9_Template_pdf_viewer_after_load_complete_18_listener","ViewPdfComponent_ng_container_1_div_9_Template_pdf_viewer_pagechanging_18_listener","ViewPdfComponent_ng_container_1_Template_div_click_1_listener","_r19","mobilePdfOpen","ViewPdfComponent_ng_container_1_Template_pdf_viewer_after_load_complete_3_listener","ctx_r20","ViewPdfComponent_ng_container_1_p_7_Template","ViewPdfComponent_ng_container_1_p_8_Template","ViewPdfComponent_ng_container_1_div_9_Template","toggleMode","ViewPdfComponent","mimeType","amount","pdf","numPages","pageNumber","file","Blob","createObjectURL","print","nav","navigator","msSaveOrOpenBlob","openLink","revokeObjectURL","download","click","removeChild","onResize","ViewPdfComponent_Factory","ViewPdfComponent_HostBindings","ViewPdfComponent_div_0_Template","ViewPdfComponent_ng_container_1_Template","_c0$o","contentSectionObj","subSectionObject_r9","captionText","ContentSectionComponent_ng_template_2_div_3_ng_container_1_div_3_Template","ContentSectionComponent_ng_template_2_div_3_ng_container_1_span_5_Template","_c1$b","ContentSectionComponent_ng_template_2_div_3_ng_container_1_Template","sectionArray","ContentSectionComponent_ng_template_2_ng_template_4_p_1_Template","ContentSectionComponent_ng_template_2_div_1_Template","ContentSectionComponent_ng_template_2_div_2_Template","ContentSectionComponent_ng_template_2_div_3_Template","ContentSectionComponent_ng_template_2_ng_template_4_Template","ContentSectionComponent","i1$6","ContentSectionComponent_Template","ContentSectionComponent_ng_template_1_Template","ContentSectionComponent_ng_template_2_Template","_c2$3","sectionObj_r1","ContentListComponent","contentSectionList","ContentListComponent_Template","ContentListComponent_lib_content_section_0_Template","ContactUsComponent","onClose","ContactUsComponent_Factory","ContactUsComponent_Template","ContactUsComponent_Template_lib_top_bar_with_icon_and_link_emitIconAction_2_listener","ContactUsComponent_p_10_Template","_c0$n","ɵɵpropertyInterpolate1","FooterComponent_ng_container_2_div_1_Template_div_click_0_listener","linkData_r2","FooterComponent_ng_container_2_div_1_Template","FooterComponent","checkDevicewidth","obj","overlayPanleClass","contactUsBottomSheetRef","FooterComponent_Template","FooterComponent_ng_container_2_Template","FooterComponent_section_4_Template","_c0$m","faqSectionSubHeading","FaqComponent_div_0_div_1_div_3_Template","_c0$l","faqSectionHeading","FaqComponent_div_0_mat_expansion_panel_4_mat_icon_8_Template","FaqComponent_div_0_mat_expansion_panel_4_mat_icon_9_Template","faq_r4","expanded","FaqComponent_div_0_div_1_Template","FaqComponent_div_0_mat_expansion_panel_4_Template","_c1$a","faqData","FaqComponent","FaqComponent_Template","FaqComponent_div_0_Template","_c0$k","productStraplineData","StraplineContentComponent_section_0_div_4_Template_lib_primary_button_clicked_2_listener","startQuoteFromStrapline","_c1$9","isSticky","StraplineContentComponent_section_0_h1_2_Template","StraplineContentComponent_section_0_p_3_Template","StraplineContentComponent_section_0_div_4_Template","_c2$2","strapLineBackgroundImage","showQuote","StraplineContentComponent","startQuote","checkScroll","startJourneyElement","querySelector","contains","pageYOffset","StraplineContentComponent_HostBindings","StraplineContentComponent_section_0_Template","slideInTrigger","trigger","transition","animate","browserLangFlag","getB2CWebsiteBrandingDetailsapiUrl","getTermsOfUsebySponsorNameUrl","getSponsorLogoData","getSponsorPreferredLanguageUrl","getTimeZonesUrl","getJavaScriptUrl","getB2CWebsiteBrandingDetailsUrl","getDateFormatById","getSubgroupBySponsoreId","getSponsorCustomerIdentificationUrl","sponsorLanguages","preferredLanguage","preferredLanguages","sponsorLanguagesAsDropdownItems","languageName","sponsorPreferredLanguageId","sponsorPreferredLanguage","lang","defaultPreferredLanguageId","defaultLanguageId","preferredLanguageId","setSponsorPreferredLanguage","getNamedSponsor","getCurrentSponsorName","getSponsorInternal","currentSponsorName","sponsorObservable","share","connector","resetOnError","resetOnComplete","resetOnRefCountZero","initialiseSponsorPreferredLanguage","pl","getTimeZoneInfoList","dateFormatId","getSubGroupIdBySponsorId","user","baseApiUrl","getUserProfileUrl","getDecryptedValue","getUserNameUrl","yourProfileUrl","saveNewB2CUserUrl","isCustomerBlockedUrl","isAccountVerifiedUrl","saveB2CUserConentUrl","getMenuByProfileUrl","isValidCustomerIdentifierURL","ClaimsMenuTypeID","SalesMenuTypeID","usedCachedValue","ssoIdentifier","isEncryptionRequired","userProfileObservable","buildUserRequestObject","share$1","isLinkToQuoteClicked","isLinkToQuote","objectIdentifier","userPrUserPreferredLangId","saveUserProfile","map$1","resUserProfile","patchUserProfile","userProfile","dateOfBirth","userId","resConsent","userData","customerConsents","dataShareConsent","profileType","observable","menuType","profileName","menuByProfile","requestPayload","menuByProfileCachedKey","menuByProfileCache","menuByProfileCachedObservable","tap","finalize","customerExtId","extCustomerId","hiUserTextLabel","loggedInUserName","IconMenuComponent_div_0_button_1_Template_button_click_0_listener","openMenu","IconMenuComponent_div_0_button_1_div_2_Template","IconMenuComponent_div_0_button_1_div_3_Template","isLanguage","IconMenuComponent_div_0_ng_container_4_button_1_button_5_Template_button_click_0_listener","_r16","subCategory_r14","onItemSelected","IconMenuComponent_div_0_ng_container_4_button_1_Template_button_click_0_listener","_r18","category_r12","items","IconMenuComponent_div_0_ng_container_4_button_1_button_5_Template","menuIcon","subItems","IconMenuComponent_div_0_ng_container_4_button_1_Template","IconMenuComponent_div_0_ng_container_5_button_1_Template_button_click_0_listener","_r22","category_r20","ctx_r21","ctx_r19","IconMenuComponent_div_0_ng_container_5_button_1_Template","IconMenuComponent_div_0_button_1_Template","IconMenuComponent_div_0_ng_container_4_Template","IconMenuComponent_div_0_ng_container_5_Template","IconMenuComponent_div_1_button_8_button_5_Template_button_click_0_listener","_r28","subCategory_r26","IconMenuComponent_div_1_button_8_Template_button_click_0_listener","_r30","category_r24","ctx_r29","IconMenuComponent_div_1_button_8_button_5_Template","IconMenuComponent_div_1_button_8_Template","hiUserText","IconMenuComponent","selectedItem","IconMenuComponent_Factory","IconMenuComponent_Template","IconMenuComponent_div_0_Template","IconMenuComponent_div_1_Template","TopbarDropdownComponent_div_0_ng_container_1_Template_lib_icon_menu_selectChange_1_listener","langCategories","globeIcon","defaultLang","TopbarDropdownComponent_div_0_ng_container_1_Template","TopbarDropdownComponent_div_1_button_1_Template_button_click_0_listener","_r11","selectedLanguage","TopbarDropdownComponent_div_1_button_1_Template","TopbarDropdownComponent_div_1_button_2_Template","isUserLoggedIn","TopbarDropdownComponent_div_9_Template_mat_icon_menuClosed_2_listener","_r15","TopbarDropdownComponent_button_10_Template_button_click_0_listener","category_r16","TopbarDropdownComponent_ng_container_11_Template_lib_icon_menu_click_2_listener","TopbarDropdownComponent_ng_container_11_Template_lib_icon_menu_selectedItem_2_listener","_r21","changeItems","_c0$j","profileMenuItemsData","TopbarDropdownComponent","isVisible","navigateLink","showSavedQuote","routerState","snapshot","setupSponsorPreferredLanguage","getLoggedInUser","profileMenuItems","browserLang","getBrowserLanguage","enabledBrowserLang","langChange","selectedLink","substr","TopbarDropdownComponent_Factory","TopbarDropdownComponent_Template","TopbarDropdownComponent_div_0_Template","TopbarDropdownComponent_div_1_Template","TopbarDropdownComponent_div_9_Template","TopbarDropdownComponent_button_10_Template","TopbarDropdownComponent_ng_container_11_Template","dependencies","i2","NgClass","NgForOf","NgIf","i4","MatIcon","i5$2","MatMenu","MatMenuItem","MatMenuTrigger","encapsulation","animation","animations","ViewEncapsulation","None","TopbarSwitcherComponent_div_6_ng_container_2_Template_button_click_1_listener","labelObject_r10","navigateNavLink","navLink","isActive","TopbarSwitcherComponent_div_6_ng_container_2_Template","topbarLabellist","TopbarSwitcherComponent_span_8_Template_span_click_0_listener","navigateToMultiProductLandingPage","TopbarSwitcherComponent_ng_container_9_ng_container_1_Template_lib_topbar_dropdown_navigateLink_1_listener","TopbarSwitcherComponent_ng_container_9_ng_container_2_Template_lib_login_register_logout_redirectToLogin_1_listener","_r20","TopbarSwitcherComponent_ng_container_9_ng_container_1_Template","TopbarSwitcherComponent_ng_container_9_ng_container_2_Template","langSelection","showLoginRegisterLogoutButton","TopbarSwitcherComponent_ng_container_10_ng_container_1_Template_button_click_2_listener","_r23","TopbarSwitcherComponent_ng_container_10_ng_container_1_Template","TopbarSwitcherComponent_ng_container_11_Template_mat_icon_menuOpened_3_listener","_r25","mobileMenuOpen","TopbarSwitcherComponent_ng_container_11_Template_mat_icon_menuClosed_3_listener","ctx_r26","toggleMenuIcon","TopbarSwitcherComponent_ng_container_14_Template_button_click_2_listener","_r29","labelObject_r27","ctx_r28","TopbarSwitcherComponent_ng_container_15_Template_lib_topbar_dropdown_navigateLink_2_listener","_r31","ctx_r30","TopbarSwitcherComponent_ng_container_16_Template_lib_login_register_logout_redirectToLogin_2_listener","_r33","ctx_r32","closeLabel","TopbarSwitcherComponent","navigateToNavLink","showHomeIcon","showWTWLogo","b2bname","hideAuthenticationForCustomerIdentification","reload","activeLink","TopbarSwitcherComponent_Factory","sponsorImage","TopbarSwitcherComponent_Template","TopbarSwitcherComponent_div_6_Template","TopbarSwitcherComponent_span_8_Template","TopbarSwitcherComponent_ng_container_9_Template","TopbarSwitcherComponent_ng_container_10_Template","TopbarSwitcherComponent_ng_container_11_Template","TopbarSwitcherComponent_ng_container_14_Template","TopbarSwitcherComponent_ng_container_15_Template","TopbarSwitcherComponent_ng_container_16_Template","LogoutComponent_div_11_Template_lib_primary_button_clicked_1_listener","returnToHomePage","returnToHomePageText","loggedOutHeaderLabel","loggedoutMessageLabel","returnToHomePageLabel$1","baseConstantService","showReturnToHomePage","updateTag","loggedOutHeaderText","loggedOutMessageText","i10$1","LogoutComponent_Template","LogoutComponent_div_11_Template","_c0$i","DataCaptureDirective","viewContainerRef","ViewContainerRef","WideButtonWithAccordionComponent_div_9_Template_div_click_0_listener","WideButtonWithAccordionComponent_div_10_Template_div_click_0_listener","WideButtonWithAccordionComponent_div_11_Template_div_click_0_listener","WideButtonWithAccordionComponent","repeatingGroupIndex","WideButtonWithAccordionComponent_Template","WideButtonWithAccordionComponent_div_9_Template","WideButtonWithAccordionComponent_div_10_Template","WideButtonWithAccordionComponent_div_11_Template","WideButtonWithAccordionComponent_mat_icon_12_Template","WideButtonWithAccordionComponent_mat_icon_13_Template","grossPremiumValue","showHeader","grossPremiumText","additionalLabelText","additionalLabel","PreviousComponent_div_0_h3_2_ng_container_3_Template","PreviousComponent_div_0_ng_container_3_div_1_lib_wide_button_2_Template_lib_wide_button_clicked_0_listener","answer_r7","qDescription","getQuestionsAnswer","editText","PreviousComponent_div_0_ng_container_3_div_1_ng_container_3_Template_lib_wide_button_clicked_1_listener","PreviousComponent_div_0_ng_container_3_div_1_ng_container_3_Template_lib_wide_button_deleteClicked_1_listener","getChildAnswers","deleteText","PreviousComponent_div_0_ng_container_3_div_1_ng_container_4_Template_lib_wide_button_with_accordion_clicked_1_listener","PreviousComponent_div_0_ng_container_3_div_1_ng_container_4_Template_lib_wide_button_with_accordion_deleteClicked_1_listener","PreviousComponent_div_0_ng_container_3_div_1_lib_wide_button_2_Template","PreviousComponent_div_0_ng_container_3_div_1_ng_container_3_Template","PreviousComponent_div_0_ng_container_3_div_1_ng_container_4_Template","_c0$h","i_r8","arrayLength","isNotGrouped","isGroup","repeatingGroupLengthKey","PreviousComponent_div_0_ng_container_3_div_1_Template","PreviousComponent_div_0_h3_1_Template","PreviousComponent_div_0_h3_2_Template","PreviousComponent_div_0_ng_container_3_Template","PreviousComponent_div_0_ng_container_4_Template","ɵɵpureFunction4","_c1$8","isContainer","editLabel$3","policyExpiryDateIntentCode$2","deleteLabel","grossPremiumLabel","PreviousComponent","isApproveDeclineOnly","childQuestions","childAnswers","isApproveDeclineWithPremiumOverride","previousAnswerLastSessionObj","grossPremiumLastSessionObj","previousAnswerLastQues","referralPermission","retrievedPermissions","isFixedTerm","currentDate","isRenewal","isSlowRevealEnabled","filteredAnsweredQuestions","hideHistory","visited","productNewOreditQuoteAllowed","maxdate","defaultDate","defaultInceptionDate","inceptionDate","childInceptionDate","childDefaultDate","refressPolicyExpiryDate","qChild","qChildIndex","isHideEditButton","getCompressedAnswer","emptyQuoteQuestion","parentQuestion","childAnswer","placeholderText","getGrandChildAnswers","endDate","startDateIndex","StartDate","calculateEndDate","grandChildQuestionSet","grandChildSet","objectDate","getFlaggedAnswers","groups","reduce","r","groupKey","sortedArray","sortArray","clonedProductDetailArray","concat","product","y","orderNo","PreviousComponent_Template","PreviousComponent_div_0_Template","DataCaptureHeadingComponent","QnDescription","QnSubDescription","DataCaptureHeadingComponent_Template","_c0$g","ImageButtonComponent_ng_container_3_Template_div_click_1_listener","optionSet_r1","submitRadioDataCapture","tempImageVal","ImageButtonComponent","updateEmitter","answeredData","ImageButtonComponent_Template","ImageButtonComponent_ng_container_3_Template","RadioDataCaptureComponent_ng_container_3_Template_div_click_1_listener","RadioDataCaptureComponent","RadioDataCaptureComponent_Template","RadioDataCaptureComponent_ng_container_3_Template","FormFieldMapper","errorMessage","formFieldIterationIndex","getInstance","mapCommonProperties","mapSpecificProperties","formField","visibility","margin","rootParentQIntentCode","lookupPQIntentCode","TextboxFieldMapper","canMap","subType","rangeMinimum","rangeMaximum","previousAnswer","ɵTextboxFieldMapper_BaseFactory","TextboxFieldMapper_Factory","mandatoryErrorMessageLabel$8","emailErrorMessageLabel$2","emailCompareErrorMessageLabel","minLengthErrorMessageLabel$4","maxLengthErrorMessageLabel$4","invalidValueErrorMessageLabel$3","TextDataCaptureComponent","formGroupService","fieldMapper","createFormGroup","mandatoryErrorMessageText","emailErrorMessageText","emailCompareErrorMessageText","textboxForm","submitTextAnswer","nextBtn","TextDataCaptureComponent_Template","TextDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","OptionListDataCaptureComponent_ng_container_3_lib_secondary_button_1_Template_lib_secondary_button_clicked_0_listener","submitOptionListAnswer","OptionListDataCaptureComponent_ng_container_3_lib_secondary_button_1_Template","OptionListDataCaptureComponent","OptionListDataCaptureComponent_Template","OptionListDataCaptureComponent_ng_container_3_Template","PlusMinusDataCaptureComponent","incrmentDecrementVal","submitIncDecAnswer","PlusMinusDataCaptureComponent_Template","PlusMinusDataCaptureComponent_Template_i_click_3_listener","PlusMinusDataCaptureComponent_Template_i_click_7_listener","PlusMinusDataCaptureComponent_Template_lib_primary_button_clicked_10_listener","CheckboxField","checked","CheckboxFieldMapper","ɵCheckboxFieldMapper_BaseFactory","CheckboxFieldMapper_Factory","CheckBoxComponent","checkBoxFormControlName","CheckBoxComponent_Template","CheckBoxComponent_Template_mat_checkbox_change_2_listener","CheckBoxComponent_mat_error_6_Template","_c0$f","mandatoryErrorMessageLabel$7","CheckBoxDataCaptureComponent","btnDisableStatus","checkboxForm","onValueChange","source","mapOptionsToAnswers","CheckBoxDataCaptureComponent_Template","CheckBoxDataCaptureComponent_Template_lib_check_box_valueChange_2_listener","CheckBoxDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","mandatoryErrorMessageLabel$6","minRangeErrorMessageLabel$3","maxRangeErrorMessageLabel$3","numericErrorMessageLabel$3","NumberDataCaptureComponent","numericForm","submitAnswer","NumberDataCaptureComponent_Template","NumberDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","DropDownFieldMapper","isPreviouslyAnswered","isMetadata","parentQues","ques","ɵDropDownFieldMapper_BaseFactory","DropDownFieldMapper_Factory","mandatoryErrorMessageLabel$5","DropdownDataCaptureComponent","initialise","dropdownForm","getSelectedAnswerSet","submitDropdownAnswer","DropdownDataCaptureComponent_Template","DropdownDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","policyInceptionDateIntentCode$1","policyExpiryDateIntentCode$1","DatePickerFieldMapper","isRenewalQuote","ɵDatePickerFieldMapper_BaseFactory","DatePickerFieldMapper_Factory","TextAreaField","TextAreaFieldMapper","ɵTextAreaFieldMapper_BaseFactory","TextAreaFieldMapper_Factory","RecaptchaField","RecaptchaFieldMapper","ɵRecaptchaFieldMapper_BaseFactory","RecaptchaFieldMapper_Factory","CurrencyBoxField","CurrencyboxFieldMapper","ɵCurrencyboxFieldMapper_BaseFactory","CurrencyboxFieldMapper_Factory","mappers","FieldMapper","mapper","RecaptchaV2Component","cdr","reCaptchaV3Service","siteKey","scriptUrl","action","captchaVerified","setLanguage","i2$3","i3$3","ReCaptchaV3Service","RecaptchaV2Component_Template","RecaptchaV2Component_Template_mat_checkbox_change_3_listener","ɵɵclassMapInterpolate1","alert_r1","NotificationAlertComponent","fade","alerts","alertSubscription","k","routeSubscription","unsubscribe","NotificationAlertComponent_Template","NotificationAlertComponent_div_0_Template","CurrencyBoxComponent_button_8_Template_button_click_0_listener","CurrencyBoxComponent","onFocusInEvent","validationMessage","CurrencyBoxComponent_Template","CurrencyBoxComponent_Template_input_keydown_enter_4_listener","CurrencyBoxComponent_Template_input_blur_4_listener","CurrencyBoxComponent_Template_input_focusin_4_listener","CurrencyBoxComponent_span_7_Template","CurrencyBoxComponent_button_8_Template","_c0$e","_c1$7","loaderMessage","field_r2","groupPanelForm","_c0$d","GroupPanelDataCaptureComponent_ng_container_4_ng_container_5_Template_lib_text_box_valueChange_1_listener","GroupPanelDataCaptureComponent_ng_container_4_ng_container_6_Template_lib_currency_box_valueChange_1_listener","GroupPanelDataCaptureComponent_ng_container_4_ng_container_8_Template_lib_drop_down_valueChange_1_listener","GroupPanelDataCaptureComponent_ng_container_4_ng_container_10_Template_lib_check_box_valueChange_1_listener","GroupPanelDataCaptureComponent_ng_container_4_label_2_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_4_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_5_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_6_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_7_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_8_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_9_Template","GroupPanelDataCaptureComponent_ng_container_4_ng_container_10_Template","datePickerErrorMessage$2","editLabel$2","mandatoryErrorMessageLabel$4","emailErrorMessageLabel$1","minLengthErrorMessageLabel$3","maxLengthErrorMessageLabel$3","minRangeErrorMessageLabel$2","maxRangeErrorMessageLabel$2","numericErrorMessageLabel$2","invalidValueErrorMessageLabel$2","loaderMessageLabel","ERROR_NOT_FOUND","GroupPanelDataCaptureComponent","formGroupControlService","renderer","parentIntentCode","childSpace","childElements","inputParameters","inputParamValues","parentChildArray","showChildOfSelectedParentFlag","checkboxGroup","Map","repeatingElementHeading","submitGroupPanelAnswer","groupQnAnswerObj","setValueToAnswerSetsGroupQn","groupPanelQnData","qn","qnIntentCode","pageFormFields","fieldsVal","fieldsOptionsVal","optionsVal","currentAnswerSet","formElement","formData","ngAfterViewChecked","createRepeatingGroup","showChildOfSelectedParent","isBackwards","emitSelectionChange","createChildGroup","isRepeat","createLookUpParentChildHierarchy","mapFormData","createGrandChilds","checkValidationRequired","setValidators","requireCheckboxesToBeCheckedValidator","callType","maxRepeatIndex","subQuestion","parentQuestionAnswerset","fieldData","getErrorMessageText","getEditLabelText","size","has","getOndemandDataValues","clearChildControls","previousSelection","currentSelection","children","getAttribute","getComputedStyle","marginLeft","getFormField","reset","clearValidators","Event","KeyboardEvent","preventDefault","datePickerErrorMessageText","editLabelText","onAddAnotherClick","showParent","showGrandChild","parentQIntentCodeValue","tagName","hasMetadaInGlobalFunction","rootLevelParent","getPIntendCodeValue","controlValue","selectedText","selectedId","array","parentField","p","endPointUrl","backendsystem","onDemandDataPayLoad","backEndSystem","quoteId","optionsList","formFieldVal","opt","isEmitted","lookupData","lookupDataValue","toDisableControl","matSelect","emitEvent","dropDownComponent","highlightElementAsNotFound","removeHighlight","childQIntentCodes","parentValue","className","parentControlValue","parentControlId","parentSelectedValue","isMetaData","parentques","grandParent","ParentArray","elementId","selectRootElement","setStyle","removeStyle","Renderer2","GroupPanelDataCaptureComponent_Query","GroupPanelDataCaptureComponent_lib_progress_spinner_2_Template","GroupPanelDataCaptureComponent_Template_form_ngSubmit_3_listener","GroupPanelDataCaptureComponent_ng_container_4_Template","checkGroup","minRequired","validate","formGroup","chilControl","requireOneCheckboxToBeChecked","datePickerErrorMessage$1","editLabel$1","DatepickerDataCaptureComponent","provideOffsetValue","dateForm","submitDate","momentObj","offsetBasisQnData","DatepickerDataCaptureComponent_Template","DatepickerDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","mandatoryErrorMessageLabel$3","minLengthErrorMessageLabel$2","maxLengthErrorMessageLabel$2","TextAreaDataCaptureComponent","textareaForm","TextAreaDataCaptureComponent_Template","TextAreaDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","mandatoryErrorMessageLabel$2","RecaptchaDataCaptureComponent","recaptchaForm","i1$7","RecaptchaDataCaptureComponent_Template","RecaptchaDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","translationKeys","Header","InstructionText1","InstructionText2","Seconds","ContinueSession","Logout","IdleUserService","popupCountdown","translatedText","initListener","initIdleUserListener","backgroundTimer","inactivityTimeInMinutes","inactivityTimeInSeconds","countdownTimeInSeconds","startIdleTimer","addEventListener","timeoutId","clearTimeout","openSessionTimeoutDialog","clearSession","removeListener","replaceUrl","removeEventListener","countdownTimeInMilliSeconds","subHeadingAdditionalText","secondsCount","secondsText","Update","buttons","isSecondary","ModalTemplateComponent","afterClosed","_this5","ModalTemplateComponent_div_0_Template_button_click_1_listener","_c0$c","subHeadingText","countDownValue","ModalTemplateComponent_div_10_Template_mat_checkbox_ngModelChange_1_listener","isCheckboxChecked","checkboxLabel","ModalTemplateComponent_div_11_Template_input_ngModelChange_3_listener","textboxValue","textboxLabel","ModalTemplateComponent_div_12_Template_a_click_2_listener","arrayOfInstructiontext","element_r28","attributeName","element_r29","Quote","element_r30","Profile","ModalTemplateComponent_div_13_th_3_Template","ModalTemplateComponent_div_13_td_4_Template","ModalTemplateComponent_div_13_th_6_Template","ModalTemplateComponent_div_13_td_7_Template","ModalTemplateComponent_div_13_th_9_Template","ModalTemplateComponent_div_13_td_10_Template","ModalTemplateComponent_div_13_tr_11_Template","ModalTemplateComponent_div_13_tr_12_Template","_c1$6","bodyText","displayedColumns","ModalTemplateComponent_div_14_lib_primary_button_1_Template_lib_primary_button_clicked_0_listener","_r36","button_r32","ModalTemplateComponent_div_14_lib_secondary_button_2_Template_lib_secondary_button_clicked_0_listener","_r39","ctx_r38","ctx_r34","disableYesButton","ModalTemplateComponent_div_14_lib_primary_button_1_Template","ModalTemplateComponent_div_14_lib_secondary_button_2_Template","counter","timer","idleUserService","dataSource","sheetObjectData","sheetButtonText","popupTimerSubscription","isSelected","ModalTemplateComponent_Factory","ModalTemplateComponent_Template","ModalTemplateComponent_div_0_Template","ModalTemplateComponent_mat_icon_4_Template","ModalTemplateComponent_div_5_Template","ModalTemplateComponent_div_6_Template","ModalTemplateComponent_div_7_Template","ModalTemplateComponent_div_8_Template","ModalTemplateComponent_div_9_Template","ModalTemplateComponent_div_10_Template","ModalTemplateComponent_div_11_Template","ModalTemplateComponent_div_12_Template","ModalTemplateComponent_div_13_Template","ModalTemplateComponent_div_14_Template","closeButton","_c2$1","showCheckbox","showTextbox","headingInstructionLabel","subHeadingInstructionLabel","deletePopupOkBtnLabel","deletePopupCancelBtnLabel","BaseRepeatingGroupDataCaptureComponent","deleteRepeatingQues","deleteRepeatingQuesObservable","applyLangTranslations","_this6","headingInstructionText","subHeadingInstructionText","deletePopupOkBtnText","deletePopupCancelBtnText","deleteDialog","qnToDelete","deleteFrom","BaseRepeatingGroupDataCaptureComponent_Template","_c0$b","repeatingGroupKey","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_8_Template_lib_drop_down_valueChange_1_listener","RepeatingGroupDataCaptureComponent_ng_container_4_label_2_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_4_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_5_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_6_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_7_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_8_Template","RepeatingGroupDataCaptureComponent_ng_container_4_ng_container_9_Template","datePickerErrorMessage","mandatoryErrorMessageLabel$1","emailErrorMessageLabel","minLengthErrorMessageLabel$1","maxLengthErrorMessageLabel$1","minRangeErrorMessageLabel$1","maxRangeErrorMessageLabel$1","numericErrorMessageLabel$1","invalidValueErrorMessageLabel$1","addAnotherBtnLabel","noMoreToAddBtnLabel","deleteRepeatingGroupLabel","RepeatingGroupDataCaptureComponent","matDialog","deleteRepeatingGroup","_this7","updatedQuestionSet","updateResponseOfRepeatingGroup","formatQustionsForIteration","repeatingGroupQuestions","createLookUpParentChildHeirarchy","addAnotherBtnText","noMoreToAddBtnText","deleteRepeatingGroupText","increaseAnsweredRepeatingIteration","noMoreToAddClick","_this8","groupName","grpQuestionSet","RepeatingGroupDataCaptureComponent_Query","RepeatingGroupDataCaptureComponent_Template_form_ngSubmit_3_listener","RepeatingGroupDataCaptureComponent_ng_container_4_Template","RepeatingGroupDataCaptureComponent_div_5_Template","RepeatingGroupDataCaptureComponent_Template_button_click_8_listener","RepeatingGroupDataCaptureComponent_Template_button_click_11_listener","RepeatingGroupDataCaptureComponent_Template_button_click_14_listener","mandatoryErrorMessageLabel","minLengthErrorMessageLabel","maxLengthErrorMessageLabel","minRangeErrorMessageLabel","maxRangeErrorMessageLabel","numericErrorMessageLabel","invalidValueErrorMessageLabel","CurrencyDataCaptureComponent","currencyForm","CurrencyDataCaptureComponent_Template","CurrencyDataCaptureComponent_Template_lib_primary_button_clicked_4_listener","components$1","_c0$a","progress","stepLabel","stepOfLabel","ProgressBarStepsComponent","Arr","stepText","stepOfText","total","stepName","ProgressBarStepsComponent_Template","ProgressBarStepsComponent_div_1_Template","fill","ɵɵtextInterpolate5","ErrorPageComponent_ng_container_0_div_1_Template_lib_top_bar_with_icon_and_link_emitLabelAction_2_listener","ErrorPageComponent_ng_container_0_div_1_Template_lib_top_bar_with_icon_and_link_emitIconAction_2_listener","goBack","errorMessageLabelText","message_r14","ErrorPageComponent_ng_container_0_section_8_div_4_p_1_Template","ErrorPageComponent_ng_container_0_section_8_p_3_Template","ErrorPageComponent_ng_container_0_section_8_div_4_Template","hasMultipleMessages","errorSeconadryMessageLabelText","message_r18","ErrorPageComponent_ng_container_0_section_9_div_2_p_1_Template","ErrorPageComponent_ng_container_0_section_9_p_1_Template","ErrorPageComponent_ng_container_0_section_9_div_2_Template","hasMultipleSecondaryMessages","ErrorPageComponent_ng_container_0_section_10_Template_lib_primary_button_clicked_2_listener","backButtonText","ErrorPageComponent_ng_container_0_section_11_Template_lib_primary_button_clicked_2_listener","navigationRetry","retryButtonText","ErrorPageComponent_ng_container_0_div_1_Template","ErrorPageComponent_ng_container_0_mat_icon_6_Template","ErrorPageComponent_ng_container_0_section_8_Template","ErrorPageComponent_ng_container_0_section_9_Template","ErrorPageComponent_ng_container_0_section_10_Template","ErrorPageComponent_ng_container_0_section_11_Template","hideLogOutButton","_c0$9","errorHeaderLabelText","hideBackButton","retryNavigation","errorHeaderLabel$2","errorMessageLabel$1","backButtonLabel$2","logoutLabel$4","customerAccountLockedLabel$1","contactServicingTeamLabel$1","tryagainButtonLabel","_this9","getState","extValidationFailed","fromHomePage","extValidationRetry","showLogoutLink","hasCustomMessage","setErrorHeaderAndMessage","_this10","ErrorPageComponent_Template","ErrorPageComponent_ng_container_0_Template","ErrorPageComponent_lib_progress_spinner_1_Template","accountService","getCustomerFieldValidationsUrl","saveB2CCustomerPersonalDetailsUrl","saveCustomerAddressUrl","getCustomerPreferredLanguageUrl","getCustomerUrl","getCustomerIdentifierUrl","getCountryCodeLookupDataUrl","identifyCustomersPolicyUrl","saveUserHistoryLogUrl","getUserHistoryByIpAddressUrl","GetCustomerTypes","setIsBackwardsFlaginSessionStorage","isRepeatJourney","sponsorid","getProductCustomerType","customerFieldValidationCache","customerTypeCacheKey","tap$1","shareReplay","saveB2CCutomerPersonalDetails","yourProfileModel","customerAddress","buildCustomerAddressList","addressListResult","address","city","zipCode","countryName","isDefault","saveUserConsent","_this11","saveUserConsentResponse","getCustomerDetailsByIdentifier","GetCustomerType","contextcode","languagecode","countryCodeLookupDataObservable","mobilePhoneNumber","externalRefNumber","customerIdentificationCriteria","SponsorId","MobilePhoneNumber","ExternalRefNumber","ipAddress","getUserHistoryUrl","UserHistoryLog","logID","userID","logDate","sponsorID","userHostIP","unsuccessfulAccessAttempt","getGlobalPrivacyPolicyTextUrl","getCookieNoticeTextUrl","getLookupUIImagesUrl","getLookUpValuesUrl","getClaimLookUpValuesUrl","getProductNameValidationUrl","getSponsorBrandLogoUrl","globalPrivacyPolicyCachedKey","globalPrivacyPolicyCache","globalPrivacyPolicyCachedObservable","cookieNoticeCachedKey","cookieNoticeCache","cookieNoticeCachedObservable","keyText","_this12","setFavicon","blob","favicon","rel","BaseProductTemplateService","getMasterProductUrl","getProductTemplateUrl","productTemplateObservables","templateId","BaseQuestionLogicComponent_header_0_Template_lib_top_bar_with_icon_and_link_emitIconAction_1_listener","closeAndGoBack","BaseQuestionLogicComponent_header_0_Template_lib_top_bar_with_icon_and_link_emitLabelAction_1_listener","progressBar","totalSteps","dynamicComponentMapper","imagebutton","plusminus","optionslist","numeric","radio","grouppanel","repeatinggroup","textarea","recaptcha","money","nextButtonLabel","logoutLabel$3","pageClaimQuestion","productValidationText","policyInceptionDateIntentCode","policyExpiryDateIntentCode","saveQuoteButtonLabel","savedQuoteLabel","okLabel","BaseQuestionLogicComponent","customerService","baseProductTemplateService","questionAnswered","emitNextButtonClick","emitSaveResponseData","getUIElementData","getUIElementDataValue","UIELementRes","hasVisiblePolicyQuestions","childValue","quoteQnPayload","productTemplateId","backwardNavRoute","initializeQuestionSet","checkSessionTimedOut","loadQuestion","navigateToNextPage","navigateToPrevious","previousClicked","moveToTop","backwardNavIcon","prePopulateSubGroupID","resolveHiddenQuestion","resolveHiddenQuestionForGroupPannel","loadDynamicComponent","currentDynamicComponent","groupPanelQnSet","groupPannelQnData","firstRepeatingIteration","getSetQuestionTypeMapper","lookUpValues","mapAnswerSetFromLookup","appDataCapture","componentRef","createComponent","componentInst","getOffsetBasisQuestion","showRefferedPopUp","WizardProductNameval","WizardParentSponsorName","isDuplicateProductName","productValidation","onQuestionAnswered","isDuplicate","obj1","matchingQuetion","obj2","_this13","savedQuoteText","_ref2","_x2","qQuestionSubType","hasAnsweredQuestions","dependentQuestions","hasAnsweredQuestion","lastQuestion","optionsToBeCleared","answerSetIndex","currentQuestionIntentCode","parentQuestionIndex","primaryCopyOfOption","answeredQSet","updateChildQuestionStateOnParentEdit","popUpTextValue","masterProduct","productTemplateID","productTemplateName","allowDocGenerationForMCI","isDefaultListView","isTsAndCsRequired","offsetIntentCode","offsetBasisValue","offsetBasisDate","offsetPattern","parameterName","subGroupID","subgroupid","forwardNavRoute","relativeTo","isForwardNavigation","nextButtonText","saveQuoteButtonText","_this14","top","scrollIntoView","currentQIntentCode","iterationCount","indexOfQuestion","repeatingGroupOriginalQIntentCode","lastQuestionIndex","childQuestionIndex","BaseQuestionLogicComponent_Query","BaseQuestionLogicComponent_header_0_Template","BaseQuestionLogicComponent_ng_container_1_Template","BaseQuestionLogicComponent_ng_template_5_Template","_c0$8","TimePickerComponent","disableElement","inputClicked","timePickerFormControlName","TimePickerField","closeEvent","TimePickerComponent_Query","TimePickerComponent_Template_div_click_1_listener","TimePickerComponent_Template_ngx_mat_timepicker_closed_10_listener","TimePickerComponent_mat_error_15_Template","_c1$5","timepicker","maxFileErrorMsg","fileSizeValidator","files","maxSize","fileSizeValidatorflag","fileSize","inValidSize","fileExtensionValidator","validExt","isAllowedFileType","fileExt","ext","invalidFileType","FileUploadComponent","fileUploadEvent","uploadPanel","fileCount","inValidFileTypeErrorMessage","mandatoryDocErrorMessage","maxUploadedFiles","uploadFileEvt","uploadedFile","from","onFileUpload","allowedFileType","mandatoryDocError","isNextButtonDisabled","maxFileCount","FileUploadComponent_Query","FileUploadComponent_Template_div_click_1_listener","FileUploadComponent_Template_input_change_7_listener","FileUploadComponent_Template_input_click_7_listener","FileUploadComponent_mat_error_11_Template","_c1$4","fileInput","SessionTimeoutComponent_section_10_Template_lib_primary_button_clicked_2_listener","navigateToHomePage","sessionTimeoutHeaderLabel","sessionTimeoutMessageLabel","returnToHomePageLabel","BaseConstantService$1","sessionTimeoutHeaderText","sessionTimeoutMessageText","i1$8","SessionTimeoutComponent_Template","SessionTimeoutComponent_section_10_Template","_c0$5","SideBarService","showNav$","getShowNav","setShowNav","showHide","toggleNavState","isNavOpen","ɵɵelementContainer","SideNavDirection","SideBarComponent","sideBarService","navWidth","innerWidth","direction","Right","showSideNav","onSidebarClose","getSideNavBarStyle","showNav","navBarStyle","sidenavTemplateRef","SideBarComponent_Template","SideBarComponent_Template_div_click_2_listener","SideBarComponent_Template_span_click_8_listener","SideBarComponent_ng_container_11_Template","_c0$4","_c1$3","_c2","first_r2","option_r1","RadioGroupComponent","RadioGroupComponent_Template","RadioGroupComponent_mat_radio_button_6_Template","field_r4","personalDetailsForm","option_r16","code","mandatoryErrorMessageTextValue","PersonalDetailsComponent_form_0_ng_container_1_ng_container_7_Template_mat_select_ngModelChange_6_listener","selectedCountryCodeValue","PersonalDetailsComponent_form_0_ng_container_1_ng_container_7_mat_option_9_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_7_mat_error_10_Template","countryCodeLabelValue","countryCodeReadOnlyValue","countryCodeLookupDataValue","tooltipText","PersonalDetailsComponent_form_0_ng_container_1_ng_container_9_div_4_Template","PersonalDetailsComponent_form_0_ng_container_1_label_3_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_6_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_7_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_8_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_9_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_10_Template","PersonalDetailsComponent_form_0_ng_container_1_ng_container_11_Template","isEditMode","PersonalDetailsComponent_form_0_div_2_Template_lib_primary_button_clicked_2_listener","onClickEvent","PersonalDetailsComponent_form_0_div_3_Template_lib_primary_button_clicked_2_listener","PersonalDetailsComponent_form_0_div_3_Template_lib_primary_button_clicked_4_listener","PersonalDetailsComponent_form_0_ng_container_1_Template","PersonalDetailsComponent_form_0_div_2_Template","PersonalDetailsComponent_form_0_div_3_Template","PersonalDetailsComponent","personalDetailsEvent","isReady","buildFormFields","_this15","showCountryCodeCtrl","addControl","selectedCountryCode","countryCodeLabel","countryCodeLookupData","countryCodeReadOnly","countryCodeRequiredValue","countryCodeRequired","eventType","PersonalDetailsComponent_Template","PersonalDetailsComponent_form_0_Template","field_r1","addressForm","AddressModalComponent_ng_container_6_label_3_Template","AddressModalComponent_ng_container_6_ng_container_6_Template","AddressModalComponent_ng_container_6_ng_container_7_Template","AddressModalComponent_ng_container_6_ng_container_8_Template","AddressModalComponent_ng_container_6_ng_container_9_Template","AddressModalComponent_ng_container_6_ng_container_10_Template","AddressModalComponent","isDefaultAddress","isDefaultAddressDisabled","addForm","_this16","addressResult","firstLine","postCode","isNew","isDeleted","customerAddressID","customerAddressTypeID","onCancel","AddressModalComponent_Factory","AddressModalComponent_Template","AddressModalComponent_ng_container_6_Template","AddressModalComponent_Template_mat_checkbox_ngModelChange_8_listener","AddressModalComponent_Template_lib_primary_button_clicked_13_listener","AddressModalComponent_Template_lib_primary_button_clicked_15_listener","typeLabel","ManageAddressesComponent_div_11_Template_a_click_13_listener","add_r1","onEditClick","pageLabels$1","contactPreferenceAddress","editHeaderLabel","defaultLabel","ManageAddressesComponent","addressUpdateEvent","_this17","oKey","oValue","aKey","bKey","bValue","pageHeader","setPageHeader","onAddClick","dialogRef1","ManageAddressesComponent_Template","ManageAddressesComponent_div_11_Template","ManageAddressesComponent_Template_lib_primary_button_click_14_listener","LangPreferenceComponent_form_0_div_8_Template_lib_primary_button_clicked_2_listener","LangPreferenceComponent_form_0_div_9_Template_lib_primary_button_clicked_2_listener","LangPreferenceComponent_form_0_div_9_Template_lib_primary_button_clicked_4_listener","LangPreferenceComponent_form_0_label_3_Template","LangPreferenceComponent_form_0_div_8_Template","LangPreferenceComponent_form_0_div_9_Template","languagePreferenceForm","LangPreferenceComponent","langPreferencesEvent","_this18","LangPreferenceComponent_Template","LangPreferenceComponent_form_0_Template","ConsentPreferencesComponent_form_1_ng_container_10_ng_container_8_Template_a_click_3_listener","consentObj_r4","isContentCollapsed","ConsentPreferencesComponent_form_1_ng_container_10_ng_container_8_Template","consentPreferencesForm","ConsentPreferencesComponent_form_1_div_11_Template_lib_primary_button_clicked_2_listener","ConsentPreferencesComponent_form_1_div_12_Template_lib_primary_button_clicked_2_listener","ConsentPreferencesComponent_form_1_div_12_Template_lib_primary_button_clicked_4_listener","ConsentPreferencesComponent_form_1_ng_container_10_Template","ConsentPreferencesComponent_form_1_div_11_Template","ConsentPreferencesComponent_form_1_div_12_Template","ConsentPreferencesComponent","consentPreferencesEvent","_this19","ConsentPreferencesComponent_Template","ConsentPreferencesComponent_form_1_Template","contactObj_r4","contactPreferencesForm","ContactPreferencesComponent_form_1_div_8_Template_lib_primary_button_clicked_2_listener","ContactPreferencesComponent_form_1_div_9_Template_lib_primary_button_clicked_2_listener","ContactPreferencesComponent_form_1_div_9_Template_lib_primary_button_clicked_4_listener","ContactPreferencesComponent_form_1_ng_container_4_Template","ContactPreferencesComponent_form_1_div_8_Template","ContactPreferencesComponent_form_1_div_9_Template","ContactPreferencesComponent","contactPreferencesEvent","_this20","ContactPreferencesComponent_Template","ContactPreferencesComponent_form_1_Template","BaseYourProfileComponent_ng_container_17_Template_mat_expansion_panel_afterCollapse_1_listener","resetLanguagePreferencesForm","BaseYourProfileComponent_ng_container_17_Template_lib_lang_preference_langPreferencesEvent_8_listener","yourProfileData","BaseYourProfileComponent_ng_container_18_Template_mat_expansion_panel_afterCollapse_1_listener","resetConsentPreferencesForm","BaseYourProfileComponent_ng_container_18_Template_lib_consent_preferences_consentPreferencesEvent_8_listener","consentLogo","BaseYourProfileComponent_ng_container_19_Template_mat_expansion_panel_afterCollapse_1_listener","resetContactPreferencesForm","BaseYourProfileComponent_ng_container_19_Template_lib_contact_preferences_contactPreferencesEvent_8_listener","contactLogo","BaseYourProfileComponent","languageChangeWarningEvent","currentLanguageObject","readOnlyControls","customLogos","isAnySectionEdited","yourProfilePreviousData","checkForReadOnlyControls","setReadOnlyPersonalDetails","setReadOnlyConsentPreferences","setReadOnlyContactPreferences","getLogos","getLogoResolver","imageData","saveConsentPreferences","readOnlyValue","saveType","saveUserConsnetObj","buildUserConsent","consentPurposeList","consentPreferencesComponent","contactPreferencesComponent","consentModel","contactModel","consentFormAnswers","contactFormAnswers","preferenceSaveType","consentObj","consentOptIn","consentPurposeId","customerConsentId","agreeDataSharingConsent","agreeEmailTPCP","agreeMailTPCP","agreePhoneTPCP","phone","dataConsentId","dataConsentID","saveUserConsents","userName","updateLatestDetails","savePersonalDeatils","resetPersonalDetailsForm","_this21","personalDetailsComponent","languagePreferencesForm","langPreferenceComponent","customerPreferredLanguageID","IsB2bUser","currentUser","currentUserName","isSsuccess","setReadOnlyLanguagePreferences","currentLanguageId","customerDetailOptions","sponsorLanguage","UserLanguageCode","addresses","saveLanguagePreferences","updateType","_this22","yourProfileDetails","consentValue","BaseYourProfileComponent_Query","MatAccordion","BaseYourProfileComponent_Template_lib_personal_details_personalDetailsEvent_8_listener","BaseYourProfileComponent_Template_lib_manage_addresses_addressUpdateEvent_16_listener","BaseYourProfileComponent_ng_container_17_Template","BaseYourProfileComponent_ng_container_18_Template","BaseYourProfileComponent_ng_container_19_Template","accordion","manageAddressComponent","addressModalComponent","yourProfileTitleLabel","personalDetailsLabel","manageAddressesLabel","languagePreferenceLabel","consentPreferencesLabel","contactPreferencesLabel","addNewAddressText","saveLabel","cancelLabel","correctFormatErrorMessageLabel","consentSubHeadingDescription","consentPolicyLabel","consentPolicyDescription","contactSubHeadingLabel","contactNote","personalDetailsTitle","personalDetailsSSN","personalDetailsFirstName","personalDetailsLastName","personalDetailsEmail","personalDetailsDOB","personalDetailsPlaceOfBirth","personalDetailsPlaceOfBirthTown","personalDetailsPhoneNumber","contactPreferenceEmail","contactPreferencePhone","contactPreferenceYesOption","contactPreferenceNoOption","addHeaderLabel","defaultAddressLabel","manageAddAddressLine","manageAddTown","manageAddPostCode","manageAddCountry","personalDetailsEmail2","YourProfileComponent","CountryCode","consentAndContactEnabled","radioOption","customerFields","profileEnabledDetailsResponse","yourProfileResponse","countries","countryList","initializeYourProfileObject","languageChangeWarning","initPersonalDetails","initManageAddresses","initLangPreferences","initConsentPreference","initContactPreference","isShowhideField","isMandatory","isReadOnly","getOptionList","titleList","validateNumeric","getMaxLength","validateAlphaWithPunctuations","fieldName","maxDateValue","minAge","isNewShowhideField","phoneField","countryLookupData","strCountry","validateAlphanumericWithSpecialCharacters","addressObject","isMultiLangEnabled","consentObject","shortDescription","longDescription","contactObject","isShowHide","isNewSalesShowHide","isMandatry","fieldConfig","defaultMaxLength","savePersonalDetailsForPartialClaim","baseYourProfileComponent","displayName","XRegExp","YourProfileComponent_Query","YourProfileComponent_Template_lib_base_your_profile_languageChangeWarningEvent_8_listener","_c0$3","_c1$2","components","BaseDocumentService","getTempAttachmentDocumentsURL","deleteTemporaryAttachmentsURL","getFileURL","downloadDocumentURL","storeClaimsTemporaryAttachments","attachmentInfo","FormData","append","attachmentTypeId","attachDescription","attachmentReferenceId","documentRequest","downloadFile","base64DecodetoByteArray","base64EncodeData","byteArray","Uint8Array","atob","char","charCodeAt","base64DecodetoBlobFile","getFileExtension","filename","getUploadedDocIcon","uploadedDocType","supportedFormats","sf","routes$1","yourPoliciesURL","yourPolicyURL","renewPolicyURL","resumeQuoteURL","removeDraftClaimURL","PolicyService","documentService","viewPlociyDetailsObservable","policyUrl","policyID","orderId","renewalQuoteOrderID","requestUrl","quoteOrigin","toPromise","viewPolicyDetail","downloadPolicyDocument","documentInfo","documentTypeName","fileExtension","docRequest","documentId","documentID","context","downloadPolicyAttachment","fileNameWithExtension","attachmentId","findFileTypeIcon","policyUploads","supportedIcon","savePolicyRenewalDetailsToSession","IsRenewalQuote","IsRenewalPolicy","ProductId","ProductTemplateUrl","LocalDateFormatPipe","YourPoliciesComponent_ng_container_7_ng_container_10_Template_input_ngModelChange_4_listener","selectedStatusInput","status_r4","YourPoliciesComponent_ng_container_7_Template_div_click_2_listener","toggleDropdown","YourPoliciesComponent_ng_container_7_ng_container_10_Template","YourPoliciesComponent_ng_container_7_Template_button_click_12_listener","clearFilter","YourPoliciesComponent_ng_container_7_Template_button_click_14_listener","applyFilter","selectedStatusForSorting","hideFilterSelection","statusList","YourPoliciesComponent_ng_container_9_div_1_div_20_Template_div_click_0_listener","policy_r12","viewRenewalPolicyDetail","renewalPolicyID","viewRenewalPolicy","YourPoliciesComponent_ng_container_9_div_1_div_21_Template_div_click_0_listener","_r24","viewRenewalQuoteButtonLabel","formattedPremium","YourPoliciesComponent_ng_container_9_div_1_div_53_Template_div_click_1_listener","renewalPolicyButtonLabel","YourPoliciesComponent_ng_container_9_div_1_Template_div_click_18_listener","YourPoliciesComponent_ng_container_9_div_1_div_20_Template","YourPoliciesComponent_ng_container_9_div_1_div_21_Template","YourPoliciesComponent_ng_container_9_div_1_div_38_Template","YourPoliciesComponent_ng_container_9_div_1_div_39_Template","YourPoliciesComponent_ng_container_9_div_1_div_40_Template","YourPoliciesComponent_ng_container_9_div_1_div_53_Template","productIcon","productCategory","viewTextLabel","checkForViewRenewal","checkForViewRenewalQuote","insurerNameLabel","insurerName","paymentTermsLabel","paymentTerms","policyStatusLabel","policyStatus","showRenewalPolicyButton","YourPoliciesComponent_ng_container_9_div_1_Template","filterPolicyList","noPolicyInfoLabel","yourPoliciesTitleLabel","YourPoliciesComponent","policyService","isPoliciesInfo","productCategoryLabel","policiesInfo","yourpolicyList","renewPolicyButtonAdminLabel","myTransactionsLabel","createStatusArray","sortObjectBasedOnExpiryDate","bindTranslatedLabels","isRenewPolicyButton","policyStatusInEnglish","renewalQuoteStatus","displayWindowSize","scrollTo","behavior","windowWidth","scrollWidth","windowHeight","scrollHeight","overlayElement","topHeight","elementHeight","overlayLeft","left","dropdownContent","minWidth","paddingLeft","translatedLabelList","isViewRenewalQuote","_this23","quoteReferenceID","renewalQuoteReferenceID","renewalProductId","QuoteReferenceID","AssociatedPolicyId","RenewalQuoteOrderID","RenewalQuoteReferenceID","RenewalPolicyID","RenewalPolicyNumber","RenewalProductId","PreviousPage","ViewRenewalQuote","renewalPolicy","firstValue","secondValue","YourPoliciesComponent_Template","YourPoliciesComponent_ng_container_7_Template","YourPoliciesComponent_ng_container_9_Template","YourPoliciesComponent_ng_container_10_Template","_c0$2","_c1$1","newQuoteLabel","newPolicySearchLabel","savedQuotesLabel","renewalsLabel","loginRegisterLabel","logoutLabel$2","newClaimLabel","yourClaimLabel","yourPoliciesLabel","homeLabel","HeaderComponent","routerSubscription","languageSelection","getLogo","setLoginLogoutText","displayMenus","displayRenewalsMenu","constructPathName","currentPageLangSelection","accountVerification","headerText","policySearchText","isSalesV2","menuItems","parentArray","parentId","menuId","isWTWBrandingEnabled","navigationEntries","performance","getEntriesByType","HeaderComponent_Template","HeaderComponent_Template_lib_topbar_switcher_navigateToNavLink_0_listener","DocusignErrorPageComponent_div_1_Template_lib_top_bar_with_icon_and_link_emitLabelAction_2_listener","DocusignErrorPageComponent_div_1_Template_lib_top_bar_with_icon_and_link_emitIconAction_2_listener","message_r12","DocusignErrorPageComponent_section_8_div_4_p_1_Template","DocusignErrorPageComponent_section_8_p_3_Template","DocusignErrorPageComponent_section_8_div_4_Template","message_r16","DocusignErrorPageComponent_section_9_div_2_p_1_Template","DocusignErrorPageComponent_section_9_p_1_Template","DocusignErrorPageComponent_section_9_div_2_Template","DocusignErrorPageComponent_section_10_Template_lib_primary_button_clicked_2_listener","errorHeaderLabel$1","errorMessageLabel","backButtonLabel$1","logoutLabel$1","customerAccountLockedLabel","contactServicingTeamLabel","DocusignErrorPageComponent","_this24","_this25","DocusignErrorPageComponent_Template","DocusignErrorPageComponent_div_1_Template","DocusignErrorPageComponent_mat_icon_6_Template","DocusignErrorPageComponent_section_8_Template","DocusignErrorPageComponent_section_9_Template","DocusignErrorPageComponent_section_10_Template","DocusignErrorPageComponent_lib_progress_spinner_11_Template","_c0$1","message_r5","LinkExpiredScreenComponent_div_11_p_1_Template","message_r9","LinkExpiredScreenComponent_section_12_div_2_p_1_Template","LinkExpiredScreenComponent_section_12_p_1_Template","LinkExpiredScreenComponent_section_12_div_2_Template","errorHeaderLabel","backButtonLabel","logoutLabel","LinkExpiredScreenComponent","_this26","LinkExpiredScreenComponent_Template","LinkExpiredScreenComponent_p_10_Template","LinkExpiredScreenComponent_div_11_Template","LinkExpiredScreenComponent_section_12_Template","LinkExpiredScreenComponent_Template_lib_primary_button_clicked_15_listener","LinkExpiredScreenComponent_lib_progress_spinner_16_Template","ButtonToggleComponent_ng_container_2_Template_mat_button_toggle_change_1_listener","button_r2","_c0","ButtonToggleComponent","CoverageNameClicked","buttonLabels","button","addCustomCss","previousValue","isTextExceed","tile","groupId","isCustomHeight","isExcluded","ButtonToggleComponent_Template","ButtonToggleComponent_ng_container_2_Template","_c1","ɵinj","ɵɵdefineInjector","PdfViewerComponent","NgxMatTimepickerModule","NgxCaptchaModule","LayoutModule","PdfViewerModule","NgbTypeaheadModule","BackOfficeUsersService","CardButtonBase","MenuParams","CardWithMenu","intercept","excludeRequests","recaptchaRequests","addTokenHeader","addRecaptcha","excludeRequest","toLocaleLowerCase","recaptchaRequest","clone","setHeaders","Authorization","executeAsPromise","useGlobalDomain","switchMap","handle","BaseTranslationsResolver","_this27","translations","getTranslation","ɵprov","ɵɵdefineInjectable","AuthenticationGuard","_this28","_ref3","setATPLoginExpiryTime","checkCustomerBlockResponse","isBlockedCustomer","isSuccess","isBlocked","errorRedirect","_x3","returnUrl","_this29","_this30","authenticate","_this31","LoginBaseComponent_Template","FileUploadField","AccountVerificationResolver","_this32","SponsorLanguageResolver","YourProfileResolver","_this33","GetLogoResolver","ProfileEnabledDetailsResolver","_this34","YourPoliciesResolver","_this35","customerid","MyTransactionsLabelResolver","_this36","getUiElementForMyTransactions","renewPolicyButtonLabel"],"sourceRoot":"webpack:///","x_google_ignoreList":[41]}