{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/app/app.component.html","webpack:///./src/app/auth/login.component.html","webpack:///./src/app/common/components/bookmark/bookmark.component.html","webpack:///./src/app/common/components/breadcrumb/breadcrumb.component.html","webpack:///./src/app/common/components/button/button.component.html","webpack:///./src/app/common/components/claims/claims.component.html","webpack:///./src/app/common/components/collapse/collapse.component.html","webpack:///./src/app/common/components/customizer/customizer.component.html","webpack:///./src/app/common/components/feather-icons/feather-icons.component.html","webpack:///./src/app/common/components/footer/footer.component.html","webpack:///./src/app/common/components/header/header.component.html","webpack:///./src/app/common/components/layout/content-layout/content-layout.component.html","webpack:///./src/app/common/components/layout/full-layout/full-layout.component.html","webpack:///./src/app/common/components/loader/loader.component.html","webpack:///./src/app/common/components/maximize/maximize.component.html","webpack:///./src/app/common/components/modal/modal.component.html","webpack:///./src/app/common/components/navigation/navigation.component.html","webpack:///./src/app/common/components/offers/offers.component.html","webpack:///./src/app/common/components/pdf-viewer/pdf-viewer.component.html","webpack:///./src/app/common/components/policies/policies.component.html","webpack:///./src/app/common/components/right-sidebar/right-sidebar.component.html","webpack:///./src/app/common/components/sidebar/sidebar.component.html","webpack:///./src/app/common/processcontrol/processcontrol.component.html","webpack:///./src/app/common/processsummary/process-summary.component.html","webpack:///./src/app/offer/new/new.component.html","webpack:///./src/app/portal/header/portal-header.component.html","webpack:///./src/app/portal/home/portal-home.component.html","webpack:///./src/app/portal/login/portal-login.component.html","webpack:///./src/app/portal/offer/new/portal-offer-new.component.html","webpack:///./src/app/portal/offer/portal-offer.component.html","webpack:///./src/app/portal/password/portal-password.component.html","webpack:///./src/app/portal/payment/portal-payment.component.html","webpack:///./src/app/portal/policy/portal-policy.component.html","webpack:///./src/app/portal/quote/portal-quote.component.html","webpack:///./src/app/portal/register/portal-register.component.html","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app/app-routing.module.ts","webpack:///./src/app/app.component.ts","webpack:///./src/app/app.module.ts","webpack:///./src/app/auth/access-area.directive.ts","webpack:///./src/app/auth/auth.guard.ts","webpack:///./src/app/auth/authentication.service.ts","webpack:///./src/app/auth/error.interceptor.ts","webpack:///./src/app/auth/jwt.interceptor.ts","webpack:///./src/app/auth/login.component.ts","webpack:///./src/app/client/client.service.ts","webpack:///./src/app/common/appsettings.service.ts","webpack:///./src/app/common/appsettings.ts","webpack:///./src/app/common/components/bookmark/bookmark.component.ts","webpack:///./src/app/common/components/breadcrumb/breadcrumb.component.scss","webpack:///./src/app/common/components/breadcrumb/breadcrumb.component.ts","webpack:///./src/app/common/components/button/button.component.ts","webpack:///./src/app/common/components/claims/claims.component.ts","webpack:///./src/app/common/components/collapse/collapse.component.ts","webpack:///./src/app/common/components/customizer/customizer.component.scss","webpack:///./src/app/common/components/customizer/customizer.component.ts","webpack:///./src/app/common/components/feather-icons/feather-icons.component.ts","webpack:///./src/app/common/components/footer/footer.component.ts","webpack:///./src/app/common/components/header/header.component.ts","webpack:///./src/app/common/components/layout/content-layout/content-layout.component.ts","webpack:///./src/app/common/components/layout/full-layout/full-layout.component.scss","webpack:///./src/app/common/components/layout/full-layout/full-layout.component.ts","webpack:///./src/app/common/components/loader/loader.component.scss","webpack:///./src/app/common/components/loader/loader.component.ts","webpack:///./src/app/common/components/maximize/maximize.component.ts","webpack:///./src/app/common/components/modal/modal.component.ts","webpack:///./src/app/common/components/navigation/navigation.component.ts","webpack:///./src/app/common/components/offers/offers.component.ts","webpack:///./src/app/common/components/pdf-viewer/pdf-handler.service.ts","webpack:///./src/app/common/components/pdf-viewer/pdf-viewer.component.css","webpack:///./src/app/common/components/pdf-viewer/pdf-viewer.component.ts","webpack:///./src/app/common/components/policies/policies.component.ts","webpack:///./src/app/common/components/right-sidebar/right-sidebar.component.ts","webpack:///./src/app/common/components/sidebar/sidebar.component.ts","webpack:///./src/app/common/data/chat/chat.ts","webpack:///./src/app/common/data/config/config.ts","webpack:///./src/app/common/directives/autofocus.directive.ts","webpack:///./src/app/common/directives/collapse.directive.ts","webpack:///./src/app/common/directives/draggable.directive.ts","webpack:///./src/app/common/directives/fullscreen.directive.ts","webpack:///./src/app/common/directives/maximize.directive.ts","webpack:///./src/app/common/directives/modal.directive.ts","webpack:///./src/app/common/formatter/date.formatter.ts","webpack:///./src/app/common/pipes/control-filter.ts","webpack:///./src/app/common/pipes/key-values.ts","webpack:///./src/app/common/pipes/property-filter.ts","webpack:///./src/app/common/pipes/step-filter.ts","webpack:///./src/app/common/processcontrol/processcontrol.component.scss","webpack:///./src/app/common/processcontrol/processcontrol.component.ts","webpack:///./src/app/common/processsummary/process-summary.component.ts","webpack:///./src/app/common/services/api.service.ts","webpack:///./src/app/common/services/chat.service.ts","webpack:///./src/app/common/services/common.service.ts","webpack:///./src/app/common/services/customizer.service.ts","webpack:///./src/app/common/services/nav.service.ts","webpack:///./src/app/common/services/reporting.service.ts","webpack:///./src/app/common/shared.module.ts","webpack:///./src/app/offer/new/new.component.scss","webpack:///./src/app/offer/new/new.component.ts","webpack:///./src/app/offer/offer-common.module.ts","webpack:///./src/app/offer/offer.service.ts","webpack:///./src/app/policy/policy.service.ts","webpack:///./src/app/portal/header/portal-header.component.scss","webpack:///./src/app/portal/header/portal-header.component.ts","webpack:///./src/app/portal/home/portal-home.component.ts","webpack:///./src/app/portal/login/portal-login.component.ts","webpack:///./src/app/portal/offer/new/portal-offer-new.component.ts","webpack:///./src/app/portal/offer/portal-offer.component.ts","webpack:///./src/app/portal/password/portal-password.component.ts","webpack:///./src/app/portal/payment/portal-payment.component.ts","webpack:///./src/app/portal/policy/portal-policy.component.ts","webpack:///./src/app/portal/portal-auth.guard.ts","webpack:///./src/app/portal/portal-common.module.ts","webpack:///./src/app/portal/portal-routing.module.ts","webpack:///./src/app/portal/portal.module.ts","webpack:///./src/app/portal/portal.service.ts","webpack:///./src/app/portal/quote/portal-quote.component.ts","webpack:///./src/app/portal/register/portal-register.component.ts","webpack:///./src/app/template/template.service.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;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;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\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 = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\r\\n\\t
\\r\\n\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\\"\\\"\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\\"\\\"\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t

{{'Login' | translate }}

\\r\\n\\t\\t\\t\\t\\t\\t
{{'Enter your Username and Password' | translate }}
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
{{'Username is required' | translate }}
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
{{'Password is required' | translate }}
\\r\\n\\t\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t\\t\\t{{error}} \\r\\n\\t\\t\\t\\t\\t\\t\\tRetry.\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t\\t
\\r\\n\\t\\t\\t\\t
\\r\\n\\t\\t\\t
\\r\\n\\t\\t
\\r\\n\\t
\\r\\n\\t\"","module.exports = \"
\\r\\n\\t\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{title}}

\\r\\n
    \\r\\n
  1. \\r\\n \\r\\n
  2. \\r\\n
  3. {{breadcrumbs?.parentBreadcrumb}}
  4. \\r\\n
  5. {{breadcrumbs?.childBreadcrumb}}\\r\\n
  6. \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\"","module.exports = \"
\\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 {{claim.ExternalCode}}
    \\r\\n {{claim.PolicyExternalCode}}
    \\r\\n {{claim.ClaimStatusDesc}}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n \\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
Customizer
\\r\\n

Customize & Preview Real Time

\\r\\n \\r\\n \\r\\n
\\r\\n
Customizer configuration
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

To replace our design with your desired theme. Please do configuration as mention

\\r\\n

Path : shared > data > config > config.ts

\\r\\n
\\r\\n
\\r\\n\\r\\nexport class ConfigDB {\\r\\n   static data = {\\r\\n   settings: {\\r\\n   layout_type: '{{customize.data.settings.layout_type}}',\\r\\n   sidebar: {\\r\\n      type: '{{customize.data.settings.sidebar.type}}',\\r\\n      body_type: '{{customize.data.settings.sidebar.body_type}}'\\r\\n   },\\r\\n   sidebar_setting: '{{customize.data.settings.sidebar_setting}}',\\r\\n   sidebar_backround: '{{customize.data.settings.sidebar_backround}}'\\r\\n},\\r\\ncolor: {\\r\\n   layout_version: '{{customize.data.color.layout_version}}',\\r\\n   color: '{{customize.data.color.color}}',\\r\\n   primary_color: '{{customize.data.color.primary_color}}',\\r\\n   secondary_color: '{{customize.data.color.secondary_color}}',\\r\\n   mix_layout: '{{customize.data.color.mix_layout}}'\\r\\n},\\r\\nrouter_animation: 'fadeIn'\\r\\n}\\r\\n}\\r\\n\\r\\n                  
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
Layout Type
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • LTR Layout
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • RTL Layout
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
Sidebar Type
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
Sidebar settings
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    Default
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    Border
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    icon Color
    \\r\\n
  • \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
Light layout
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
Dark Layout
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
Mix Layout
\\r\\n
    \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
Sidebar background setting
\\r\\n
    \\r\\n
  • \\r\\n Color\\r\\n
  • \\r\\n
  • \\r\\n Pattern\\r\\n
  • \\r\\n
  • \\r\\n image\\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n

{{'Copyright' | translate }} {{copyRightYear}} © {{'ARIMA All rights reserved.' | translate }}

\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\\"\\\"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n   \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n   \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n \\r\\n\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
{{wizard.Steps[stepCode].ControlGroups[groupCode].Text}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\"","module.exports = \"
\\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 {{offer.ExtCode + '.' + offer.VersionNo}}
    \\r\\n {{offer.TemplateName}}
    \\r\\n {{offer.PolExtCode}}\\r\\n \\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Page: \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\"","module.exports = \"
\\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 {{policy.ExternalCode}}
    \\r\\n {{policy.PlanName}}
    \\r\\n {{policy.StatusText}}\\r\\n
    \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
MY LIST
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \"","module.exports = \"
\\r\\n
\\\"\\\"
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\"","module.exports = \"\\r\\n
\\r\\n \\r\\n *\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n \\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 )\\\">\\r\\n \\r\\n *\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n *\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n *\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n *\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
{{item.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
{{'Search for Client' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Key' | translate}}{{'Name' | translate}}{{'Tel. No.' | translate}}{{'ID/Reg. No.' | translate}}
{{row.ClientKey}}{{row.ClientName}}{{row.MobileTelephone}}{{row.IDNumber}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{'Search for Arrangement' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Arrangement' | translate}}{{'Agent Code' | translate}}{{'Agent Name' | translate}}{{'Effective From' | translate}}{{'Effective Until' | translate}}
{{row.ArrangementCode}}{{row.AgentCode}}{{row.AgentName}}{{row.FromDate | date:'dd/MMM/yyyy'}}{{row.ToDate | date:'dd/MMM/yyyy'}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n
{{'New Lead' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n {{'Summary' | translate }} - {{code}}\\r\\n | {{'Pending Requests'| translate}}: {{openRequestCount}}\\r\\n
\\r\\n
    \\r\\n
  1. {{'Process' | translate }} : {{process | translate}}
  2. \\r\\n
  3. {{'Product' | translate }} : {{product | translate}}
  4. \\r\\n \\r\\n \\r\\n \\r\\n
  5. \\r\\n\\r\\n \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value}}\\r\\n \\r\\n\\r\\n \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{moment(wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value, \\\"DD/MM/YYYY\\\").format(\\\"DD/MM/YYYY\\\")}}\\r\\n \\r\\n\\r\\n \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{wizard.Referentials[wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Referential].Values[wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value]}}\\r\\n \\r\\n\\r\\n \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{'Yes' | translate }}\\r\\n \\r\\n\\r\\n \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{'No' | translate }}\\r\\n \\r\\n\\r\\n
  6. \\r\\n\\r\\n \\r\\n
  7. \\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Text}} {{wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Text | translate}}:\\r\\n {{groupSummary[stepCode + groupCode + controlCode]}}\\r\\n
  8. \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
  9. \\r\\n {{summary.key | translate}}:\\r\\n {{summary.value}}\\r\\n
  10. \\r\\n
    \\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
1\\\">\\r\\n
\\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\\\">\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{'Quote'| translate}}: {{offerexternalcde}} | {{'Version'| translate}}: {{wizard.VersionNo}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{wizard.Steps[stepCode].ControlGroups[groupCode].Text | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\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\\\">\\r\\n
\\r\\n
\\r\\n
{{wizard.Steps[stepCode].ControlGroups[groupCode].Text | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
{{wizard.Steps[stepCode].Sections[sectionCode].Text | translate}}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n {{wizard.Steps[stepCode].Offers[offerCode].Text | translate}}
\\r\\n {{this.wizard.CurrencySymbol | translate}} {{ this.wizard.Steps[stepCode].Offers[offerCode].Value | number : decimals}}\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{wizard.Steps[stepCode].Offers[offerCode].Sections[section.key].Text | translate}}\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{section.value.Text | translate}}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{'Promotions' | translate}}\\r\\n
\\r\\n
\\r\\n {{'Promotion Code' | translate}}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n {{'Payment Summary' | translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Premium:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].Premium | number : decimals}}
{{'Admin Fee:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].AdminFee | number : decimals}}
{{'Stamps & Tax:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].StampFee | number : decimals}}
{{'Total:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].Value | number : decimals}}
{{'Discount:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].DiscountAmount | number : decimals}}
{{'Amount to pay:' | translate}}{{wizard.Steps[stepCode].Offers[offerCode].DiscountedValuePromo | number : decimals}}
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{wizard.Documents[docCode].DocumentTypeText}}\\r\\n

\\r\\n {{wizard.Documents[docCode].ImageName}}\\r\\n

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

\\r\\n {{'Remove' | translate}} \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
{{'Integrity Check' | translate}}
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{integrityCode.CheckMessage}}{{integrityCode.CheckResult}}\\r\\n
\\r\\n {{'Critical' | translate}}\\r\\n
\\r\\n
\\r\\n {{'Warning' | translate}}\\r\\n
\\r\\n
\\r\\n {{'Success' | translate }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'INTEGRITY CHECK FAILED. PLEASE TRY AGAIN.' | translate}}
\\r\\n
{{'NO CRITICAL INTEGRITY CHECK FAILED. WOULD YOU LIKE TO CONTINUE?' | translate}}
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n \\r\\n
\\r\\n
{{'Integrity Check Report for Policy Number' | translate}}: {{wizard.Policy.ExternalCode}}
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Integrity Check' | translate}}{{'Result' | translate}}{{'Message' | translate}}
{{check.Description}}\\r\\n \\r\\n \\r\\n \\r\\n {{check.Message}}
\\r\\n
\\r\\n {{'POLICY DATA HAS UNDERGONE THE INTEGRITY CHECK SUCCESSFULLY.'| translate}}\\r\\n {{'THE POLICY STATUS CAN BE CHANGED'| translate}}\\r\\n {{'POLICY DATA HAS UNDERGONE THE INTEGRITY CHECK WITH WARNINGS.'| translate}}\\r\\n {{'PLEASE CHECK THE ERRORS BEFORE PROCEEDING TO ACCEPTANCE.'| translate}}\\r\\n {{'POLICY DATA FAILED TO MEET INTEGRITY CRITERIA.'| translate}}\\r\\n {{'THE POLICY STATUS MAY NOT BE CHANGED.'| translate}}\\r\\n {{'PLEASE SUBMIT A REQUEST TO GET APPROVAL FROM THE MANAGER'| translate}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n\"","module.exports = \"\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n {{product.DepartmentCode == 1 ? ('Motor Insurance' | translate) : ('Travel Insurance' | translate)}}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\\"image\\\"\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n\\r\\n\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Login' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Product' | translate}}{{'Offer Number' | translate}}{{'Date Created' | translate}}{{'Type' | translate}}{{'View' | translate}}
{{quote.ProductName ? quote.ProductName : quote.TemplateName}}{{quote.ExtCode + '.' + quote.VersionNo}}\\r\\n {{quote.ADateTimeCreated | date:'dd/MM/yyyy'}}\\r\\n \\r\\n {{'Offer' | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Forgot Password?' | translate }}
\\r\\n
\\r\\n
\\r\\n

\\r\\n {{ \\\"Please enter your email address and we'll send you an email to recover your password.\\\" | translate }}\\r\\n

\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Reference Number' | translate}}{{'Product' | translate}}{{'Amount' | translate}}{{'Date' | translate}}
{{payment.ReferenceNumber}}{{payment.TemplateName}}{{payment.CurrencySymbol | translate}}: {{ payment.PaymentAmount }}\\r\\n {{payment.PaymentDate}}\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Product' | translate}}{{'Policy Code' | translate}}{{'Date Created' | translate}}{{'Type' | translate}}{{'Status' | translate}}{{'Print' | translate}}
{{policy.ProductName ? policy.ProductName : policy.TemplateName}}{{policy.ExtCode + '.' + policy.VersionNo}} 0 || policy.PolStatusCde == 4 || (policy.PolStatusCde > 0 && policy.PolStatusCde != 4)\\\">{{policy.PolExtCode}}\\r\\n {{policy.ADateTimeCreated | date:'dd/MM/yyyy'}}\\r\\n \\r\\n {{ 'Policy' | translate}}\\r\\n {{ 'Quote' | translate}}\\r\\n \\r\\n {{policy.PolStatus | translate}}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
{{'Product' | translate}}{{'Policy Code' | translate}}{{'Date Created' | translate}}{{'Type' | translate}}{{'Status' | translate}}
{{quote.ProductName ? quote.ProductName : quote.TemplateName}}{{quote.ExtCode + '.' + quote.VersionNo}} 0 || quote.PolStatusCde == 4 || (quote.PolStatusCde > 0 && quote.PolStatusCde != 4)\\\">{{quote.PolExtCode}}\\r\\n {{quote.ADateTimeCreated | date:'dd/MM/yyyy'}}\\r\\n \\r\\n {{'Quote' | translate}}\\r\\n \\r\\n {{quote.PolStatus | translate}}\\r\\n
\\r\\n
\\r\\n
\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
{{'Sign-Up' | translate }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n *\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","var map = {\n\t\"./claim/claim.module\": [\n\t\t\"./src/app/claim/claim.module.ts\",\n\t\t\"claim-claim-module\"\n\t],\n\t\"./client-portal/client-portal.module\": [\n\t\t\"./src/app/client-portal/client-portal.module.ts\",\n\t\t\"client-portal-client-portal-module\"\n\t],\n\t\"./client/client.module\": [\n\t\t\"./src/app/client/client.module.ts\",\n\t\t\"client-client-module\"\n\t],\n\t\"./collection/collection.module\": [\n\t\t\"./src/app/collection/collection.module.ts\",\n\t\t\"collection-collection-module\"\n\t],\n\t\"./discount/discount.module\": [\n\t\t\"./src/app/discount/discount.module.ts\",\n\t\t\"discount-discount-module\"\n\t],\n\t\"./dts/dts.module\": [\n\t\t\"./src/app/dts/dts.module.ts\",\n\t\t\"dts-dts-module\"\n\t],\n\t\"./dxroot/dxroot.module\": [\n\t\t\"./src/app/dxroot/dxroot.module.ts\",\n\t\t\"dxroot-dxroot-module\"\n\t],\n\t\"./notification/notification.module\": [\n\t\t\"./src/app/notification/notification.module.ts\",\n\t\t\"notification-notification-module\"\n\t],\n\t\"./offer/offer.module\": [\n\t\t\"./src/app/offer/offer.module.ts\",\n\t\t\"offer-offer-module\"\n\t],\n\t\"./policy/policy.module\": [\n\t\t\"./src/app/policy/policy.module.ts\",\n\t\t\"policy-policy-module\"\n\t],\n\t\"./portal/portal.module\": [\n\t\t\"./src/app/portal/portal.module.ts\"\n\t],\n\t\"./profile/profile.module\": [\n\t\t\"./src/app/profile/profile.module.ts\",\n\t\t\"profile-profile-module\"\n\t],\n\t\"./promotion/promotion.module\": [\n\t\t\"./src/app/promotion/promotion.module.ts\",\n\t\t\"promotion-promotion-module\"\n\t],\n\t\"./report/report.module\": [\n\t\t\"./src/app/report/report.module.ts\",\n\t\t\"report-report-module\"\n\t],\n\t\"./template/claim/template-claim.module\": [\n\t\t\"./src/app/template/claim/template-claim.module.ts\",\n\t\t\"template-claim-template-claim-module\"\n\t],\n\t\"./template/client/template-client.module\": [\n\t\t\"./src/app/template/client/template-client.module.ts\",\n\t\t\"template-client-template-client-module\"\n\t],\n\t\"./template/offer/template-offer.module\": [\n\t\t\"./src/app/template/offer/template-offer.module.ts\",\n\t\t\"template-offer-template-offer-module\"\n\t],\n\t\"./template/policy/template-policy.module\": [\n\t\t\"./src/app/template/policy/template-policy.module.ts\",\n\t\t\"template-policy-template-policy-module\"\n\t],\n\t\"./template/report/template-report.module\": [\n\t\t\"./src/app/template/report/template-report.module.ts\",\n\t\t\"template-report-template-report-module\"\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";\nmodule.exports = webpackAsyncContext;","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { PortalAuthGuard } from './portal/portal-auth.guard';\r\nimport { LoginComponent } from './auth/login.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'App/DxRoot',\r\n loadChildren: './dxroot/dxroot.module#DxRootModule',\r\n canActivate: [AuthGuard] \r\n },\r\n {\r\n path: 'App/DTS',\r\n loadChildren: './dts/dts.module#DtsModule'\r\n },\r\n {\r\n path: 'App/ClientPortal',\r\n loadChildren: './client-portal/client-portal.module#ClientPortalModule',\r\n canActivate: [AuthGuard]\r\n }, \r\n {\r\n path: 'App/Claim',\r\n loadChildren: './claim/claim.module#ClaimModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Collection',\r\n loadChildren: './collection/collection.module#CollectionModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Client',\r\n loadChildren: './client/client.module#ClientModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Offer',\r\n loadChildren: './offer/offer.module#OfferModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Policy',\r\n loadChildren: './policy/policy.module#PolicyModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Report',\r\n loadChildren: './report/report.module#ReportModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Discount',\r\n loadChildren: './discount/discount.module#DiscountModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Promotion',\r\n loadChildren: './promotion/promotion.module#PromotionModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Template/Claim',\r\n loadChildren: './template/claim/template-claim.module#TemplateClaimModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Template/Client',\r\n loadChildren: './template/client/template-client.module#TemplateClientModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Template/Offer',\r\n loadChildren: './template/offer/template-offer.module#TemplateOfferModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Template/Policy',\r\n loadChildren: './template/policy/template-policy.module#TemplatePolicyModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Template/Report',\r\n loadChildren: './template/report/template-report.module#TemplateReportModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Notification',\r\n loadChildren: './notification/notification.module#NotificationModule',\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'App/Profile',\r\n loadChildren: './profile/profile.module#ProfileModule',\r\n canActivate: [AuthGuard]\r\n }, \r\n {\r\n path: 'Portal/Home',\r\n loadChildren: './portal/portal.module#PortalModule',\r\n canActivate: [PortalAuthGuard]\r\n },\r\n { path: 'Account/Login', component: LoginComponent },\r\n { path: '', loadChildren: './dxroot/dxroot.module#DxRootModule', canActivate: [AuthGuard] },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { CustomizerService } from './common/services/customizer.service';\r\nimport { NavService } from './common/services/nav.service';\r\nimport { User } from './auth/user';\r\nimport { AuthenticationService } from './auth/authentication.service';\r\n\n@Component({\n selector: 'app-root',\n templateUrl: 'app.component.html'\n})\nexport class AppComponent {\n\n public systemCode: string;\n public userSelectedLang: string;\n public controller: string;\n public action: string;\n public systemFooter: string;\n public version: string;\n public insurancedXPortal: string = \"false\";\n public right_side_bar: boolean;\n currentUser: User;\n\n constructor(private translate: TranslateService,\r\n public navServices: NavService,\r\n public customizer: CustomizerService,\r\n public authService: AuthenticationService) {\r\n this.authService.currentUser.subscribe(x => this.currentUser = x);\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('userSelectedLang')) {\r\n this.userSelectedLang = window['__env']['userSelectedLang'];\r\n translate.setDefaultLang(this.userSelectedLang);\r\n this.translate.use(this.userSelectedLang);\r\n if (this.userSelectedLang == \"ar\") {\r\n this.customizer.setLayoutType(\"rtl\");\r\n }\r\n else {\r\n this.customizer.setLayoutType(\"ltr\");\r\n }\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('insurancedXPortal')) {\r\n this.insurancedXPortal = window['__env']['insurancedXPortal'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('systemCode')) {\r\n this.systemCode = window['__env']['systemCode'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('controller')) {\r\n this.controller = window['__env']['controller'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('action')) {\r\n this.action = window['__env']['action'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('systemFooter')) {\r\n this.systemFooter = window['__env']['systemFooter'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('version')) {\r\n this.version = window['__env']['version'];\r\n }\r\n }\n\n public getRouterOutletState(outlet) {\r\n return outlet.isActivated ? outlet.activatedRoute : '';\r\n }\n\n public rightSidebar($event) {\r\n this.right_side_bar = $event\r\n }\n\n title = 'gisApp';\n}\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\n\r\nimport { TranslateLoader, TranslateModule } from '@ngx-translate/core';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { HttpClient, HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { HeaderComponent } from './common/components/header/header.component';\r\nimport { FooterComponent } from './common/components/footer/footer.component';\r\nimport { NavigationComponent } from './common/components/navigation/navigation.component';\r\n\r\nimport { ToastrModule } from 'ngx-toastr';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\n\r\nimport { ContentLayoutComponent } from './common/components/layout/content-layout/content-layout.component';\r\nimport { FullLayoutComponent } from './common/components/layout/full-layout/full-layout.component';\r\nimport { CustomizerComponent } from './common/components/customizer/customizer.component';\r\n\r\nimport { RightSidebarComponent } from './common/components/right-sidebar/right-sidebar.component';\r\nimport { SidebarComponent } from './common/components/sidebar/sidebar.component';\r\nimport { SharedModule } from './common/shared.module';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { ChartsModule } from 'ng2-charts';\r\n\r\nimport { NgProgressModule } from '@ngx-progressbar/core';\r\nimport { NgProgressHttpModule } from '@ngx-progressbar/http';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { NgbDateParserFormatter, NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgbDateFormatter } from './common/formatter/date.formatter';\r\nimport { AppSettingsService } from \"./common/appsettings.service\";\r\nimport { Observable } from 'rxjs';\r\nimport { PortalModule } from './portal/portal.module';\r\nimport { JwtInterceptor } from './auth/jwt.interceptor';\r\nimport { ErrorInterceptor } from './auth/error.interceptor';\r\nimport { PortalCommonModule } from './portal/portal-common.module';\r\nimport { LoginComponent } from './auth/login.component';\r\n\r\nexport class CustomLoader implements TranslateLoader {\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n getTranslation(language: string): Observable {\r\n // Condition satisfies upon page load. com.json is loaded.\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n\r\n if (!language && browserWindowEnv.hasOwnProperty('defaultSystemLangId') ) {\r\n var languageID = window['__env']['defaultSystemLangId'];\r\n if (languageID == \"1\")\r\n language = \"en\";\r\n else if (languageID == \"2\")\r\n language = \"ar\";\r\n else if (languageID == \"3\")\r\n language = \"fr\";\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('takaful') && window['__env']['takaful'] == \"true\") {\r\n return this.http.get('scripts/libs/assets/i18n/ta' + language + '.json');\r\n }\r\n else {\r\n return this.http.get('scripts/libs/assets/i18n/' + language + '.json');\r\n }\r\n }\r\n}\r\n\r\n@NgModule({\r\n declarations: [\r\n FullLayoutComponent,\r\n ContentLayoutComponent,\r\n CustomizerComponent,\r\n RightSidebarComponent,\r\n SidebarComponent,\r\n AppComponent,\r\n HeaderComponent,\r\n FooterComponent,\r\n NavigationComponent,\r\n LoginComponent\r\n ],\r\n imports: [\r\n ReactiveFormsModule,\r\n PortalCommonModule,\r\n NgbModule,\r\n NgxPaginationModule,\r\n NgxSpinnerModule,\r\n NgProgressModule,\r\n NgProgressHttpModule,\r\n ChartsModule,\r\n FormsModule,\r\n SharedModule,\r\n BrowserAnimationsModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n PortalModule,\r\n TranslateModule.forRoot({\r\n loader: { provide: TranslateLoader, useClass: CustomLoader, deps: [HttpClient] },\r\n //missingTranslationHandler: { provide: MissingTranslationHandler, useClass: MyMissingTranslationHandler },\r\n isolate: false\r\n }),\r\n ToastrModule.forRoot({\r\n \"timeOut\": 5000,\r\n \"closeButton\": true,\r\n \"progressBar\": true,\r\n \"positionClass\": \"toast-top-right\",\r\n \"extendedTimeOut\": 1000,\r\n \"preventDuplicates\": true\r\n })\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n providers: [\r\n { provide: HTTP_INTERCEPTORS, useClass: JwtInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: ErrorInterceptor, multi: true },\r\n { provide: NgbDateParserFormatter, useClass: NgbDateFormatter },\r\n AppSettingsService\r\n ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n\r\n// required for AOT compilation\r\nexport function HttpLoaderFactory(http: HttpClient) {\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('takaful') && window['__env']['takaful'] == \"true\")\r\n return new TranslateHttpLoader(http, \"scripts/libs/assets/i18n/ta\");\r\n else\r\n return new TranslateHttpLoader(http, \"scripts/libs/assets/i18n/\");\r\n}\r\n","import { Directive, OnInit, TemplateRef, ViewContainerRef, Input } from '@angular/core';\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Directive({ selector: '[accessArea]'})\r\nexport class AccessAreaDirective implements OnInit {\r\n constructor(\r\n private templateRef: TemplateRef,\r\n private authenticationService: AuthenticationService,\r\n private viewContainer: ViewContainerRef\r\n ) { }\r\n\r\n accessCodes: string[];\r\n\r\n @Input() \r\n set accessArea(codes: string[]) {\r\n if (!codes || !codes.length) {\r\n throw new Error('Access area is empty or missed');\r\n }\r\n\r\n this.accessCodes = codes;\r\n }\r\n\r\n ngOnInit() {\r\n var user = this.authenticationService.User;\r\n var config = this.authenticationService.Config;\r\n\r\n let hasAccess = false;\r\n\r\n if (this.authenticationService.User && this.accessCodes) {\r\n //hasAccess = this.accessCodes.some(r => config.privileges(r));\r\n var privileges: any = config.privileges;\r\n var requiredAccessAreaCodes = this.accessCodes; //multiple access area \r\n\r\n if (privileges && requiredAccessAreaCodes) {\r\n for (var i = 0; i < requiredAccessAreaCodes.length; i++) { //123:SWR,124:WR,125:R,126\r\n var tempAccess = requiredAccessAreaCodes[i].split(':');//123:SWR\r\n\r\n var requiredAccessArea = tempAccess[0];//123\r\n var requiredAccessType = tempAccess.length > 1 ? tempAccess[1] : 'R'; //SWR or default R\r\n\r\n var assignedAccessType = privileges[requiredAccessArea]; //assigned privilege for example either S or W or R\r\n if (assignedAccessType && requiredAccessType.indexOf(assignedAccessType) >= 0) { \r\n hasAccess = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n if (hasAccess) {\r\n this.viewContainer.createEmbeddedView(this.templateRef);\r\n } else {\r\n this.viewContainer.clear();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.User;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/Account/Login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { BehaviorSubject, Observable } from 'rxjs';\r\nimport { map } from 'rxjs/operators';\r\n\r\n\r\nimport { User, UserConfig } from './user';\r\nimport { ApiService } from '../common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomizerService } from '../common/services/customizer.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AuthenticationService {\r\n private currentUserSubject: BehaviorSubject;\r\n public currentUser: Observable;\r\n public config: any;\r\n private currentUserConfigSubject: BehaviorSubject;\r\n public currentUserConfig: Observable;\r\n\r\n constructor(private http: HttpClient,\r\n private apiService: ApiService,\r\n private translate: TranslateService,\r\n public customize: CustomizerService) {\r\n\r\n this.initUser();\r\n }\r\n\r\n public next(user) {\r\n this.currentUserSubject.next(user);\r\n }\r\n\r\n public get User(): User {\r\n return this.currentUserSubject.value;\r\n }\r\n\r\n public initUser() {\r\n this.currentUserSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUser')));\r\n this.currentUser = this.currentUserSubject.asObservable();\r\n\r\n this.currentUserConfigSubject = new BehaviorSubject(JSON.parse(localStorage.getItem('currentUserConfig')));\r\n this.currentUserConfig = this.currentUserConfigSubject.asObservable();\r\n }\r\n\r\n public get Config(): UserConfig {\r\n return this.currentUserConfigSubject.value;\r\n }\r\n\r\n login(username: string, password: string, authcode: string) {\r\n //return this.http.post(`${environment.apiUrl}/users/authenticate`, { username, password })\r\n var endPoint = \"DxToken\";\r\n var userData = \"username=\" + username + \"&password=\" + password + \"&grant_type=password\";\r\n if (authcode) endPoint = \"DxExtToken\";\r\n\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'No-Auth': 'True' });\r\n\r\n return this.http.post(endPoint, userData, { headers: reqHeader })\r\n .pipe(map(user => {\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n //localStorage.setItem('currentUser', JSON.stringify(user));\r\n \r\n this.currentUserSubject.next(user);\r\n\r\n this.getUserConfig();\r\n\r\n if (this.translate.currentLang == 'ar') {\r\n this.customize.setLayoutType('rtl')\r\n }\r\n else {\r\n this.customize.setLayoutType('ltr')\r\n }\r\n\r\n return user;\r\n }));\r\n }\r\n\r\n getUserConfig() {\r\n var language = 1;\r\n if (this.translate.currentLang == 'ar')\r\n language = 2;\r\n else if (this.translate.currentLang == 'fr')\r\n language = 3;\r\n\r\n this.apiService.get(\"Api/User/Config?language=\" + language, \"\").subscribe((userConfig: any) => {\r\n this.config = userConfig;\r\n this.currentUserConfigSubject.next(userConfig); \r\n return userConfig;\r\n });\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n this.config = null;\r\n localStorage.removeItem('currentUser');\r\n localStorage.removeItem('currentUserConfig');\r\n this.currentUserSubject.next(null);\r\n this.currentUserConfigSubject.next(null);\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { AuthenticationService } from './authentication.service';\r\n\r\n@Injectable()\r\nexport class ErrorInterceptor implements HttpInterceptor {\r\n constructor(private authenticationService: AuthenticationService) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request).pipe(catchError(err => {\r\n if (err.status === 401) {\r\n // auto logout if 401 response returned from api\r\n this.authenticationService.logout();\r\n location.reload(true);\r\n }\r\n\r\n const error = err.error.message || err.statusText;\r\n return throwError(error);\r\n }))\r\n }\r\n}","import { Injectable } from '@angular/core';\r\nimport { HttpRequest, HttpHandler, HttpEvent, HttpInterceptor } from '@angular/common/http';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { finalize } from 'rxjs/operators';\r\nimport { CommonService } from '../common/services/common.service';\r\n\r\n@Injectable()\r\nexport class JwtInterceptor implements HttpInterceptor {\r\n\r\n public totalRequests = 0;\r\n public completedRequests = 0;\r\n\r\n constructor(private translate: TranslateService,\r\n private authenticationService: AuthenticationService,\r\n private commonService: CommonService ) { }\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.totalRequests++;\r\n //this.commonService.apiProgressChange.next({ progresscount: this.totalRequests, text: \"API Request Started\" });\r\n // add authorization header with jwt token if available\r\n let currentUser = this.authenticationService.User;\r\n if (currentUser && currentUser.access_token) {\r\n\r\n var takaful = \"\";\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('takaful')) {\r\n takaful = window['__env']['takaful'];\r\n }\r\n\r\n var language = \"1\";\r\n if (this.translate.currentLang == 'ar')\r\n language = \"2\";\r\n else if (this.translate.currentLang == 'fr')\r\n language = \"3\";\r\n\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${currentUser.access_token}`,\r\n Language: language,\r\n Takaful: takaful\r\n }\r\n });\r\n }\r\n\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n\r\n this.completedRequests++;\r\n\r\n if (this.completedRequests === this.totalRequests) {\r\n this.completedRequests = 0;\r\n this.totalRequests = 0;\r\n //this.commonService.apiProgressChange.next({ progresscount: this.totalRequests, text: \"API Request Completed\" });\r\n }\r\n\r\n })\r\n );\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { AuthenticationService } from './authentication.service';\r\nimport { first } from 'rxjs/operators';\r\nimport { ConfigDB } from '../common/data/config/config';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomizerService } from '../common/services/customizer.service';\r\n\r\ntype UserFields = 'email' | 'password';\r\ntype FormErrors = { [u in UserFields]: string };\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html'\r\n})\r\nexport class LoginComponent implements OnInit {\r\n loginForm: FormGroup;\r\n\r\n submitted = false;\r\n returnUrl: string;\r\n error = '';\r\n loading: boolean = false;\r\n takaful: string = \"\";\r\n takafulswitch: string = \"\";\r\n takafulmode: string = \"\";\r\n\r\n defaultLang: string = \"\";\r\n hideLang: string = \"\";\r\n\r\n providerCode: string = \"\";\r\n userID: string = \"\";\r\n userToken: string = \"\";\r\n passCode: string = \"\";\r\n redirectUrl: string = \"\";\r\n loginError: string = \"\";\r\n rootDir: string = \"\";\r\n\r\n constructor(public authService: AuthenticationService,\r\n private formBuilder: FormBuilder,\r\n private route: ActivatedRoute,\r\n private router: Router,\r\n private configDB: ConfigDB,\r\n private translate: TranslateService,\r\n private customizer:CustomizerService) {\r\n\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n\r\n if (browserWindowEnv.hasOwnProperty('rootDir')) {\r\n this.rootDir = window['__env']['rootDir'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('providerCode')) {\r\n this.providerCode = window['__env']['providerCode'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('userID')) {\r\n this.userID = window['__env']['userID'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('passCode')) {\r\n this.passCode = window['__env']['passCode'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('redirectUrl')) {\r\n this.redirectUrl = window['__env']['redirectUrl'];\r\n if (this.redirectUrl) this.redirectUrl = this.redirectUrl.replace(/&/g, '&');\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('loginError')) {\r\n this.loginError = window['__env']['loginError'];\r\n this.error = this.loginError;\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('userToken')) {\r\n this.userToken = window['__env']['userToken'];\r\n }\r\n \r\n if (browserWindowEnv.hasOwnProperty('takaful')) {\r\n this.takaful = window['__env']['takaful']; \r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('takafulswitch')) {\r\n this.takafulswitch = window['__env']['takafulswitch'];\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('defaultLang')) {\r\n this.defaultLang = window['__env']['defaultLang'];\r\n if (this.defaultLang == \"1\")\r\n this.translate.use('en');\r\n else if (this.defaultLang == \"2\")\r\n this.translate.use('ar');\r\n else if (this.defaultLang == \"3\")\r\n this.translate.use('fr');\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('HideLang')) {\r\n this.hideLang = window['__env']['HideLang'];\r\n }\r\n\r\n if (this.authService.User) {\r\n this.router.navigate(['/']);\r\n }\r\n else {\r\n\r\n document.body.setAttribute(\"style\", \"background-image:url('\" + this.rootDir + configDB.data.background + \"');background-size: cover\");\r\n }\r\n }\r\n\r\n setLanguage(language) {\r\n this.translate.use(language);\r\n }\r\n\r\n ngOnInit() {\r\n\r\n this.loginForm = this.formBuilder.group({\r\n username: ['', Validators.required],\r\n password: ['', Validators.required]\r\n });\r\n\r\n // get return url from route parameters or default to '/'\r\n this.returnUrl = this.route.snapshot.queryParams['returnUrl'] || '/';\r\n\r\n if (this.providerCode) {\r\n this.loginForm.patchValue({\r\n username: this.userID,\r\n password: this.passCode\r\n })\r\n }\r\n }\r\n\r\n get f() { return this.loginForm.controls; }\r\n\r\n\r\n // Simple Login\r\n onSubmit() {\r\n this.error = null;\r\n this.submitted = true;\r\n\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n if (this.takaful == \"true\" && this.takafulmode == \"conventional\") {\r\n window['__env']['takaful'] = \"false\";\r\n this.configDB.data = this.configDB.conventional;\r\n this.customizer.removeStyle();\r\n this.translate.reloadLang(this.translate.currentLang);\r\n }\r\n else if (this.takaful != \"true\" && this.takafulmode == \"takaful\") {\r\n window['__env']['takaful'] = \"true\";\r\n this.configDB.data = this.configDB.takaful;\r\n this.customizer.createStyle('color-2');\r\n this.translate.reloadLang(this.translate.currentLang);\r\n }\r\n\r\n this.loading = true;\r\n this.authService.login(this.f.username.value, this.f.password.value, this.passCode)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loading = false;\r\n this.router.navigate([this.returnUrl]);\r\n },\r\n error => {\r\n this.loading = false;\r\n var exception = error;\r\n this.error = \"Unable to login.\";\r\n });\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ClientService {\n\n public selectedProcess: any;\n public wizard: any = {};\n public selectedControl: any;\n public selectedStep: any;\n public referentials: any;\n public selectedClient: any;\n public isCompany: any;\n public userAction: any;\n requiredControls: Array = [];\n\n public clientProcesseCodes: any;\r\n public clientNewOffer: string;\r\n public clientNewLead: string;\r\n public clientNewPolicy: string;\r\n public clientNewClient: string;\r\n public clientConsultation: string;\r\n public clientModification: string;\n\n constructor(private apiService: ApiService) {\n\n this.wizard.Steps = {\r\n \"1\": {\r\n \"Code\": \"1\",\r\n \"Text\": \"Client Details\",\r\n \"Codes\": [],\r\n \"GroupCodes\": [],\r\n \"Controls\": {},\r\n \"ControlGroups\": {},\r\n \"Type\": \"Standard\"\r\n }\n };\n\n this.userAction = \"\";\n\n this.getClientProcesses();\n\n }\n\n getClientProcesses() {\n //get the client process codes from SYSCONTROL table\n var model = {\r\n ClientKey: \"\",\r\n };\r\n\r\n this.apiService.post(\"Api/ClientTemplateApi/SearchClientProcesses/\", model).subscribe((res) => {\r\n this.clientProcesseCodes = res;\r\n\r\n this.clientNewOffer = res[\"CLIENT_NEWOFFER\"];\r\n this.clientNewLead = res[\"CLIENT_NEWLEAD\"];\r\n this.clientNewPolicy = res[\"CLIENT_NEWPOLICY\"];\r\n this.clientNewClient = res[\"CLIENT_NEWCLIENT\"];\r\n this.clientConsultation = res[\"CLIENT_CONSULTCLIENT\"];\r\n this.clientModification = res[\"CLIENT_CLIENTMODIFICATION\"];\r\n });\r\n }\n\n public reset() {\n this.wizard = {};\r\n this.selectedControl = null;\r\n this.referentials = null;\r\n\r\n this.wizard.Steps = {\r\n \"1\": {\r\n \"Code\": \"1\",\r\n \"Text\": \"Client Details\",\r\n \"Codes\": [],\r\n \"GroupCodes\": [],\r\n \"Controls\": {},\r\n \"ControlGroups\": {},\r\n \"Type\": \"Standard\"\r\n }\n };\n\n this.selectedStep = this.wizard.Steps[\"1\"];\r\n }\n\n\n\n //validate for all steps at the time of submit\n validateControls(wizard) {\n\r\n this.requiredControls = [];\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n if (!this.wizard.Steps[stepKey].ControlGroups[groupKey].IsMultiline) {\r\n\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n else {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].LineCodes.length == 0) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n if (this.wizard.IsDocument == true) {\r\n for (var docKey in this.wizard.Documents) {\r\n if (this.wizard.Documents[docKey].IsMandatory &&\r\n (this.wizard.Documents[docKey].Image == null || this.wizard.Documents[docKey].Image == \"\"))\r\n {\r\n this.requiredControls.push(this.wizard.Documents[docKey].DocumentTypeText)\r\n }\r\n }\r\n }\r\n\r\n return this.requiredControls.length;\r\n }\n\n\n \n}\n","import { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport 'rxjs/add/observable/of';\r\nimport { AppSettings } from \"./appsettings\";\r\nimport { ApiService } from 'src/app/common/services/api.service';\r\n\r\n\r\n@Injectable()\r\nexport class AppSettingsService {\r\n getSettings(): Observable {\r\n let settings = new AppSettings();\r\n return Observable.of(settings);\r\n }\r\n}","import { Component } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\nimport { ApiService } from 'src/app/common/services/api.service';\n\nexport class AppSettings {\n\n constructor()\r\n {\r\n\r\n\r\n }\n\n\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { NavService, Menu } from '../../services/nav.service';\r\n\r\n@Component({\r\n selector: 'app-bookmark',\r\n templateUrl: './bookmark.component.html'\r\n})\r\nexport class BookmarkComponent implements OnInit {\r\n \r\n public menuItems : Menu[];\r\n public items : Menu[];\r\n public text : string\r\n public open : boolean = false;\r\n public searchResult : boolean = false;\r\n public searchResultEmpty : boolean = false;\r\n public bookmarkItems : any[] = [];\r\n\r\n constructor(public navServices: NavService) { }\r\n\r\n ngOnInit() {\r\n \tthis.navServices.items.subscribe(menuItems => {\r\n this.items = menuItems \r\n this.items.filter(items => {\r\n if(items.bookmark){\r\n this.bookmarkItems.push(items)\r\n }\r\n })\r\n });\r\n }\r\n\r\n openBookmarkSearch() {\r\n this.open = !this.open\r\n this.removeFix();\r\n }\r\n\r\n searchTerm(term: any) {\r\n term ? this.addFix() : this.removeFix();\r\n if (!term) {\r\n this.open = false\r\n return this.menuItems = [];\r\n } \r\n let items = [];\r\n term = term.toLowerCase();\r\n this.items.filter(menuItems => {\r\n if(menuItems.title.toLowerCase().includes(term) && menuItems.type === 'link'){\r\n items.push(menuItems);\r\n }\r\n if(!menuItems.children) return false\r\n menuItems.children.filter(subItems => {\r\n if(subItems.title.toLowerCase().includes(term) && subItems.type === 'link') {\r\n subItems.icon = menuItems.icon\r\n items.push(subItems);\r\n }\r\n if(!subItems.children) return false\r\n subItems.children.filter(suSubItems => {\r\n if(suSubItems.title.toLowerCase().includes(term)) {\r\n suSubItems.icon = menuItems.icon\r\n items.push(suSubItems);\r\n }\r\n })\r\n })\r\n this.checkSearchResultEmpty(items)\r\n this.menuItems = items\r\n });\r\n }\r\n\r\n checkSearchResultEmpty(items) {\r\n if (!items.length)\r\n this.searchResultEmpty = true;\r\n else\r\n this.searchResultEmpty = false;\r\n }\r\n\r\n addFix() {\r\n this.searchResult = true;\r\n document.getElementById(\"canvas-bookmark\").classList.add(\"offcanvas-bookmark\");\r\n }\r\n\r\n removeFix() {\r\n this.searchResult = false;\r\n this.text = \"\";\r\n document.getElementById(\"canvas-bookmark\").classList.remove(\"offcanvas-bookmark\");\r\n }\r\n\r\n addToBookmark(items) {\r\n const index = this.bookmarkItems.indexOf(items);\r\n if(index === -1 && !items.bookmark){\r\n items.bookmark = true;\r\n this.bookmarkItems.push(items)\r\n this.text = \"\";\r\n } else {\r\n this.bookmarkItems.splice(index, 1);\r\n items.bookmark = false;\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \".ProfileCard-realName .realname {\\n color: #949598 !important; }\\n\\n.offcanvas-bookmark.page-wrapper .page-body-wrapper .page-body .bookmark ul li a {\\n display: inline-block; }\\n\\n.bookmark ul li a {\\n color: #313131; }\\n\\ni.fa.fa-star-o.f-18.mt-1.starred {\\n color: orange; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9DOlxcR0lTNFxcR0lTNC1MVElDXFxHSVMuV2ViL3NyY1xcYXBwXFxjb21tb25cXGNvbXBvbmVudHNcXGJyZWFkY3J1bWJcXGJyZWFkY3J1bWIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSx5QkFBeUIsRUFBQTs7QUFHN0I7RUFDSSxxQkFBcUIsRUFBQTs7QUFHekI7RUFDSSxjQUFlLEVBQUE7O0FBR25CO0VBQ0ksYUFBYSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvYnJlYWRjcnVtYi9icmVhZGNydW1iLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLlByb2ZpbGVDYXJkLXJlYWxOYW1lIC5yZWFsbmFtZSB7XHJcbiAgICBjb2xvcjogIzk0OTU5OCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4ub2ZmY2FudmFzLWJvb2ttYXJrLnBhZ2Utd3JhcHBlciAucGFnZS1ib2R5LXdyYXBwZXIgLnBhZ2UtYm9keSAuYm9va21hcmsgdWwgbGkgYSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbi5ib29rbWFyayB1bCBsaSBhIHtcclxuICAgIGNvbG9yOiAjMzEzMTMxIDtcclxufVxyXG5cclxuaS5mYS5mYS1zdGFyLW8uZi0xOC5tdC0xLnN0YXJyZWQge1xyXG4gICAgY29sb3I6IG9yYW5nZTtcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Router, NavigationEnd, PRIMARY_OUTLET } from '@angular/router';\r\n\r\nimport { filter } from 'rxjs/operators';\r\nimport { map } from 'rxjs/internal/operators';\r\n\r\n@Component({\r\n selector: 'app-breadcrumb',\r\n templateUrl: './breadcrumb.component.html',\r\n styleUrls: ['./breadcrumb.component.scss']\r\n})\r\nexport class BreadcrumbComponent implements OnInit {\r\n\r\n public breadcrumbs;\r\n public title : string\r\n\r\n constructor(private activatedRoute: ActivatedRoute,\r\n private router: Router) {\r\n this.router.events\r\n .pipe(filter(event => event instanceof NavigationEnd))\r\n .pipe(map(() => this.activatedRoute))\r\n .pipe(map((route) => {\r\n while (route.firstChild) {\r\n route = route.firstChild;\r\n }\r\n return route;\r\n }))\r\n .pipe(filter(route => route.outlet === PRIMARY_OUTLET))\r\n .subscribe(route => {\r\n let snapshot = this.router.routerState.snapshot;\r\n let title = route.snapshot.data['title'];\r\n let parent = route.parent.snapshot.data['breadcrumb'];\r\n let child = route.snapshot.data['breadcrumb'];\r\n this.breadcrumbs = {};\r\n this.title = title;\r\n this.breadcrumbs = {\r\n \"parentBreadcrumb\": parent,\r\n \"childBreadcrumb\": child\r\n }\r\n });\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnDestroy() { }\r\n\r\n}\r\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { Subject, Subscription } from 'rxjs';\r\n\r\n@Component({\r\n selector: 'app-button',\r\n templateUrl: './button.component.html'\r\n})\r\nexport class ButtonComponent implements OnInit {\r\n\t@Input() color: string = '0068B4';\r\n\t@Input() type: string = 'button';\r\n\r\n\t@Input() isspinner = false;\r\n\t@Input() disabled = false;\r\n\t@Input() btnclass = \"btn btn-primary\";\r\n\t@Input() showspinner = false;\r\n\tapiProgressChangeSubscription: Subscription;\r\n\tisApiProgress: boolean = false;\r\n\r\n\tconstructor(private spinner: NgxSpinnerService,\r\n\t\t\t\tpublic commonService: CommonService) {\r\n\r\n\t\tthis.apiProgressChangeSubscription = this.commonService.getApiProgressChangeEvent().subscribe(result => {\r\n\t\t\tif (result.progresscount != 0) {\r\n\t\t\t\tthis.isApiProgress = true;\r\n\t\t\t\tif (this.isspinner) this.spinner.show();\r\n\t\t\t}\r\n\t\t\telse {\r\n\t\t\t\tthis.isApiProgress = false;\r\n\t\t\t\tif (this.isspinner) this.spinner.hide();\r\n }\r\n\t\t});\t\t\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n\tbtnClick() {\r\n\t\tif (this.isspinner) {\r\n\t\t\tthis.spinner.show();\r\n }\r\n\t}\r\n\r\n\tngOnDestroy() {\r\n\t // unsubscribe to ensure no memory leaks\r\n\t this.apiProgressChangeSubscription.unsubscribe();\r\n\t\t\r\n\t}\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\n\n@Component({\n selector: 'app-claims',\n templateUrl: './claims.component.html'\n})\nexport class ClaimsComponent implements OnInit {\n\n @Input() clientKey: any;\n @Input() displayHeader: boolean = true;\n claims:any = [];\n\n constructor(public translate: TranslateService,\n private apiService: ApiService) {\n }\n\n ngOnInit() {\n if (this.clientKey)\n this.getClaims(); \n }\n\n getClaims() {\r\n var model = {\r\n ClientKey: this.clientKey,\r\n PageSize: 100,\r\n SortOrder: 'Desc',\r\n SortField: ''\r\n };\r\n\r\n this.apiService.post(\"Api/ClaimAPI/Search/\", model).subscribe((result: any) => {\r\n var claims = [];\r\n for (var claimKey in result.rows) {\r\n claims.push(result.rows[claimKey]);\r\n }\r\n this.claims = claims;\r\n });\r\n }\n\n //Used for scrollable cards\n public config: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false,\r\n useBothWheelAxes: true\r\n };\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\n\n@Component({\n selector: 'app-collapse',\n templateUrl: './collapse.component.html'\n})\nexport class CollapseComponent implements OnInit {\n @Input() dataTarget: string = \"\";\n constructor() { }\n\n ngOnInit() {\n }\n\n}\n","module.exports = \".config-popup {\\n display: block;\\n border-bottom: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvY3VzdG9taXplci9DOlxcR0lTNFxcR0lTNC1MVElDXFxHSVMuV2ViL3NyY1xcYXBwXFxjb21tb25cXGNvbXBvbmVudHNcXGN1c3RvbWl6ZXJcXGN1c3RvbWl6ZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDSSxjQUFjO0VBQ2QsbUJBQW1CLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21tb24vY29tcG9uZW50cy9jdXN0b21pemVyL2N1c3RvbWl6ZXIuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29uZmlnLXBvcHVwIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcclxufSJdfQ== */\"","import { Component, OnInit } from '@angular/core';\r\nimport { CustomizerService } from '../../services/customizer.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n\r\n@Component({\r\n selector: 'app-customizer',\r\n templateUrl: './customizer.component.html',\r\n styleUrls: ['./customizer.component.scss']\r\n})\r\nexport class CustomizerComponent implements OnInit {\r\n\r\n public customizer: any\r\n public sidebarSetting: any = 'color'\r\n public layoutType: string = 'ltr'\r\n public sidebarType: string = 'default'\r\n public data: any;\r\n\r\n constructor(public customize: CustomizerService,\r\n private modalService: NgbModal,\r\n private toastrService: ToastrService) { \r\n this.customize.data.color.layout_version = localStorage.getItem(\"layoutVersion\")\r\n this.customize.data.color.color = localStorage.getItem(\"color\")\r\n this.customize.data.color.primary_color = localStorage.getItem(\"primary_color\")\r\n this.customize.data.color.secondary_color = localStorage.getItem(\"secondary_color\")\r\n }\r\n\r\n // Open customizer\r\n openCustomizerSetting(val) {\r\n this.customizer = val\r\n }\r\n\r\n // Sidebar customizer Settings\r\n customizerSetting(val) {\r\n this.sidebarSetting = val\r\n }\r\n\r\n // Customize Layout Type\r\n customizeLayoutType(val) {\r\n this.customize.setLayoutType(val)\r\n this.layoutType = val\r\n }\r\n\r\n // Customize Sidebar Type\r\n customizeSidebarType(val) {\r\n if (val == 'default') {\r\n this.customize.data.settings.sidebar.type = 'default';\r\n this.customize.data.settings.sidebar.body_type = 'default';\r\n } else if (val == 'compact') {\r\n this.customize.data.settings.sidebar.type = 'compact-wrapper';\r\n this.customize.data.settings.sidebar.body_type = 'sidebar-icon';\r\n } else if (val == 'compact-icon') {\r\n this.customize.data.settings.sidebar.type = 'compact-page';\r\n this.customize.data.settings.sidebar.body_type = 'sidebar-hover';\r\n }\r\n this.sidebarType = val\r\n }\r\n\r\n // Customize Sidebar Setting\r\n customizeSidebarSetting(val) {\r\n this.customize.data.settings.sidebar_setting = val\r\n }\r\n\r\n // Customize Sidebar Backround\r\n customizeSidebarBackround(val) {\r\n this.customize.data.settings.sidebar_backround = val\r\n }\r\n\r\n // Customize Mix Layout\r\n customizeMixLayout(val) {\r\n this.customize.setLayout(val)\r\n }\r\n\r\n // Customize Light Color\r\n customizeLightColorScheme(val) {\r\n this.customize.setColorLightScheme(val)\r\n }\r\n\r\n // Customize Dark Color\r\n customizeDarkColorScheme(val) {\r\n this.customize.setColorDarkScheme(val)\r\n }\r\n\r\n //Display modal for copy config\r\n copyConfig(popup, data) {\r\n this.modalService.open(popup, { backdropClass: 'dark-modal', centered: true });\r\n data = this.customize.data\r\n }\r\n\r\n //Copy config\r\n copyText(data) {\r\n let selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = JSON.stringify(data);\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n this.toastrService.show('

Code Copied to clipboard

', '', { closeButton: true, enableHtml: true, positionClass: 'toast-bottom-right' });\r\n }\r\n ngOnInit() { }\r\n\r\n\r\n}\r\n","import { Component, OnInit, Input } from '@angular/core';\r\nimport * as feather from 'feather-icons';\r\n\r\n@Component({\r\n selector: 'app-feather-icons',\r\n templateUrl: './feather-icons.component.html'\r\n})\r\nexport class FeatherIconsComponent implements OnInit {\r\n\r\n @Input('icon') public icon;\r\n\r\n constructor() { }\r\n\r\n ngOnInit() {\r\n setTimeout(() => {\r\n feather.replace();\r\n });\r\n }\r\n\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html'\r\n})\r\nexport class FooterComponent implements OnInit {\r\n copyRightYear: string = \"\";\r\n\r\n constructor() {\r\n this.copyRightYear = (new Date().getFullYear()).toString();\r\n\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('copyRightYear')) {\r\n this.copyRightYear = window['__env']['copyRightYear'];\r\n }\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","import { Component, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { NavService, Menu } from '../../services/nav.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { CustomizerService } from '../../services/customizer.service';\r\nimport { Observable } from 'rxjs';\r\nimport { debounceTime, distinctUntilChanged, map } from 'rxjs/operators';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AuthenticationService } from '../../../auth/authentication.service';\r\nimport { CommonService } from '../../services/common.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nvar body = document.getElementsByTagName(\"body\")[0];\r\nimport * as XLSX from 'xlsx';\r\nimport { ApiService } from '../../services/api.service';\r\n\r\nconst searchItems = [\r\n \"policy\",\r\n \"policy number\",\r\n \"policy status\",\r\n \"policy startdate\",\r\n \"quote\",\r\n \"quote number\",\r\n \"quote startdate\",\r\n \"claim\",\r\n \"claim number\",\r\n \"claim status\",\r\n \"claim lossdate\",\r\n \"name\",\r\n \"client id\",\r\n \"client name\",\r\n \"client number\",\r\n \"client mobile\"\r\n];\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html'\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n\r\n public menuItems: Menu[];\r\n public items: Menu[];\r\n public searchResult: boolean = false;\r\n public searchResultEmpty: boolean = false;\r\n public openNav: boolean = false\r\n public right_sidebar: boolean = false\r\n public text: string\r\n public isOpenMobile: boolean = false\r\n @Output() rightSidebarEvent = new EventEmitter();\r\n searchItem: string;\r\n constructor(public navServices: NavService,\r\n private translate: TranslateService,\r\n public customize: CustomizerService,\n public router: Router,\n public authService: AuthenticationService,\n private route: ActivatedRoute,\r\n private commonService: CommonService,\r\n private modalService: NgbModal,\r\n private apiService: ApiService) {\r\n //translate.setDefaultLang('en');\r\n }\r\n\r\n search = (text$: Observable) =>\r\n text$.pipe(\r\n debounceTime(200),\r\n distinctUntilChanged(),\r\n map(term => term.length < 2 ? []\r\n : this.filterSearch(term))\r\n );\r\n\r\n filterSearch(term: string) {\r\n var items = []; //searchItems.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1);\r\n if (term) {\r\n\r\n if (term.startsWith(\"client name\") == true) {\r\n items.push(\"client name \" + term.replace(\"client name\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"client number\") == true) {\r\n items.push(\"client number \" + term.replace(\"client number\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"client mobile\") == true) {\r\n items.push(\"client mobile \" + term.replace(\"client mobile\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"client id\") == true) {\r\n items.push(\"client id \" + term.replace(\"client id\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"policy startdate\") == true) {\r\n items.push(\"policy startdate \" + term.replace(\"policy startdate\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"policy status\") == true) {\r\n items.push(\"policy status \" + term.replace(\"policy status\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"policy number\") == true) {\r\n items.push(\"policy number \" + term.replace(\"policy number\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"policy\") == true) {\r\n items.push(\"policy \" + term.replace(\"policy\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"quote start\") == true) {\r\n items.push(\"quote start \" + term.replace(\"quote start\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"quote number\") == true) {\r\n items.push(\"quote number \" + term.replace(\"quote number\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"quote\") == true) {\r\n items.push(\"quote \" + term.replace(\"quote\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"name\") == true) {\r\n items.push(\"name \" + term.replace(\"name\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"claim lossdate\") == true) {\r\n items.push(\"claim lossdate \" + term.replace(\"claim lossdate\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"claim status\") == true) {\r\n items.push(\"claim status \" + term.replace(\"claim status\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"claim number\") == true) {\r\n items.push(\"claim number \" + term.replace(\"claim number\", \"\").trim());\r\n }\r\n else if (term.startsWith(\"claim\") == true) {\r\n items.push(\"claim \" + term.replace(\"claim\", \"\").trim());\r\n }\r\n else\r\n items = searchItems.filter(v => v.toLowerCase().indexOf(term.toLowerCase()) > -1);\r\n }\r\n return items;\r\n }\r\n onKeydown(event) {\r\n if (this.searchItem &&\r\n this.searchItem.toLowerCase().indexOf(\"policy\") > -1 &&\r\n this.searchItem.toLowerCase().replace(\"policy\", \"\").length > 2) {\r\n this.router.navigate([\"App/Policy/Search\"], { queryParams: { \"externalCode\": this.searchItem.substr(7), \"quoteIndicator\": \"N\" }, relativeTo: this.route });\r\n } else if (this.searchItem &&\r\n this.searchItem.toLowerCase().indexOf(\"quote\") > -1 &&\r\n this.searchItem.toLowerCase().replace(\"quote\", \"\").length > 2) {\r\n this.router.navigate([\"App/Policy/Search\"], { queryParams: { \"externalCode\": this.searchItem.substr(6), \"quoteIndicator\": \"Y\" }, relativeTo: this.route });\r\n }\r\n else if (this.searchItem &&\r\n this.searchItem.toLowerCase().indexOf(\"name\") > -1 &&\r\n this.searchItem.toLowerCase().replace(\"name\", \"\").length > 2) {\r\n this.router.navigate([\"App/Client/Search\"], { queryParams: { \"clientName\": this.searchItem.substr(5) }, relativeTo: this.route });\r\n }\r\n else if (this.searchItem &&\r\n this.searchItem.toLowerCase().indexOf(\"claim\") > -1 &&\r\n this.searchItem.toLowerCase().replace(\"claim\", \"\").length > 2) {\r\n this.router.navigate([\"App/Claim/Search\"], { queryParams: { \"externalCode\": this.searchItem.substr(6) }, relativeTo: this.route });\r\n }\r\n }\r\n\r\n selectedItem(event) {\r\n console.log(event);\r\n }\r\n\r\n ngOnDestroy() {\r\n this.removeFix();\r\n }\r\n\r\n right_side_bar() {\r\n this.right_sidebar = !this.right_sidebar\r\n this.rightSidebarEvent.emit(this.right_sidebar)\r\n }\r\n\r\n collapseSidebar() {\r\n this.navServices.collapseSidebar = !this.navServices.collapseSidebar\r\n }\r\n\r\n home() {\r\n this.commonService.clearData();\r\n this.router.navigate([\"App/DxRoot\"]);\r\n }\r\n\r\n openMobileNav() {\r\n this.openNav = !this.openNav;\r\n }\r\n\r\n public changeLanguage(lang) {\r\n this.translate.use(lang);\r\n\r\n if (lang === \"ar\")\r\n this.customize.setLayoutType(\"rtl\")\r\n else\r\n this.customize.setLayoutType(\"ltr\")\r\n }\r\n\r\n searchTerm(term: any) {\r\n term ? this.addFix() : this.removeFix();\r\n if (!term) return this.menuItems = [];\r\n let items = [];\r\n term = term.toLowerCase();\r\n this.items.filter(menuItems => {\r\n if (menuItems.title.toLowerCase().includes(term) && menuItems.type === 'link') {\r\n items.push(menuItems);\r\n }\r\n if (!menuItems.children) return false\r\n menuItems.children.filter(subItems => {\r\n if (subItems.title.toLowerCase().includes(term) && subItems.type === 'link') {\r\n subItems.icon = menuItems.icon\r\n items.push(subItems);\r\n }\r\n if (!subItems.children) return false\r\n subItems.children.filter(suSubItems => {\r\n if (suSubItems.title.toLowerCase().includes(term)) {\r\n suSubItems.icon = menuItems.icon\r\n items.push(suSubItems);\r\n }\r\n })\r\n })\r\n this.checkSearchResultEmpty(items)\r\n this.menuItems = items\r\n });\r\n }\r\n\r\n checkSearchResultEmpty(items) {\r\n if (!items.length)\r\n this.searchResultEmpty = true;\r\n else\r\n this.searchResultEmpty = false;\r\n }\r\n\r\n addFix() {\r\n this.searchResult = true;\r\n body.classList.add(\"offcanvas\");\r\n }\r\n\r\n removeFix() {\r\n this.searchResult = false;\r\n body.classList.remove(\"offcanvas\");\r\n this.text = \"\";\r\n }\r\n\r\n ngOnInit() {\r\n this.navServices.items.subscribe(menuItems => {\r\n this.items = menuItems\r\n });\r\n }\r\n\r\n logOff() {\r\n\r\n document.getElementById('logoutForm').click();\r\n }\r\n\r\n logout() {\r\n\r\n this.apiService.post('App/Account/Logout', {}).subscribe((res: any) => {\r\n this.commonService.clearData();\r\n this.authService.logout();\r\n this.translate.use(this.translate.defaultLang);\r\n if (this.translate.defaultLang == 'ar') {\r\n this.customize.setLayoutType('rtl')\r\n }\r\n else {\r\n this.customize.setLayoutType('ltr')\r\n }\r\n this.modalService.dismissAll();\r\n }, (reason) => {\r\n this.commonService.clearData();\r\n this.authService.logout();\r\n this.translate.use(this.translate.defaultLang);\r\n if (this.translate.defaultLang == 'ar') {\r\n this.customize.setLayoutType('rtl')\r\n }\r\n else {\r\n this.customize.setLayoutType('ltr')\r\n }\r\n this.modalService.dismissAll();\r\n });\r\n\r\n //document.getElementById('logoutForm').click();\r\n //this.router.navigate(['/login']);\r\n }\r\n\r\n missingTranslation() {\r\n const ws: XLSX.WorkSheet = XLSX.utils.json_to_sheet(CommonService.missingTranslations);\r\n const wb: XLSX.WorkBook = { Sheets: { 'data': ws }, SheetNames: ['data'] };\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n XLSX.writeFile(wb, 'Translate.xlsx');\r\n }\r\n\r\n}\r\n","import { Component, OnInit, AfterViewInit, HostListener } from '@angular/core';\r\nimport { trigger, transition, useAnimation } from '@angular/animations';\r\nimport { bounce, zoomOut, zoomIn, fadeIn, bounceIn } from 'ng-animate';\r\nimport { NavService } from '../../../services/nav.service';\r\nimport { CustomizerService } from '../../../services/customizer.service';\r\nimport * as feather from 'feather-icons';\r\n\r\n@Component({\r\n selector: 'app-content-layout',\r\n templateUrl: './content-layout.component.html',\r\n animations: [\r\n trigger('animateRoute', [transition('* => *', useAnimation(fadeIn, {\r\n // Set the duration to 5seconds and delay to 2 seconds\r\n //params: { timing: 3}\r\n }))])\r\n ]\r\n})\r\nexport class ContentLayoutComponent implements OnInit, AfterViewInit {\r\n\r\n\r\n public right_side_bar: boolean;\r\n\r\n constructor(public navServices: NavService,\r\n public customizer: CustomizerService) {\r\n document.body.setAttribute(\"style\", \"background-image:url('');background-size: 100%\");\r\n }\r\n\r\n\r\n ngAfterViewInit() {\r\n setTimeout(() => {\r\n feather.replace();\r\n });\r\n }\r\n\r\n @HostListener('document:click', ['$event'])\r\n clickedOutside(event) {\r\n // click outside Area perform following action\r\n document.getElementById('outer-container').onclick = function (e) {\r\n e.stopPropagation()\r\n if (e.target != document.getElementById('search-outer') &&\r\n document.getElementsByTagName(\"body\") && \r\n document.getElementsByTagName(\"body\")[0] && \r\n document.getElementsByTagName(\"body\")[0].classList) {\r\n document.getElementsByTagName(\"body\")[0].classList.remove(\"offcanvas\");\r\n }\r\n if (e.target != document.getElementById('outer-container') &&\r\n document.getElementById(\"canvas-bookmark\").classList) {\r\n document.getElementById(\"canvas-bookmark\").classList.remove(\"offcanvas-bookmark\");\r\n }\r\n if (e.target != document.getElementById('inner-customizer') &&\r\n document.getElementsByClassName(\"customizer-links\") && \r\n document.getElementsByClassName(\"customizer-links\")[0] && \r\n document.getElementsByClassName(\"customizer-links\")[0].classList) {\r\n document.getElementsByClassName(\"customizer-links\")[0].classList.remove(\"open\");\r\n document.getElementsByClassName(\"customizer-contain\")[0].classList.remove(\"open\");\r\n }\r\n }\r\n }\r\n\r\n public getRouterOutletState(outlet) {\r\n return outlet.isActivated ? outlet.activatedRoute : '';\r\n }\r\n\r\n public rightSidebar($event) {\r\n this.right_side_bar = $event\r\n }\r\n \r\n ngOnInit() { }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9jb21wb25lbnRzL2xheW91dC9mdWxsLWxheW91dC9mdWxsLWxheW91dC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { trigger, transition, useAnimation } from '@angular/animations';\r\nimport { fadeIn } from 'ng-animate';\r\n\r\n@Component({\r\n selector: 'app-full-layout',\r\n templateUrl: './full-layout.component.html',\r\n styleUrls: ['./full-layout.component.scss'],\r\n animations: [\r\n trigger('animateRoute', [transition('* => *', useAnimation(fadeIn, {\r\n // Set the duration to 5seconds and delay to 2 seconds\r\n //params: { timing: 3}\r\n }))])\r\n ]\r\n})\r\nexport class FullLayoutComponent implements OnInit {\r\n constructor() {\r\n }\r\n\r\n ngOnInit() {\r\n\r\n }\r\n\r\n public getRouterOutletState(outlet) {\r\n return outlet.isActivated ? outlet.activatedRoute : '';\r\n }\r\n\r\n userName() {\r\n\r\n }\r\n}\r\n","module.exports = \".loader-wrapper.loderhide {\\n display: none; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvbG9hZGVyL0M6XFxHSVM0XFxHSVM0LUxUSUNcXEdJUy5XZWIvc3JjXFxhcHBcXGNvbW1vblxcY29tcG9uZW50c1xcbG9hZGVyXFxsb2FkZXIuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxhQUFhLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9jb21tb24vY29tcG9uZW50cy9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxvYWRlci13cmFwcGVyLmxvZGVyaGlkZSB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufSJdfQ== */\"","import { Component, OnInit, OnDestroy } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-loader',\r\n templateUrl: './loader.component.html',\r\n styleUrls: ['./loader.component.scss']\r\n})\r\nexport class LoaderComponent implements OnInit {\r\n\r\n public show: boolean = true;\r\n\r\n constructor() {\r\n setTimeout(() => {\r\n this.show = false;\r\n }, 1500);\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n ngOnDestroy() { }\r\n\r\n}\r\n","import { Component, OnInit, Host } from '@angular/core';\nimport { MaximizeDirective } from '../../directives/maximize.directive';\r\n\n@Component({\n selector: 'app-maximize',\n templateUrl: './maximize.component.html'\n})\nexport class MaximizeComponent implements OnInit {\n expandToggle: string = \"expand\";\n constructor(@Host() private maximaizeDirective: MaximizeDirective) { }\n\n ngOnInit() {\n\n }\n\n maximizeIbox() {\n\n if (this.expandToggle == \"expand\") {\r\n this.maximaizeDirective.addFullScreen(true);\r\n this.expandToggle = \"compress\";\r\n }\r\n else {\r\n this.maximaizeDirective.addFullScreen(false);\r\n this.expandToggle = \"expand\";\r\n }\r\n }\n}\n","import { Component, OnInit, Input, Output, EventEmitter } from '@angular/core';\nimport * as _ from \"lodash\";\nimport { NgbModal, NgbActiveModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { TranslateService } from '@ngx-translate/core';\r\n\r\n@Component({\r\n selector: 'app-modal',\r\n templateUrl: './modal.component.html'\r\n})\r\nexport class ModalComponent implements OnInit {\r\n\n @Input() stepCode: string = \"\";\n @Input() groupCode: string = \"\";\n @Input() lineCode: string = \"\";\n @Input() wizard: any = {};\n //@Output() passEntry: EventEmitter = new EventEmitter();\n userAction: string = \"modify\";\n controls: any = {};\n controlCodes: any = [];\n\n constructor(public activeModal: NgbActiveModal,\r\n private toastrService: ToastrService,\r\n public translate: TranslateService,\r\n private modalService: NgbModal) {\n }\n\n ngOnInit() {\n for (var controlKey in this.wizard.Steps[this.stepCode].ControlGroups[this.groupCode].Controls) {\n this.controls[controlKey] = this.wizard.Steps[this.stepCode].ControlGroups[this.groupCode].Controls[controlKey];// _.cloneDeep();\r\n this.controls[controlKey].Value = this.wizard.Steps[this.stepCode].ControlGroups[this.groupCode].Lines[this.lineCode].Controls[controlKey].Value;\r\n }\n\n }\n\n passBack() {\r\n //this.passEntry.emit(this.wizard);\r\n this.activeModal.close(this.wizard);\r\n }\n \n\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\r\n\n@Component({\n selector: 'app-navigation',\n templateUrl: 'navigation.component.html'\n})\nexport class NavigationComponent implements OnInit {\n @Input() systemCode: string;\n @Input() controller: string;\n @Input() action: string;\n\n public Html: any = {\r\n \"IsSelected\": function (controllerName, actionName) {\n return controllerName == this.controller && actionName == this.action? \"active\" : \"\";\n }\n };\n\n public Url: any = {\r\n \"Action\": function (actionName, controllerName) {\n return \"App/\" + controllerName + \"/\" + actionName;\n }\n };\n\n constructor(private translate: TranslateService) { }\n\n ngOnInit() {\n }\n\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ApiService } from '../../services/api.service';\r\nimport { OfferService } from '../../../offer/offer.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\n\n@Component({\n selector: 'app-offers',\n templateUrl: './offers.component.html'\n})\nexport class OffersComponent implements OnInit {\n\n @Input() clientKey: any;\n @Input() displayHeader: boolean = true;\n offers: any = [];\n\n constructor(public translate: TranslateService,\n private apiService: ApiService,\n private offerService: OfferService,\n private route: ActivatedRoute,\r\n private router: Router) {\n }\n\n ngOnInit() {\n if (this.clientKey)\n this.getOffers();\n }\n\n getOffers() {\r\n var model = {\r\n ClientCde: this.clientKey,\r\n IsOfferOnlyInd: 'B',\r\n PageSize: 1000,\r\n SortOrder: 'Desc',\r\n SortField: ''\r\n };\r\n\r\n this.apiService.post(\"Api/QuoteApi/Search/\", model).subscribe((result: any) => {\r\n\r\n var offers = [];\r\n\r\n for (var offerKey in result.rows) {\r\n if(!result.rows[offerKey].PolExtCode ||\r\n result.rows[offerKey].PolStatusCde == 4)\r\n offers.push(result.rows[offerKey]);\r\n }\r\n\r\n this.offers = offers;\r\n });\r\n }\n\n goToOffer(offer) {\n this.offerService.clientCode = this.clientKey;\r\n this.offerService.departmentCode = offer.DepartmentCde;\r\n this.offerService.offerHeaderKey = offer.OfferHeaderKey;\r\n this.offerService.processCode = offer.ProcessCde;\r\n this.offerService.productCode = offer.ProductCde;\r\n this.offerService.versionNo = offer.VersionNo;\r\n\r\n this.router.navigate([\"../../../Offer/New\"], { relativeTo: this.route });\r\n }\n\n goToQuote() {\r\n\r\n }\n\n //Used for scrollable cards\n public config: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false,\r\n useBothWheelAxes: true\r\n };\n\n}\n","import { Injectable } from '@angular/core';\n\ndeclare let PDFJS: any;\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PdfHandlerService {\n\n url: String;\r\n pdfDoc: any = {};\r\n pageObjectPromise: any = {};\r\n\n constructor() { }\n\n setPdfDocObjects(data) {\r\n let self = this;\r\n let docId = data.docId;\r\n return new Promise((resolve, reject) => {\r\n self.url = '/assets/' + data.url;\r\n PDFJS.getDocument(this.url).then((_pdfDoc) => {\r\n self.pdfDoc[docId] = _pdfDoc;\r\n resolve(_pdfDoc);\r\n }, (error) => {\r\n reject(error);\r\n });\r\n });\r\n\r\n }\n\n}\n","module.exports = \".container {\\r\\n margin: 0 24px;\\r\\n width: 40vw;\\r\\n height: 90vh;\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxjQUFjO0lBQ2QsV0FBVztJQUNYLFlBQVk7SUFDWixjQUFjO0FBQ2xCIiwiZmlsZSI6InNyYy9hcHAvY29tbW9uL2NvbXBvbmVudHMvcGRmLXZpZXdlci9wZGYtdmlld2VyLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGFpbmVyIHtcclxuICAgIG1hcmdpbjogMCAyNHB4O1xyXG4gICAgd2lkdGg6IDQwdnc7XHJcbiAgICBoZWlnaHQ6IDkwdmg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxufVxyXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { PdfHandlerService } from './pdf-handler.service';\r\n\n@Component({\n selector: 'app-pdf-viewer',\n templateUrl: './pdf-viewer.component.html',\n styleUrls: ['./pdf-viewer.component.css']\n})\nexport class PdfViewerComponent implements OnInit {\n /*\n @Input() viewData;\r\n totalPages: number;\r\n pageNumber: number = 1;\r\n pdf: any;\r\n\r\n scale: number = 1;\r\n zoomRange: number = 0.25;\r\n\r\n count: number = 1;\n */\n\n constructor(private pdfHandlerService: PdfHandlerService) { }\n\n ngOnInit() {\n //this.setInitialProof();\n }\n\n /*\n setInitialProof() {\r\n //this.pdfHandlerService.setPdfDocObjects(this.viewData[0]).then((pdf) => {\r\n this.pdfHandlerService.setPdfDocObjects(this.viewData).then((pdf) => {\r\n this.pdf = pdf;\r\n this.totalPages = this.pdf.pdfInfo.numPages;\r\n this.generateView(this.pageNumber);\r\n });\r\n }\n\n generateView(pageNumber) {\r\n\r\n this.pdf.getPage(pageNumber).then((page) => {\r\n //let scale = 1;\r\n let viewport = page.getViewport(this.scale);\r\n let textLayerDiv: any = document.getElementById(\"page_1\");\r\n //let canvas: any = document.getElementById('main-canvas');\r\n\r\n let canvas: any;\r\n\r\n if (this.count == 1) {\r\n canvas = document.createElement(\"canvas\");\r\n canvas.setAttribute(\"id\", \"canvas\" + this.viewData.docId);\r\n document.getElementById(this.viewData.docId).appendChild(canvas);\r\n this.count = 2;\r\n }\r\n\r\n canvas = document.getElementById(\"canvas\" + this.viewData.docId);\r\n\r\n\r\n let context = canvas.getContext('2d');\r\n canvas.height = viewport.height;\r\n canvas.width = viewport.width;\r\n let renderContext = {\r\n canvasContext: context,\r\n viewport: viewport\r\n };\r\n page.render(renderContext);\r\n \r\n });\r\n }\r\n\r\n changePagePrevious() {\r\n this.pageNumber = this.pageNumber - 1;\r\n if (this.pageNumber == 0) {\r\n alert(\"firstPage\");\r\n this.pageNumber = 1;\r\n }\r\n else {\r\n this.generateView(this.pageNumber);\r\n }\r\n }\r\n\r\n changePageNext() {\r\n this.pageNumber = this.pageNumber + 1;\r\n\r\n if (this.pageNumber == this.totalPages) {\r\n \r\n this.pageNumber = this.totalPages;\r\n this.generateView(this.pageNumber);\r\n }\r\n else if (this.pageNumber > this.totalPages) {\r\n alert(\"LastPage\");\r\n this.pageNumber = this.totalPages;\r\n }\r\n else {\r\n this.generateView(this.pageNumber);\r\n }\r\n }\r\n \r\n \r\n\r\n\r\n onZoomIn() {\r\n this.scale = this.scale + this.zoomRange;\r\n this.generateView(this.pageNumber);\r\n }\r\n\r\n onZoomOut() {\r\n this.scale = this.scale - this.zoomRange;\r\n this.generateView(this.pageNumber);\r\n }\r\n\r\n onZoomFit() {\r\n this.scale = 1;\r\n this.generateView(this.pageNumber);\r\n }\n */\n}\n","import { Component, OnInit, Input } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport { PolicyService } from '../../../policy/policy.service';\nimport { ActivatedRoute, Router } from '@angular/router';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\n\n@Component({\n selector: 'app-policies',\n templateUrl: './policies.component.html'\n})\nexport class PoliciesComponent implements OnInit {\n\n @Input() clientKey: any;\n @Input() displayHeader: boolean = true;\n policies: any = [];\n\n constructor(public translate: TranslateService,\n private apiService: ApiService,\n private policyService: PolicyService,\r\n private route: ActivatedRoute,\r\n private router: Router) {\n }\n\n ngOnInit() {\n if (this.clientKey)\n this.getPolicies();\n }\n\n getPolicies() {\r\n var model = {\r\n ClientCde: this.clientKey,\r\n IsOfferOnlyInd: 'B',\r\n PageSize: 10,\r\n SortOrder: 'Desc',\r\n SortField: ''\r\n };\r\n\r\n var policySearchModel = {\r\n QuoteIndicator: 'N',\r\n ClientKey: this.clientKey,\r\n PageSize: 100,\r\n SortOrder: 'Desc'\r\n };\r\n\r\n this.apiService.post(\"Api/PolicyAPI/Search/\", policySearchModel).subscribe((res: any) => {\r\n this.policies = res.rows;\r\n });\r\n\r\n //this.apiService.post(\"Api/QuoteApi/Search/\", model).subscribe((result: any) => {\r\n // var policies = [];\r\n\r\n // for (var offerKey in result.rows) {\r\n // if (result.rows[offerKey].PolExtCode &&\r\n // result.rows[offerKey].PolStatusCde > 0 &&\r\n // result.rows[offerKey].PolStatusCde != 4) {\r\n // policies.push(result.rows[offerKey]);\r\n // }\r\n // }\r\n // this.policies = policies;\r\n //});\r\n }\n\n goToPolicy(policy) {\n this.policyService.selectedPolicy = policy;\n //this.policyService.selectedProcessKey = policy.CreatedProcessCode;\n this.policyService.selectedProductKey = policy.PlanCode;\n this.policyService.selectedDepartmentKey = policy.DepartmentCode;\n this.policyService.userAction = 'consult';\n\n this.router.navigate([\"../../../Policy/Edit\"], { relativeTo: this.route });\r\n }\n\n //Used for scrollable cards\n public config: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false,\r\n useBothWheelAxes: true\r\n };\n\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { ChatUsers } from '../../../common/model/chat.model';\r\nimport { ChatService } from '../../../common/services/chat.service';\r\n\r\n@Component({\r\n selector: 'app-right-sidebar',\r\n templateUrl: './right-sidebar.component.html'\r\n})\r\nexport class RightSidebarComponent implements OnInit {\r\n\r\n public users: ChatUsers[] = []\r\n public searchUsers: ChatUsers[] = []\r\n public notFound: boolean = false\r\n public searchText: string\r\n\r\n constructor(private chatService: ChatService) {\r\n this.chatService.getUsers().subscribe(users => {\r\n this.searchUsers = users\r\n this.users = users\r\n })\r\n }\r\n\r\n searchTerm(term: any) {\r\n if (!term) return this.searchUsers = this.users\r\n term = term.toLowerCase();\r\n let user = []\r\n this.users.filter(users => {\r\n if (users.name.toLowerCase().includes(term)) {\r\n user.push(users)\r\n }\r\n })\r\n this.checkSearchResultEmpty(user)\r\n this.searchUsers = user\r\n }\r\n\r\n checkSearchResultEmpty(user) {\r\n if (!user.length)\r\n this.notFound = true;\r\n else\r\n this.notFound = false;\r\n }\r\n\r\n ngOnInit() { }\r\n\r\n}\r\n","import { Component, Input, ViewEncapsulation } from '@angular/core';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { NavService, Menu } from '../../services/nav.service';\r\nimport { ApiService } from '../../services/api.service';\r\nimport * as _ from \"lodash\";\r\nimport { retry } from 'rxjs/operators';\r\nimport { AuthenticationService } from '../../../auth/authentication.service';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\nimport { CommonService } from '../../services/common.service';\r\n\r\n@Component({\r\n selector: 'app-sidebar',\r\n templateUrl: './sidebar.component.html',\r\n encapsulation: ViewEncapsulation.None\r\n})\r\nexport class SidebarComponent {\r\n imagePath: any;\r\n currentUser: any;\r\n public menuItems: Menu[];\r\n public url: any;\r\n public fileurl: any;\r\n\r\n constructor(private router: Router,\r\n public navServices: NavService,\r\n private apiService: ApiService,\r\n private authenticationService: AuthenticationService,\r\n private _sanitizer: DomSanitizer,\r\n private commonService: CommonService) {\r\n\r\n this.imagePath = \"scripts/libs/assets/images/user/user.png\";\r\n\r\n this.currentUser = this.authenticationService.User;\r\n\r\n //this.apiService.get(\"Api/User/Config/\", {}).subscribe((res: any) => {\r\n\r\n this.navServices.items.subscribe(menuItems => {\r\n\r\n var tempItems: Menu[] = [];\r\n\r\n this.authenticationService.currentUserConfig.subscribe(config => {\r\n if (config != null) {\r\n menuItems.filter(item => {\r\n\r\n var parentMenu = this.setMenuItems(tempItems, item, config.privileges);\r\n\r\n if (!parentMenu || !item.children) return false\r\n\r\n item.children.filter(subItem => {\r\n var subParentMenu = this.setMenuItems(parentMenu.children, subItem, config.privileges);\r\n\r\n if (!subParentMenu || !subItem.children) return false\r\n\r\n subItem.children.filter(subSubItem => {\r\n this.setMenuItems(subParentMenu.children, subSubItem, config.privileges);\r\n })\r\n })\r\n\r\n //if there is only one child menu with same access as parent menu then remove the child menu\r\n if (tempItems.length > 1 &&\r\n tempItems[tempItems.length - 1].children &&\r\n tempItems[tempItems.length - 1].children.length == 1 &&\r\n item.accessarea == tempItems[tempItems.length - 1].children[0].accessarea) {\r\n tempItems[tempItems.length - 1].type = \"link\";\r\n tempItems[tempItems.length - 1].children.pop();\r\n }\r\n\r\n });\r\n }\r\n });\r\n\r\n this.menuItems = tempItems;\r\n\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n menuItems.filter(items => {\r\n if (items.path === event.url)\r\n this.setNavActive(items)\r\n if (!items.children) return false\r\n items.children.filter(subItems => {\r\n if (subItems.path === event.url)\r\n this.setNavActive(subItems)\r\n if (!subItems.children) return false\r\n subItems.children.filter(subSubItems => {\r\n if (subSubItems.path === event.url)\r\n this.setNavActive(subSubItems)\r\n })\r\n })\r\n })\r\n }\r\n })\r\n\r\n });\r\n\r\n //});\r\n }\r\n\r\n setMenuItems(menuItems: Menu[], item: Menu, privileges: any) {\r\n\r\n var requiredAccessAreaCodes;\r\n if (item.accessarea) requiredAccessAreaCodes = item.accessarea.split(','); //multiple access area \r\n\r\n if (privileges && requiredAccessAreaCodes) {\r\n for (var i = 0; i < requiredAccessAreaCodes.length; i++) { //123:SWR,124:WR,125:R,126\r\n var tempAccess = requiredAccessAreaCodes[i].split(':');//123:SWR\r\n\r\n var requiredAccessArea = tempAccess[0];//123\r\n var requiredAccessType = tempAccess.length > 1 ? tempAccess[1] : 'R'; //SWR or default R\r\n\r\n var assignedAccessType = privileges[requiredAccessArea]; //assigned privilege for example either S or W or R\r\n if (assignedAccessType && requiredAccessType.indexOf(assignedAccessType) >= 0) {\r\n var menu: Menu = _.cloneDeep(item);\r\n menu.children = [];\r\n menuItems.push(menu);\r\n return menu;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Active Nave state\r\n setNavActive(item) {\r\n this.menuItems.filter(menuItem => {\r\n if (menuItem != item)\r\n menuItem.active = false\r\n if (menuItem.children && menuItem.children.includes(item))\r\n menuItem.active = true\r\n if (menuItem.children) {\r\n menuItem.children.filter(submenuItems => {\r\n if (submenuItems.children && submenuItems.children.includes(item)) {\r\n menuItem.active = true\r\n submenuItems.active = true\r\n }\r\n })\r\n }\r\n })\r\n }\r\n\r\n // Click Toggle menu\r\n toggletNavActive(item) {\r\n this.commonService.clearData();\r\n if (!item.active) {\r\n this.menuItems.forEach(a => {\r\n if (this.menuItems.includes(item))\r\n a.active = false\r\n if (!a.children) return false\r\n a.children.forEach(b => {\r\n if (a.children.includes(item)) {\r\n b.active = false\r\n }\r\n })\r\n });\r\n }\r\n item.active = !item.active\r\n }\r\n\r\n home() {\r\n this.commonService.clearData();\r\n this.router.navigate([\"App/DxRoot\"]);\r\n }\r\n\r\n //Fileupload\r\n readUrl(event: any) {\r\n if (event.target.files.length === 0)\r\n return;\r\n //Image upload validation\r\n var mimeType = event.target.files[0].type;\r\n if (mimeType.match(/image\\/*/) == null) {\r\n return;\r\n }\r\n // Image upload\r\n var reader = new FileReader();\r\n reader.readAsDataURL(event.target.files[0]);\r\n reader.onload = (_event) => {\r\n this.imagePath = reader.result;\r\n }\r\n }\r\n\r\n}\r\n","export class ChatDB {\r\n\r\n // Chat User\r\n static chatUser = [\r\n {\r\n id: 0,\r\n name: 'Biswa Kar',\r\n status: 'In Meeting..',\r\n profile: 'assets/images/user/1.jpg',\r\n seen: 'online',\r\n online: true,\r\n typing: false,\r\n authenticate: 1,\r\n call: {\r\n status: '',\r\n date_time: ''\r\n }\r\n },\r\n {\r\n id: 1,\r\n name: 'Biswaranjan M',\r\n status: 'Be the change',\r\n profile: 'assets/images/user/12.png',\r\n seen: 'online',\r\n online: true,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'incoming',\r\n date_time: '5 May, 4:40 PM'\r\n }\r\n },\r\n {\r\n id: 2,\r\n name: 'Fatema Sadeq Jaafar ',\r\n status: 'Out is my favorite.',\r\n profile: 'assets/images/user/2.png',\r\n seen: 'Last Seen 3:55 PM',\r\n online: false,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'incoming',\r\n date_time: '6 May, 1:50 PM'\r\n }\r\n },\r\n {\r\n id: 3,\r\n name: 'Smitha Surendran ',\r\n status: 'Change for anyone.',\r\n profile: 'assets/images/user/8.jpg',\r\n seen: 'online',\r\n online: true,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'outgoing',\r\n date_time: '7 May, 9:40 PM'\r\n }\r\n },\r\n {\r\n id: 4,\r\n name: 'Mohamed Alnajjar',\r\n status: 'First bun like a sun.',\r\n profile: 'assets/images/user/4.jpg',\r\n seen: 'online',\r\n online: true,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'incoming',\r\n date_time: '7 May, 10:50 PM'\r\n }\r\n },\r\n {\r\n id: 5,\r\n name: 'Mohamed Romdhane ',\r\n status: 'its my life. Mind it.',\r\n profile: 'assets/images/user/5.jpg',\r\n seen: 'Last Seen 5:55 PM',\r\n online: false,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'outgoing',\r\n date_time: '7 May, 11:40 PM'\r\n }\r\n },\r\n {\r\n id: 6,\r\n name: 'Emile AlMahdi ',\r\n status: 'status pending...',\r\n profile: 'assets/images/user/9.jpg',\r\n seen: 'online',\r\n online: true,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'outgoing',\r\n date_time: '8 May, 9:15 AM'\r\n }\r\n },\r\n {\r\n id: 7,\r\n name: 'Shakil Hashmi',\r\n status: 'away from home',\r\n profile: 'assets/images/user/11.png',\r\n seen: 'Last Seen 1:55 PM',\r\n online: false,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'incoming',\r\n date_time: '8 May, 10:50 Am'\r\n }\r\n },\r\n {\r\n id: 8,\r\n name: 'Mahmood Fakher ',\r\n status: 'Single..',\r\n profile: 'assets/images/user/10.jpg',\r\n seen: 'Last Seen 3:15 PM',\r\n online: false,\r\n typing: false,\r\n authenticate: 0,\r\n call: {\r\n status: 'incoming',\r\n date_time: '9 May, 11:50 PM'\r\n }\r\n },\r\n ]\r\n\r\n // Message\r\n static chat = [\r\n {\r\n id: 1,\r\n message: [\r\n {\r\n sender: 1,\r\n time: '10:12 am',\r\n text: 'Are we meeting today? Project has been already finished and I have results to show you.'\r\n },\r\n {\r\n sender: 0,\r\n time: '10:14 am',\r\n text: 'Well I am not sure. The rest of the team is not here yet. Maybe in an hour or so?.'\r\n },\r\n {\r\n sender: 0,\r\n time: '10:14 am',\r\n text: 'Well I am not sure. The rest of the team.'\r\n },\r\n {\r\n sender: 1,\r\n time: '10:20 am',\r\n text: 'Actually everything was fine. I am very excited to show this to our team.'\r\n }\r\n ]\r\n },\r\n {\r\n id: 2,\r\n message: []\r\n },\r\n {\r\n id: 3,\r\n message: []\r\n },\r\n {\r\n id: 4,\r\n message: []\r\n },\r\n {\r\n id: 5,\r\n message: []\r\n },\r\n {\r\n id: 6,\r\n message: []\r\n },\r\n {\r\n id: 7,\r\n message: []\r\n },\r\n {\r\n id: 8,\r\n message: []\r\n }\r\n ]\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ConfigDB {\r\n data = {\r\n settings: {\r\n \"layout_type\": \"ltr\",\r\n sidebar: {\r\n type: \"default\",\r\n body_type: \"default\"\r\n },\r\n sidebar_setting: \"border-sidebar\",\r\n sidebar_backround: \"dark-sidebar\"\r\n },\r\n color: {\r\n layout_version: null,\r\n color: null,\r\n primary_color: null,\r\n secondary_color: null,\r\n mix_layout: \"default\"\r\n },\r\n router_animation: \"fadeIn\",\r\n background: 'content/Images/background.jpg'\r\n }\r\n\r\n conventional = this.data;\r\n\r\n takaful = {\r\n settings: {\r\n layout_type: 'ltr',\r\n sidebar: {\r\n type: 'default',\r\n body_type: 'default'\r\n },\r\n sidebar_setting: 'iconcolor-sidebar',\r\n sidebar_backround: 'dark-sidebar'\r\n },\r\n color: {\r\n layout_version: '',\r\n color: 'color-2',\r\n primary_color: '#0288d1',\r\n secondary_color: '#26c6da',\r\n mix_layout: 'default'\r\n },\r\n router_animation: 'fadeIn',\r\n background: 'content/Images/takafulbackground.jpg'\r\n };\r\n\r\n ltic = {\r\n settings: {\r\n layout_type: 'ltr',\r\n sidebar: {\r\n type: 'default',\r\n body_type: 'default'\r\n },\r\n sidebar_setting: 'iconcolor-sidebar',\r\n sidebar_backround: 'dark-sidebar'\r\n },\r\n color: {\r\n layout_version: '',\r\n color: 'color-6',\r\n primary_color: '#1B4792',\r\n secondary_color: '#6EC1E4',\r\n mix_layout: 'default',\r\n menu_text_color:'#fff'\r\n },\r\n router_animation: 'fadeIn',\r\n background: 'content/Images/background.png'\r\n };\r\n\r\n qic = {\r\n settings: {\r\n layout_type: 'ltr',\r\n sidebar: {\r\n type: 'default',\r\n body_type: 'default'\r\n },\r\n sidebar_setting: 'iconcolor-sidebar',\r\n sidebar_backround: 'dark-sidebar'\r\n },\r\n color: {\r\n layout_version: '',\r\n color: 'color-6',\r\n primary_color: '#2b3648',\r\n secondary_color: '#78b5e2',\r\n mix_layout: 'default',\r\n menu_text_color: '#fff'\r\n },\r\n router_animation: 'fadeIn',\r\n background: 'content/Images/background.png'\r\n };\r\n\r\n constructor() {\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('takaful') && window['__env']['takaful'] == \"true\") {\r\n this.data = this.takaful;\r\n }\r\n\r\n if (browserWindowEnv.hasOwnProperty('insuranceDxTheme') &&\r\n window['__env']['insuranceDxTheme'] == \"LTIC\") {\r\n this.data = this.ltic;\r\n } else if (browserWindowEnv.hasOwnProperty('insuranceDxTheme') &&\r\n window['__env']['insuranceDxTheme'] == \"QIC\") {\r\n this.data = this.qic;\r\n }\r\n \r\n\r\n }\r\n\r\n\r\n}\r\n","import { Directive, AfterViewInit, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appAutofocus]'\n})\nexport class AutofocusDirective implements AfterViewInit {\n \n constructor(private el: ElementRef) { }\n\n ngAfterViewInit() {\r\n this.el.nativeElement.focus();\r\n }\n\n}\n","import { Directive, HostListener, Input, ElementRef } from '@angular/core';\n\n@Directive({\n selector: '[appCollapse]'\n})\nexport class CollapseDirective {\n @Input() containerID = \"\";\n collapseElement: ElementRef;\n\n constructor(el: ElementRef) {\n this.collapseElement = el;\n }\n\n @HostListener('click', ['$event'])\r\n clickEvent(event) {\r\n //event.preventDefault();\r\n //event.stopPropagation();\r\n\r\n if (this.collapseElement.nativeElement.style.transform == \"rotate(180deg)\")\n this.collapseElement.nativeElement.style.transform = \"\";\n else\n this.collapseElement.nativeElement.style.transform = \"rotate(180deg)\";\r\n }\n}\n","import { Directive, Input, NgZone, Renderer2, HostListener, HostBinding, OnInit, ElementRef, TemplateRef } from '@angular/core';\r\n\r\nclass Position {\r\n x: number; y: number;\r\n constructor(x, y) { this.x = x; this.y = y; }\r\n};\n@Directive({\n selector: '[appDraggable]'\n})\nexport class DraggableDirective {\n\n private allowDrag = true;\r\n private moving = false;\r\n private origin = null;\r\n\r\n // for adding / detaching mouse listeners dynamically so they're not *always* listening\r\n private moveFunc: Function;\r\n private clickFunc: Function;\r\n\r\n constructor(private el: ElementRef,\r\n private zone: NgZone,\r\n private rend: Renderer2) { }\r\n\r\n @Input('handle') handle: HTMLElement;\r\n\r\n @HostBinding('style.transform') transform: string = 'translate3d(0,0,0)';\r\n\r\n ngOnInit() {\r\n\r\n let host = this.el.nativeElement.offsetParent;\r\n\r\n // applies mousemove and mouseup listeners to the parent component, typically my app componennt window, I prefer doing it like this so I'm not binding to a window or document object\r\n\r\n this.clickFunc = this.rend.listen(host, 'mouseup', () => {\r\n this.moving = false;\r\n });\r\n\r\n // uses ngzone to run moving outside angular for better performance\r\n this.moveFunc = this.rend.listen(host, 'mousemove', ($event) => {\r\n if (this.moving && this.allowDrag) {\r\n this.zone.runOutsideAngular(() => {\r\n event.preventDefault();\r\n this.moveTo($event.clientX, $event.clientY);\r\n });\r\n }\r\n });\r\n }\r\n\r\n // detach listeners if host element is removed from DOM\r\n ngOnDestroy() {\r\n if (this.clickFunc) { this.clickFunc(); }\r\n if (this.moveFunc) { this.moveFunc(); }\r\n }\r\n\r\n // parses css translate string for exact px position\r\n private getPosition(x: number, y: number): Position {\r\n let transVal: string[] = this.transform.split(',');\r\n let newX = parseInt(transVal[0].replace('translate3d(', ''));\r\n let newY = parseInt(transVal[1]);\r\n return new Position(x - newX, y - newY);\r\n }\r\n\r\n private moveTo(x: number, y: number): void {\r\n if (this.origin) {\r\n this.transform = this.getTranslate((x - this.origin.x), (y - this.origin.y));\r\n }\r\n }\r\n\r\n private getTranslate(x: number, y: number): string {\r\n return 'translate3d(' + x + 'px,' + y + 'px,0px)';\r\n }\r\n\r\n @HostListener('mousedown', ['$event'])\r\n onMouseDown(event: MouseEvent) {\r\n if (event.button == 2 || (this.handle !== undefined && event.target !==\r\n this.handle)) {\r\n return;\r\n }\r\n else {\r\n this.moving = true;\r\n this.origin = this.getPosition(event.clientX, event.clientY);\r\n }\r\n }\r\n}\n","import { Directive, HostListener } from '@angular/core';\r\ndeclare var require: any\r\nvar screenfull = require('screenfull');\r\n@Directive({\r\n\tselector: '[toggleFullscreen]'\r\n})\r\nexport class ToggleFullscreenDirective {\r\n\t@HostListener('click') onClick() {\r\n\t\tif (screenfull.enabled) {\r\n\t\t\tscreenfull.toggle();\r\n\t\t}\r\n\t}\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '.maximize'\n})\nexport class MaximizeDirective {\n @HostBinding('class.fullscreen') private _addfullScreen = false;\r\n\n constructor() { }\n\n addFullScreen(fullScreen: boolean) {\r\n this._addfullScreen = fullScreen;\r\n }\r\n\n}\n","import { Directive, HostBinding } from '@angular/core';\n\n@Directive({\n selector: '.appmodal'\n})\nexport class ModalDirective {\n @HostBinding('class.inmodal') private _addInModal = false;\n @HostBinding('class.modal') private _addModal = false;\n @HostBinding('style.display') display : string = \"block\";\n constructor() { }\n\n addModal(modal: boolean) {\r\n this._addInModal = modal;\r\n this._addModal = modal;\r\n this.display = \"block\";\r\n }\n}\n","import { NgbDateParserFormatter, NgbDateStruct } from '@ng-bootstrap/ng-bootstrap';\r\nimport { Injectable } from '@angular/core';\r\n\r\n@Injectable()\r\nexport class NgbDateFormatter extends NgbDateParserFormatter {\r\n parse(value: string): NgbDateStruct {\r\n if (value) {\r\n const dateParts = value.trim().split('/');\r\n if (dateParts.length === 1 && this.isNumber(dateParts[0])) {\r\n return { day: this.toInteger(dateParts[0]), month: null, year: null };\r\n } else if (dateParts.length === 2 && this.isNumber(dateParts[0]) && this.isNumber(dateParts[1])) {\r\n return { day: this.toInteger(dateParts[0]), month: this.toInteger(dateParts[1]), year: null };\r\n } else if (dateParts.length === 3 && this.isNumber(dateParts[0]) && this.isNumber(dateParts[1]) && this.isNumber(dateParts[2])) {\r\n return { day: this.toInteger(dateParts[0]), month: this.toInteger(dateParts[1]), year: this.toInteger(dateParts[2]) };\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n format(date: NgbDateStruct): string {\r\n return date ?\r\n `${this.isNumber(date.day) ? this.padNumber(date.day) : ''}/${this.isNumber(date.month) ? this.padNumber(date.month) : ''}/${date.year}` :\r\n '';\r\n }\r\n\r\n toInteger(value: any): number {\r\n return parseInt(`${value}`, 10);\r\n }\r\n\r\n isNumber(value: any): value is number {\r\n return !isNaN(this.toInteger(value));\r\n }\r\n\r\n padNumber(value: number) {\r\n if (this.isNumber(value)) {\r\n return `0${value}`.slice(-2);\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { KeyValuePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'controlfilter',\r\n pure: false\r\n})\r\nexport class ControlFilterPipe implements PipeTransform {\r\n transform(items: any[], filter: any, properties: any): any {\r\n if (!items || !filter) {\r\n return items;\r\n }\r\n if (!properties) {\r\n var temp = items.filter(item => item.Text.toLowerCase().indexOf(filter.toLowerCase()) !== -1);\r\n return temp;\r\n }\r\n else {\r\n var temp = items.filter(item => properties[item.key].Text.toLowerCase().indexOf(filter.toLowerCase()) !== -1)\r\n return temp;\r\n }\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'keyValues',\r\n})\r\nexport class KeyValuesPipe implements PipeTransform {\r\n transform(value: any, args?: any[]): Object[] {\r\n\r\n if (!value) return [];\r\n\r\n let keyArr: any[] = Object.keys(value),\r\n dataArr = [],\r\n keyName = args[0];\r\n if (keyName == \"\") keyName = \"key\";\r\n if (!keyName) keyName = \"key\";\r\n keyArr.forEach((key: any) => {\r\n value[key][keyName] = key;\r\n dataArr.push(value[key])\r\n });\r\n\r\n if (args[1]) {\r\n dataArr.sort((a: Object, b: Object): number => {\r\n return a[keyName] > b[keyName] ? 1 : -1;\r\n });\r\n }\r\n\r\n return dataArr;\r\n }\r\n\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { KeyValuePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'propertyfilter',\r\n pure: false\r\n})\r\nexport class PropertyFilterPipe implements PipeTransform {\r\n\r\n constructor(private keyValuePipe: KeyValuePipe) {\r\n }\r\n transform(propertyCategories: any[], filter: any, controlProperties: any, processProperties: any): any {\r\n if (!propertyCategories || !filter || !controlProperties || !processProperties) {\r\n return propertyCategories;\r\n }\r\n var tempCats = [];\r\n for (var categoryKey in propertyCategories) {\r\n var properties = [];\r\n properties = this.keyValuePipe.transform(controlProperties);\r\n properties = properties.filter(item => processProperties[item.key].Category == propertyCategories[categoryKey].Code &&\r\n processProperties[item.key].Text.toLowerCase().indexOf(filter.toLowerCase()) !== -1)\r\n if (properties.length > 0) tempCats.push(propertyCategories[categoryKey]);\r\n }\r\n return tempCats;\r\n }\r\n}","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { KeyValuePipe } from '@angular/common';\r\n\r\n@Pipe({\r\n name: 'stepfilter',\r\n pure: false\r\n})\r\nexport class StepFilterPipe implements PipeTransform {\r\n\r\n constructor(private keyValuePipe: KeyValuePipe) {\r\n }\r\n transform(steps: any[], filter: any): any {\r\n if (!steps || !filter) {\r\n return steps;\r\n }\r\n var tempSteps = [];\r\n for (var stepKey in steps) {\r\n var items = [];\r\n items = this.keyValuePipe.transform(steps[stepKey].Controls);\r\n items = items.filter(item => item.value.Text.toLowerCase().indexOf(filter.toLowerCase()) !== -1)\r\n if (items.length > 0) tempSteps.push(steps[stepKey]);\r\n }\r\n return tempSteps;\r\n }\r\n}","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwL2NvbW1vbi9wcm9jZXNzY29udHJvbC9wcm9jZXNzY29udHJvbC5jb21wb25lbnQuc2NzcyJ9 */\"","import { Component, OnInit, Input, Output, EventEmitter, ViewChild, TemplateRef } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from \"lodash\";\nimport { NgSelectComponent } from '@ng-select/ng-select';\r\nimport { TemplateService } from '../../template/template.service';\r\nimport { ToastrService } from 'ngx-toastr';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ClientService } from '../../client/client.service';\r\nimport * as moment from 'moment';\n\n@Component({\n selector: 'app-processcontrol',\n templateUrl: './processcontrol.component.html',\n styleUrls: ['./processcontrol.component.scss']\n})\nexport class ProcesscontrolComponent implements OnInit {\n @Output() controlValueChange = new EventEmitter();\n @Input() wizard: any;\n @Input() control: any;\n @Input() referentials: any;\n @ViewChild('ngSelect', null) ngSelect: NgSelectComponent;\n @Input() userAction: any;\n\n moment: any = moment;\n items: any = [];\n loadingDDLdata: boolean = false;\n\n searchResult: any = [];\r\n selectedResult: any;\r\n criteria: any = {};\n isDisabled: any = false;\n isReadOnly: boolean = false;\n noData: boolean = false;\n isFastCreate: boolean = true;\n\n @ViewChild('newLead', null) endorsementModal: TemplateRef;\n clientWizard: any = null;\n newLeadProcessCode: string = \"\";\n newClientProcessCode: string = \"\";\n\n constructor(private apiService: ApiService,\r\n public translate: TranslateService,\n private templateService: TemplateService,\n private toastrService: ToastrService,\n private modalService: NgbModal,\n private clientService: ClientService\n ) {\n\n }\n\n ngOnInit() {\n this.noData = true;\n if (this.control.FieldType == \"DateTime\" && this.control.Value) {\n var dateParts = [];\n dateParts = this.control.Value.split('/');\n if (dateParts.length > 1) {\n this.control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\n } else {\n dateParts = this.control.Value.split('-');\r\n this.control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) });\r\n }\n\n if (this.control.Properties['MinimumDate'].Value) {\n dateParts = this.control.Properties['MinimumDate'].Value.split('-');\r\n this.control.minDate = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\n\n if (this.control.Properties['MaximumDate'].Value) {\n dateParts = this.control.Properties['MaximumDate'].Value.split('-');\r\n this.control.maxDate = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\n }\n\n if ((this.control.FieldType == \"chkUser\" || this.control.FieldType == \"YesNo\") && this.control.Value) {\n if (this.control.Value == 'Y' || this.control.Value == true || this.control.Value.toString().toLowerCase()==\"true\")\r\n this.control.Value = true;\r\n else\n this.control.Value = false;\n }\n\n if (this.control.Referential && this.control.Referential != \"0\") {\n this.control.Items = this.filterDropDownData(this.control);\n this.getDependencyReferentials();\r\n }\n\n if (this.control.Properties['PolicyReadOnly'].Value == true || this.control.Properties['OfferReadOnly'].Value == true) {\n this.isReadOnly = true;\r\n }\n var controltest = this.control;\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, 'OnLoad', this.wizard.Variables, null, null, null);\n\n //execute product generator script only if ExecuteScriptOnPageLoad is true\r\n if (this.control.Properties['ExecuteScriptOnPageLoad'] && this.control.Properties['ExecuteScriptOnPageLoad'].Value == true)\r\n this.executeProductScipt();\n }\n\n filterDropDownData(control) {\r\n var selectedItems = [];\r\n this.loadingDDLdata = true;\r\n if (control.Referential &&\r\n control.Properties['FilterData'] &&\r\n control.Properties['FilterData'].Values &&\r\n control.Properties['FilterData'].Values.length > 0 &&\r\n this.referentials[control.Referential] &&\r\n this.referentials[control.Referential].Values) {\r\n for (var i = 0; i < control.Properties['FilterData'].Values.length; i++) {\r\n var key = control.Properties['FilterData'].Values[i];\r\n selectedItems.push({ \"Key\": key, \"Value\": this.referentials[control.Referential].Values[key] });\r\n }\r\n }\r\n else if (control.Referential &&\r\n this.referentials[control.Referential] &&\r\n this.referentials[control.Referential].Values) {\r\n for (var refKey in this.referentials[control.Referential].Values)\r\n selectedItems.push({ \"Key\": refKey, \"Value\": this.referentials[control.Referential].Values[refKey] });\r\n }\r\n else\r\n selectedItems = [];\r\n if (control.Value && !selectedItems.find(item => item.Key == control.Value))\r\n control.Value = \"\";\r\n this.loadingDDLdata = false;\r\n return selectedItems;\r\n }\n\n valueChange(changedValue, event) {\n\n if (this.control.FieldType == \"DateTime\" &&\n changedValue &&\n changedValue.day &&\n changedValue.month &&\n changedValue.year) {\n //transfer from temp variable to actual model\n this.control.Value = `0${changedValue.day}`.slice(-2) + \"/\" + `0${changedValue.month}`.slice(-2) + \"/\" + changedValue.year;\r\n }\n else if (this.control.FieldType == \"DateTime\" &&\n event == \"blur\" &&\n changedValue) {\r\n //user input is invalid date so clear it off\r\n this.control.DateValue = null;\r\n this.control.Value = \"\";\r\n }\n else if (this.control.FieldType == \"DateTime\" && changedValue) {\n //user input in progress, not a complete date\n this.control.Value = this.moment(changedValue).format(\"DD/MM/YYYY\");\r\n }\n else if (this.control.FieldType == \"DateTime\") {\n //user input in progress, not a complete date\n if (!changedValue && !this.control.DateValue && this.control.Value) {\n this.control.Value = this.control.DateValue;\r\n }\n return;\r\n }\n\n //get end date based on stard date and number of days\n if (this.wizard.SystemIndicator != \"L\" &&\r\n this.control.Properties['SystemName'] &&\r\n this.control.Properties['SystemName'].Value == \"SystemPolicy.NumberOfDays\") {\r\n\r\n\r\n\r\n var controlGroup = {\r\n Controls: {}\r\n };\r\n\r\n var foundNoOfDays = false, foundStartDate = false;\r\n for (var stepKey in this.wizard.Steps) {\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties['SystemName'] &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties['SystemName'].Value == \"SystemPolicy.StartDate\") {\r\n foundNoOfDays = true;\r\n controlGroup.Controls[\"SystemPolicy.StartDate\"] =\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey];\r\n break;\r\n }\r\n }\r\n if (foundNoOfDays) break;\r\n }\r\n \r\n //sections\r\n var sections = this.wizard.Steps[stepKey].Sections;\r\n for (var sectionKey in sections) {\r\n for (var groupKey in sections[sectionKey].ControlGroups) {\r\n for (var controlKey in sections[sectionKey].ControlGroups[groupKey].Controls) {\r\n if (sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['SystemName'] &&\r\n sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['SystemName'].Value == \"SystemPolicy.NumberOfDays\") {\r\n foundStartDate = true;\r\n controlGroup.Controls[\"SystemPolicy.NumberOfDays\"] =\r\n sections[sectionKey].ControlGroups[groupKey].Controls[controlKey];\r\n break;\r\n }\r\n }\r\n if (foundStartDate) break;\r\n }\r\n if (foundStartDate) break;\r\n }\r\n }\r\n\r\n if (foundNoOfDays && foundStartDate) {\r\n this.apiService.post(\"Api/QuoteApi/GetEndDateUsingDays/\", controlGroup).subscribe((result: any) => {\r\n if (result.EndDate) {\r\n var control = this.getControl(\"SystemPolicy.EndDate\");\r\n control.TimeValue = result.EndTime;\r\n control.Value = result.EndDate;\r\n var dateParts = result.EndDate.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({\r\n \"day\": parseInt(dateParts[0]),\r\n \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4))\r\n });\r\n }\r\n }\r\n });\r\n }\r\n }\n\n if (this.wizard.SystemIndicator != \"L\" &&\r\n this.control.Properties['SystemName'] &&\r\n this.control.Properties['SystemName'].Value == \"SystemPolicy.StartDate\") {\r\n this.apiService.post(\"Api/QuoteApi/GetEndDate/\", this.control).subscribe((result: any) => {\r\n if (result.EndDate) {\r\n var control = this.getControl(\"SystemPolicy.EndDate\");\r\n control.TimeValue = result.EndTime;\r\n control.Value = result.EndDate;\r\n var dateParts = result.EndDate.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\r\n }\r\n }\r\n });\r\n }\n\n if (this.control.FieldType == \"Number\" &&\n this.control.Properties['EnableSearch'] &&\n this.control.Properties['EnableSearch'].Value == true) {\n if (!this.control.Value)\r\n this.control.ValueName = null;\r\n }\n\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, null, this.wizard.Variables, null, null, null);\n\n this.getDependencyReferentials();\r\n\r\n //execute product generator script\r\n this.executeProductScipt();\r\n\r\n \r\n //CHANGES BY ZAHRAA - recalculate the premium values\r\n if (this.control.OfferCode) {\r\n var wizard = this.wizard;\r\n\r\n var isSync = false;\r\n\r\n if (this.control.Properties &&\r\n this.control.Properties[\"SyncValue\"] &&\r\n this.control.Properties[\"SyncValue\"].Value)\r\n isSync = this.control.Properties[\"SyncValue\"].Value;\r\n\r\n //Loop to get the step code\r\n var stepOfferCode = '';\r\n for (var step in this.wizard.Steps) {\r\n if (this.wizard.Steps[step].Type == 'Offer')\r\n stepOfferCode = this.wizard.Steps[step].Code;\r\n }\r\n\r\n //UAT issue fix: on entering the cover this.control values, automatically include the cover\r\n if (this.control.Value && this.control.CoverCode) {\r\n var sectioncd = this.control.SectionCode;\r\n var covercd = this.control.CoverCode;\r\n \r\n if (wizard.Steps[stepOfferCode].Offers[this.control.OfferCode].Sections[sectioncd].Covers[covercd].Selected == false) {\r\n var tempCover = wizard.Steps[stepOfferCode].Offers[this.control.OfferCode].Sections[sectioncd].Covers[covercd];\r\n tempCover.Selected = true;\r\n //cover selection changed so execute if there is any client script\r\n if (tempCover.Scripts && tempCover.Scripts['OnChange'] && tempCover.Scripts['OnChange'].IsChange)\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, null, this.wizard.Variables, tempCover.Scripts, tempCover, this.control.OfferCode);\r\n }\r\n }\r\n\r\n if (!isSync)\r\n this.controlValueChange.emit(this.control.OfferCode);\r\n else {\r\n for (var offerKey in this.wizard.Steps[stepOfferCode].Offers) {\r\n if (offerKey === this.control.OfferCode) continue;\r\n\r\n if (!this.control.SectionCode && !this.control.CoverCode) {\r\n var controls = this.wizard.Steps[stepOfferCode].Offers[offerKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controlKey === this.control.Code) {\r\n controls[controlKey].Value = this.control.Value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.control.SectionCode && !this.control.CoverCode) {\r\n var sections = this.wizard.Steps[stepOfferCode].Offers[offerKey].Sections;\r\n for (var sectionKey in sections) {\r\n if (sectionKey !== this.control.SectionCode) continue;\r\n var controls = sections[sectionKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controlKey === this.control.Code) {\r\n controls[controlKey].Value = this.control.Value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.control.SectionCode && this.control.CoverCode) {\r\n var sections = this.wizard.Steps[stepOfferCode].Offers[offerKey].Sections;\r\n for (var sectionKey in sections) {\r\n if (sectionKey !== this.control.SectionCode) continue;\r\n var covers = sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n if (coverKey !== this.control.CoverCode) continue;\r\n var controls = covers[coverKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controlKey === this.control.Code) {\r\n controls[controlKey].Value = this.control.Value;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var offerKey in this.wizard.Steps[stepOfferCode].Offers)\r\n this.controlValueChange.emit(offerKey);\r\n }\r\n }\r\n\r\n //END of ZAHRAA CHANGES\r\n\r\n }\n\n\n getDependencyReferentials() {\n if (this.control.FieldType == \"Lookup\" &&\n this.referentials[this.control.Referential] &&\n this.referentials[this.control.Referential].IsDependency) {\r\n\r\n var controls = {};\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Controls) {\r\n controls[controlKey] = this.wizard.Steps[stepKey].Controls[controlKey];\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n controls[controlKey] = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n var dependency = { \"Code\": this.control.Referential, \"Value\": this.control.Value, Module: \"CLIENT\" };\r\n\r\n this.apiService.post(\"Api/TemplateApi/DependencyRef/\", dependency).subscribe((res: any) => {\r\n var dependencies = [];\r\n for (var refrentialKey in res) {\r\n if (this.referentials[refrentialKey]) {\r\n this.referentials[refrentialKey].Values = _.cloneDeep(res[refrentialKey].Values);\r\n dependencies.push(refrentialKey);\r\n }\r\n }\r\n\r\n //although its not efficient but it seems we have to rebind the dropdown\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Controls) {\r\n if (this.wizard.Steps[stepKey].Controls[controlKey].Referential &&\r\n dependencies.indexOf(this.wizard.Steps[stepKey].Controls[controlKey].Referential) >= 0) {\r\n this.wizard.Steps[stepKey].Controls[controlKey].Items =\r\n this.filterDropDownData(this.wizard.Steps[stepKey].Controls[controlKey]);\r\n }\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Referential &&\r\n dependencies.indexOf(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Referential) >= 0) {\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Items =\r\n this.filterDropDownData(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\n\n executeProductScipt()\n {\r\n if (!this.wizard.IsView &&\r\n (this.control.Properties && (\r\n (this.wizard.IsPolicy && this.control.Properties['PolicyReadOnly'] && !this.control.Properties['PolicyReadOnly'].Value) ||\r\n (!this.wizard.IsPolicy && this.control.Properties['OfferReadOnly'] && !this.control.Properties['OfferReadOnly'].Value)))\r\n && this.control.SectionCode\r\n && !this.control.CoverCode\r\n && this.control.ScriptCode\r\n && this.control.Properties[\"DisbaleProductScript\"].Value === false)\r\n {\r\n //get standard control values from all step\r\n var standardControls = {};\r\n for (var stepCode in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepCode].Controls) {\r\n if (this.wizard.Steps[stepCode].Controls[controlKey].Value && this.wizard.Steps[stepCode].Controls[controlKey].Value.Code)\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": this.wizard.Steps[stepCode].Controls[controlKey].Value.Code,\r\n \"Properties\": this.wizard.Steps[stepCode].Controls[controlKey].Properties,\r\n \"FieldType\": this.wizard.Steps[stepCode].Controls[controlKey].FieldType,\r\n \"KeyValue\": this.wizard.Steps[stepCode].Controls[controlKey].KeyValue\r\n };\r\n else\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": this.wizard.Steps[stepCode].Controls[controlKey].Value,\r\n \"Properties\": this.wizard.Steps[stepCode].Controls[controlKey].Properties,\r\n \"FieldType\": this.wizard.Steps[stepCode].Controls[controlKey].FieldType,\r\n \"KeyValue\": this.wizard.Steps[stepCode].Controls[controlKey].KeyValue\r\n };\r\n }\r\n for (var groupCode in this.wizard.Steps[stepCode].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlKey].Value,\r\n \"Properties\": this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlKey].Properties,\r\n \"FieldType\": this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlKey].FieldType,\r\n \"KeyValue\": this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlKey].KeyValue\r\n };\r\n }\r\n }\r\n }\r\n\r\n var stepKey;\r\n for (var stepcode in this.wizard.Steps) {\r\n for (var sectionCode in this.wizard.Steps[stepcode].Sections) {\r\n for (var groupCode in this.wizard.Steps[stepcode].Sections[sectionCode].ControlGroups) {\r\n for (var controlCode in this.wizard.Steps[stepcode].Sections[sectionCode].ControlGroups[groupCode].Controls) {\r\n if (sectionCode == this.control.SectionCode && controlCode == this.control.Code)\r\n stepKey = stepcode;\r\n }\r\n }\r\n }\r\n }\r\n\r\n var section = this.wizard.Steps[stepKey].Sections[this.control.SectionCode];\r\n\r\n var model = {\r\n \"ProductCode\": this.wizard.ProductCode,\r\n \"ProcessCode\": this.wizard.ProcessCode,\r\n \"DepartmentCode\": this.wizard.DepartmentCode,\r\n \"SystemIndicator\": this.wizard.SystemIndicator,\r\n \"Section\": section,\r\n \"Control\": this.control,\r\n \"Controls\": standardControls,\r\n \"Referentials\": this.referentials,\r\n \"Variables\": this.wizard.Variables,\r\n \"ClientKey\": this.wizard.ClientKey,\r\n \"IsOffer\": this.wizard.PolicyKey ? \"N\" : \"Y\"\r\n };\r\n\r\n this.apiService.post('Api/PolicyTemplateApi/ItemControlScript/', model).subscribe((result: any) => {\r\n this.wizard.Variables = result.Variables;\r\n this.wizard.Referentials = this.referentials = result.Referentials;\r\n\r\n for (var stepKey in this.wizard.Steps) {\r\n var step = this.wizard.Steps[stepKey];\r\n for (var sectionKey in step.Sections) {\r\n if (sectionKey == result.Section.Code) {\r\n for (var controlKey in step.Sections[sectionKey].Controls) {\r\n var control = step.Sections[sectionKey].Controls[controlKey];\r\n\r\n if (result.Control.Code == controlKey) {\r\n var isError = result.Errors && result.Errors.length > 0 ? true : false;\r\n if (isError && result.Errors[0].Severity != 1) {\r\n control.productError = isError;\r\n this.toastrService.error(result.Errors[0].Message, result.Control.Text);\r\n }\r\n else if (isError) {\r\n control.productError = false;\r\n this.toastrService.error(result.Errors[0].Message, result.Control.Text);\r\n }\r\n else {\r\n control.productError = false;\r\n }\r\n }\r\n\r\n var refKey = sectionKey + \"_\" + controlKey;\r\n if (result.Referentials[refKey]) {\r\n this.wizard.Referentials[refKey] = { \"Values\": _.cloneDeep(result.Referentials[refKey].Values), \"Code\": refKey };\r\n control.Referential = refKey;\r\n\r\n if (result.Section.Controls[controlKey].Value &&\r\n result.Referentials[refKey].Values[result.Section.Controls[controlKey].Value] &&\r\n (result.Section.Controls[controlKey].Value == \"0\" &&\r\n result.Referentials[refKey].Values[result.Section.Controls[controlKey].Value].trim() == \"\") == false) {\r\n control.OldValue = control.Value = result.Section.Controls[controlKey].Value;\r\n\r\n if (result.Section.Controls[controlKey].FieldType == \"DateTime\") {\r\n var dateParts = [];\r\n dateParts = result.Section.Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\r\n }\r\n }\r\n }\r\n else\r\n control.DateValue = control.OldValue = control.Value = null;\r\n\r\n control.Items = this.filterDropDownData(control); //to referesh the dropdown data\r\n }\r\n else if (result.Section.Controls[controlKey]) //overwrite values from product gen\r\n {\r\n control.OldValue = control.Value = result.Section.Controls[controlKey].Value;\r\n\r\n if (control.FieldType == \"DateTime\") {\r\n var dateParts = [];\r\n dateParts = result.Section.Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var groupCode in this.wizard.Steps[stepKey].Sections[sectionKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Sections[sectionKey].ControlGroups[groupCode].Controls) {\r\n var control = this.wizard.Steps[stepKey].Sections[sectionKey].ControlGroups[groupCode].Controls[controlKey];\r\n\r\n if (result.Control.Code == controlKey) {\r\n var isError = result.Errors && result.Errors.length > 0 ? true : false;\r\n if (isError && result.Errors[0].Severity != 1) {\r\n control.productError = isError;\r\n this.toastrService.error(result.Errors[0].Message, result.Control.Text);\r\n }\r\n else if (isError) {\r\n control.productError = false;\r\n this.toastrService.error(result.Errors[0].Message, result.Control.Text);\r\n }\r\n else {\r\n control.productError = false;\r\n }\r\n }\r\n\r\n var refKey = sectionKey + \"_\" + controlKey;\r\n if (result.Referentials[refKey]) {\r\n this.wizard.Referentials[refKey] = { \"Values\": _.cloneDeep(result.Referentials[refKey].Values), \"Code\": refKey };\r\n control.Referential = refKey;\r\n\r\n if (result.Section.ControlGroups[groupCode].Controls[controlKey].Value &&\r\n result.Referentials[refKey].Values[result.Section.ControlGroups[groupCode].Controls[controlKey].Value] &&\r\n (result.Section.ControlGroups[groupCode].Controls[controlKey].Value == \"0\" &&\r\n result.Referentials[refKey].Values[result.Section.ControlGroups[groupCode].Controls[controlKey].Value].trim() == \"\") == false) {\r\n control.OldValue = control.Value = result.Section.ControlGroups[groupCode].Controls[controlKey].Value;\r\n\r\n if (control.FieldType == \"DateTime\") {\r\n var dateParts = [];\r\n dateParts = result.Section.ControlGroups[groupCode].Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\r\n }\r\n }\r\n }\r\n else\r\n control.DateValue = control.OldValue = control.Value = null;\r\n\r\n control.Items = this.filterDropDownData(control); //to referesh the dropdown data\r\n }\r\n else if (result.Section.ControlGroups[groupCode].Controls[controlKey]) //overwrite values from product gen\r\n {\r\n control.OldValue = control.Value = result.Section.ControlGroups[groupCode].Controls[controlKey].Value;\r\n if (control.Items) control.Items = [];\r\n\r\n if (control.FieldType == \"DateTime\") {\r\n var dateParts = [];\r\n dateParts = result.Section.ControlGroups[groupCode].Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n control.DateValue = this.getDateValue({ \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n if (this.wizard.Scripts) {\r\n for (var scriptKey in this.wizard.Scripts) {\r\n if (this.wizard.Scripts[scriptKey].IsCalculationComplete) {\r\n this.templateService.executeGlobalScript(this.wizard.Referentials,\r\n this.wizard.Steps, null, result.Variables, false, this.wizard.Scripts[scriptKey].Value);\r\n }\r\n }\r\n }\r\n },\r\n (response) => {\r\n if (this.wizard.Scripts) {\r\n for (var scriptKey in this.wizard.Scripts) {\r\n if (this.wizard.Scripts[scriptKey].IsCalculationError) {\r\n this.templateService.executeGlobalScript(this.wizard.Referentials,\r\n this.wizard.Steps, null, response.data.Variables, true, this.wizard.Scripts[scriptKey].Value);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\n\n onResize(event) {\n if (this.ngSelect && this.ngSelect.isOpen) this.ngSelect.close();\r\n }\n\n openSearchModal(type, content) {\r\n this.noData = false;\r\n this.modalService.open(content, { centered: true, size: 'lg' }).result.then((result) => {\r\n if (result == 'Select') {\r\n //write selected client name and key in the field\r\n if (type == 'client') {\r\n this.control.Value = this.selectedResult.ClientKey;\r\n this.control.ValueName = this.selectedResult.ClientName;\r\n }\r\n else if (type == 'address')\r\n this.control.Value = this.searchResult.AddressKey;\r\n else if (type == 'arrangement') {\r\n this.control.Value = this.selectedResult.ArrangementCode;\r\n this.control.KeyValue = this.selectedResult.ArrangementCode;\r\n this.controlValueChange.emit(this.control.Code);\r\n }\r\n this.clearSearch();\r\n this.searchResult = [];\r\n }\r\n else {\r\n this.clearSearch();\r\n this.searchResult = [];\r\n }\r\n }, (reason) => {\r\n this.clearSearch();\r\n this.searchResult = [];\r\n });\r\n }\r\n\r\n clearSearch() {\r\n this.criteria = {};\r\n this.searchResult = [];\r\n }\r\n\r\n clientSearch() {\r\n this.noData = false;\r\n var model = {\r\n PageNo: this.criteria.PageNo ? this.criteria.PageNo : 1,\r\n PageSize: this.criteria.PageSize ? this.criteria.PageSize : 10,\r\n ClientKey: this.criteria.clientKey ? this.criteria.clientKey : \"\" ,\r\n ClientName: this.criteria.Name,\r\n IDRegNumber: this.criteria.idRegNumber,\r\n WorkTelephone: this.criteria.telephoneNumber,\r\n IsCompany: \"\",\r\n BirthDate: this.criteria.DateOfBirth\r\n };\r\n\r\n //model.IsCompany = 'N';\r\n this.apiService.post(\"Api/ClientApi/Search/\", model).subscribe((result: any) => {\r\n this.searchResult = result.rows;\r\n this.criteria.PageNo = result.page;\r\n this.criteria.TotalRecords = result.records;\r\n if (result.records == 0) this.noData = true;\r\n });\r\n }\r\n\r\n arrangeSearch() {\r\n var model = {\r\n PageNo: this.criteria.PageNo ? this.criteria.PageNo : 1,\r\n PageSize: this.criteria.PageSize ? this.criteria.PageSize : 10,\r\n AgentName: this.criteria.AgentName,\r\n ArrangementCode: this.criteria.ArrangementCode,\r\n AgentCode: this.criteria.AgentCode,\r\n Status: \"Active\",\r\n PlanKey: this.wizard.ProductCode ? this.wizard.ProductCode : 0\r\n };\r\n \r\n this.apiService.post(\"Api/ArrangementApi/Search/\", model).subscribe((result: any) => {\r\n this.searchResult = result.rows;\r\n this.criteria.PageNo = result.page;\r\n this.criteria.TotalRecords = result.records;\r\n });\r\n }\r\n\r\n selectRow(row) {\r\n this.selectedResult = row;\r\n }\n\n \n getTemplate() {\n var model = { ClientKey: \"\" };\r\n this.apiService.post(\"Api/ClientTemplateApi/SearchClientProcesses/\", model).subscribe((res) => {\r\n this.newLeadProcessCode = res[\"CLIENT_NEWLEAD\"];\r\n this.newClientProcessCode = res[\"CLIENT_NEWCLIENT\"];\r\n\r\n this.loadTemplate();\r\n });\r\n }\n \n loadTemplate()\n { \n var model = {\r\n \"ProductCode\": \"\",\r\n \"ProcessCode\": this.newLeadProcessCode, //DMISR => 433 , TLTI => 395\r\n \"DepartmentCode\": \"\"\n };\n\n this.apiService.post(\"Api/ClientTemplateAPI/Load/\", model).subscribe((res: any) => {\r\n\r\n for (var stepCode in res.Steps) {\n for (var groupCode in res.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in res.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n if (res.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(res.Referentials, res.Steps, res.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode], \"OnLoad\", res.Variables, null, null, null);\n }\r\n }\r\n }\r\n }\r\n\r\n this.clientService.wizard = res;\r\n this.clientWizard = this.clientService.wizard;\r\n\r\n this.modalService.dismissAll();\r\n this.modalService.open(this.endorsementModal);\r\n }); \r\n }\n\n AddLead() {\n // Verify that all required fields are not blank.\n var requiredControlLength = this.clientService.validateControls(this.clientWizard);\n\n if (requiredControlLength > 0) {\n this.toastrService.error(this.translate.instant(\"Provide details for all required fields\"));\r\n }\n else {\n this.apiService.post(\"Api/ClientAPI/AddLead/\", this.clientWizard).subscribe((res: any) => {\r\n if (res.ErrorKey == 0) {\r\n this.toastrService.success(this.translate.instant(\"Client created successfully\"));\r\n this.control.Value = res.Client.ClientKey;\r\n this.control.ValueName = res.Client.First + \" \" + res.Client.SurName;\r\n this.modalService.dismissAll();\r\n }\r\n else if (res.ErrorKey == 1) {\r\n this.toastrService.warning(this.translate.instant(\"integrity failed..\"));\r\n //this.integrityCheck = res.Integrity;\r\n //this.isCritical = \"No\";\r\n //for (var integrityKey in this.integrityCheck) {\r\n // if (this.integrityCheck[integrityKey].CheckSeverity == 3)\r\n // this.isCritical = \"Yes\";\r\n //}\r\n //this.modalService.open(this.rulesValidationResult, { centered: true, size: 'lg' });\r\n }\r\n else if (res.ErrorKey == 2) {\r\n this.toastrService.error(this.translate.instant(\"Unique constraint violation. Please try again.\"));\r\n } else if (res.ErrorKey == 3) {\r\n this.toastrService.error(this.translate.instant(\"Failed to create client\"));\r\n }\r\n });\r\n }\r\n }\n\n getControl(systemName) {\r\n var referential = {};\r\n for (var stepKey in this.wizard.Steps) {\r\n\r\n var controls = this.wizard.Steps[stepKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var transKey in this.wizard.Steps[stepKey].ClaimTransacReferences) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n return null;\r\n }\n\n getDateValue(dateVal) {\n var date = new Date(dateVal.year, dateVal.month - 1, dateVal.day);\n\n return date;\r\n }\n}\n","\r\nimport * as _ from \"lodash\";\r\nimport { OnInit, Component, Input } from \"@angular/core\";\r\nimport * as moment from 'moment';\r\nimport { CommonService } from \"../services/common.service\";\r\nimport { TranslateService } from \"@ngx-translate/core\";\r\nimport { Subscription } from \"rxjs\";\r\nimport { ApiService } from \"../services/api.service\";\r\n\r\n@Component({\r\n selector: 'process-summary',\r\n templateUrl: './process-summary.component.html'\r\n})\r\nexport class ProcessSummaryComponent implements OnInit {\r\n @Input(\"wizard\") wizard: any;\r\n @Input(\"code\") code: any;\r\n @Input(\"process\") process: any;\r\n @Input(\"product\") product: any;\r\n @Input(\"openRequestCount\") openRequestCount: number;\r\n moment: any = moment;\r\n groupSummary: any = {};\r\n groupChangeSubscription: Subscription;\r\n\r\n constructor(public commonService: CommonService,\r\n private translate: TranslateService,\r\n private apiService: ApiService\r\n ) {\r\n this.groupChangeSubscription = this.commonService.getGroupChangeEvent().subscribe(result => {\r\n this.initMultilineSummary();\r\n\r\n //multiline group changed so refresh process summary\r\n this.apiService.post(\"Api/PolicyAPI/RefreshSummary/\", this.wizard).subscribe((result: any) => {\r\n this.wizard.Summaries = result;\r\n });\r\n });\r\n }\r\n\r\n ngOnChange(){\r\n \r\n }\r\n\r\n ngOnInit() {\r\n this.initMultilineSummary();\r\n }\r\n\r\n copyText(text : any){\r\n if(!!text){\r\n this.commonService.copyToClipBoard(text.toString());\r\n }\r\n \r\n }\r\n\r\n initMultilineSummary() {\r\n for (var stepCode in this.wizard.Steps) {\r\n for (var groupCode in this.wizard.Steps[stepCode].ControlGroups) {\r\n if (this.wizard.Steps[stepCode].ControlGroups[groupCode].IsMultiline) {\r\n for (var controlCode in this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n if (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['QuoteSummary'].Value) {\r\n this.groupSummary[stepCode + groupCode + controlCode] = this.getMultilineSummary(stepCode, groupCode, controlCode);\r\n }\r\n }\r\n }\r\n }\r\n } \r\n }\r\n\r\n getMultilineSummary(stepCode, groupCode, controlCode) : string {\r\n var summary: string = \"\";\r\n for (var lineCode in this.wizard.Steps[stepCode].ControlGroups[groupCode].Lines) {\r\n if (this.wizard.Steps[stepCode].ControlGroups[groupCode].Lines[lineCode].Controls[controlCode].Value) {\r\n if ((this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType != 'Lookup')\r\n && (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType != 'YesNo')\r\n && (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType != 'DateTime'))\r\n summary = summary + this.wizard.Steps[stepCode].ControlGroups[groupCode].Lines[lineCode].Controls[controlCode].Value + \";\"\r\n else if (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType == 'DateTime')\r\n summary = summary + moment(this.wizard.Steps[stepCode].ControlGroups[groupCode].Lines[lineCode].Controls[controlCode].Value, \"DD/MM/YYYY\").format(\"D MMM YYYY\");\r\n else if (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType == 'Lookup')\r\n summary = summary + this.wizard.Referentials[this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Referential].Values[this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value];\r\n else if ((this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType == 'YesNo')\r\n && (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value == 'Y'))\r\n summary = summary + this.translate.instant(\"Yes\");\r\n else if ((this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].FieldType == 'YesNo')\r\n && (this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Value == 'N'))\r\n summary = summary + this.translate.instant(\"No\");\r\n }\r\n else {\r\n summary = summary + \"-;\"\r\n }\r\n }\r\n return summary;\r\n }\r\n\r\n ngOnDestroy() {\r\n // unsubscribe to ensure no memory leaks\r\n this.groupChangeSubscription.unsubscribe();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ApiService {\n rootDir: string = '';\n\n constructor(private httpClient: HttpClient) {\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\n\n if (browserWindowEnv.hasOwnProperty('rootDir')) {\r\n this.rootDir = window['__env']['rootDir'];\r\n }\n }\n\n public get(url: string, data: any) {\n return this.httpClient.get(this.rootDir + url + data);\r\n }\n\n public post(url: string, data: any) {\n return this.httpClient.post(this.rootDir + url, data);\r\n }\n\n public postWithOptions(url: string, data: any, options: any) {\n return this.httpClient.post(this.rootDir + url, data, options);\r\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { ChatDB } from '../../common/data/chat/chat';\r\nimport { ChatUsers, chat } from '../../common/model/chat.model';\r\nimport { Observable, Subscriber } from 'rxjs';\r\nimport { map, filter, scan } from 'rxjs/operators';\r\n\r\nvar today = new Date().toLocaleString('en-US', { hour: 'numeric', minute: 'numeric', hour12: true });\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ChatService {\r\n\r\n public observer: Subscriber<{}>;\r\n public chat: any[] = []\r\n public users: any[] = []\r\n\r\n constructor() {\r\n this.chat = ChatDB.chat\r\n this.users = ChatDB.chatUser\r\n }\r\n\r\n // Get User Data\r\n public getUsers(): Observable {\r\n const users = new Observable(observer => {\r\n observer.next(this.users);\r\n observer.complete();\r\n });\r\n return >users;\r\n }\r\n\r\n // Get cuurent user\r\n public getCurrentUser() {\r\n return this.getUsers().pipe(map(users => {\r\n return users.find((item) => {\r\n return item.authenticate === 1;\r\n });\r\n }));\r\n }\r\n\r\n // chat to user\r\n public chatToUser(id: number) {\r\n return this.getUsers().pipe(map(users => {\r\n return users.find((item) => {\r\n return item.id === id;\r\n });\r\n }));\r\n }\r\n\r\n // Get users chat\r\n public getUserChat(): Observable {\r\n const chat = new Observable(observer => {\r\n observer.next(this.chat);\r\n observer.complete();\r\n });\r\n return >chat;\r\n }\r\n\r\n // Get chat History\r\n public getChatHistory(id: number) {\r\n return this.getUserChat().pipe(map(users => {\r\n return users.find((item) => {\r\n return item.id === id;\r\n });\r\n }));\r\n }\r\n\r\n // Send Message to user\r\n public sendMessage(chat) {\r\n this.chat.filter(chats => {\r\n if (chats.id == chat.receiver) {\r\n chats.message.push({ sender: chat.sender, time: today.toLowerCase(), text: chat.message })\r\n setTimeout(function () {\r\n document.querySelector(\".chat-history\").scrollBy({ top: 200, behavior: 'smooth' });\r\n }, 310)\r\n this.responseMessage(chat)\r\n }\r\n })\r\n }\r\n\r\n public responseMessage(chat) {\r\n\r\n this.chat.filter(chats => {\r\n if (chats.id == chat.receiver) {\r\n setTimeout(() => {\r\n chats.message.push({ sender: chat.receiver, time: today.toLowerCase(), text: 'Hey This is ' + chat.receiver_name + ', Sorry I busy right now, I will text you later' })\r\n }, 2000);\r\n setTimeout(function () {\r\n document.querySelector(\".chat-history\").scrollBy({ top: 200, behavior: 'smooth' });\r\n }, 2310)\r\n }\r\n })\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigDB } from '../../common/data/config/config';\r\nimport { ApiService } from '../services/api.service';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n static missingTranslations: any = [];\r\n public processGroupChange = new Subject();\r\n public apiProgressChange = new Subject();\r\n clientKey: number;\r\n dtsRequestKey: number;\r\n workflowKey: number;\r\n offerKey: string;\r\n versionNo: number;\r\n policyKey: string;\r\n endorsementNo: number;\r\n processKey: number;\r\n productKey: string;\r\n departmentKey: number;\r\n claim: any;\r\n inputKey: string[];\r\n\r\n process: any;\r\n policy: any;\r\n\r\n constructor(private configDB: ConfigDB,\r\n private apiService: ApiService,\r\n private toasterService: ToastrService) {\r\n }\r\n\r\n // Configration Layout\r\n public data = this.configDB.data\r\n\r\n //Function get syscontrol table (SYS2) values for all keys passed as string array \r\n public sysControlValues(inputKey): any {\r\n\r\n this.apiService.post(\"Api/ClientTemplateApi/SysControlValues/\", inputKey).subscribe((res) => {\r\n\r\n if (res) return res;\r\n\r\n });\r\n }\r\n\r\n clearData() {\r\n this.clientKey = undefined;\r\n this.dtsRequestKey = undefined;\r\n this.workflowKey = undefined;\r\n this.offerKey = undefined;\r\n this.versionNo = undefined;\r\n this.policyKey = undefined;\r\n this.endorsementNo = undefined;\r\n this.processKey = undefined;\r\n this.productKey = undefined;\r\n this.departmentKey = undefined;\r\n\r\n this.claim = undefined;\r\n this.process = undefined;\r\n\r\n this.inputKey = [];\r\n }\r\n\r\n copyToClipBoard(val: string) {\r\n if (!!val) {\r\n\r\n let selBox = document.createElement('textarea');\r\n selBox.style.position = 'fixed';\r\n selBox.style.left = '0';\r\n selBox.style.top = '0';\r\n selBox.style.opacity = '0';\r\n selBox.value = val;\r\n document.body.appendChild(selBox);\r\n selBox.focus();\r\n selBox.select();\r\n document.execCommand('copy');\r\n document.body.removeChild(selBox);\r\n this.toasterService.success(`${val} Copied to clipboard`)\r\n }\r\n }\r\n\r\n getGroupChangeEvent(): Observable {\r\n return this.processGroupChange.asObservable();\r\n }\r\n\r\n getApiProgressChangeEvent(): Observable {\r\n return this.apiProgressChange.asObservable();\r\n }\r\n}\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { ConfigDB } from '../../common/data/config/config';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CustomizerService {\r\n // Configration Layout\r\n public data = this.configDB.data;\r\n\r\n constructor(private configDB: ConfigDB) {\r\n document.body.className = this.data.color.mix_layout;\r\n document.body.setAttribute(\"main-theme-layout\", this.data.settings.layout_type);\r\n document.getElementsByTagName('html')[0].setAttribute('dir', this.data.settings.layout_type);\r\n //var color = localStorage.getItem(\"color\") || this.data.color.color;\r\n var color = this.data.color.color;\r\n var layoutVersion = localStorage.getItem(\"layoutVersion\") || this.data.color.layout_version;\r\n if (color) {\r\n this.createStyle(color);\r\n if (layoutVersion)\r\n document.body.className = layoutVersion;\r\n }\r\n }\r\n\r\n\r\n\r\n // Set Customize layout Version\r\n setLayoutType(layout) {\r\n document.body.setAttribute(\"main-theme-layout\", layout);\r\n document.getElementsByTagName('html')[0].setAttribute('dir', layout);\r\n this.data.settings.layout_type = layout\r\n }\r\n\r\n // Set Customize layout Version\r\n setLayout(layout) {\r\n document.body.className = layout\r\n this.data.color.mix_layout = layout\r\n localStorage.setItem('layout_type', layout);\r\n }\r\n\r\n // Set Color \r\n setColor(color) {\r\n this.createStyle(color)\r\n this.data.color.color = color\r\n if (color == \"color-1\") {\r\n this.data.color.primary_color = '#4466f2';\r\n this.data.color.secondary_color = '#1ea6ec';\r\n } else if (color == \"color-2\") {\r\n this.data.color.primary_color = '#0288d1';\r\n this.data.color.secondary_color = '#26c6da';\r\n } else if (color == \"color-3\") {\r\n this.data.color.primary_color = '#8e24aa';\r\n this.data.color.secondary_color = '#ff6e40';\r\n } else if (color == \"color-4\") {\r\n this.data.color.primary_color = '#4c2fbf';\r\n this.data.color.secondary_color = '#2e9de4';\r\n } else if (color == \"color-5\") {\r\n this.data.color.primary_color = '#7c4dff';\r\n this.data.color.secondary_color = '#7b1fa2';\r\n } else if (color == \"color-6\") {\r\n this.data.color.primary_color = '#3949ab';\r\n this.data.color.secondary_color = '#4fc3f7';\r\n }\r\n localStorage.setItem('color', this.data.color.color);\r\n localStorage.setItem('primary_color', this.data.color.primary_color);\r\n localStorage.setItem('secondary_color', this.data.color.secondary_color);\r\n window.location.reload();\r\n }\r\n\r\n // Set Customize layout Version\r\n setColorLightScheme(color) {\r\n this.setColor(color);\r\n this.data.color.layout_version = 'light';\r\n localStorage.setItem('layoutVersion', this.data.color.layout_version);\r\n }\r\n\r\n // Set Customize layout Version\r\n setColorDarkScheme(color) {\r\n this.setColor(color);\r\n this.data.color.layout_version = 'dark-only';\r\n localStorage.setItem('layoutVersion', this.data.color.layout_version);\r\n }\r\n\r\n // Create style sheet append in head\r\n createStyle(color) {\r\n var head = document.head;\r\n var link = document.createElement(\"link\");\r\n link.type = \"text/css\";\r\n link.rel = \"stylesheet\";\r\n link.href = window.location.origin + \"/assets/css/\" + color + \".css\";\r\n head.appendChild(link);\r\n //document.styleSheets[0].disabled = false;\r\n }\r\n\r\n removeStyle() {\r\n //document.styleSheets[0].disabled = true;\r\n var elements = document.querySelectorAll('link[rel=stylesheet]');\r\n for (var i = 0; i < elements.length; i++) {\r\n var link: any = elements[i];\r\n var url: string = window.location.origin + \"/assets/css/color-\";\r\n if (link.href.toUpperCase().indexOf(url.toUpperCase()) >= 0) {\r\n elements[i].parentNode.removeChild(elements[i]);\r\n }\r\n }\r\n }\r\n}\r\n","import { Injectable, HostListener } from '@angular/core';\r\nimport { BehaviorSubject, Observable, Subscriber } from 'rxjs';\r\n\r\n// Menu\r\nexport interface Menu {\r\n\tpath?: string;\r\n\ttitle?: string;\r\n\ticon?: string;\r\n\ttype?: string;\r\n\tbadgeType?: string;\r\n\tbadgeValue?: string;\r\n\tactive?: boolean;\r\n\tbookmark?: boolean;\r\n children?: Menu[];\r\n accessarea?: string;\r\n}\r\n\r\n@Injectable({\r\n\tprovidedIn: 'root'\r\n})\r\n\r\nexport class NavService {\r\n public screenWidth: any\r\n\tpublic collapseSidebar: boolean = false\r\n\r\n\tconstructor() {\r\n\t\tthis.onResize();\r\n\t\tif (this.screenWidth < 991) {\r\n\t\t\tthis.collapseSidebar = true\r\n\t\t}\r\n\t}\r\n\r\n\t// Windows width\r\n\t@HostListener('window:resize', ['$event'])\r\n\tonResize(event?) {\r\n\t\tthis.screenWidth = window.innerWidth;\r\n\t}\r\n\r\n\tMENUITEMS: Menu[] = [\r\n\t\t{\r\n title: 'Designer', icon: 'slack', type: 'sub', badgeType: 'primary', accessarea: \"25000:SWR\", badgeValue: 'New', active: false, children: [\r\n { path: 'App/Template/Offer/Search', title: 'Offer', type: 'link' , accessarea: \"25001:SWR\"},\r\n { path: 'App/Template/Policy/Search', title: 'Policy', type: 'link', accessarea: \"25002:SWR\" },\r\n { path: 'App/Template/Client/Search', title: 'Client', type: 'link', accessarea: \"25003:SWR\" },\r\n { path: 'App/Template/Report/Search', title: 'Report', type: 'link', accessarea: \"25004:SWR\" },\r\n { path: 'App/Template/Claim/Search', title: 'Claim', type: 'link', accessarea: \"25005:SWR\" }, \r\n \r\n\t\t\t]\r\n },\r\n {\r\n path: 'App/Client/Search', title: 'Client', icon: 'user', type: 'link', accessarea: \"25007:SWR\"\r\n },\r\n {\r\n path: 'App/Offer/Search', title: 'Offer', icon: 'git-pull-request', type: 'link', accessarea: \"25008:SWR\"\r\n },\r\n {\r\n path: 'App/Policy/Search', title: 'Policy', icon: 'airplay', type: 'link', accessarea: \"25009:SWR\"\r\n }, \r\n {\r\n path: 'App/Claim/Search', title: 'Claims', icon: 'command', type: 'link', accessarea: \"25013:SWR\"\r\n },\r\n {\r\n path: 'App/Collection/Search', title: 'Collection', icon: 'command', type: 'link', accessarea: \"25017:SWR\"\r\n },\r\n {\r\n path: 'App/Report/Search', title: 'Reports', icon: 'command', type: 'link', accessarea: \"25018:SWR\"\r\n },\r\n {\r\n path: 'App/Promotion/Search', title: 'Promotion', icon: 'percent', type: 'link', accessarea: \"25030:SWR\"\r\n }\r\n\t]\r\n\t// Array\r\n\titems = new BehaviorSubject(this.MENUITEMS);\r\n\r\n\r\n}\r\n","import { Injectable, Component, OnInit, Input, EventEmitter } from '@angular/core';\r\nimport { ConfigDB } from '../../common/data/config/config';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ApiService } from '../services/api.service';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ReportingService {\r\n\r\n \r\n public firstReference: string = '';\r\n public secondReference: string = '';\r\n public firstRefKeys: any = [];\r\n public secRefKeys: any = [];\r\n public reportsQueue: any = [];\r\n public rptTriggerPoint: any;\r\n public productCde: string = '';\r\n public processCde: string = '';\r\n public reportingServiceEvent = new EventEmitter();\r\n\r\n wizard: any;\r\n\r\n constructor(\r\n private apiService: ApiService,\r\n private toastrService: ToastrService,\r\n private translate: TranslateService)\r\n {\r\n }\r\n\r\n printAutomaticReportsInQueue(triggerPoint, referenceKeys, secondReferenceKeys) {\r\n this.firstRefKeys = referenceKeys;\r\n this.secRefKeys = secondReferenceKeys;\r\n this.rptTriggerPoint = triggerPoint;\r\n\r\n this.printNextReportFromQueue();\r\n }\r\n\r\n\r\n printAutomaticReportsInQueueByProcess(triggerPoint, processCode, productCode, referenceKeys, secondReferenceKeys) {\r\n this.firstRefKeys = referenceKeys;\r\n this.secRefKeys = secondReferenceKeys;\r\n this.rptTriggerPoint = triggerPoint;\r\n this.productCde = productCode;\r\n this.processCde = processCode;\r\n\r\n this.printNextReportFromQueue();\r\n }\r\n\r\n\r\n printNextReportFromQueue() {\r\n if (this.firstRefKeys.length > 0) this.firstReference = this.firstRefKeys[0];\r\n if (this.secRefKeys.length > 0) this.secondReference = this.secRefKeys[0];\r\n\r\n this.printAutomaticReports(this.rptTriggerPoint, this.firstReference, this.secondReference);\r\n }\r\n\r\n\r\n printAutomaticReports(triggerPoint, referenceNum, secondReferenceNum) {\r\n this.firstReference = referenceNum;\r\n this.secondReference = secondReferenceNum;\r\n\r\n var model = {\r\n TriggerPointRef: triggerPoint,\r\n RefNumber: this.firstReference,\r\n SecondRefNumber: this.secondReference,\r\n ProcessCde: this.processCde,\r\n PlanCde: this.productCde\r\n };\r\n\r\n this.apiService.post(\"Api/reportApi/List/\", model).subscribe((result: any) => {\r\n var reports = result.rows;\r\n this.reportsQueue = reports;\r\n\r\n if (this.reportsQueue.length > 0)\r\n this.printReportInQueue();\r\n //else\r\n //this.toastrService.error(this.translate.instant(\"Failed to print report.\"));\r\n });\r\n }\r\n\r\n printProcess(processCode, planCode, referenceNum, secondReferenceNum, printTriggerPoint) {\r\n\r\n this.firstReference = referenceNum;\r\n this.secondReference = secondReferenceNum;\r\n\r\n var model = {\r\n ProcessCde: processCode,\r\n PlanCde: planCode,\r\n TriggerPointRef: printTriggerPoint,\r\n RefNumber: referenceNum,\r\n SecondRefNumber: this.secondReference\r\n };\r\n\r\n\r\n this.apiService.post(\"Api/reportApi/List/\", model).subscribe((result: any) => {\r\n\r\n var reports = result.rows;\r\n this.reportsQueue = reports;\r\n\r\n if (this.reportsQueue.length > 0)\r\n this.printReportInQueue();\r\n else\r\n this.toastrService.warning(this.translate.instant(\"No Reports Available.\"));\r\n\r\n });\r\n }\r\n\r\n\r\n printTaskRuleReport(taskRuleCde) {\r\n this.firstReference = taskRuleCde;\r\n\r\n var model = {\r\n TaskRuleKey: taskRuleCde\r\n };\r\n\r\n this.apiService.post(\"Api/reportApi/ListTaskRuleReports/\", model).subscribe((result: any) => {\r\n\r\n var reports = result.data.rows;\r\n this.reportsQueue = reports;\r\n\r\n if (this.reportsQueue.length > 0)\r\n this.printReportInQueue();\r\n else\r\n this.toastrService.error(this.translate.instant(\"Failed to print report.\"));\r\n });\r\n\r\n }\r\n\r\n //printReports(reports, referenceNum) {\r\n // for (var i = 0; i < reports.length; i++)\r\n // this.printReportInQueue(reports[i].PrintListCde, reports[i].ReportName, referenceNum)\r\n //}\r\n\r\n\r\n printReportInQueue() {\r\n var printListCde = this.reportsQueue[0].PrintListCde;\r\n var reportName = this.reportsQueue[0].ReportName;\r\n var reponseType = { responseType: 'arrayBuffer' };\r\n this.toastrService.success(this.translate.instant(\"Printing report \"), reportName);\r\n \r\n\r\n var model = {\r\n PrintListCde: printListCde,\r\n ReportName: reportName,\r\n RefNumber: this.firstReference,\r\n SecondRefNumber: this.secondReference\r\n };\r\n\r\n // apiService.post(rootDir + '', model, reportPrintCompleted, reportPrintFailed, reponseType);\r\n //myObservable.subscribe( x => console.log('Observer got a next value: ' + x), \r\n //err => console.error('Observer got an error: ' + err), () => console.log('Observer got a complete notification') ); \r\n\r\n this.apiService.postWithOptions(\"Api/reportApi/Print/\", model, reponseType).subscribe((result: any) => {\r\n\r\n const blob = new Blob([result], { type: 'application/pdf' });\r\n var dbReportName = reportName;\r\n \r\n var curDate = new Date();\r\n if (dbReportName)\r\n var tempReportName = dbReportName + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".pdf\";\r\n else\r\n var tempReportName = 'R' + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".pdf\";\r\n\r\n //navigator is used here for IE browser\r\n if (result != null && navigator.msSaveOrOpenBlob)\r\n navigator.msSaveOrOpenBlob(blob, tempReportName);\r\n else {\r\n\r\n // Create a Blob from the binary data\r\n const blob = new Blob([result], { type: 'application/pdf' });\r\n\r\n // Create a Blob URL\r\n const blobUrl = URL.createObjectURL(blob);\r\n\r\n // Open a new window/tab with the Blob URL\r\n window.open(blobUrl, '_blank');\r\n\r\n \r\n\r\n var a = document.createElement(\"a\");\r\n var url = window.URL.createObjectURL(blob);\r\n a.setAttribute(\"href\", url);\r\n a.setAttribute(\"target\", \"_blank\"); // Open in a new tab\r\n a.setAttribute(\"download\", tempReportName);\r\n document.createElement(\"body\").append(a);\r\n a.click();\r\n // Clean up the Blob URL when no longer needed\r\n URL.revokeObjectURL(blobUrl);\r\n\r\n a.remove();\r\n }\r\n\r\n if (dbReportName)\r\n this.toastrService.success(dbReportName, this.translate.instant(\" printed successfully.\"));\r\n\r\n else\r\n this.toastrService.error(this.translate.instant(\"Failed to print report.\"));\r\n\r\n //printNextReport();\r\n this.executePostTrigger();\r\n },\r\n //catch error\r\n err => console.error('Observer got an error: ' + err), \r\n );\r\n }\r\n\r\n printReport(printListCde, reportName, firstReference, secondReference, printType = 'R') {\r\n var reponseType = { responseType: 'arrayBuffer' };\r\n this.toastrService.success(this.translate.instant(\"Printing report \"), reportName);\r\n\r\n\r\n var model = {\r\n PrintListCde: printListCde,\r\n ReportName: reportName,\r\n RefNumber: firstReference,\r\n SecondRefNumber: secondReference,\r\n PrintType: printType\r\n };\r\n\r\n // apiService.post(rootDir + '', model, reportPrintCompleted, reportPrintFailed, reponseType);\r\n //myObservable.subscribe(x=>console.log('Observer got a next value: '+x),\r\n //err => console.error('Observer got an error: ' + err), () => console.log('Observer got a complete notification')�); \r\n\r\n this.apiService.postWithOptions(\"Api/reportApi/Print/\", model, reponseType).subscribe((result: any) => {\r\n\r\n const blob = new Blob([result], { type: 'application/pdf' });\r\n var dbReportName = reportName;\r\n\r\n var curDate = new Date();\r\n if (dbReportName)\r\n var tempReportName = dbReportName + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".pdf\";\r\n else\r\n var tempReportName = 'R' + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".pdf\";\r\n\r\n //navigator is used here for IE browser\r\n if (result != null && navigator.msSaveOrOpenBlob)\r\n navigator.msSaveOrOpenBlob(blob, tempReportName);\r\n else {\r\n var a = document.createElement(\"a\");\r\n var url = window.URL.createObjectURL(blob);\r\n a.setAttribute(\"href\", url);\r\n a.setAttribute(\"download\", tempReportName);\r\n document.createElement(\"body\").append(a);\r\n a.click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }\r\n\r\n if (dbReportName)\r\n this.toastrService.success(dbReportName, this.translate.instant(\" printed successfully.\"));\r\n\r\n else\r\n this.toastrService.error(this.translate.instant(\"Failed to print report.\"));\r\n\r\n //printNextReport();\r\n this.executePostTrigger2(printListCde, reportName);\r\n },\r\n //catch error\r\n err => console.error('Observer got an error: ' + err),\r\n );\r\n }\r\n\r\n executePostTrigger2(printListCde, reportName) {\r\n //var printListCde = this.reportsQueue[0].PrintListCde;\r\n //var reportName = this.reportsQueue[0].ReportName;\r\n\r\n var model = {\r\n PrintListCde: printListCde,\r\n ReportName: reportName,\r\n RefNumber: this.firstReference,\r\n SecondRefNumber: this.secondReference\r\n };\r\n\r\n\r\n this.apiService.post(\"Api/reportApi/ExecutePostTrigger/\", model).subscribe((result: any) => {\r\n\r\n if (result) {\r\n this.printNextReport();\r\n }\r\n else {\r\n this.toastrService.error(this.translate.instant(\"Failed to execute report post trigger.\"));\r\n this.printNextReport();\r\n }\r\n\r\n });\r\n }\r\n\r\n executePostTrigger() {\r\n var printListCde = this.reportsQueue[0].PrintListCde;\r\n var reportName = this.reportsQueue[0].ReportName;\r\n\r\n var model = {\r\n PrintListCde: printListCde,\r\n ReportName: reportName,\r\n RefNumber: this.firstReference,\r\n SecondRefNumber: this.secondReference\r\n };\r\n\r\n\r\n this.apiService.post(\"Api/reportApi/ExecutePostTrigger/\", model).subscribe((result: any) => {\r\n\r\n if (result) {\r\n this.printNextReport();\r\n }\r\n else {\r\n this.toastrService.error(this.translate.instant(\"Failed to execute report post trigger.\"));\r\n this.printNextReport();\r\n }\r\n\r\n });\r\n }\r\n\r\n\r\n printNextReport() {\r\n if (this.reportsQueue.length > 0) this.reportsQueue.splice(0, 1);\r\n if (this.reportsQueue.length > 0)\r\n this.printReportInQueue();\r\n else {\r\n if (this.firstRefKeys.length > 0) this.firstRefKeys.splice(this.firstRefKeys.indexOf(this.firstReference), 1);\r\n if (this.secRefKeys.length > 0) this.secRefKeys.splice(this.secRefKeys.indexOf(this.secondReference), 1);\r\n if (this.firstRefKeys.length > 0) this.printNextReportFromQueue();\r\n else {\r\n //TODO\r\n //this.reportingServiceEvent.emit('reportprint:update'); // added by Biswa\r\n //$rootScope.$broadcast('reportprint:update', null);\r\n\r\n }\r\n }\r\n }\r\n\r\n\r\n exportExcel(header, colHeaders, colNames, data) {\r\n var html = \"\";\r\n //write header\r\n html = \"\"\r\n for (var i = 0; i < colNames.length; i++) {\r\n if (colNames[i].hidden != true && (colNames[i].formatter == 'undefined' || colNames[i].formatter == null || colNames[i].formatter == 'date' || colNames[i].formatter.toString().indexOf('formatterNumber') > 0)) {\r\n html += \"\";\r\n }\r\n }\r\n html += '';\r\n\r\n var colName = '';\r\n var coldata = '';\r\n //var dtVal = '';\r\n var day = '';\r\n var month = '';\r\n var year = '';\r\n var hrs = '';\r\n var mins = '';\r\n var sec = '';\r\n\r\n for (var k = 0; k < data.rows.length; k++) {\r\n html += '';\r\n for (var j = 0; j < colNames.length; j++) {\r\n if (colNames[j].hidden != true && (colNames[j].formatter == 'undefined' || colNames[j].formatter == null || colNames[j].formatter == 'date' || colNames[j].formatter.toString().indexOf('formatterNumber') > 0)) {\r\n if (colNames[j].formatter == 'date') {\r\n if (data.rows[k][colNames[j].name] != 'undefined' || data.rows[k][colNames[j].name] != null || data.rows[k][colNames[j].name] != '') {\r\n const dtVal: Date = new Date(data.rows[k][colNames[j].name]);\r\n //coldata = dtVal.toLocaleString();\r\n day = dtVal.getDate().toString();\r\n month = (dtVal.getMonth() + 1).toString();\r\n year = dtVal.getFullYear().toString();\r\n hrs = dtVal.getHours().toString();\r\n mins = dtVal.getMinutes().toString();\r\n sec = dtVal.getSeconds().toString();\r\n coldata = day + \"/\" + month + \"/\" + year + \" \" + hrs + \":\" + mins + \":\" + sec;\r\n }\r\n else {\r\n coldata = '';\r\n }\r\n\r\n }\r\n else\r\n coldata = data.rows[k][colNames[j].name];\r\n if (colNames[j].align == 'left')\r\n html += \"\";\r\n else\r\n html += \"\";\r\n }\r\n\r\n }\r\n html += '';\r\n }\r\n html += '
\" + colHeaders[i] + \"
\" + coldata + \"\" + coldata + \"
';\r\n\r\n var uri = 'data:application/vnd.ms-excel;base64,';\r\n var template = '{table}
';\r\n var base64 = function (s) {\r\n return window.btoa(unescape(encodeURIComponent(s)))\r\n };\r\n\r\n var format = function (s, c) {\r\n return s.replace(/{(\\w+)}/g, function (m, p) {\r\n return c[p];\r\n })\r\n };\r\n\r\n var ctx = {\r\n worksheet: 'Data',\r\n table: \"\\ufeff\" + html\r\n }\r\n // \"\\ufeff\" to fix the issue with french accented characters\r\n\r\n\r\n var blob = new Blob([format(template, ctx)], { type: 'application/vnd.ms-excel'});\r\n var curDate = new Date();\r\n var fileName = header + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".xls\";\r\n if (navigator.msSaveOrOpenBlob)\r\n navigator.msSaveOrOpenBlob(blob, fileName);\r\n else {\r\n var a = document.createElement(\"\");\r\n var url = window.URL.createObjectURL(blob);\r\n a.setAttribute(\"href\", url);\r\n a.setAttribute(\"download\", fileName);\r\n document.createElement(\"body\").append(a);\r\n a[0].click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }\r\n\r\n\r\n }\r\n\r\n exportSQLExtract(header, colHeaders, colNames, data) {\r\n var html = \"\";\r\n //write header\r\n html = \"\"\r\n for (var i = 0; i < colNames.length; i++) {\r\n if (colNames[i].hidden != true && (colNames[i].formatter == 'undefined' || colNames[i].formatter == null || colNames[i].formatter == 'date' || colNames[i].formatter.toString().indexOf('formatterNumber') > 0)) {\r\n html += \"\";\r\n }\r\n }\r\n html += '';\r\n\r\n var colName = '';\r\n var coldata = '';\r\n // var dtVal = '';\r\n var day = '';\r\n var month = '';\r\n var year = '';\r\n var hrs = '';\r\n var mins = '';\r\n var sec = '';\r\n\r\n for (var k = 0; k < data.rows.length; k++) {\r\n html += '';\r\n for (var j = 0; j < colNames.length; j++) {\r\n if (colNames[j].hidden != true && (colNames[j].formatter == 'undefined' || colNames[j].formatter == null || colNames[j].formatter == 'date' || colNames[j].formatter.toString().indexOf('formatterNumber') > 0)) {\r\n if (colNames[j].formatter == 'date') {\r\n if (data.rows[k][colNames[j].name] != 'undefined' || data.rows[k][colNames[j].name] != null || data.rows[k][colNames[j].name] != '') {\r\n const dtVal: Date = new Date(data.rows[k][colNames[j].name]);\r\n //coldata = dtVal.toLocaleString();\r\n day = dtVal.getDate().toString();\r\n month = (dtVal.getMonth() + 1).toString();\r\n year = (dtVal.getFullYear()).toString();\r\n hrs = dtVal.getHours().toString();\r\n mins = dtVal.getMinutes().toString();\r\n sec = dtVal.getSeconds().toString();\r\n coldata = day + \"/\" + month + \"/\" + year + \" \" + hrs + \":\" + mins + \":\" + sec;\r\n }\r\n else {\r\n coldata = '';\r\n }\r\n\r\n }\r\n else\r\n coldata = data.rows[k].Table[k][colNames[j]];\r\n if (colNames[j].align == 'left')\r\n html += \"\";\r\n else\r\n html += \"\";\r\n }\r\n\r\n }\r\n html += '';\r\n }\r\n html += '
\" + colHeaders[i] + \"
\" + coldata + \"\" + coldata + \"
';\r\n\r\n var uri = 'data:application/vnd.ms-excel;base64,';\r\n var template = '{table}
';\r\n var base64 = function (s) {\r\n return window.btoa(unescape(encodeURIComponent(s)))\r\n };\r\n\r\n var format = function (s, c) {\r\n return s.replace(/{(\\w+)}/g, function (m, p) {\r\n return c[p];\r\n })\r\n };\r\n\r\n var ctx = {\r\n worksheet: 'Data',\r\n table: \"\\ufeff\" + html\r\n }\r\n // \"\\ufeff\" to fix the issue with french accented characters\r\n\r\n\r\n var blob = new Blob([format(template, ctx)], { type: 'application/vnd.ms-excel'});\r\n var curDate = new Date();\r\n var fileName = header + \"_\" + curDate.getHours() + curDate.getMinutes() + curDate.getSeconds() + curDate.getMilliseconds() + \".xls\";\r\n if (navigator.msSaveOrOpenBlob)\r\n navigator.msSaveOrOpenBlob(blob, fileName);\r\n else {\r\n var a = document.createElement(\"
\");\r\n var url = window.URL.createObjectURL(blob);\r\n a.setAttribute(\"href\", url);\r\n a.setAttribute(\"download\", fileName);\r\n document.createElement(\"body\").append(a);\r\n a[0].click();\r\n window.URL.revokeObjectURL(url);\r\n a.remove();\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { KeyValuesPipe } from './pipes/key-values';\r\nimport { StepFilterPipe } from './pipes/step-filter';\r\nimport { PropertyFilterPipe } from './pipes/property-filter';\r\nimport { ControlFilterPipe } from './pipes/control-filter';\r\nimport { PdfViewerComponent } from './components/pdf-viewer/pdf-viewer.component';\r\nimport { jqxGridComponent } from 'jqwidgets-ng/jqxgrid';\r\nimport { jqxButtonComponent } from 'jqwidgets-ng/jqxbuttons';\r\nimport { jqxCheckBoxComponent } from 'jqwidgets-ng/jqxcheckbox';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { CollapseDirective } from './directives/collapse.directive';\r\nimport { CollapseComponent } from './components/collapse/collapse.component';\r\nimport { MaximizeComponent } from './components/maximize/maximize.component';\r\nimport { MaximizeDirective } from './directives/maximize.directive';\r\nimport { ModalDirective } from './directives/modal.directive';\r\nimport { ModalComponent } from './components/modal/modal.component';\r\nimport { DatePipe, CommonModule, DecimalPipe } from '@angular/common';\r\nimport { FeatherIconsComponent } from './components/feather-icons/feather-icons.component';\r\nimport { BookmarkComponent } from './components/bookmark/bookmark.component';\r\nimport { BreadcrumbComponent } from './components/breadcrumb/breadcrumb.component';\r\nimport { ToggleFullscreenDirective } from \"./directives/fullscreen.directive\";\r\nimport { LoaderComponent } from './components/loader/loader.component';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { DragulaModule } from 'ng2-dragula';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { RouterModule } from '@angular/router';\r\nimport { TranslateHttpLoader } from '@ngx-translate/http-loader';\r\nimport { CarouselModule } from 'ngx-owl-carousel-o';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { AutofocusDirective } from './directives/autofocus.directive';\nimport { PoliciesComponent } from './components/policies/policies.component';\r\nimport { ClaimsComponent } from './components/claims/claims.component';\r\nimport { OffersComponent } from './components/offers/offers.component';\r\nimport { ProcesscontrolComponent } from './processcontrol/processcontrol.component';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { DraggableDirective } from './directives/draggable.directive';\nimport { PerfectScrollbarModule } from 'ngx-perfect-scrollbar';\r\nimport { PERFECT_SCROLLBAR_CONFIG } from 'ngx-perfect-scrollbar';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { ProcessSummaryComponent } from './processsummary/process-summary.component';\r\nimport { ButtonComponent } from './components/button/button.component';\r\nimport { AccessAreaDirective } from '../auth/access-area.directive';\r\nimport { DxDateBoxModule } from 'devextreme-angular';\r\n\r\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false\r\n};\n\r\n@NgModule({\r\n imports: [\r\n TranslateModule.forChild({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: SharedHttpLoaderFactory,\r\n deps: [HttpClient]\r\n },\r\n isolate: false\r\n }),\r\n CommonModule,\r\n RouterModule,\r\n FormsModule,\r\n DragulaModule.forRoot(),\r\n NgbModule,\r\n CarouselModule,\r\n ChartsModule,\r\n NgSelectModule,\n PerfectScrollbarModule,\r\n DxDateBoxModule\r\n ],\r\n providers: [\r\n DatePipe,\r\n DecimalPipe,\n { provide: PERFECT_SCROLLBAR_CONFIG, useValue: DEFAULT_PERFECT_SCROLLBAR_CONFIG }\r\n ],\r\n declarations: [\r\n LoaderComponent,\r\n ToggleFullscreenDirective,\r\n BookmarkComponent,\r\n BreadcrumbComponent,\r\n FeatherIconsComponent,\r\n CollapseDirective,\r\n KeyValuesPipe,\r\n StepFilterPipe,\r\n PropertyFilterPipe,\r\n ControlFilterPipe,\r\n PdfViewerComponent,\r\n jqxGridComponent,\r\n jqxButtonComponent,\r\n jqxCheckBoxComponent,\r\n CollapseComponent,\r\n MaximizeComponent,\r\n MaximizeDirective,\r\n ModalDirective,\r\n ModalComponent,\r\n AutofocusDirective,\r\n PoliciesComponent,\r\n ClaimsComponent,\r\n OffersComponent,\r\n ProcesscontrolComponent,\r\n DraggableDirective,\r\n ProcessSummaryComponent,\r\n ButtonComponent,\r\n AccessAreaDirective\r\n ],\r\n exports: [\r\n ChartsModule,\r\n LoaderComponent,\r\n FeatherIconsComponent,\r\n TranslateModule,\r\n KeyValuesPipe,\r\n StepFilterPipe,\r\n PropertyFilterPipe,\r\n ControlFilterPipe,\r\n PdfViewerComponent,\r\n jqxGridComponent,\r\n jqxButtonComponent,\r\n jqxCheckBoxComponent,\r\n CollapseDirective,\r\n CollapseComponent,\r\n MaximizeComponent,\r\n MaximizeDirective,\r\n ModalDirective,\r\n ModalComponent,\r\n BreadcrumbComponent,\r\n AutofocusDirective,\r\n PoliciesComponent,\r\n ClaimsComponent,\r\n OffersComponent,\r\n ProcesscontrolComponent,\r\n DraggableDirective,\r\n ProcessSummaryComponent,\r\n ButtonComponent,\r\n AccessAreaDirective,\r\n ],\r\n entryComponents: [ModalComponent]\r\n\r\n })\r\nexport class SharedModule { }\r\n\r\n// required for AOT compilation\r\nexport function SharedHttpLoaderFactory(http: HttpClient) {\r\n return new TranslateHttpLoader(http, \"scripts/libs/assets/i18n/\");\r\n}\r\n","module.exports = \".box-color .checkbox_animated:after {\\n border-color: #6b84ec; }\\n\\n.blink_me {\\n -webkit-animation: blinker 1s linear infinite;\\n animation: blinker 1s linear infinite; }\\n\\n@-webkit-keyframes blinker {\\n 0% {\\n opacity: 1; }\\n 50% {\\n opacity: 0.3; }\\n 100% {\\n opacity: 1; } }\\n\\n@keyframes blinker {\\n 0% {\\n opacity: 1; }\\n 50% {\\n opacity: 0.3; }\\n 100% {\\n opacity: 1; } }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb2ZmZXIvbmV3L0M6XFxHSVM0XFxHSVM0LUxUSUNcXEdJUy5XZWIvc3JjXFxhcHBcXG9mZmVyXFxuZXdcXG5ldy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUVRLHFCQUFxQixFQUFBOztBQUc3QjtFQUNJLDZDQUFxQztVQUFyQyxxQ0FBcUMsRUFBQTs7QUFHekM7RUFDSTtJQUNJLFVBQVUsRUFBQTtFQUdkO0lBQ0ksWUFBWSxFQUFBO0VBR2hCO0lBQ0ksVUFBVSxFQUFBLEVBQUE7O0FBVmxCO0VBQ0k7SUFDSSxVQUFVLEVBQUE7RUFHZDtJQUNJLFlBQVksRUFBQTtFQUdoQjtJQUNJLFVBQVUsRUFBQSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvb2ZmZXIvbmV3L25ldy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5ib3gtY29sb3Ige1xyXG4gICAgLmNoZWNrYm94X2FuaW1hdGVkOmFmdGVyIHtcclxuICAgICAgICBib3JkZXItY29sb3I6ICM2Yjg0ZWM7XHJcbiAgICB9XHJcbn1cclxuLmJsaW5rX21lIHtcclxuICAgIGFuaW1hdGlvbjogYmxpbmtlciAxcyBsaW5lYXIgaW5maW5pdGU7XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgYmxpbmtlciB7XHJcbiAgICAwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMTsgIFxyXG4gICAgfVxyXG5cclxuICAgIDUwJSB7XHJcbiAgICAgICAgb3BhY2l0eTogMC4zOyBcclxuICAgIH1cclxuXHJcbiAgICAxMDAlIHtcclxuICAgICAgICBvcGFjaXR5OiAxOyAgXHJcbiAgICB9XHJcbn0iXX0= */\"","import { Component, OnInit, Input, Output, ViewChild, TemplateRef, HostListener, EventEmitter } from '@angular/core';\nimport { NgbActiveModal, NgbModal, ModalDismissReasons, NgbModalConfig } from '@ng-bootstrap/ng-bootstrap';\nimport { ApiService } from 'src/app/common/services/api.service';\nimport { OfferService } from '../offer.service';\nimport { ClientService } from 'src/app/client/client.service';\nimport { TemplateService } from '../../template/template.service';\nimport { TranslateService } from '@ngx-translate/core';\nimport * as _ from \"lodash\";\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { WizardComponent } from 'angular-archwizard';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { FileUploader } from 'ng2-file-upload';\r\nimport { AppSettings } from 'src/app/common/appsettings';\nimport { AppSettingsService } from 'src/app/common/appsettings.service';\nimport { ReportingService } from 'src/app/common/services/reporting.service';\nimport { DecimalPipe } from '@angular/common';\nimport { NgxSpinnerService } from 'ngx-spinner';\nimport { fadeIn } from 'ng-animate';\r\ndeclare var require;\nconst Swal = require('sweetalert2');\n\n@Component({\r\n selector: 'app-new',\r\n templateUrl: './new.component.html',\r\n styleUrls: ['./new.component.scss']\r\n})\nexport class NewComponent implements OnInit {\n @ViewChild(WizardComponent, null) wizardComponent: WizardComponent;\n public stepWizard: WizardComponent;\n @ViewChild('ruleValidation', null) rulesValidationResult: TemplateRef;\n @ViewChild('integrityCheckList', null) checkListModal: TemplateRef;\n @ViewChild('backendProcess', null) backendProcessModal: TemplateRef;\n @Output() directPayClick = new EventEmitter();\n @Input() insurancedXPortal: string;\n offerexternalcde: any;\n status: any;\n DiscountCode: any;\n promotionCode: any; \n wizard: any;\n stepCode: number = 0;\n client: any;\n referentials: any;\n integrityChecks: any;\n isCritical: any;\n documentCodes: any = [];\n offerCodes: any = [];\n stepCodes: Array = [];\n clientWizard: any;\n isExpandedOfferCover: any = 0;\n isExpandedOffer: boolean = false;\n isExpandGroup: boolean = false;\n clientCode: any;\n defaultStep: number = 1;\n nextStepID: any;\n control: any;\n items: any = [];\n loadingDDLdata: boolean = false;\n requiredControls: Array = [];\r\n offers: any;\r\n steps: any;\n covers: any;\n sections: any;\n step: any;\n appliedDiscount: any = {};\n checkCodeSave: boolean = false;\n itemFields: any = {};\r\n coverFields: any = {};\r\n criteria: any = {};\n\n newOfferProcessCode: any;\n newLeadProcessCode: any;\n clientModificationProcessCode: any;\n consultClientProcessCode: any;\n newClientProcessCode: any;\n newPolicyProcessCode: any;\n settings: AppSettings;\n\n decimals: string = '';\n isSummary: boolean = false;\n\n appliedPromotion: any = {};\n constructor(private apiService: ApiService,\r\n private modalService: NgbModal,\r\n public translate: TranslateService,\n private router: Router,\n private route: ActivatedRoute,\n private offerService: OfferService,\n private clientService: ClientService,\n private templateService: TemplateService,\n private toastrService: ToastrService,\n private appSettingsService: AppSettingsService,\n private reportingService: ReportingService,\n private decimalPipe: DecimalPipe,\n private spinner: NgxSpinnerService)\n {\n this.newLeadProcessCode = this.offerService.clientNewLead;\r\n this.newOfferProcessCode = this.offerService.clientNewOffer;\r\n this.newClientProcessCode = this.offerService.clientNewClient;\r\n this.clientModificationProcessCode = this.offerService.clientModification;\r\n this.consultClientProcessCode = this.offerService.clientConsultation\n this.newPolicyProcessCode = this.offerService.clientNewPolicy;\n\n this.clientCode = this.offerService.clientCode;\n this.loadTemplate();\n\n }\n\n ngOnInit() {\n }\n\n public uploader: FileUploader = new FileUploader({\r\n isHTML5: true,\r\n allowedMimeType: ['image/jpeg', 'image/png']\r\n });\n\n loadTemplate() {\n\n var model = {};\n if (this.offerService.offerHeaderKey && this.offerService.versionNo)\n {\n model = {\r\n \"OfferHeaderKey\": this.offerService.offerHeaderKey,\r\n \"VersionNo\": this.offerService.versionNo\r\n }\r\n \r\n this.apiService.post(\"Api/QuoteAPI/Get/\", model).subscribe((res: any) => {\r\n this.wizard = res;\r\n this.referentials = res.Referentials;\r\n this.wizard.ProgressCount = 0;\n this.decimals = \"1.\" + res.CurrencyDecimals + \"-\" + res.CurrencyDecimals + \"\";\r\n this.updateStepOfferDocumentCodes(); // update the **codes property\r\n // this.populateDDControls(); //to populated the dropdown control values\r\n // this.executeScript(); //Onload script execution\n });\r\n\r\n var offermodel = {\r\n \"OfferHeaderKey\": this.offerService.offerHeaderKey,\r\n \"VersionNo\": this.offerService.versionNo\r\n }\r\n this.apiService.post(\"Api/QuoteAPI/OfferExternalCode/\", offermodel).subscribe((res: any) => {\r\n this.offerexternalcde = res.ExternalCode;\r\n this.status = res.Status;\r\n });\r\n }\n else\n {\n model = {\r\n \"ProductCode\": this.offerService.productCode,\r\n \"ProcessCode\": this.offerService.processCode,\r\n \"DepartmentCode\": this.offerService.departmentCode,\n \"ClientKey\": this.offerService.clientCode\n };\n\n this.apiService.post(\"Api/QuoteTemplateAPI/LoadOffer/\", model).subscribe((res: any) => {\r\n\r\n for (var stepCode in res.Steps) {\r\n for (var groupCode in res.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in res.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n if (res.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['QuoteSummary'].Value) {\r\n this.isSummary = true;\r\n break;\r\n }\r\n if (res.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(res.Referentials, res.Steps,\r\n res.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode], \"OnLoad\", res.Variables, null, null, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.wizard = res;\r\n this.referentials = res.Referentials;\r\n this.wizard.ProgressCount = 0;\r\n this.decimals = \"1.\" + res.CurrencyDecimals + \"-\" + res.CurrencyDecimals + \"\";\r\n this.updateStepOfferDocumentCodes(); // update the **codes property\r\n // this.populateDDControls(); //to populated the dropdown control values\r\n //this.executeScript(); //Onload script execution\r\n\r\n });\r\n }\r\n\r\n }\n\n updateStepOfferDocumentCodes() {\n\n this.stepCodes = [];\r\n this.offerCodes = [];\r\n this.documentCodes = [];\r\n for (var stepKey in this.wizard.Steps) {\r\n this.stepCodes.push(stepKey);\r\n if (this.wizard.Steps[stepKey].Type == 'Offer') {\r\n for (var offerKey in this.wizard.Steps[stepKey].Offers)\r\n this.offerCodes.push(offerKey);\r\n }\r\n }\r\n\r\n //update documentCodes\r\n if (this.wizard.Documents) {\r\n for (var docKey in this.wizard.Documents)\r\n if (this.wizard.Documents[docKey].IsSelected == true)\r\n this.documentCodes.push(docKey);\r\n }\r\n\r\n if (this.wizard.IsQuoteSaved) {\r\n var stepcode = +this.wizard.Steps[stepKey].Code;\r\n this.defaultStep = stepcode - 1;\r\n this.offerService.currentStep = this.defaultStep + 1;\r\n this.offerService.clientCode = this.wizard.ClientKey;\r\n }\r\n else {\r\n this.defaultStep = 1;\r\n this.offerService.currentStep = 2;\r\n this.wizard.ClientKey = this.offerService.clientCode;\r\n }\r\n this.wizard.ClientKey = this.offerService.clientCode;\r\n this.wizard.ErrorFound = false;\r\n this.loadClient();\r\n }\n\n loadClient() {\n var model = {\r\n \"ProductCode\": \"\",\r\n \"ProcessCode\": this.offerService.clientNewOffer, //434 DMISR //396 TLTI\r\n \"DepartmentCode\": \"\",\n \"ClientKey\": this.offerService.clientCode\n };\n\n if (!this.wizard.IsCommonClient || this.wizard.Steps[1].GroupCodes.length == 0) {\n this.apiService.post(\"Api/ClientApi/SyncWizard/\", model).subscribe((clientResult: any) => {\r\n\r\n for (var stepCode in clientResult.Steps) {\r\n for (var groupCode in clientResult.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in clientResult.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n if (clientResult.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['QuoteSummary'].Value) {\r\n this.isSummary = true;\r\n break;\r\n }\r\n if (clientResult.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode].Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(clientResult.Referentials, clientResult.Steps,\r\n clientResult.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode], \"OnLoad\", clientResult.Variables, null, null, null);\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.clientWizard = clientResult;\r\n this.mergeClientTemplate(this.clientWizard); //To copy the client template to the step 1 of Offer template\r\n\r\n\r\n });\r\n } else {\r\n this.isSummary = true;\r\n //this.getInsuredPolicyTerm();\r\n }\r\n }\n\n //Make predefined client wizard as part of Offer wizard step 1\n mergeClientTemplate(clientWizard) {\n\r\n for (var stepKey in this.wizard.Steps) {\r\n this.wizard.Steps[stepKey] = _.cloneDeep(clientWizard.Steps[stepKey]);\r\n for (var refKey in clientWizard.Referentials) {\r\n if (!this.wizard.Referentials[refKey])\r\n this.wizard.Referentials[refKey] = _.cloneDeep(clientWizard.Referentials[refKey]);\r\n }\r\n break;\r\n }\r\n }\n\n //To populate dropdown controls\n populateDDControls() {\n for (var stepCode in this.wizard.Steps) {\n for (var groupCode in this.wizard.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n\r\n this.control = this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode];\r\n if (this.control.Referential && this.control.Referential != \"\") {\n this.control.Items = this.filterDropDownData(this.control);\n this.getDependencyReferentials();\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\n\n getDependencyReferentials() {\n if (this.control.FieldType == \"Lookup\" &&\n this.referentials[this.control.Referential] &&\n this.referentials[this.control.Referential].IsDependency) {\r\n\r\n var controls = {};\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Controls) {\r\n controls[controlKey] = this.wizard.Steps[stepKey].Controls[controlKey];\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n controls[controlKey] = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n var dependency = { \"Code\": this.control.Referential, \"Value\": this.control.Value, Module: \"CLIENT\" };\r\n\r\n this.apiService.post(\"Api/TemplateApi/DependencyRef/\", dependency).subscribe((res: any) => {\r\n var dependencies = [];\r\n for (var refrentialKey in res) {\r\n if (this.referentials[refrentialKey]) {\r\n this.referentials[refrentialKey].Values = _.cloneDeep(res[refrentialKey].Values);\r\n dependencies.push(refrentialKey);\r\n }\r\n }\r\n\r\n //although its not efficient but it seems we have to rebind the dropdown\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Controls) {\r\n if (this.wizard.Steps[stepKey].Controls[controlKey].Referential &&\r\n dependencies.indexOf(this.wizard.Steps[stepKey].Controls[controlKey].Referential) >= 0) {\r\n this.wizard.Steps[stepKey].Controls[controlKey].Items =\r\n this.filterDropDownData(this.wizard.Steps[stepKey].Controls[controlKey]);\r\n }\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Referential &&\r\n dependencies.indexOf(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Referential) >= 0) {\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Items =\r\n this.filterDropDownData(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n });\r\n }\r\n }\n\n filterDropDownData(control) {\r\n var selectedItems = [];\r\n this.loadingDDLdata = true;\r\n if (control.Referential &&\r\n control.Properties['FilterData'] &&\r\n control.Properties['FilterData'].Values &&\r\n control.Properties['FilterData'].Values.length > 0 &&\r\n this.referentials[control.Referential] &&\r\n this.referentials[control.Referential].Values) {\r\n for (var i = 0; i < control.Properties['FilterData'].Values.length; i++) {\r\n var key = control.Properties['FilterData'].Values[i];\r\n selectedItems.push({ \"Key\": key, \"Value\": this.referentials[control.Referential].Values[key] });\r\n }\r\n }\r\n else if (control.Referential &&\r\n this.referentials[control.Referential] &&\r\n this.referentials[control.Referential].Values) {\r\n for (var refKey in this.referentials[control.Referential].Values)\r\n selectedItems.push({ \"Key\": refKey, \"Value\": this.referentials[control.Referential].Values[refKey] });\r\n }\r\n else\r\n selectedItems = [];\r\n if (control.Value && !selectedItems.find(item => item.Key == control.Value))\r\n control.Value = \"\";\r\n this.loadingDDLdata = false;\r\n return selectedItems;\r\n }\n\n\n executeScript() {\n\n for (var stepCode in this.wizard.Steps) {\n //For controls under step 1 [Standard step (Used for client Details)]\n if (this.wizard.Steps[stepCode].Type == 'Standard') {\n for (var groupCode in this.wizard.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n this.control = this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, null);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n }\r\n }\r\n }\n //For controls under step 2 [Dynamic step (product details)]\n else if (this.wizard.Steps[stepCode].Type == 'Dynamic') {\n \n //execute all onload scripts for controls within root ControlGroups\r\n for (var groupCode in this.wizard.Steps[stepCode].ControlGroups) {\r\n for (var controlCode in this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls) {\r\n this.control = this.wizard.Steps[stepCode].ControlGroups[groupCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, null);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n }\r\n }\r\n //execute all onload scripts for controls within all Section ControlGroups\r\n this.sections = this.wizard.Steps[stepCode].Sections;\r\n for (var sectionCode in this.sections) {\r\n //Controls under sections\r\n for (var groupCode in this.sections[sectionCode].ControlGroups) {\r\n for (var controlCode in this.sections[sectionCode].ControlGroups[groupCode].Controls) {\r\n this.control = this.sections[sectionCode].ControlGroups[groupCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, null);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n }\r\n }\r\n\r\n //controls under sections\\covers\r\n this.covers = this.wizard.Steps[stepCode].Sections[sectionCode].Covers;\r\n for (var coverCode in this.covers) {\r\n for (var groupCode in this.covers[coverCode].ControlGroups) {\r\n for (var controlCode in this.covers[coverCode].ControlGroups[groupCode].Controls) {\r\n this.control = this.covers[coverCode].ControlGroups[groupCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, null);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n } //For controls under step 3 [Offer step (Offer details)]\n else if (this.wizard.Steps[stepCode].Type == 'Offer') {\n //execute all onload scripts for controls within offer Controls\r\n this.offers = this.wizard.Steps[stepCode].Offers;\r\n for (var offerCode in this.offers) {\r\n //Offer Controls\r\n for (var controlCode in this.offers[offerCode].Controls) {\r\n this.control = this.offers[offerCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, offerCode);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n }\r\n //section Controls\r\n this.sections = this.offers[offerCode].Sections;\r\n for (var sectionCode in this.sections) {\r\n for (var controlCode in this.sections[sectionCode].Controls) {\r\n this.control = this.sections[sectionCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, offerCode);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n\r\n }\r\n\r\n //Cover Controls\r\n this.covers = this.offers[offerCode].Sections[sectionCode].Covers;\r\n for (var coverCode in this.covers) {\r\n for (var controlCode in this.covers[coverCode].Controls) {\r\n this.control = this.covers[coverCode].Controls[controlCode];\r\n if (this.control.Properties['OnLoad'].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnLoad\", this.wizard.Variables, null, null, offerCode);\n this.referentials = this.wizard.Referentials;\n this.getDependencyReferentials();\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n }\n }\r\n }\n\n addOffer(stepCode, offerCode) {\n var key = 0;\r\n for (var offerKey in this.wizard.Steps[stepCode].Offers) {\r\n if (parseInt(offerKey) > key)\r\n key = parseInt(offerKey);\r\n }\r\n\r\n key = key + 1;\r\n this.wizard.Steps[stepCode].Offers[key.toString()] = _.cloneDeep(this.wizard.Steps[stepCode].Offers[offerCode]);\r\n this.wizard.Steps[stepCode].Offers[key.toString()].Code = key.toString();\r\n\r\n this.offerCodes = [];\r\n for (var offerkey in this.wizard.Steps[stepCode].Offers) this.offerCodes.push(offerkey);\r\n }\n\n deleteOffer(stepCode, offerCode) {\n var count = 0;\r\n for (var offerKey in this.wizard.Steps[stepCode].Offers) count = count + 1;\r\n\r\n if (count > 1) {\r\n delete this.wizard.Steps[stepCode].Offers[offerCode];\r\n\r\n this.offerCodes = [];\r\n for (var offerkey in this.wizard.Steps[stepCode].Offers) this.offerCodes.push(offerkey);\r\n }\r\n else\r\n this.toastrService.error(this.translate.instant(\"Cannot delete all offers\"));\r\n }\n\n enterWizardStep(ev) {\r\n if (this.wizardComponent && this.wizardComponent.currentStep) {\r\n var nextStep = parseInt(this.wizardComponent.currentStep.stepId)\r\n var lastStep = parseInt(this.offerService.currentStep);\r\n if (nextStep !== lastStep) {\r\n //navigation using step indecator\r\n if (nextStep < lastStep) {\r\n //backward navigation\r\n this.previousStep(this.wizardComponent.currentStep.stepId);\r\n } else if (nextStep > lastStep) {\r\n //forward navigation\r\n this.nextStep(this.wizard, this.wizardComponent.currentStep.stepId)\r\n }\r\n }\r\n }\r\n }\r\n\n \n nextStep(wizard, stepKey) {\n\n if (this.wizard.Steps[stepKey].Scripts &&\r\n this.wizard.Steps[stepKey].Scripts[\"OnNext\"]) {\r\n var result = this.templateService.executeGlobalScript(this.wizard.Referentials,\r\n this.wizard.Steps, null, this.wizard.Variables, null, this.wizard.Steps[stepKey].Scripts[\"OnNext\"]);\r\n if (typeof result !== 'undefined' && !result) return;\r\n }\n\n this.wizard = wizard;\n this.offerService.wizard = wizard;\n if (!this.offerService.currentStep || this.offerService.currentStep != stepKey)\n this.offerService.currentStep = stepKey;\n\r\n if (this.wizard.IsView) {\r\n var nextStepID = parseInt(this.offerService.currentStep) + 1;\r\n this.setStep(nextStepID);\r\n this.offerService.currentStep = nextStepID;\r\n this.wizardComponent.goToNextStep();\r\n return;\r\n }\n\n this.nextStepID = parseInt(this.offerService.currentStep) + 1;\n\n this.offerService.errorControls = [];\r\n this.offerService.scriptErrorControls = [];\r\n var step = this.wizard.Steps[this.offerService.currentStep];\r\n\r\n\r\n //standard controls\r\n this.offerService.validateControls(this.wizard.Steps[stepKey].Controls); \r\n //Group Controls\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) { \r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n\r\n //Section Controls\r\n var sections = this.wizard.Steps[stepKey].Sections;\r\n for (var sectionKey in sections) {\r\n //Section standard controls\r\n this.offerService.validateControls(sections[sectionKey].Controls);\r\n //Section Group Controls\r\n for (var groupKey in sections[sectionKey].ControlGroups) {\r\n var controls = sections[sectionKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n\r\n //Cover Controls within Sections\r\n var covers = this.wizard.Steps[stepKey].Sections[sectionKey].Covers;\r\n\r\n for (var coverKey in covers) {\r\n //Cover standard controls\r\n this.offerService.validateControls(covers[coverKey].Controls);\r\n //Cover Group Controls\r\n for (var groupKey in covers[coverKey].ControlGroups) {\r\n var controls = covers[coverKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n }\r\n }\r\n\r\n this.requiredControls = this.offerService.errorControls;\n\n if (this.requiredControls.length > 0) \n this.toastrService.error(this.translate.instant(\"Provide details for all required fields\"));\r\n \r\n \r\n else if (this.offerService.scriptErrorControls.length > 0) \r\n this.toastrService.error(this.translate.instant(\"Please correct the validation errors to proceed.\"));\r\n \n else if (this.wizard.Steps[stepKey].Type == \"Standard\") {\n this.apiService.post(\"Api/ClientApi/Update/\", this.clientWizard).subscribe((clientResult: any) => {\r\n this.offerService.currentStep = this.nextStepID;\r\n this.setStep(this.nextStepID);\r\n this.wizardComponent.goToNextStep();\r\n });\r\n }\n else {\n\n this.setStep(this.nextStepID);\n this.offerService.currentStep = this.nextStepID;\n this.refreshItemCoverFields();\n if (!this.wizard.IsQuoteSaved)\n this.calculatePremium(this.wizard);\n\n this.wizardComponent.goToNextStep();\n }\n }\n \n refreshItemCoverFields() {\r\n var controlValues = {};\r\n var referentialKeys = {};\r\n var sectionVisibility = [];\r\n\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n controlValues[controlKey] = controls[controlKey].Value;\r\n if (controls[controlKey].Referential)\r\n referentialKeys[controlKey] = controls[controlKey].Referential;\r\n }\r\n\r\n\r\n var sections = this.wizard.Steps[stepKey].Sections;\r\n for (var sectionKey in sections) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = sections[sectionKey].ControlGroups[groupKey].Controls;\r\n sectionVisibility[sectionKey] = sections[sectionKey].Visible; //storing section visibility\r\n for (var controlKey in controls) {\r\n controlValues[sectionKey + \"_\" + controlKey] = controls[controlKey].Value;\r\n if (controls[controlKey].Referential)\r\n referentialKeys[sectionKey + \"_\" + controlKey] = controls[controlKey].Referential;\r\n }\r\n var covers = sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = covers[coverKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n controlValues[sectionKey + \"_\" + coverKey + \"_\" + controlKey] = controls[controlKey].Value;\r\n if (controls[controlKey].Referential)\r\n referentialKeys[sectionKey + \"_\" + coverKey + \"_\" + controlKey] = controls[controlKey].Referential;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n var offers = this.wizard.Step.Offers;\r\n for (var offerKey in offers) {\r\n\r\n var controls = offers[offerKey].Controls;\r\n for (var controlKey in controls) {\r\n if (!(controlValues[controlKey] == undefined))\r\n controls[controlKey].Value = controlValues[controlKey];\r\n if (referentialKeys[controlKey])\r\n controls[controlKey].Referential = referentialKeys[controlKey];\r\n }\r\n\r\n var sections = offers[offerKey].Sections;\r\n for (var sectionKey in sections) {\r\n sections[sectionKey].Visible = sectionVisibility[sectionKey];//reseting section visibility\r\n var controls = sections[sectionKey].Controls;\r\n for (var controlKey in controls) {\r\n if (!(controlValues[sectionKey + \"_\" + controlKey] == undefined))\r\n controls[controlKey].Value = controlValues[sectionKey + \"_\" + controlKey];\r\n if (referentialKeys[sectionKey + \"_\" + controlKey])\r\n controls[controlKey].Referential = referentialKeys[sectionKey + \"_\" + controlKey];\r\n }\r\n var covers = sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n\r\n // Initialization marked as required\r\n covers[coverKey].Initialise = 1;\r\n var controls = covers[coverKey].Controls;\r\n for (var controlKey in controls) {\r\n if (referentialKeys[sectionKey + \"_\" + coverKey + \"_\" + controlKey])\r\n if (!controls[controlKey].Referential)\r\n controls[controlKey].Referential = referentialKeys[sectionKey + \"_\" + coverKey + \"_\" + controlKey];\r\n if (!(controlValues[sectionKey + \"_\" + coverKey + \"_\" + controlKey] == undefined)) {\r\n //if (!controls[controlKey].Value) //ISSUE 1744 : DDL value in offer step not changing even if we change item DDL value\r\n controls[controlKey].Value = controlValues[sectionKey + \"_\" + coverKey + \"_\" + controlKey];\r\n }\r\n\r\n //control intial value: following logic replaced by OverrideInitalValue\r\n //if (controls[controlKey].Initialise == null || controls[controlKey].Initialise == undefined)\r\n // controls[controlKey].Initialise = (controls[controlKey].Value != null);\r\n }\r\n }\r\n }\r\n }\r\n}\r\n \n previousStep(stepID) {\n\n if (this.wizard.Steps[stepID].Scripts &&\r\n this.wizard.Steps[stepID].Scripts[\"OnPrevious\"]) {\r\n var result = this.templateService.executeGlobalScript(this.wizard.Referentials,\r\n this.wizard.Steps, null, this.wizard.Variables, null, this.wizard.Steps[stepID].Scripts[\"OnPrevious\"]);\r\n if (typeof result !== 'undefined' && !result) return;\r\n }\n\n var step = this.wizard.Steps[stepID];\r\n var prevStepID = parseInt(stepID) - 1;\r\n this.setStep(prevStepID);\n this.wizardComponent.goToPreviousStep();\n }\n\n //To set the step at the wizard root\n setStep(stepID) {\r\n var step = this.wizard.Steps[stepID];\r\n if (this.offerService.lastValidatedStep < this.offerService.currentStep)\r\n this.offerService.lastValidatedStep = this.offerService.currentStep\r\n\r\n this.offerService.currentStep = stepID;\r\n this.wizard.Step = step;\r\n if (!this.wizard.Step.Code)\r\n this.wizard.Step.Code = stepID;\r\n }\n \n //Calculate premium for slected offer or all offers\n calculatePremium(wizard, selectedOffer = \"\") {\n this.wizard = wizard;\n this.resetCalculatedValues(selectedOffer);\n this.offers = this.wizard.Step.Offers;\n\n if (this.offers) {\n\n //get standard control values from all steps\n var standardControls = {};\n for (var stepKey in this.wizard.Steps) {\r\n //get standard controls from Offer step (step 3) because this step does not follow the GroupCodes and ControlGroups template structure\r\n if (this.wizard.Steps[stepKey].Type == \"Offer\") {\r\n var controls = this.wizard.Steps[stepKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controls[controlKey].Value.Code,\r\n \"Properties\": controls[controlKey].Properties,\r\n \"FieldType\": controls[controlKey].FieldType\r\n };\r\n else\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controls[controlKey].Value,\r\n \"Properties\": controls[controlKey].Properties,\r\n \"FieldType\": controls[controlKey].FieldType\r\n };\r\n }\r\n }\r\n else {\r\n\r\n //get standard controls from Standard and Dynamic steps (step 1 and 2) because these steps follow the GroupCodes and ControlGroups template structure\r\n var controlGroups = this.wizard.Steps[stepKey].ControlGroups;\r\n for (var groupKey in controlGroups) {\r\n for (var controlKey in controlGroups[groupKey].Controls) {\r\n if (controlGroups[groupKey].Controls[controlKey].Value && controlGroups[groupKey].Controls[controlKey].Value.Code)\r\n\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controlGroups[groupKey].Controls[controlKey].Value.Code,\r\n \"Properties\": controlGroups[groupKey].Controls[controlKey].Properties,\r\n \"FieldType\": controlGroups[groupKey].Controls[controlKey].FieldType,\r\n \"GroupCode\": groupKey,\r\n \"StepCode\": stepKey\r\n };\r\n else\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controlGroups[groupKey].Controls[controlKey].Value,\r\n \"KeyValue\": controlGroups[groupKey].Controls[controlKey].KeyValue,\r\n \"Properties\": controlGroups[groupKey].Controls[controlKey].Properties,\r\n \"FieldType\": controlGroups[groupKey].Controls[controlKey].FieldType,\r\n \"GroupCode\": groupKey,\r\n \"StepCode\": stepKey\r\n };\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.spinner.show();\r\n var offerCalcCount = 0;\r\n //Operations for each offer in Offer Step\r\n for (var offerKey in this.offers) {\r\n\r\n if (selectedOffer != \"\" && offerKey != selectedOffer) continue;\r\n if (!this.offers[offerKey].Visible) continue;\r\n\r\n //document.getElementById(\"offer\" + offerKey).classList.add('loader-box');\r\n //document.getElementById(\"offer\" + offerKey).classList.add('loader');\r\n \r\n\r\n var model = {\r\n \"Key\": offerKey,\r\n \"Code\": this.offers[offerKey].Code,\r\n \"Controls\": standardControls,\r\n \"Sections\": {},\r\n \"ProductCode\": this.wizard.ProductCode,\r\n \"ClientKey\": this.wizard.ClientKey,\r\n \"CalculationMode\": this.wizard.CalculationMode,\r\n \"ProcessCode\": this.wizard.ProcessCode,\r\n \"PolicyKey\": \"\",\r\n \"DepartmentCode\": this.wizard.DepartmentCode,\r\n \"SystemIndicator\": \"\",\r\n \"Variables\":\"\"\r\n };\r\n\r\n //get standard control values from offer step\r\n var controls = this.offers[offerKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controls[controlKey].Value.Code,\r\n \"Properties\": controls[controlKey].Properties,\r\n \"FieldType\": controls[controlKey].FieldType\r\n };\r\n else\r\n standardControls[controlKey] =\r\n {\r\n \"Value\": controls[controlKey].Value,\r\n \"Properties\": controls[controlKey].Properties,\r\n \"FieldType\": controls[controlKey].FieldType\r\n };\r\n }\r\n\r\n //if not a single cover selected then no need to execute the section script\r\n var validSections = {};\r\n for (var sectionKey in this.offers[offerKey].Sections) {\r\n if (!this.offers[offerKey].Sections[sectionKey].Visible) continue; //if section is hidden\r\n for (var coverKey in this.offers[offerKey].Sections[sectionKey].Covers) {\r\n var cover = this.offers[offerKey].Sections[sectionKey].Covers[coverKey];\r\n if (cover.Selection == true ||\r\n cover.Selection == 'Mandatory' ||\r\n cover.Selection == 'Conditional') {\r\n if (!validSections[sectionKey]) validSections[sectionKey] = true;\r\n }\r\n }\r\n }\r\n\r\n //Get item control values for offer step\r\n for (var sectionKey in this.offers[offerKey].Sections) {\r\n if (!validSections[sectionKey]) continue;\r\n if (!model.Sections[sectionKey])\r\n model.Sections[sectionKey] = { \"Controls\": {}, \"CoverCodes\": this.offers[offerKey].Sections[sectionKey].CoverCodes };\r\n\r\n //Get section control values for all step\r\n for (var stepKey in this.wizard.Steps) {\r\n if (!this.wizard.Steps[stepKey].Sections[sectionKey]) continue;\r\n var section = this.wizard.Steps[stepKey].Sections[sectionKey];\r\n\r\n for (var controlGroupKey in section.ControlGroups) {\r\n var controls = section.ControlGroups[controlGroupKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n model.Sections[sectionKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value.Code, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n else\r\n model.Sections[sectionKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n }\r\n }\r\n }\r\n\r\n //override section control values from offer step\r\n var section = this.offers[offerKey].Sections[sectionKey];\r\n var controls = section.Controls\r\n for (var controlKey in controls) {\r\n var hasProps = false;\r\n for (var prop in controls[controlKey].Properties) {\r\n hasProps = true;\r\n break;\r\n }\r\n\r\n if (hasProps) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n model.Sections[sectionKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value.Code, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n else\r\n model.Sections[sectionKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n }\r\n else {\r\n if (model.Sections[sectionKey].Controls[controlKey]) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n model.Sections[sectionKey].Controls[controlKey].Value = controls[controlKey].Value && controls[controlKey].Value.Code;\r\n else\r\n model.Sections[sectionKey].Controls[controlKey].Value = controls[controlKey].Value && controls[controlKey].Value;\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n\r\n //get cover control values for all step\r\n for (var sectionKey in this.offers[offerKey].Sections) {\r\n if (!validSections[sectionKey]) continue;\r\n for (var coverKey in this.offers[offerKey].Sections[sectionKey].Covers) {\r\n\r\n var cover = this.offers[offerKey].Sections[sectionKey].Covers[coverKey];\r\n\r\n if ((cover.Selection == 'Mandatory' && cover.Selected == false) ||\r\n (cover.Selection == 'Conditional' && cover.Selected == false))\r\n cover.Selected = true;\r\n else if (cover.Selection == 'Excluded')\r\n continue;\r\n /*else if (cover.Selection == 'Excluded' ||\r\n cover.IsFree == true)\r\n continue;\r\n */ //commented off as free cover controls are not populated with default data during transformation. all controls are empty.\r\n if (!model.Sections[sectionKey].Covers)\r\n model.Sections[sectionKey].Covers = {};\r\n\r\n if (!model.Sections[sectionKey].Covers[coverKey])\r\n model.Sections[sectionKey].Covers[coverKey] =\r\n { \"Controls\": {}, \"Selected\": cover.Selected, \"Mandatory\": cover.Mandatory };\r\n\r\n model.Sections[sectionKey].Covers[coverKey].Initialise = cover.Initialise;\r\n\r\n //get cover control values for all steps\r\n this.steps = this.wizard.Steps;\r\n for (var stepKey in this.steps) {\r\n if (!this.steps[stepKey].Sections[sectionKey]) continue;\r\n if (!this.steps[stepKey].Sections[sectionKey].Covers[coverKey]) continue;\r\n var cover = this.steps[stepKey].Sections[sectionKey].Covers[coverKey];\r\n\r\n for (var controlGroupKey in cover.ControlGroups) {\r\n var controls = cover.ControlGroups[controlGroupKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n model.Sections[sectionKey].Covers[coverKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value.Code, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n else\r\n model.Sections[sectionKey].Covers[coverKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n }\r\n }\r\n }\r\n\r\n //override cover control values for offer step\r\n var cover = this.offers[offerKey].Sections[sectionKey].Covers[coverKey];\r\n var controls = cover.Controls\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Value && controls[controlKey].Value.Code)\r\n model.Sections[sectionKey].Covers[coverKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value.Code, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n else\r\n model.Sections[sectionKey].Covers[coverKey].Controls[controlKey] =\r\n { \"Value\": controls[controlKey].Value, \"Properties\": controls[controlKey].Properties, \"FieldType\": controls[controlKey].FieldType };\r\n //following logic replaced by OverrideInitalValue\r\n //model.Sections[sectionKey].Covers[coverKey].Controls[controlKey].Initialise = controls[controlKey].Initialise;\r\n }\r\n }\r\n }\r\n\r\n this.wizard.ProgressCount = this.wizard.ProgressCount + 1;\r\n\r\n model.ProductCode = this.wizard.ProductCode;\r\n model.ClientKey = this.wizard.ClientKey;\r\n model.CalculationMode = this.wizard.CalculationMode;\r\n model.ProcessCode = this.wizard.ProcessCode;\r\n model.PolicyKey = this.wizard.PolicyKey;\r\n model.DepartmentCode = this.wizard.DepartmentCode;\r\n model.SystemIndicator = this.wizard.SystemIndicator;\r\n model.Variables = this.wizard.Variables;\r\n\r\n offerCalcCount = offerCalcCount + 1;\r\n this.apiService.post(\"Api/QuoteApi/Calculate/\", model).subscribe((res: any) => {\r\n\r\n if (res.Message) { // calculation falied\r\n if (this.wizard.ProgressCount > 0)\r\n this.wizard.ProgressCount = this.wizard.ProgressCount - 1;\r\n if (res.Key) {\r\n //$('#offer' + res.data.Key).children('.ibox-content').removeClass(\"sk-loading\");\r\n // document.getElementById(\"offer\" + offerKey).classList.remove('loader-box');\r\n //document.getElementById(\"offer\" + offerKey).classList.remove('loader');\r\n this.spinner.hide();\r\n\r\n for (var offerKey in this.offers) {\r\n if (res.Key === offerKey) {\r\n this.offers[offerKey].Error = res.Message;\r\n break;\r\n }\r\n }\r\n\r\n if (this.wizard.Scripts) {\r\n for (var scriptKey in this.wizard.Scripts) {\r\n if (this.wizard.Scripts[scriptKey].IsCalculationError) {\r\n this.templateService.executeGlobalScript(this.wizard.Referentials, \r\n this.wizard.Steps, offerKey, res.data.Variables, pageError, this.wizard.Scripts[scriptKey].Value);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n else { //success\r\n this.wizard.Variables = res.Variables;\r\n if (this.wizard.ProgressCount > 0)\r\n this.wizard.ProgressCount = this.wizard.ProgressCount - 1;\r\n\r\n for (var stepKey in this.wizard.Steps) {\r\n if (this.wizard.Steps[stepKey].Type != 'Offer') continue;\r\n for (var offerKey in this.wizard.Steps[stepKey].Offers) {\r\n if (res.Key == offerKey) {\r\n if (res.PolicyKey && this.wizard.PolicyKey != res.PolicyKey)\r\n this.wizard.PolicyKey = res.PolicyKey;\r\n\r\n \r\n //$('#offer' + offerKey).children('.ibox-content').removeClass(\"sk-loading\");\r\n // document.getElementById(\"offer\" + offerKey).classList.remove('loader-box');\r\n // document.getElementById(\"offer\" + offerKey).classList.remove('loader');\r\n this.spinner.hide();\r\n\r\n var errorFound = false;\r\n for (var sectionKey in this.wizard.Steps[stepKey].Offers[offerKey].Sections) {\r\n if (!res.Sections[sectionKey]) continue;\r\n var section = this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey];\r\n\r\n section.Errors = res.Sections[sectionKey].Errors;\r\n if (section.Errors && section.Errors.length > 0) {\r\n if (res.Sections[sectionKey].ErrorCount > 0)\r\n errorFound = true;\r\n if (this.wizard.IsGroup == true) {\r\n for (var coverGroupKey in this.wizard.CoverGroups) {\r\n var groupCode = this.wizard.CoverGroups[coverGroupKey].GroupCode;\r\n var sectionCode = this.wizard.CoverGroups[coverGroupKey].SectionCode;\r\n if (groupCode && sectionCode == sectionKey && !this.wizard.Groups[groupCode].Errors) {\r\n this.wizard.Groups[groupCode].Errors = section.Errors;\r\n }\r\n }\r\n }\r\n }\r\n\r\n //transfere product generator item control values\r\n for (var controlKey in res.Sections[sectionKey].Controls) {\r\n var refKey = sectionKey + \"_\" + controlKey;\r\n\r\n if (section.Controls[controlKey]) {\r\n section.Controls[controlKey].OldValue = section.Controls[controlKey].Value = res.Sections[sectionKey].Controls[controlKey].Value;\r\n\r\n if (section.Controls[controlKey].FieldType == \"DateTime\" && section.Controls[controlKey].Value) {\r\n var dateParts = [];\r\n dateParts = section.Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n section.Controls[controlKey].DateValue = { \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) };\r\n }\r\n else {\n dateParts = section.Controls[controlKey].Value.split('-');\r\n section.Controls[controlKey].DateValue = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\r\n }\r\n\r\n }\r\n else {\r\n //control not added on screen but used in product generator\r\n section.Controls[controlKey] = {\r\n \"FieldType\": res.Sections[sectionKey].Controls[controlKey].FieldType,\r\n \"Value\": res.Sections[sectionKey].Controls[controlKey].Value\r\n };\r\n }\r\n //Uncomment temp test\r\n \r\n if (res.Referentials[refKey] &&\r\n this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties.DisbaleProductScript &&\r\n !this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey].Properties.DisbaleProductScript.Value &&\r\n controls[controlKey].ListItemsChange)\r\n {\r\n this.referentials[refKey] = { \"Values\": _.cloneDeep(res.Referentials[refKey].Values), \"Code\": refKey };\r\n this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey].Referential = refKey;\r\n }\r\n \r\n }\r\n\r\n for (var coverKey in this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Covers) {\r\n var cover = this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey];\r\n\r\n if (cover.Selection == 'Excluded') continue;\r\n if (!res.Sections[sectionKey]) continue;\r\n if (!res.Sections[sectionKey].Covers[coverKey]) continue;\r\n\r\n cover.Value = res.Sections[sectionKey].Covers[coverKey].Value;\r\n cover.Errors = res.Sections[sectionKey].Covers[coverKey].Errors;\r\n\r\n //if conditioanl cover and zero premium then unselect the cover if its selected\r\n if (cover.Selection == 'Conditional' &&\r\n res.Sections[sectionKey].Covers[coverKey].IsValidCover == 0 &&\r\n cover.Selected == true &&\r\n (!cover.Errors || (cover.Errors && cover.Errors.length == 0))) {\r\n cover.Selected = false;\r\n\r\n //cover selection changed so execute if there is any client script\r\n if (cover.Scripts && cover.Scripts['OnChange'] && cover.Scripts['OnChange'].IsChange) {\r\n if (!cover.Text && cover.Code) cover.Text = this.wizard.Covers[cover.Code].Text;\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnChange\", this.wizard.Variables, cover.Scripts, cover, offerKey);\r\n }\r\n }\r\n\r\n //if not mandatory and there is errors then unselect the cover if its selected\r\n if (cover.Selected == true && cover.Errors && cover.Errors.length > 0) {\r\n if (cover.Selection != 'Mandatory' && cover.Selected == true) {\r\n cover.Selected = false;\r\n\r\n //cover selection changed so execute if there is any client script\r\n if (cover.Scripts && cover.Scripts['OnChange'] && cover.Scripts['OnChange'].IsChange) {\r\n if (!cover.Text && cover.Code) cover.Text = this.wizard.Covers[cover.Code].Text;\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnChange\", this.wizard.Variables, cover.Scripts, cover, offerKey);\r\n }\r\n }\r\n errorFound = true;\r\n }\r\n\r\n if (cover.Initialise == 1 && (!cover.Errors || (cover.Errors && cover.Errors.length == 0))) {\r\n cover.Initialise = 0;\r\n }\r\n\r\n //we might have premium value returned but since if the cover is not valid then need to reset premium\r\n if (cover.Selected == true && res.Sections[sectionKey].Covers[coverKey].Value)\r\n cover.Value = res.Sections[sectionKey].Covers[coverKey].Value;\r\n else\r\n cover.Value = 0;\r\n\r\n //we might have premium value returned but since if the cover is not valid then need to reset premium\r\n if (cover.Selected == true && res.Sections[sectionKey].Covers[coverKey].DiscountedValue)\r\n cover.DiscountedValue = res.Sections[sectionKey].Covers[coverKey].DiscountedValue;\r\n else\r\n cover.DiscountedValue = cover.Value;\r\n\r\n //transfer product genrator cover control values\r\n var controls = res.Sections[sectionKey].Covers[coverKey].Controls;\r\n for (controlKey in controls) {\r\n var refKey = sectionKey + \"_\" + coverKey + \"_\" + controlKey;\r\n\r\n if (cover.Controls[controlKey]) {\r\n cover.Controls[controlKey].OldValue =\r\n cover.Controls[controlKey].Value = controls[controlKey].Value;\r\n\r\n if (cover.Controls[controlKey].FieldType == \"DateTime\" && cover.Controls[controlKey].Value) {\r\n var dateParts = [];\r\n dateParts = cover.Controls[controlKey].Value.split('/');\r\n if (dateParts.length > 1) {\r\n cover.Controls[controlKey].DateValue = { \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) };\r\n }\r\n else {\n dateParts = cover.Controls[controlKey].Value.split('-');\r\n cover.Controls[controlKey].DateValue = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\r\n }\r\n }\r\n\r\n else {\r\n //control not added on screen but used in product generator\r\n cover.Controls[controlKey] =\r\n { \"FieldType\": controls[controlKey].FieldType, \"Value\": controls[controlKey].Value };\r\n }\r\n\r\n if (res.Referentials[refKey] &&\r\n cover.Controls[controlKey].Properties &&\r\n cover.Controls[controlKey].Properties.DisbaleProductScript &&\r\n !cover.Controls[controlKey].Properties.DisbaleProductScript.Value &&\r\n controls[controlKey].ListItemsChange) {\r\n this.referentials[refKey] = { \"Values\": _.cloneDeep(res.Referentials[refKey].Values), \"Code\": refKey };\r\n cover.Controls[controlKey].Referential = refKey;\r\n\r\n //rebind to ng-select otherwise it wont refresh\r\n var selectedItems = [];\r\n for (var itemKey in this.referentials[refKey].Values)\r\n selectedItems.push({ \"Key\": itemKey, \"Value\": this.referentials[refKey].Values[itemKey] });\r\n cover.Controls[controlKey].Items = selectedItems;\r\n }\r\n\r\n //execute calc complete script for cover controls\r\n /*\r\n if (controls[controlKey].Properties[\"OnCalcComplete\"] &&\r\n controls[controlKey].Properties[\"OnCalcComplete\"].Value) {\r\n this.templateService.executeScript(this.wizard.Referentials, this.wizard, this.control, \"OnCalcComplete\", this.wizard.Variables, controls[controlKey].Properties[\"OnCalcComplete\"].Value, cover, offerKey);\r\n }\r\n */\r\n }\r\n cover.Title = cover.Errors && cover.Errors.length > 0 ? cover.Errors[0].Message : this.translate.instant('Premium') + ': ' + this.decimalPipe.transform(cover.Value, this.decimals) + ',' + this.translate.instant('Discounted Premium') + ': ' + this.decimalPipe.transform(cover.DiscountedValue, this.decimals);\r\n }\r\n }\r\n\r\n this.wizard.Steps[stepKey].Offers[offerKey].Error = errorFound ? \"Error\" : \"\";\r\n\r\n this.wizard.Steps[stepKey].Offers[offerKey].Premium = res.Premium;\r\n this.wizard.Steps[stepKey].Offers[offerKey].Tax = res.Tax;\r\n this.wizard.Steps[stepKey].Offers[offerKey].AdminFee = res.AdminFee;\r\n this.wizard.Steps[stepKey].Offers[offerKey].StampFee = res.StampFee;\r\n this.wizard.Steps[stepKey].Offers[offerKey].Value = res.Value;\r\n\r\n this.wizard.Steps[stepKey].Offers[offerKey].DiscountedValue = res.DiscountedValue;\r\n this.wizard.Steps[stepKey].Offers[offerKey].DiscountedTax = res.DiscountedTax;\r\n this.wizard.Steps[stepKey].Offers[offerKey].DiscountedPremium = res.DiscountedPremium;\r\n this.wizard.Steps[stepKey].Offers[offerKey].DiscountedAdminFee = res.DiscountedAdminFee;\r\n\r\n this.wizard.Steps[stepKey].Offers[offerKey].DiscountedValuePromo = this.decimalPipe.transform((this.wizard.Steps[stepKey].Offers[offerKey].Value - this.wizard.Steps[stepKey].Offers[offerKey].DiscountAmount), this.decimals); \r\n\r\n this.offers = this.wizard.Steps[stepKey].Offers,\r\n this.offers[offerKey].Title = this.translate.instant('Premium') + ' = ' + this.decimalPipe.transform(this.offers[offerKey].Premium, this.decimals) + ', ' + this.translate.instant('Admin Fee') + ': ' + this.decimalPipe.transform(this.offers[offerKey].AdminFee, this.decimals) + ', ' + this.translate.instant('Stamp Fee') + ': ' + this.decimalPipe.transform(this.offers[offerKey].StampFee, this.decimals) + ', ' + this.translate.instant('Tax') + ' = ' + this.decimalPipe.transform(this.offers[offerKey].Tax, this.decimals);\r\n this.offers[offerKey].DiscountedTitle = this.translate.instant('Premium') + ' = ' + this.decimalPipe.transform(this.offers[offerKey].DiscountedPremium, this.decimals) + ', ' + this.translate.instant('Admin Fee') + ': ' + this.decimalPipe.transform(this.offers[offerKey].DiscountedAdminFee, this.decimals) + ', ' + this.translate.instant('Stamp Fee') + ': ' + this.decimalPipe.transform(this.offers[offerKey].StampFee, this.decimals) + ', ' + this.translate.instant('Tax') + ' = ' + this.decimalPipe.transform(this.offers[offerKey].DiscountedTax, this.decimals);\r\n\r\n break;\r\n }\r\n }\r\n }\r\n\r\n var pageError = false;\r\n for (var stepKey in this.wizard.Steps) {\r\n if (this.wizard.Steps[stepKey].Type != \"Offer\") continue;\r\n for (var offerKey in this.wizard.Steps[stepKey].Offers) {\r\n if (this.wizard.Steps[stepKey].Offers[offerKey].Error == 'Error') {\r\n pageError = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n this.wizard.ErrorFound = pageError;\r\n\r\n \r\n if (this.wizard.Scripts) {\r\n for (var scriptKey in this.wizard.Scripts) {\r\n if (this.wizard.Scripts[scriptKey].IsCalculationComplete) {\r\n //executeScript(referentials, wizardSteps, control, event, offerCode,variables, scripts, cover)\r\n this.templateService.executeGlobalScript(this.wizard.Referentials, this.wizard, offerKey, res.Variables, pageError, this.wizard.Scripts[scriptKey].Value); // TODO\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n });\r\n }\r\n\r\n if (offerCalcCount == 0)\r\n this.spinner.hide();\r\n }\n }\n\r\n\r\n //reset all figures before calculating offer\r\n resetCalculatedValues(selectedOfferKey) {\r\n this.wizard.ErrorFound = true;\r\n\r\n if (this.wizard.Step) {\r\n this.offers = this.wizard.Step.Offers;\r\n }\r\n else {\r\n for (var stepKey in this.wizard.Steps) {\r\n if (this.wizard.Steps[stepKey].Type == 'Offer') {\r\n this.offers = this.wizard.Steps[stepKey].Offers;\r\n this.wizard.Step = this.wizard.Steps[stepKey];\r\n }\r\n }\r\n }\r\n\r\n if (this.wizard.IsGroup) {\r\n for (var groupKey in this.wizard.Groups)\r\n this.wizard.Groups[groupKey].Errors = null;\r\n }\r\n\r\n for (var offerKey in this.offers) {\r\n if (selectedOfferKey != \"\" && offerKey != selectedOfferKey) continue;\r\n\r\n var sections = this.offers[offerKey].Sections;\r\n for (var sectionKey in sections) {\r\n sections[sectionKey].Errors = null;\r\n var covers = sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n covers[coverKey].Value = 0;\r\n covers[coverKey].DiscountedValue = 0;\r\n covers[coverKey].Errors = null;\r\n }\r\n }\r\n\r\n this.offers[offerKey].Error = true;\r\n this.offers[offerKey].Premium = 0;\r\n this.offers[offerKey].Tax = 0;\r\n this.offers[offerKey].AdminFee = 0;\r\n this.offers[offerKey].StampFee = 0;\r\n this.offers[offerKey].Value = 0;\r\n this.offers[offerKey].DiscountedValue = 0;\r\n this.offers[offerKey].DiscountedTax = 0;\r\n this.offers[offerKey].DiscountedPremium = 0;\r\n this.offers[offerKey].DiscountedAdminFee = 0;\r\n }\r\n }\n \n save() {\n this.apiService.post(\"Api/QuoteApi/SaveHeader/\", this.wizard).subscribe((res: any) => {\r\n this.apiService.post(\"Api/QuoteApi/Save/\", this.wizard).subscribe((res: any) => {\r\n this.toastrService.success(this.translate.instant(\"Quote No. \" + res.ExternalCode + \" has been saved successfully\"));\r\n this.offerService.offerHeaderKey = res.Key;\r\n this.offerService.versionNo = res.versionNo;\r\n this.offerexternalcde = res.ExternalCode;\r\n //this.router.navigate([\"../\"], { relativeTo: this.route });\r\n if (this.checkCodeSave) {\r\n this.checkCode();\r\n this.checkCodeSave = false;\r\n }\r\n });\r\n }); \r\n }\n \n print() {\n\r\n this.apiService.post(\"Api/QuoteApi/Save/\", this.wizard).subscribe((res: any) => {\r\n if (res.Key && res.Key != 0) {\r\n this.wizard.OfferHeaderKey = res.Key;\r\n this.wizard.VersionNo = res.versionNo;\r\n\r\n var reportRefKeys = [];\r\n var reportSecRefKeys = [];\r\n reportRefKeys.push(res.Key);\r\n reportSecRefKeys.push(res.versionNo);\r\n\r\n //reportingService.printAutomaticReportsInQueue(21, reportRefKeys, reportSecRefKeys);\r\n //TODO \r\n this.reportingService.printAutomaticReportsInQueueByProcess(21, this.wizard.ProcessCode, this.wizard.ProductCode, reportRefKeys, reportSecRefKeys);\r\n }\r\n this.toastrService.success(this.translate.instant(\"Offer printed successfully.\")); \r\n\r\n }); \r\n }\n\n transformCheck(checkOnly = false) {\n\n this.offerService.errorControls = [];\r\n this.offerService.scriptErrorControls = [];\n\n this.wizard.IsPolicy = true;\r\n var step;\r\n var selectedOfferCount = 0;\r\n var selectedOfferKey = null;\r\n var selectedOffer = null;\r\n var offerStepKey = null;\r\n var totalOfferCount = 0;\r\n this.spinner.show();\r\n\r\n //check if an offer is selected.\r\n for (var stepKey in this.wizard.Steps) {\r\n if (this.wizard.Steps[stepKey].Type == 'Offer') {\r\n for (var offerKey in this.wizard.Steps[stepKey].Offers) {\r\n totalOfferCount = totalOfferCount + 1;\r\n if (this.wizard.Steps[stepKey].Offers[offerKey].Selected) {\r\n if (!selectedOffer) {\r\n selectedOffer = this.wizard.Steps[stepKey].Offers[offerKey];\r\n selectedOfferKey = offerKey;\r\n offerStepKey = stepKey;\r\n }\r\n selectedOfferCount = selectedOfferCount + 1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (totalOfferCount == 1 && selectedOfferCount == 0) {\r\n selectedOffer = this.wizard.Steps[stepKey].Offers[offerKey];\r\n selectedOfferKey = offerKey;\r\n offerStepKey = stepKey;\r\n selectedOfferCount = 1;\r\n selectedOffer.Selected = true;\r\n }\r\n\r\n //if an offer is selected, validate the controls for policy\r\n if (selectedOfferCount == 1) {\r\n\r\n //first validate the selected offer\r\n for (var stepKey in this.wizard.Steps) {\r\n if (this.wizard.Steps[stepKey].Type === \"Offer\") {\r\n for (offerKey in this.wizard.Steps[stepKey].Offers) {\r\n if (offerKey == selectedOfferKey) {\r\n for (var sectionKey in this.wizard.Steps[stepKey].Offers[offerKey].Sections) {\r\n var covers = this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n var coverControls = covers[coverKey].Controls;\r\n this.offerService.validateControls(coverControls);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.offerService.scriptErrorControls.length > 0) {\r\n this.spinner.hide();\r\n this.toastrService.error(this.translate.instant(\"Please correct the validation errors to proceed.\"));\r\n return false;\r\n }\r\n else if (this.offerService.errorControls.length > 0) {\r\n this.spinner.hide();\r\n this.toastrService.error(this.translate.instant(\"Please provide all the required values.\"));\r\n return false;\r\n }\r\n\r\n this.getClientData();\r\n\r\n for (var stepKey in this.wizard.Steps) {\r\n\r\n //standard controls\r\n this.offerService.validateControls(this.wizard.Steps[stepKey].Controls);\r\n //Group Controls\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n\r\n //Section Controls\r\n var sections = this.wizard.Steps[stepKey].Sections;\r\n for (var sectionKey in sections) {\r\n //Section standard controls\r\n this.offerService.validateControls(sections[sectionKey].Controls);\r\n //Section Group Controls\r\n for (var groupKey in sections[sectionKey].ControlGroups) {\r\n var controls = sections[sectionKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n\r\n //Cover Controls within Sections\r\n var covers = this.wizard.Steps[stepKey].Sections[sectionKey].Covers;\r\n\r\n for (var coverKey in covers) {\r\n //Cover standard controls\r\n this.offerService.validateControls(covers[coverKey].Controls);\r\n //Cover Group Controls\r\n for (var groupKey in covers[coverKey].ControlGroups) {\r\n var controls = covers[coverKey].ControlGroups[groupKey].Controls;\r\n this.offerService.validateControls(controls);\r\n }\r\n }\r\n }\r\n\r\n //offer controls\r\n if (this.wizard.Steps[stepKey].Type === \"Offer\") {\r\n\r\n for (var offerKey in this.wizard.Steps[stepKey].Offers) {\r\n for (var sectionKey in this.wizard.Steps[stepKey].Offers[offerKey].Sections) {\r\n var sectionControls = this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Controls;\r\n this.offerService.validateControls(sectionControls);\r\n\r\n var covers = this.wizard.Steps[stepKey].Offers[offerKey].Sections[sectionKey].Covers;\r\n for (var coverKey in covers) {\r\n var coverControls = covers[coverKey].Controls;\r\n this.offerService.validateControls(coverControls);\r\n }\r\n }\r\n }\r\n }\r\n if (this.offerService.errorControls.length > 0) break;\r\n }\r\n }\r\n\r\n if (selectedOfferCount === 0) {\r\n this.toastrService.error(this.translate.instant(\"Please select an offer.\"));\r\n this.spinner.hide();\r\n return false;\r\n }\r\n else if (selectedOfferCount > 1) {\r\n this.toastrService.error(this.translate.instant(\"Only one offer can be selected to transform\"));\r\n this.spinner.hide();\r\n }\r\n else if (this.offerService.scriptErrorControls.length > 0) {\r\n this.toastrService.error(this.translate.instant(\"Please correct the validation errors to proceed.\"));\r\n this.spinner.hide();\r\n return false;\r\n }\r\n else if (this.offerService.errorControls.length > 0) {\r\n delete this.wizard.Steps[offerStepKey].Offers;\r\n\r\n this.wizard.Steps[offerStepKey].Offers = {};\r\n this.offerCodes = [];\r\n this.wizard.Steps[offerStepKey].Offers[selectedOfferKey] = selectedOffer;\r\n this.offerCodes.push(selectedOffer.Code);\r\n\r\n this.toastrService.error(this.translate.instant(\"Please provide all the required values.\"));\r\n //this.setStep(offerStepKey);\r\n this.setStep(stepKey);\r\n\r\n //set wizard step\r\n var wizardIndex = this.wizardComponent.getIndexOfStepWithId(stepKey);\r\n this.wizardComponent.goToStep(wizardIndex);\r\n this.spinner.hide();\r\n\r\n return false;\r\n }\r\n else {\r\n delete this.wizard.Steps[offerStepKey].Offers;\r\n this.offerCodes = [];\r\n this.wizard.Steps[offerStepKey].Offers = {};\r\n this.wizard.Steps[offerStepKey].Offers[selectedOfferKey] = selectedOffer;\r\n this.offerCodes.push(selectedOffer.Code);\r\n if (!checkOnly) this.transformToPolicy();\r\n return true;\r\n }\r\n\r\n }\n\n directPayment() {\n\n //if (Object.keys(this.appliedDiscount).length === 0) {//no discount then continue\n // this.checkCode();\n //}\n\n //chek if there is errors in offers\n var isError = false;\n for (var stepKey in this.wizard.Steps) {\n for (var offerKey in this.wizard.Steps[stepKey].Offers) {\r\n if (this.wizard.Steps[stepKey].Offers[offerKey].Error) {\r\n isError = true;\r\n break;\r\n }\r\n }\n }\n\n if (!isError)\n this.directPayClick.emit();\r\n else \r\n this.toastrService.error(this.translate.instant(\"Unable to process your request. Please retry.\"));\r\n }\n \n transformToPolicy() {\r\n\r\n this.spinner.show();\r\n this.wizard.IsPolicy = true;\r\n this.apiService.post(\"Api/QuoteApi/Transform/\", this.wizard).subscribe((res: any) => {\r\n if (res.row) {\r\n this.spinner.hide();\r\n this.toastrService.success(this.translate.instant(\"Offer transformed to Quote number\") + \" - \" + res.row.ExternalCode);\r\n this.wizard.Policy = res.row;\r\n this.wizard.TransformStatusCde = 4;\r\n this.integrityCheck();\r\n this.wizard.IsView = (this.wizard.TransformStatusCde !== 0);\r\n this.wizard.IsPolicy = true;\r\n //this.router.reload();\r\n }\r\n else {\r\n this.wizard.IsPolicy = false;\r\n this.toastrService.error(res.Message);\r\n }\r\n }); \r\n }\n \n integrityCheck() {\r\n\r\n this.modalService.open(this.backendProcessModal, { centered: true, size: 'lg' });\r\n this.apiService.post(\"Api/QuoteApi/IntegrityCheck/\", this.wizard.Policy).subscribe((res: any) => {\r\n if (res.rows) {\r\n this.wizard.checks = res.rows;\r\n this.wizard.checkStatus = res.StatusCode;\r\n this.modalService.dismissAll();\r\n this.modalService.open(this.checkListModal, { centered: true, size:'lg' });\r\n }\r\n else {\r\n this.toastrService.error(res.Message);\r\n }\r\n }); \r\n }\n\n\n\n intitateDirectPayment() {\n try {\n //initiate payment process\r\n let lightbox = window[\"Lightbox\"]\r\n if (lightbox == null) {\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n this.spinner.hide();\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n return;\r\n }\r\n\r\n this.apiService.post(\"Api/WebUserAPI/InitDirectPayment/\",\r\n {\r\n OfferHeaderKey: this.wizard.OfferHeaderKey,\r\n VersionNo: this.wizard.VersionNo,\r\n PolicyCde: this.wizard.Policy.PolicyKey\r\n }).subscribe((result: any) => {\r\n\r\n if (result) {\r\n let lightbox = window[\"Lightbox\"]\r\n if (lightbox == null) {\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n return;\r\n }\r\n //var discountedTrxnAmt;\r\n //if (Object.keys(this.appliedDiscount).length === 0) {\r\n // discountedTrxnAmt = result.AmountTrxn;\r\n //}\r\n //else {\r\n // if (this.appliedDiscount.PercentageIndicator) {\r\n // discountedTrxnAmt = Math.round((result.AmountTrxn - ((this.appliedDiscount.AmountValue / 100) * result.AmountTrxn)) * 1000) / 1000;//round 3 places;\r\n // }\r\n // else {\r\n // discountedTrxnAmt = Math.round((result.AmountTrxn - this.appliedDiscount.AmountValue) * 1000) / 1000;//round 3 places;\r\n // }\r\n //}\r\n\r\n lightbox.Checkout.configure = {\r\n \"MID\": result.MID,\r\n \"TID\": result.TID,\r\n \"AmountTrxn\": result.AmountTrxn,\r\n \"MerchantReference\": result.MerchantReference,\r\n \"TrxDateTime\": result.TrxDateTime,\r\n \"SecureHash\": result.SecureHash,\r\n completeCallback: function (data) {\r\n var event = new CustomEvent('onCompleteCallback', { detail: { \"data\": data } });\r\n window.dispatchEvent(event);\r\n },\r\n errorCallback: function (error) {\r\n var event = new CustomEvent('onErrorCallback', {});\r\n window.dispatchEvent(event);\r\n },\r\n cancelCallback: function () {\r\n var event = new CustomEvent('onCancelCallback', {});\r\n window.dispatchEvent(event);\r\n }\r\n };\r\n lightbox.Checkout.showLightbox();\r\n } else {\r\n this.spinner.hide();\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n }\r\n });\r\n } catch {\r\n this.spinner.hide();\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n }\r\n }\n\n @HostListener('window:onErrorCallback', ['$event.detail'])\r\n errorCallback(detail) {\r\n this.spinner.hide();\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n }\n\n @HostListener('window:onCancelCallback', ['$event.detail'])\r\n cancelCallback(detail) {\r\n this.spinner.hide();\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n }\n\n @HostListener('window:onCompleteCallback', ['$event.detail'])\r\n completeCallback(detail) {\r\n let lightbox = window[\"Lightbox\"]\r\n lightbox.Checkout.closeLightbox();\r\n this.toastrService.info(this.translate.instant(\"Payment successful, creating Policy. Please do not close/refresh browser.\"));\r\n this.spinner.show();\r\n\r\n var model = {\r\n \"Wizard\": this.wizard,\r\n \"Account\": { saveCard: false },\r\n \"Response\": JSON.stringify(detail.data)\r\n }\r\n\r\n this.router.navigate([\"../../Home\"], { relativeTo: this.route });\r\n this.apiService.post(\"Api/WebUserApi/DirectPayment/\", model).subscribe((data: any) => {\r\n this.spinner.hide();\r\n var gatewayResponse = \"\";\r\n var message = \"\";\r\n if (data && data.PaymentResponseCode && data.PaymentResponseCode != \"0\") {\r\n gatewayResponse = this.translate.instant(\"Failure Reason\") + \":\" + data.PaymentResponseCode + \" \" + data.PaymentResponseMessage;\r\n Swal.fire({ text: gatewayResponse, type: 'danger' });\r\n }\r\n if (data == null) {\r\n message = this.translate.instant('Unable to process your request. Please retry.');\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else if (data.AllocatedInd == 'Y') {\r\n var message = 'The policy has been successfully issued, policy number is 991. The payment processed succesfully, receipt number is 992. Referred policy documents have been sent to your email.';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", data.ReceiptNumber);\r\n Swal.fire({ text: message, type: 'success' });\r\n\r\n this.reportingService.printProcess(this.wizard.ProcessCode,\r\n this.wizard.ProductCode,\r\n data.PolicyKey, 0, 31);\r\n }\r\n else {\r\n if (data.PaymentResponseCode == \"0\") //error in allocation or acceptance \r\n {\r\n message = 'Payment is successful. Your policy is not yet In Force. Please contact helpdesk with reference no:991';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode);\r\n Swal.fire({ text: message, type: 'info' });\r\n }\r\n else if (data.PaymentResponseCode != \"\") {\r\n message = 'Unable to process the payment. Please contact helpdesk with reference no:991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else if (data.PaymentResponseCode == \"\") //not reached till payment\r\n {\r\n if (data.PolExtCode == \"\") //not created quote\r\n {\r\n if (data.OfferExtCode == \"\") {\r\n message = 'Unable to process your request. Please retry.';\r\n message = this.translate.instant(message);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else //offer created \r\n {\r\n message = 'Unable to process the payment. Please contact helpdesk. Your offer reference number is 991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n }\r\n else //quote created\r\n {\r\n if (data.IntegrityCheckStatusCode == \"1\" || data.IntegrityCheckStatusCode == \"2\" || data.IntegrityCheckStatusCode == \"\") {\r\n message = 'Unable to process the payment. Please contact helpdesk. Your quote reference number is 991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else {\r\n message = 'Policy integrity check failed. Please contact helpdesk. Your quote reference number is 991';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n }\r\n }\r\n }\r\n\r\n this.modalService.dismissAll();\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n });\r\n\r\n }\n\n acceptPolicy() {\r\n\r\n //check payment method\r\n var control = this.getControlByeReferential(\"17\");\r\n var useGateWay = false;\r\n if (control != null) {\r\n if (control.Value === \"10\") {\r\n useGateWay = true;\r\n }\r\n }\r\n else {\r\n control = this.getControlByeReferential(\"210\");\r\n if (control != null) {\r\n if (control.Value === \"10\") {\r\n useGateWay = true;\r\n }\r\n }\r\n }\r\n\r\n if (!this.insurancedXPortal && useGateWay) {\r\n this.spinner.show();\r\n this.intitateDirectPayment();\r\n }\r\n else {\r\n this.directAccept();\r\n }\r\n }\n\n directAccept() {\n this.toastrService.info(\"Accepting policy. Please do not close/refresh browser.\");\r\n this.spinner.show();\r\n this.modalService.dismissAll();\r\n this.apiService.post(\"Api/QuoteApi/Accept/\", this.wizard.Policy).subscribe((res: any) => {\r\n this.spinner.hide();\r\n if (res.row) { //success\r\n\r\n this.toastrService.success(this.translate.instant(\"Policy is accepted successfully. The new policy number is \" + res.row.ExternalCode), res.row.ExternalCode);\r\n this.wizard.IsPolicy = true;\r\n this.reportingService.wizard = this.wizard;\r\n this.reportingService.printProcess(this.wizard.ProcessCode, this.wizard.ProductCode, this.wizard.Policy.PolicyKey, 0, 31);\r\n this.router.navigate([\"../Search\"], { relativeTo: this.route });\r\n }\r\n else { //failed\r\n this.wizard.IsPolicy = false;\r\n this.toastrService.error(res.Message);\r\n if (res.ExceptionMessage)\r\n this.toastrService.error(res.ExceptionMessage);\r\n }\r\n }); \r\n }\n\n //Not used yet\r\n getClientData() {\r\n var model = {\r\n IsCompany: this.wizard.IsCompany,\r\n ClientKey: this.wizard.ClientKey,\r\n Address: {\r\n Address1: \"\",\r\n Address2: \"\",\r\n Address3: \"\",\r\n Address4: \"\",\r\n CountryCde: \"\",\r\n TownCde: \"\",\r\n PostalCde: \"\",\r\n },\r\n Addresses: {},\r\n First: \"\",\r\n Email: \"\",\r\n WorkTelephone: \"\",\r\n MobileTelephone: \"\",\r\n CompanyRegistrationNo: \"\",\r\n IDNumber: \"\",\r\n CompanyIncomeTaxNo: \"\",\r\n CompanyName: \"\",\r\n SurName: \"\",\r\n BirthDate: \"\",\r\n TitleCode: \"\"\r\n };\r\n\r\n\r\n if (this.wizard.Addresses && this.wizard.Addresses[this.wizard.ClientKey])\r\n model.Addresses = this.wizard.Addresses[this.wizard.ClientKey].rows;\r\n\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var controlKey in this.wizard.Steps[stepKey].Controls) {\r\n var control = this.wizard.Steps[stepKey].Controls[controlKey];\r\n if (!control) continue;\r\n switch (control.Properties.SystemName.Value) {\r\n case \"Client.OtherName\":\r\n model.First = control.Value;\r\n break;\r\n case \"Client.Address2\":\r\n model.Address.Address2 = control.Value;\r\n break;\r\n case \"Client.Address3\":\r\n model.Address.Address3 = control.Value;\r\n break;\r\n case \"Client.Address4\":\r\n model.Address.Address4 = control.Value;\r\n break;\r\n case \"Client.CountryCode\":\r\n model.Address.CountryCde = control.Value;\r\n break;\r\n case \"Client.TownCode\":\r\n model.Address.TownCde = control.Value;\r\n break;\r\n case \"Client.PostalCode\":\r\n model.Address.PostalCde = control.Value;\r\n break;\r\n case \"Client.Email\":\r\n model.Email = control.Value;\r\n break;\r\n case \"Client.Work\":\r\n if (this.wizard.IsCompany == \"Y\")\r\n model.WorkTelephone = control.Value;\r\n else\r\n model.MobileTelephone = control.Value;\r\n if (this.wizard.IsPolicy && this.wizard.IsCompany == \"Y\" && !control.Value) {\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.Mobile\":\r\n if (this.wizard.IsCompany == \"Y\")\r\n model.WorkTelephone = control.Value;\r\n else\r\n model.MobileTelephone = control.Value;\r\n if (this.wizard.IsPolicy && this.wizard.IsCompany == \"Y\" && !control.Value) {\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.Address1\":\r\n model.Address.Address1 = control.Value;\r\n if (this.wizard.IsPolicy && !control.Value) {\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.IDNumber\":\r\n if (this.wizard.IsCompany == \"Y\")\r\n model.CompanyRegistrationNo = control.Value;\r\n else\r\n model.IDNumber = control.Value;\r\n if (this.wizard.IsPolicy && !control.Value) {\r\n control.Properties['PolicyReadOnly'].Value = false;\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.IncomeTaxNo\":\r\n model.CompanyIncomeTaxNo = control.Value;\r\n if (this.wizard.IsPolicy && this.wizard.IsCompany == \"Y\" && !control.Value) {\r\n control.Properties['PolicyReadOnly'].Value = false;\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.SurName\":\r\n if (this.wizard.IsCompany == \"Y\")\r\n model.CompanyName = control.Value;\r\n else\r\n model.SurName = control.Value;\r\n if (!control.Value) {\r\n control.Properties['OfferReadOnly'].Value = false;\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.DateOfBirth\":\r\n model.BirthDate = control.Value;\r\n if (this.wizard.IsPolicy && this.wizard.IsCompany != \"Y\" && !control.Value) {\r\n control.Properties['PolicyVisible'].Value = true;\r\n control.Properties['PolicyReadOnly'].Value = false;\r\n this.offerService.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n break;\r\n case \"Client.TitleCode\":\r\n model.TitleCode = control.Value;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n return model;\r\n}\r\n\n openFileBrowse(docCode) {\n let element: HTMLElement = document.getElementById(\"document\"+docCode) as HTMLElement;\r\n element.click();\r\n }\n\n fileChange(documentCode, event) {\n var file: File = event.target.files[0];\r\n var myReader: FileReader = new FileReader();\r\n\r\n if (file.type != 'image/jpeg' && file.type != 'image/png') {\r\n this.toastrService.error(this.translate.instant('Only image of type \"png\" and \"jpg\" are allowed'), this.translate.instant('Upload Failed'));\r\n } else {\r\n myReader.onloadend = (e) => {\r\n this.wizard.Documents[documentCode].Image = myReader.result;\r\n this.wizard.Documents[documentCode].ImageName = file.name;\r\n this.wizard.Documents[documentCode].ImageType = file.name.substr(file.name.lastIndexOf('.'));\r\n this.wizard.Documents[documentCode].File = file;\r\n }\r\n myReader.readAsDataURL(file);\r\n }\r\n }\n\n removeDoc(index) {\r\n this.wizard.Documents[index].Image = \"\";\r\n this.wizard.Documents[index].ImageType = \"\";\r\n this.wizard.Documents[index].ImageName = \"\";\r\n this.wizard.Documents[index].File = \"\";\r\n }\n\n CheckValue(coverCode) {\r\n this.isExpandedOfferCover = coverCode;\r\n console.log(\"isExpanded: \" + this.isExpandedOfferCover + \" Cover Code:\" + coverCode);\r\n \r\n }\r\n \n refreshSummary() {\r\n var isSummary = false;\r\n if (this.wizard.Summaries) {\r\n for (var summary in this.wizard.Summaries) {\r\n isSummary = true;\r\n break;\r\n }\r\n }\r\n if (!isSummary) return;\r\n //multiline group changed so refresh process summary\r\n this.apiService.post(\"Api/PolicyAPI/RefreshSummary/\", this.wizard).subscribe((result: any) => {\r\n this.wizard.Summaries = result;\r\n });\r\n }\n\n getControlBySystemName(systemName) {\r\n var referential = {};\r\n for (var stepKey in this.wizard.Steps) {\r\n\r\n var controls = this.wizard.Steps[stepKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var transKey in this.wizard.Steps[stepKey].ClaimTransacReferences) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties[\"SystemName\"].Value == systemName) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n return null;\r\n }\n\n getControlByeReferential(referential) {\r\n for (var stepKey in this.wizard.Steps) {\r\n\r\n var controls = this.wizard.Steps[stepKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Referential == referential) {\r\n return controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Referential == referential) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var transKey in this.wizard.Steps[stepKey].ClaimTransacReferences) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups) {\r\n var controls = this.wizard.Steps[stepKey].ClaimTransacReferences[transKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Referential == referential) {\r\n return controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n return null;\r\n }\n checkCode() {\n if (this.offerService.offerHeaderKey === '') {\n if (this.checkCodeSave == true) {\n this.toastrService.error('System Failed to Apply Discount Please Contact System Administrator.', 'Error');\r\n console.log(\"offer key: \" + this.offerService.offerHeaderKey);\r\n return;\r\n }\n this.checkCodeSave = true;\r\n this.save();\r\n return;\r\n }\n \n\n var model = {\r\n CheckCode: this.DiscountCode,\r\n OffHeaderCode: this.offerService.offerHeaderKey,\r\n OffVersion: this.offerService.versionNo\r\n };\n\n this.apiService.post('Api/DxDiscountApi/CheckCode/', model).subscribe(\r\n (res: any) => {\r\n if (res.row == null) {\r\n this.toastrService.error('Unable to get Discount', 'Apply Discount');\r\n this.appliedDiscount = {};\r\n }\r\n else {\r\n this.appliedDiscount = res.row;\r\n\r\n this.toastrService.success(\"Discount Applied With \" + res.row.AmountValue + \" \" + ( res.row.PercentageIndicator ? \" Percent \" : \" Dinars \"));\r\n }\r\n\r\n this.offerService.appliedDiscount = this.appliedDiscount;//the gateway uses this for discount\r\n },\r\n (error: any) => {\r\n this.toastrService.error(error.Message || 'Failed to Apply Discount', 'Error');\r\n this.appliedDiscount = {};\r\n }\r\n );\r\n }\n\n getDiscountedOfferDetails(offerDetails) {\n var test = offerDetails;\r\n if (Object.keys(this.appliedDiscount).length === 0) {//no discount applied\r\n return offerDetails.Value;\r\n }\r\n else {\r\n var discountedValue;\r\n if (this.appliedDiscount.PercentageIndicator) {\r\n discountedValue = Math.round((offerDetails.Value - ((this.appliedDiscount.AmountValue / 100) * offerDetails.Value)) * 1000) / 1000;//round 3 places\r\n }\r\n else {\r\n //discountedValue = offerDetails.Value - this.appliedDiscount.AmountValue;\r\n discountedValue = Math.round((offerDetails.Value - this.appliedDiscount.AmountValue) * 1000) / 1000;//round 3 places\r\n }\r\n return discountedValue;\r\n }\r\n }\n getDiscountedOfferDetailsTitle(offerDetails) {\n var test = offerDetails;\r\n \r\n if (Object.keys(this.appliedDiscount).length === 0) {//no discount applied\r\n return offerDetails.Title;\r\n }\r\n else {\r\n return (offerDetails.Title + \", \" + this.translate.instant(\"Discount\") + \" \" + (this.appliedDiscount.PercentageIndicator ? this.translate.instant(\"Percentage\") : this.translate.instant(\"Amount\")) + \":\" + this.appliedDiscount.AmountValue);\r\n }\r\n }\n\n applyPromotion(offerDetails) {\n var model = {\r\n PromotionCode: offerDetails.PromotionCode.trim()\r\n };\r\n\r\n this.apiService.post('Api/PromotionAPI/CheckPromotion/', model).subscribe((res: any) => {\r\n if (res.row == null) {\r\n this.toastrService.error('Invalid promotion code');\r\n this.appliedPromotion = {};\r\n offerDetails.PromotionKey = null;\r\n offerDetails.PromotionCode = null;\r\n offerDetails.PromotionDesc = null;\r\n offerDetails.DiscountType = null;\r\n offerDetails.DiscountValue = null; \r\n offerDetails.DiscountAmount = 0;\r\n offerDetails.DiscountedValuePromo = offerDetails.Value - offerDetails.DiscountAmount;\r\n } else {\r\n this.appliedPromotion = res.row; \r\n var discountedValue;\r\n var discountAmount; \r\n if (this.appliedPromotion.DiscountType == \"P\") {\r\n discountedValue = this.decimalPipe.transform((offerDetails.Value - ((this.appliedPromotion.DiscountValue / 100) * offerDetails.Value)), this.decimals); //round 3 places\r\n }\r\n else {\r\n //discountedValue = offerDetails.Value - this.appliedDiscount.AmountValue;\r\n discountedValue = this.decimalPipe.transform((offerDetails.Value - this.appliedPromotion.DiscountValue), this.decimals);//round 3 places\r\n }\r\n\r\n discountAmount = this.decimalPipe.transform((offerDetails.Value - discountedValue), this.decimals);\r\n this.toastrService.success(\"Discount Applied Successfully\");\r\n //return discountedValue;\r\n offerDetails.PromotionKey = this.appliedPromotion.PromotionKey;\r\n offerDetails.PromotionCode = this.appliedPromotion.PromotionCode;\r\n offerDetails.PromotionDesc = this.appliedPromotion.Description;\r\n offerDetails.DiscountType = this.appliedPromotion.DiscountType;\r\n offerDetails.DiscountValue = this.appliedPromotion.DiscountValue; \r\n offerDetails.DiscountAmount = discountAmount;\r\n offerDetails.DiscountedValuePromo = discountedValue;\r\n //console.log(offerDetails);\r\n }\r\n\r\n }); \r\n }\n}\n","import { NgModule } from '@angular/core';\nimport { NewComponent } from './new/new.component';\r\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { SharedHttpLoaderFactory, SharedModule } from '../common/shared.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false\r\n};\n\n@NgModule({\n declarations: [\n NewComponent\n ],\n imports: [\n TranslateModule.forChild({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: SharedHttpLoaderFactory,\r\n deps: [HttpClient]\r\n },\r\n isolate: false\r\n }),\n CommonModule,\n ArchwizardModule,\r\n NgbModule,\n FileUploadModule,\n SharedModule,\n FormsModule,\n NgxSpinnerModule,\n ],\n exports: [\n TranslateModule,\n NewComponent\n ],\n providers: [\n ],\n})\nexport class OfferCommonModule { }\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { ClientService } from 'src/app/client/client.service';\r\n\r\n@Injectable({\n providedIn: 'root'\n})\r\nexport class OfferService {\r\n\r\n public wizard: any = {};\r\n public clientSearchData: any;\r\n public clientCode: any;\r\n public productCode: any;\r\n public departmentCode: any;\r\n public processCode: any;\r\n public versionNo: any;\r\n public currentStep: any= 1;\r\n public lastValidatedStep: any = 0;\r\n public currentView: any = 1;\r\n public offerHeaderKey: any;\r\n public selectedOffer: any;\r\n public errorControls: Array = [];\r\n public scriptErrorControls: Array = [];\r\n\r\n public clientProcesseCodes: any;\r\n public clientNewOffer: string;\r\n public clientNewLead: string;\r\n public clientNewPolicy: string;\r\n public clientNewClient: string;\r\n public clientConsultation: string;\r\n public clientModification: string;\n\r\n public appliedDiscount: any = {};\r\n\r\n requiredControls: Array = [];\r\n offers: any;\r\n steps: any;\r\n control: any;\n referentials: any;\r\n items: any = [];\n loadingDDLdata: boolean = false;\r\n \r\n\r\n constructor(private apiService: ApiService,\r\n private clientService: ClientService) {\r\n\r\n var model = {\r\n ClientKey: \"\",\r\n };\r\n\r\n this.apiService.post(\"Api/ClientTemplateApi/SearchClientProcesses/\", model).subscribe((res) => {\r\n this.clientProcesseCodes = res;\r\n\r\n this.clientNewOffer = res[\"CLIENT_NEWOFFER\"];\r\n this.clientNewLead = res[\"CLIENT_NEWLEAD\"];\r\n this.clientNewPolicy = res[\"CLIENT_NEWPOLICY\"];\r\n this.clientNewClient = res[\"CLIENT_NEWCLIENT\"];\r\n this.clientConsultation = res[\"CLIENT_CONSULTCLIENT\"];\r\n this.clientModification = res[\"CLIENT_CLIENTMODIFICATION\"];\r\n\r\n });\r\n }\r\n\r\n clearData() {\r\n this.clientCode = null;\r\n this.processCode = null;\r\n this.departmentCode = null;\r\n this.productCode = null;\r\n this.versionNo = null;\r\n this.offerHeaderKey = null;\r\n }\r\n\r\n //To validate each step controls\r\n validateControls(controls) {\n for (var controlKey in controls) { //notes: some controls arrays are empty, why?\r\n var control = controls[controlKey];\r\n control.hasError = false;\r\n\r\n //required field validation\r\n if (!this.wizard.IsPolicy) {\r\n if (control.Properties && control.Properties.OfferVisible && control.Properties.OfferVisible.Value &&\r\n control.Properties.OfferRequired && control.Properties.OfferRequired.Value && !control.Value) {\r\n \r\n this.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n }\r\n else {\r\n if (control.Properties && control.Properties.PolicyVisible && control.Properties.PolicyVisible.Value) {\r\n if (control.Properties.PolicyRequired && control.Properties.PolicyRequired.Value && !control.Value) {\r\n this.errorControls.push(control);\r\n control.hasError = true;\r\n }\r\n }\r\n\r\n\r\n //if (control.Properties !=null && control.Properties.PolicyVisible !=null && control.Properties.PolicyVisible.Value !=null ) {\r\n // if (control.Properties.PolicyRequired && control.Properties.PolicyRequired.Value && control.Value) {\r\n // this.errorControls.push(control);\r\n // control.hasError = true;\r\n //this.scriptErrorControls.push(control); //testing\r\n // }\r\n //}\r\n\r\n\r\n }\r\n\r\n //script errors for section and cover controls\r\n //productError: Error raised as result of product genrator script\r\n //clientError: Error raised as result of client side script\r\n if (control.productError || control.clientError) {\r\n control.hasError = true;\r\n this.scriptErrorControls.push(control);\r\n }\r\n }\r\n }\r\n\r\n\r\n validateWizardControls(wizard) {\n\r\n this.requiredControls = [];\r\n for (var stepKey in wizard.Steps) {\r\n for (var groupKey in wizard.Steps[stepKey].ControlGroups) {\r\n if (!wizard.Steps[stepKey].ControlGroups[groupKey].IsMultiline) {\r\n\r\n for (var controlKey in wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n else {\r\n for (var controlKey in wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n wizard.Steps[stepKey].ControlGroups[groupKey].LineCodes.length == 0) {\r\n this.requiredControls.push(wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (wizard.IsDocument == true) {\r\n for (var docKey in wizard.Documents) {\r\n if (wizard.Documents[docKey].IsMandatory &&\r\n (wizard.Documents[docKey].Image == null || wizard.Documents[docKey].Image == \"\")) {\r\n this.requiredControls.push(wizard.Documents[docKey].DocumentTypeText)\r\n }\r\n }\r\n }\r\n\r\n return this.requiredControls.length;\r\n }\n\r\n \r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { ApiService } from 'src/app/common/services/api.service';\r\n\r\n@Injectable({\n providedIn: 'root'\n})\r\nexport class PolicyService {\r\n public selectedPolicy: any;\r\n public selectedProcessKey: any;\r\n public wizard: any;\r\n public selectedProductKey: any;\r\n public selectedDepartmentKey: any;\r\n public userAction: any;\r\n public selectedProcess: any;\r\n public endorsement: any;\r\n public secModel: any;\r\n\r\n public clientProcesseCodes: any;\r\n public clientNewOffer: string;\r\n public clientNewLead: string;\r\n public clientNewPolicy: string;\r\n public clientNewClient: string;\r\n public clientConsultation: string;\r\n public clientModification: string;\r\n\r\n public requiredControls: any = [];\r\n\r\n constructor(private apiService: ApiService) {\r\n\r\n var model = {\r\n ClientKey: \"\",\r\n };\r\n\r\n this.apiService.post(\"Api/ClientTemplateApi/SearchClientProcesses/\", model).subscribe((res) => {\r\n this.clientProcesseCodes = res;\r\n\r\n this.clientNewOffer = res[\"CLIENT_NEWOFFER\"];\r\n this.clientNewLead = res[\"CLIENT_NEWLEAD\"];\r\n this.clientNewPolicy = res[\"CLIENT_NEWPOLICY\"];\r\n this.clientNewClient = res[\"CLIENT_NEWCLIENT\"];\r\n this.clientConsultation = res[\"CLIENT_CONSULTCLIENT\"];\r\n this.clientModification = res[\"CLIENT_CLIENTMODIFICATION\"];\r\n\r\n });\r\n\r\n }\r\n\r\n //validate for all steps at the time of submit\n validateControls(wizard) {\n\r\n this.requiredControls = [];\r\n for (var stepKey in this.wizard.Steps) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n if (!this.wizard.Steps[stepKey].ControlGroups[groupKey].IsMultiline) {\r\n\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n else {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].LineCodes.length == 0) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.wizard.IsDocument == true) {\r\n for (var docKey in this.wizard.Documents) {\r\n if (this.wizard.Documents[docKey].IsMandatory &&\r\n (this.wizard.Documents[docKey].Image == null || this.wizard.Documents[docKey].Image == \"\")) {\r\n this.requiredControls.push(this.wizard.Documents[docKey].DocumentTypeText)\r\n }\r\n }\r\n }\r\n\r\n return this.requiredControls.length;\r\n }\r\n\n\n validateSectionControls(sections) {\r\n this.requiredControls = [];\r\n for (var sectionKey in sections) {\r\n for (var groupKey in sections[sectionKey].ControlGroups) {\r\n for (var controlKey in sections[sectionKey].ControlGroups[groupKey].Controls) {\r\n if ((sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true ||\r\n sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties.PolicyRequired.Value == true) &&\r\n !sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n for (var controlKey in sections[sectionKey].Controls) {\r\n if ((sections[sectionKey].Controls[controlKey].Properties.OfferRequired.Value == true ||\r\n sections[sectionKey].Controls[controlKey].Properties.PolicyRequired.Value == true )&&\r\n !sections[sectionKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(sections[sectionKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n for (var coverKey in sections[sectionKey].Covers) {\r\n for (var groupKey in sections[sectionKey].Covers[coverKey].ControlGroups) {\r\n for (var controlKey in sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls) {\r\n if ((sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true ||\r\n sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Properties.PolicyRequired.Value == true) &&\r\n !sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n for (var controlKey in sections[sectionKey].Covers[coverKey].Controls) {\r\n if ((sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties.OfferRequired.Value == true ||\r\n sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties.PolicyRequired.Value == true) &&\r\n !sections[sectionKey].Covers[coverKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(sections[sectionKey].Covers[coverKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return this.requiredControls.length;\r\n }\r\n\r\n}","module.exports = \".navbar-custom {\\n background-color: #1B4792; }\\n\\n.navbar-custom .navbar-brand,\\n.navbar-custom .navbar-text {\\n color: #ffffff; }\\n\\n.navbar-custom .navbar-nav .nav-link {\\n color: rgba(255, 255, 255, 0.5); }\\n\\n.navbar-custom .nav-item.active .nav-link {\\n color: #ffffff; }\\n\\n.navbar-custom .nav-item:hover .nav-link {\\n background-color: grey; }\\n\\n/*.navbar-custom .nav > li > a:hover, .navbar-custom .nav > li > a:focus {\\r\\n background-color: grey;\\r\\n color: #ffffff;\\r\\n}*/\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvcG9ydGFsL2hlYWRlci9DOlxcR0lTNFxcR0lTNC1MVElDXFxHSVMuV2ViL3NyY1xcYXBwXFxwb3J0YWxcXGhlYWRlclxccG9ydGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyIsInNyYy9hcHAvcG9ydGFsL2hlYWRlci9wb3J0YWwtaGVhZGVyLmNvbXBvbmVudC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0kseUJBQXlCLEVBQUE7O0FBSTdCOztFQUVJLGNBQWMsRUFBQTs7QUFJbEI7RUFDSSwrQkFBMkIsRUFBQTs7QUFJL0I7RUFDSSxjQUFjLEVBQUE7O0FBR2xCO0VBQ0ksc0JBQXNCLEVBQUE7O0FBSTFCOzs7RUNORSIsImZpbGUiOiJzcmMvYXBwL3BvcnRhbC9oZWFkZXIvcG9ydGFsLWhlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5uYXZiYXItY3VzdG9tIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICMxQjQ3OTI7XHJcbn1cclxuXHJcbi8vY2hhbmdlIHRoZSBicmFuZCBhbmQgdGV4dCBjb2xvclxyXG4ubmF2YmFyLWN1c3RvbSAubmF2YmFyLWJyYW5kLFxyXG4ubmF2YmFyLWN1c3RvbSAubmF2YmFyLXRleHQge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi8vIGNoYW5nZSB0aGUgbGluayBjb2xvciBcclxuLm5hdmJhci1jdXN0b20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcclxuICAgIGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxufVxyXG5cclxuLy8gY2hhbmdlIHRoZSBjb2xvciBvZiBhY3RpdmUgb3IgaG92ZXJlZCBsaW5rcyBcclxuLm5hdmJhci1jdXN0b20gLm5hdi1pdGVtLmFjdGl2ZSAubmF2LWxpbmsge1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn1cclxuXHJcbi5uYXZiYXItY3VzdG9tIC5uYXYtaXRlbTpob3ZlciAubmF2LWxpbmsge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogZ3JleTtcclxufVxyXG5cclxuXHJcbi8qLm5hdmJhci1jdXN0b20gLm5hdiA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1jdXN0b20gLm5hdiA+IGxpID4gYTpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn0qLyIsIi5uYXZiYXItY3VzdG9tIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzFCNDc5MjsgfVxuXG4ubmF2YmFyLWN1c3RvbSAubmF2YmFyLWJyYW5kLFxuLm5hdmJhci1jdXN0b20gLm5hdmJhci10ZXh0IHtcbiAgY29sb3I6ICNmZmZmZmY7IH1cblxuLm5hdmJhci1jdXN0b20gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTsgfVxuXG4ubmF2YmFyLWN1c3RvbSAubmF2LWl0ZW0uYWN0aXZlIC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi5uYXZiYXItY3VzdG9tIC5uYXYtaXRlbTpob3ZlciAubmF2LWxpbmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5OyB9XG5cbi8qLm5hdmJhci1jdXN0b20gLm5hdiA+IGxpID4gYTpob3ZlciwgLm5hdmJhci1jdXN0b20gLm5hdiA+IGxpID4gYTpmb2N1cyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBncmV5O1xyXG4gICAgY29sb3I6ICNmZmZmZmY7XHJcbn0qL1xuIl19 */\"","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { AuthenticationService } from '../../auth/authentication.service';\r\nimport { PortalService } from '../portal.service';\r\n\n@Component({\n selector: 'portal-header',\n templateUrl: './portal-header.component.html',\r\n styleUrls: ['./portal-header.component.scss']\n})\nexport class PortalHeaderComponent implements OnInit {\n\n public products: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService, \r\n private authenticationService: AuthenticationService,\r\n private portalService: PortalService) {\r\n\r\n }\r\n\r\n ngOnInit() {\n this.portalService.resetLanguage();\n }\n\n logout() {\r\n this.portalService.logout();\r\n }\n}\n","\nimport { Component, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from '../../auth/authentication.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { OfferService } from '../../offer/offer.service';\r\n\n@Component({\n selector: 'portal-home',\n templateUrl: './portal-home.component.html'\n})\nexport class PortalHomeComponent implements OnInit {\n\n public products: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService,\r\n private authenticationService: AuthenticationService,\r\n private offerService: OfferService,\r\n private router: Router,\r\n private route: ActivatedRoute, ) { }\r\n\r\n ngOnInit() {\n this.getProducts();\n }\n\n getProducts() {\r\n this.apiService.post(\"API/WebUserAPI/Products\", {}).subscribe((result: any) => {\r\n this.products = this.productSort(result.rows);\r\n });\r\n }\r\n\n productSort(products) {\n var tempProducts = [];\n for (var key in products) {\r\n if (products[key].ProductCode == \"9885\") {\r\n products[key].ImageUrl = products[key].DepartmentCode + \"_c.png\";\r\n tempProducts.push(products[key]);\r\n break;\r\n }\r\n }\r\n\r\n for (var key in products) {\r\n if (products[key].ProductCode == \"9886\") {\r\n products[key].ImageUrl = products[key].DepartmentCode + \"_y.png\";\r\n tempProducts.push(products[key]);\r\n break;\r\n }\r\n }\r\n\r\n for (var key in products) {\r\n if (products[key].ProductCode == \"9918\") {\r\n products[key].ImageUrl = products[key].DepartmentCode + \"_c.png\";\r\n tempProducts.push(products[key]);\r\n break;\r\n }\r\n }\r\n\r\n for (var key in products) {\r\n if (products[key].ProductCode != \"9885\" &&\r\n products[key].ProductCode != \"9886\" &&\r\n products[key].ProductCode != \"9918\") {\r\n products[key].ImageUrl = products[key].DepartmentCode + \"_c.png\";\r\n tempProducts.push(products[key]);\r\n }\r\n }\r\n\r\n return tempProducts;\r\n }\n\n newOffer(product) {\n this.offerService.offerHeaderKey = \"\";\n this.offerService.versionNo = \"\";\n if (this.authenticationService.User == null) {\r\n this.toastrService.error(this.translate.instant(\"Please login to create quote.\"));\r\n }\r\n else {\r\n var model = {\r\n ClientKey: \"\",\r\n };\r\n\r\n this.apiService.post(\"Api/WebUserAPI/ClientTemplates/\", model).subscribe((res) => {\r\n this.offerService.clientNewOffer = res[\"CLIENT_NEWOFFER\"];\r\n this.offerService.departmentCode = product.DepartmentCode;\r\n this.offerService.productCode = product.ProductCode;\r\n this.offerService.processCode = product.ProcessCode;\r\n this.offerService.clientCode = 0;\r\n this.router.navigate([\"../Offer/New\"], { relativeTo: this.route });\r\n });\r\n }\r\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PortalService } from '../portal.service';\r\n\n@Component({\n selector: 'portal-login',\n templateUrl: './portal-login.component.html'\n})\nexport class PortalLoginComponent implements OnInit {\n loading: boolean = false;\n modelLogin: any = {};\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n private portalService: PortalService) { }\r\n ngOnInit() {\n \n }\n\n login() {\r\n this.portalService.login(this.modelLogin);\r\n }\n}\n","import { Component, OnInit, HostListener, ViewChild } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { OfferService } from '../../../offer/offer.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { NewComponent } from '../../../offer/new/new.component';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\nimport { ReportingService } from '../../../common/services/reporting.service';\r\ndeclare var require;\r\nconst Swal = require('sweetalert2');\n\n@Component({\n selector: 'portal-offer-new',\n templateUrl: './portal-offer-new.component.html'\n})\nexport class PortalOfferNewComponent implements OnInit {\n @ViewChild('offerNewComponet', null) offerNewComponet: NewComponent;\n public insurancedXPortal: string;\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService,\r\n private offerService: OfferService,\n private spinner: NgxSpinnerService,\r\n private router: Router,\n private route: ActivatedRoute,\n private reportingService: ReportingService) {\r\n\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\n if (browserWindowEnv.hasOwnProperty('insurancedXPortal')) {\r\n this.insurancedXPortal = window['__env']['insurancedXPortal'];\r\n }\r\n }\r\n\r\n ngOnInit() {\n \n }\n\n directPayClick(event) {\n\n if (this.insurancedXPortal == \"true\") {\r\n\r\n //validate for transform\r\n if (!this.offerNewComponet.transformCheck(true)) {\r\n this.spinner.hide();\r\n return;\r\n }\r\n\r\n //save quote if it is not saved\r\n if (!this.offerService.offerHeaderKey && !this.offerService.versionNo) {\r\n this.spinner.show();\r\n this.apiService.post(\"Api/QuoteApi/SaveHeader/\", this.offerNewComponet.wizard).subscribe((res: any) => {\r\n this.apiService.post(\"Api/QuoteApi/Save/\", this.offerNewComponet.wizard).subscribe((res: any) => {\r\n this.toastrService.success(this.translate.instant(\"Quote No. \" + res.ExternalCode + \" has been saved successfully\"));\r\n this.reportingService.printAutomaticReportsInQueueByProcess(21, this.offerNewComponet.wizard.ProcessCode,\r\n this.offerNewComponet.wizard.ProductCode, [res.Key], [res.versionNo]);\r\n this.offerService.offerHeaderKey = res.Key;\r\n this.offerService.versionNo = res.versionNo;\r\n this.offerNewComponet.offerexternalcde = res.ExternalCode;\r\n this.offerNewComponet.wizard.OfferHeaderKey = res.Key;\r\n this.offerNewComponet.wizard.VersionNo = res.versionNo;\r\n this.offerNewComponet.wizard.LockedInd = \"N\";\r\n //intitate payment\r\n if (!this.offerNewComponet.wizard.IsAcceptWithoutPayment)\r\n this.intitateDirectPayment();\r\n else\r\n this.initiatePolicyTransform({});\r\n });\r\n });\r\n\r\n this.spinner.hide();\r\n }\r\n else {\r\n if (!this.offerNewComponet.wizard.IsAcceptWithoutPayment)\r\n this.intitateDirectPayment();\r\n else\r\n this.initiatePolicyTransform({});\r\n }\r\n }\r\n }\n\n intitateDirectPayment() {\n try {\n //initiate payment process\r\n let lightbox = window[\"Lightbox\"]\r\n if (lightbox == null) {\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n return;\r\n }\r\n\r\n this.apiService.post(\"Api/WebUserAPI/InitDirectPayment/\",\r\n {\r\n OfferHeaderKey: this.offerService.offerHeaderKey,\r\n VersionNo: this.offerService.versionNo\r\n }).subscribe((result: any) => {\r\n\r\n if (result) {\r\n let lightbox = window[\"Lightbox\"]\r\n if (lightbox == null) {\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n return;\r\n }\r\n\r\n //var discountedTrxnAmt;\r\n //if (Object.keys(this.offerService.appliedDiscount).length === 0) {\r\n // discountedTrxnAmt = result.AmountTrxn;\r\n //}\r\n //else {\r\n // if (this.offerService.appliedDiscount.PercentageIndicator) {\r\n // discountedTrxnAmt = Math.round((result.AmountTrxn - ((this.offerService.appliedDiscount.AmountValue / 100) * result.AmountTrxn)) * 1000) / 1000;//round 3 places;\r\n // }\r\n // else {\r\n // discountedTrxnAmt = Math.round((result.AmountTrxn - this.offerService.appliedDiscount.AmountValue) * 1000) / 1000;//round 3 places;\r\n // }\r\n //}\r\n\r\n lightbox.Checkout.configure = {\r\n \"MID\": result.MID,\r\n \"TID\": result.TID,\r\n \"AmountTrxn\": result.AmountTrxn,\r\n \"MerchantReference\": result.MerchantReference,\r\n \"TrxDateTime\": result.TrxDateTime,\r\n \"SecureHash\": result.SecureHash,\r\n completeCallback: function (data) {\r\n var event = new CustomEvent('onCompleteCallback', { detail: { \"data\": data } });\r\n window.dispatchEvent(event);\r\n },\r\n errorCallback: function (error) {\r\n var event = new CustomEvent('onErrorCallback', {});\r\n window.dispatchEvent(event);\r\n },\r\n cancelCallback: function () {\r\n var event = new CustomEvent('onCancelCallback', {});\r\n window.dispatchEvent(event);\r\n //this.completeCallback({}); // only for test\r\n }\r\n };\r\n lightbox.Checkout.showLightbox();\r\n }\r\n });\r\n } catch {\r\n this.toastrService.error(this.translate.instant(\"Can't process payment now.Please retry later.\"));\r\n }\r\n }\n\n @HostListener('window:onErrorCallback', ['$event.detail'])\r\n errorCallback(detail) {\r\n this.spinner.hide();\r\n }\n\n @HostListener('window:onCancelCallback', ['$event.detail'])\r\n cancelCallback(detail) {\r\n this.spinner.hide();\r\n }\n\n @HostListener('window:onCompleteCallback', ['$event.detail'])\r\n completeCallback(detail) {\r\n let lightbox = window[\"Lightbox\"]\r\n lightbox.Checkout.closeLightbox();\r\n this.toastrService.info(this.translate.instant(\"Payment successful, creating Policy. Please do not close/refresh browser.\"));\r\n this.spinner.show();\r\n\r\n this.initiatePolicyTransform(detail);\r\n \r\n }\n\n initiatePolicyTransform(detail) {\n\n var model = {\r\n \"Wizard\": this.offerNewComponet.wizard,\r\n \"Account\": { saveCard: false },\r\n \"Response\": JSON.stringify(detail.data)\r\n }\n this.router.navigate([\"../../Home\"], { relativeTo: this.route });\r\n this.spinner.show();\r\n this.apiService.post(\"Api/WebUserApi/DirectPayment/\", model).subscribe((data: any) => {\r\n this.spinner.hide();\r\n var gatewayResponse = \"\";\r\n var message = \"\";\r\n if (data && data.PaymentResponseCode && data.PaymentResponseCode != \"0\") {\r\n gatewayResponse = this.translate.instant(\"Failure Reason\") + \":\" + data.PaymentResponseCode + \" \" + data.PaymentResponseMessage;\r\n Swal.fire({ text: gatewayResponse, type: 'danger' });\r\n }\r\n if (data == null) {\r\n message = this.translate.instant('Unable to process your request. Please retry.');\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else if (data.AllocatedInd == 'Y') {\r\n var message = 'The policy has been successfully issued, policy number is 991. The payment processed succesfully, receipt number is 992. Referred policy documents have been sent to your email.';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", data.ReceiptNumber);\r\n Swal.fire({ text: message, type: 'success' });\r\n\r\n this.reportingService.printProcess(this.offerNewComponet.wizard.ProcessCode,\r\n this.offerNewComponet.wizard.ProductCode,\r\n data.PolicyKey, 0, 31);\r\n }\r\n else {\r\n if (data.PaymentResponseCode == \"0\") //error in allocation or acceptance \r\n {\r\n message = 'Payment is successful. Your policy is not yet In Force. Please contact helpdesk with reference no:991';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode);\r\n Swal.fire({ text: message, type: 'info' });\r\n }\r\n else if (data.PaymentResponseCode != \"\") {\r\n message = 'Unable to process the payment. Please contact helpdesk with reference no:991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else if (data.PaymentResponseCode == \"\") //not reached till payment\r\n {\r\n if (data.PolExtCode == \"\") //not created quote\r\n {\r\n if (data.OfferExtCode == \"\") {\r\n message = 'Unable to process your request. Please retry.';\r\n message = this.translate.instant(message);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n else //offer created \r\n {\r\n message = 'Unable to process the payment. Please contact helpdesk. Your offer reference number is 991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n }\r\n else //quote created\r\n {\r\n if (!this.offerService.wizard.IsAcceptWithoutPayment &&\r\n (data.IntegrityCheckStatusCode == \"1\" || data.IntegrityCheckStatusCode == \"2\" || data.IntegrityCheckStatusCode == \"\")) {\r\n message = 'Unable to process the payment. Please contact helpdesk. Your quote reference number is 991. 992';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n if (this.offerService.wizard.IsAcceptWithoutPayment &&\r\n (data.IntegrityCheckStatusCode == \"1\" || data.IntegrityCheckStatusCode == \"2\" || data.IntegrityCheckStatusCode == \"\")) {\r\n message = 'The policy No. is 991 to process the payment please contact the helpdesk.';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode).replace(\"992\", gatewayResponse);\r\n Swal.fire({ text: message, type: 'danger' });\r\n\r\n this.reportingService.printProcess(this.offerNewComponet.wizard.ProcessCode,\r\n this.offerNewComponet.wizard.ProductCode,\r\n data.PolicyKey, 0, 31);\r\n }\r\n else {\r\n message = 'Policy integrity check failed. Please contact helpdesk. Your quote reference number is 991';\r\n message = this.translate.instant(message);\r\n message = message.replace(\"991\", data.PolExtCode);\r\n Swal.fire({ text: message, type: 'danger' });\r\n }\r\n }\r\n }\r\n }\r\n }, (reason) => {\r\n this.spinner.hide();\r\n });\r\n }\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { OfferService } from '../../offer/offer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\n@Component({\n selector: 'portal-offer',\n templateUrl: './portal-offer.component.html'\n})\nexport class PortalOfferComponent implements OnInit {\n\n public quotes: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService,\r\n private offerService: OfferService,\r\n private router: Router,\n private route: ActivatedRoute) { }\r\n\r\n ngOnInit() {\n this.getQuotes();\n }\n\n getQuotes() {\r\n var model = {\r\n PageSize: 1000,\r\n SortOrder: 'Desc',\r\n SortField: '',\r\n IsOfferOnlyInd: 'Y'\r\n };\r\n\r\n this.apiService.post(\"API/WebUserApi/Quotes\", model).subscribe((result: any) => {\r\n this.quotes = result.rows;\r\n\r\n if (this.quotes.length == 0) {\r\n this.toastrService.error(this.translate.instant(\"No records to be viewed\"));\r\n }\r\n });\r\n }\r\n\n viewQuote(quote) {\n\n var model = {\r\n ClientKey: \"\",\r\n };\r\n\r\n this.apiService.post(\"Api/WebUserAPI/ClientTemplates/\", model).subscribe((res) => {\r\n this.offerService.clientNewOffer = res[\"CLIENT_NEWOFFER\"];\r\n this.offerService.departmentCode = quote.DepartmentCde;\r\n this.offerService.processCode = quote.ProcessCde;\r\n this.offerService.productCode = quote.ProductCde;\r\n this.offerService.offerHeaderKey = quote.OfferHeaderKey;\r\n this.offerService.versionNo = quote.VersionNo;\r\n this.offerService.clientCode = quote.ClientCde;\r\n this.router.navigate([\"../Offer/New\"], { relativeTo: this.route });\r\n });\n\n\r\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PortalService } from '../portal.service';\r\n\n@Component({\n selector: 'portal-password',\n templateUrl: './portal-password.component.html'\n})\nexport class PortalPasswordComponent implements OnInit {\n loading: boolean = false;\n modelLogin: any = {};\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n private portalService: PortalService) { }\r\n ngOnInit() {\n \n }\n\n forgotPassword() {\r\n this.portalService.forgotPassword(this.modelLogin);\r\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\n\n@Component({\n selector: 'portal-policypayment',\n templateUrl: './portal-payment.component.html'\n})\nexport class PortalPaymentComponent implements OnInit {\n\n public payments: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService) { }\r\n\r\n ngOnInit() {\n this.getPolicies();\n }\n\n getPolicies() {\r\n var model = {\r\n PageSize: 1000,\r\n SortOrder: 'Desc',\r\n SortField: '',\r\n IsOfferOnlyInd: 'N'\r\n };\r\n this.apiService.post(\"API/WebUserApi/Payments\", model).subscribe((result: any) => {\r\n this.payments = result;\r\n if (this.payments.length == 0) {\r\n this.toastrService.error(this.translate.instant(\"No records to be viewed\"));\r\n }\r\n });\r\n }\r\n\n}\n","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { ReportingService } from '../../common/services/reporting.service';\r\n\n@Component({\n selector: 'portal-policy',\n templateUrl: './portal-policy.component.html'\n})\nexport class PortalPolicyComponent implements OnInit {\n\n public policies: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService,\n private reportingService: ReportingService) { }\r\n\r\n ngOnInit() {\n this.getPolicies();\n }\n\n getPolicies() {\r\n var model = {\r\n PageSize: 1000,\r\n SortOrder: 'Desc',\r\n SortField: '',\r\n IsOfferOnlyInd: 'N'\r\n };\r\n this.apiService.post(\"API/WebUserApi/Policies\", model).subscribe((result: any) => {\r\n //for (var policyKey in result.rows) {\r\n // if (result.rows[policyKey].PolStatusCde != 4) {\r\n // this.policies.push(result.rows[policyKey]);\r\n // }\r\n //}\r\n this.policies = result.rows;\r\n if (this.policies.length == 0) {\r\n this.toastrService.error(this.translate.instant(\"No records to be viewed\"));\r\n }\r\n });\r\n }\r\n\n printPolicy(policy) {\n this.reportingService.printProcess(policy.ProcessCde,\r\n policy.ProductCde,\r\n policy.PolicyCde, 0, 31);\r\n }\n}\n","import { Injectable } from '@angular/core';\r\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\r\nimport { AuthenticationService } from '../auth/authentication.service';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class PortalAuthGuard implements CanActivate {\r\n constructor(\r\n private router: Router,\r\n private authenticationService: AuthenticationService\r\n ) { }\r\n\r\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {\r\n const currentUser = this.authenticationService.User;\r\n if (currentUser) {\r\n // logged in so return true\r\n return true;\r\n }\r\n\r\n // not logged in so redirect to login page with the return url\r\n this.router.navigate(['/Portal/Login'], { queryParams: { returnUrl: state.url } });\r\n return false;\r\n }\r\n}","import { NgModule } from '@angular/core';\nimport { PerfectScrollbarConfigInterface } from 'ngx-perfect-scrollbar';\r\nimport { CommonModule } from '@angular/common';\r\nimport { TranslateModule, TranslateLoader } from '@ngx-translate/core';\r\nimport { SharedHttpLoaderFactory, SharedModule } from '../common/shared.module';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { ArchwizardModule } from 'angular-archwizard';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { FileUploadModule } from 'ng2-file-upload';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { PortalHeaderComponent } from './header/portal-header.component';\r\nimport { RouterModule } from '@angular/router';\r\n\nconst DEFAULT_PERFECT_SCROLLBAR_CONFIG: PerfectScrollbarConfigInterface = {\r\n suppressScrollX: false,\r\n wheelPropagation: false\r\n};\n\n@NgModule({\n declarations: [\n PortalHeaderComponent\n ],\n imports: [\n TranslateModule.forChild({\r\n loader: {\r\n provide: TranslateLoader,\r\n useFactory: SharedHttpLoaderFactory,\r\n deps: [HttpClient]\r\n },\r\n isolate: false\r\n }),\n CommonModule,\n ArchwizardModule,\r\n NgbModule,\n FileUploadModule,\n SharedModule,\n FormsModule,\n NgxSpinnerModule,\n RouterModule\n ],\n exports: [\n TranslateModule,\n PortalHeaderComponent\n ],\n providers: [\n ],\n})\nexport class PortalCommonModule { }\n","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { PortalHomeComponent } from './home/portal-home.component';\r\nimport { PortalQuoteComponent } from './quote/portal-quote.component';\r\nimport { PortalPolicyComponent } from './policy/portal-policy.component';\r\nimport { PortalOfferNewComponent } from './offer/new/portal-offer-new.component';\r\nimport { PortalOfferComponent } from './offer/portal-offer.component';\r\nimport { PortalPaymentComponent } from './payment/portal-payment.component';\r\nimport { PortalLoginComponent } from './login/portal-login.component';\r\nimport { PortalRegisterComponent } from './register/portal-register.component';\r\nimport { AuthGuard } from '../auth/auth.guard';\r\nimport { PortalAuthGuard } from './portal-auth.guard';\r\nimport { PortalPasswordComponent } from './password/portal-password.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'Portal/Offer',\r\n component: PortalOfferComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Offer/New',\r\n component: PortalOfferNewComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Quote',\r\n component: PortalQuoteComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Policy',\r\n component: PortalPolicyComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Payment',\r\n \r\n component: PortalPaymentComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Home',\r\n component: PortalHomeComponent,\r\n canActivate: [PortalAuthGuard]\r\n },\r\n {\r\n path: 'Portal/Login',\r\n component: PortalLoginComponent\r\n },\r\n {\r\n path: 'Portal/Register',\r\n component: PortalRegisterComponent\r\n },\r\n {\r\n path: 'Portal/Password',\r\n component: PortalPasswordComponent\r\n },\r\n {\r\n path: '',\r\n component: PortalHomeComponent,\r\n canActivate: [PortalAuthGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class PortalRoutingModule { }\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { PortalRoutingModule } from './portal-routing.module';\r\n\r\nimport { SharedModule } from '../common/shared.module';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { NgxSpinnerModule } from 'ngx-spinner';\r\nimport { ChartistModule } from 'ng-chartist';\r\nimport { PortalHomeComponent } from './home/portal-home.component';\r\nimport { PortalQuoteComponent } from './quote/portal-quote.component';\r\nimport { PortalPolicyComponent } from './policy/portal-policy.component';\r\nimport { PortalOfferNewComponent } from './offer/new/portal-offer-new.component';\r\nimport { OfferCommonModule } from '../offer/offer-common.module';\r\nimport { PortalOfferComponent } from './offer/portal-offer.component';\r\nimport { PortalPaymentComponent } from './payment/portal-payment.component';\r\nimport { PortalLoginComponent } from './login/portal-login.component';\r\nimport { PortalRegisterComponent } from './register/portal-register.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { PortalCommonModule } from './portal-common.module';\r\nimport { PortalPasswordComponent } from './password/portal-password.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n PortalHomeComponent,\r\n PortalQuoteComponent,\r\n PortalPolicyComponent,\r\n PortalOfferNewComponent,\r\n PortalOfferComponent,\r\n PortalPaymentComponent,\r\n PortalLoginComponent,\r\n PortalRegisterComponent,\r\n PortalPasswordComponent\r\n ],\r\n imports: [\r\n CommonModule,\r\n PortalRoutingModule,\r\n SharedModule,\r\n FormsModule,\r\n NgxSpinnerModule,\r\n ChartistModule,\r\n OfferCommonModule,\r\n NgbModule,\r\n PortalCommonModule\r\n ]\r\n})\r\nexport class PortalModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from '../common/services/api.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { AuthenticationService } from '../auth/authentication.service';\r\nimport { map, first } from 'rxjs/operators';\r\nimport { CustomizerService } from '../common/services/customizer.service';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\r\n@Injectable({\n providedIn: 'root'\n})\r\nexport class PortalService {\r\n public loginProgress: boolean = false;\r\n public registerProgress: boolean = false;\r\n public quoteProductCode: string = \"\";\r\n webUserFatherName: string = \"\";\r\n constructor(private http: HttpClient,\r\n public translate: TranslateService,\r\n private modalService: NgbModal,\r\n private toastrService: ToastrService,\r\n private apiService: ApiService,\r\n private customizer: CustomizerService,\r\n private authenticationService: AuthenticationService,\n private spinner: NgxSpinnerService,\r\n private router: Router,\n private route: ActivatedRoute) {\r\n\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n\r\n if (browserWindowEnv.hasOwnProperty('webUserFatherName') &&\r\n window['__env']['webUserFatherName'] == \"true\") {\r\n this.webUserFatherName = window['__env']['webUserFatherName'];\r\n }\r\n }\r\n\r\n public resetLanguage() {\r\n if (this.authenticationService.User == null) {\r\n const supportedLangs = [\"en\", \"ar\", \"fr\"];\r\n supportedLangs.forEach((language) => {\r\n this.translate.reloadLang(language);\r\n });\r\n\r\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n if (browserWindowEnv.hasOwnProperty('defaultLangId')) {\r\n var defaultLangId = window['__env']['defaultLangId'];\r\n if (defaultLangId == \"1\") {\r\n this.translate.setDefaultLang(\"en\");\r\n this.translate.use(\"en\");\r\n this.customizer.setLayoutType(\"ltr\");\r\n } else if (defaultLangId == \"2\") {\r\n this.translate.setDefaultLang(\"ar\");\r\n this.translate.use(\"ar\");\r\n this.customizer.setLayoutType(\"rtl\");\r\n } else if (defaultLangId == \"3\") {\r\n this.translate.setDefaultLang(\"fr\");\r\n this.translate.use(\"fr\");\r\n this.customizer.setLayoutType(\"ltr\");\r\n }\r\n }\r\n } else if (this.translate.currentLang != this.authenticationService.User.Language) {\r\n var defaultLangId = this.translate.currentLang;\r\n if (defaultLangId == \"1\") {\r\n this.translate.setDefaultLang(\"en\");\r\n this.translate.use(\"en\");\r\n this.customizer.setLayoutType(\"ltr\");\r\n } else if (defaultLangId == \"2\") {\r\n this.translate.setDefaultLang(\"ar\");\r\n this.translate.use(\"ar\");\r\n this.customizer.setLayoutType(\"rtl\");\r\n } else if (defaultLangId == \"3\") {\r\n this.translate.setDefaultLang(\"fr\");\r\n this.translate.use(\"fr\");\r\n this.customizer.setLayoutType(\"ltr\");\r\n }\r\n }\r\n }\r\n \r\n public login(modelLogin) {\r\n if (!this.validateLogin(modelLogin)) return;\r\n var endPoint = \"Token\";\r\n var userData = \"username=\" + modelLogin.EmailAddress + \"&password=\" + modelLogin.Password + \"&grant_type=password\";\r\n\r\n var reqHeader = new HttpHeaders({ 'Content-Type': 'application/x-www-form-urlencoded', 'No-Auth': 'True' });\r\n this.spinner.show();\r\n this.loginProgress = true;\r\n return this.http.post(endPoint, userData, { headers: reqHeader })\r\n .pipe(map(user => {\r\n this.loginProgress = false;\r\n this.spinner.hide();\r\n // store user details and jwt token in local storage to keep user logged in between page refreshes\r\n if (modelLogin.Remember)\r\n localStorage.setItem('currentUser', JSON.stringify(user));\r\n\r\n this.authenticationService.next(user);\r\n\r\n //this.getUserConfig();\r\n if (user.Language) {\r\n this.resetLanguage();\r\n }\r\n\r\n this.router.navigate(['/Portal/Home']);\r\n\r\n })).pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loginProgress = false;\r\n this.spinner.hide();\r\n this.modalService.dismissAll();\r\n this.toastrService.info(this.translate.instant(\"Login successful\"));\r\n },\r\n error => {\r\n this.loginProgress = false;\r\n this.spinner.hide();\r\n this.toastrService.error(this.translate.instant(\"Failed to login\"));\r\n });\r\n }\r\n\r\n public register(modelRegister) {\r\n if (!this.validateRegistration(modelRegister)) return;\r\n this.spinner.show();\r\n this.registerProgress = true;\r\n this.apiService.post(\"Api/WebUserAPI/SignUp\", modelRegister).subscribe((result: any) => {\r\n this.registerProgress = false;\r\n this.spinner.hide();\r\n //localStorage.setItem('currentUser', JSON.stringify(user));\r\n if (result.ErrorCode != 0) {\r\n if (result.Message = \"Email address already exist.\" || result.ErrorCode == 7)\r\n {\r\n this.toastrService.error(this.translate.instant(\"Email address already exist.\"));\r\n return false;\r\n }\r\n //var modelLogin: any = {};\r\n //modelLogin.EmailAddress = modelRegister.EmailAddress;\r\n //modelLogin.Password = modelRegister.Password;\r\n //this.login(modelLogin);\r\n //if ( !login(modelLogin) || result.ErrorCode == 7) { } \r\n\r\n //if (modelRegister.EmailAddress = modelLogin.EmailAddress || result.ErrorCode == 7) { }\r\n\r\n\r\n //if (result.ErrorCode == 7) {\r\n\r\n // this.toastrService.error(this.translate.instant(\"Email address already exist.\"));\r\n //}\r\n\r\n else {\r\n this.toastrService.error(result.Message);\r\n }\r\n\r\n }\r\n else {\r\n this.modalService.dismissAll();\r\n this.toastrService.info(this.translate.instant(\"Registration successful\"));\r\n //this.authenticationService.logout();\r\n //this.logout();\r\n //auto login after registration\r\n var modelLogin: any = {};\r\n modelLogin.EmailAddress = modelRegister.EmailAddress;\r\n modelLogin.Password = modelRegister.Password;\r\n this.login(modelLogin);\r\n }\r\n });\r\n }\r\n\r\n public logout() {\r\n this.authenticationService.logout();\r\n this.toastrService.info(this.translate.instant(\"Logout successful\"));\r\n this.resetLanguage();\r\n window.location.reload();\r\n //this.router.navigate(['/Portal/Login']);\r\n }\r\n\r\n validateRegistration(modelRegister):boolean {\r\n if (!modelRegister) {\r\n this.toastrService.error(this.translate.instant(\"Please provide details for all required fields.\"));\r\n return false;\r\n }\r\n\r\n\r\n if (!modelRegister.FirstName || modelRegister.FirstName.length < 1) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid first name.\"));\r\n return false;\r\n }\r\n\r\n if (!modelRegister.LastName || modelRegister.LastName.length < 3) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid last name.\"));\r\n return false;\r\n }\r\n\r\n if (this.webUserFatherName == \"true\" && (!modelRegister.FatherName || modelRegister.FatherName.length < 3)) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid father name.\"));\r\n return false;\r\n }\r\n\r\n const phoneRegex = new RegExp(/^\\d+$/);\r\n if (!modelRegister.MobileNumber ||\r\n phoneRegex.test(modelRegister.MobileNumber.toString()) == false ||\r\n modelRegister.MobileNumber.toString().length < 5 ||\r\n modelRegister.MobileNumber.toString().length > 12 ) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid phone number.\"));\r\n return false;\r\n }\r\n\r\n const emailRegEx = new RegExp(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/);\r\n if (!modelRegister.EmailAddress ||\r\n emailRegEx.test(modelRegister.EmailAddress) == false) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid email address.\"));\r\n return false;\r\n }\r\n ///^[a-zA-Z0-9]+$/\r\n const passwordRegex = /^[a-zA-Z0-9]{5,16}$/;\r\n if (!modelRegister.Password ||\r\n passwordRegex.test(modelRegister.Password) == false) {\r\n this.toastrService.error(this.translate.instant(\"Password must be between 5-16 characters and it must contain number and character only\"));\r\n return false;\r\n }\r\n\r\n\r\n return true;\r\n }\r\n\r\n validateLogin(modelLogin): boolean {\r\n if (!modelLogin || !modelLogin.EmailAddress || !modelLogin.Password) {\r\n this.toastrService.error(this.translate.instant(\"Provide email/password to login.\"));\r\n return false;\r\n }\r\n\r\n const emailRegEx = new RegExp(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/);\r\n if (!modelLogin.EmailAddress ||\r\n emailRegEx.test(modelLogin.EmailAddress) == false) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid email address.\"));\r\n return false;\r\n }\r\n\r\n if (!modelLogin.Password ||\r\n modelLogin.Password.length < 5) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid password.\"));\r\n return false;\r\n }\r\n\r\n\r\n return true;\r\n }\r\n\r\n validateForgotPassword(modelLogin): boolean {\r\n if (!modelLogin || !modelLogin.EmailAddress) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid email address.\"));\r\n return false;\r\n }\r\n\r\n const emailRegEx = new RegExp(/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/);\r\n if (!modelLogin.EmailAddress ||\r\n emailRegEx.test(modelLogin.EmailAddress) == false) {\r\n this.toastrService.error(this.translate.instant(\"Provide valid email address.\"));\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n public forgotPassword(modelLogin) {\r\n if (!this.validateForgotPassword(modelLogin)) return;\r\n\r\n this.spinner.show();\r\n this.registerProgress = true;\r\n this.apiService.post(\"Api/WebUserAPI/Password\", modelLogin).subscribe((result: any) => {\r\n this.registerProgress = false;\r\n this.spinner.hide();\r\n if (result == 1 || result == 0) {\r\n this.toastrService.info(this.translate.instant(\"If the eMail address you provided is correct you will recive the instruction to recover your password.\"));\r\n this.router.navigate(['/Portal/Login']);\r\n }\r\n else {\r\n this.toastrService.error(this.translate.instant(\"Unable to process your request.\"));\r\n }\r\n\r\n }, (error: any) => {\r\n this.registerProgress = false;\r\n this.spinner.hide();\r\n this.toastrService.error(this.translate.instant(\"Unable to connect.Please retry.\"));\r\n });\r\n }\r\n}","import { Component, OnInit } from '@angular/core';\nimport { ApiService } from 'src/app/common/services/api.service';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { ToastrService } from 'ngx-toastr';\r\nimport { OfferService } from '../../offer/offer.service';\r\nimport { Router, ActivatedRoute } from '@angular/router';\r\n\n@Component({\n selector: 'portal-quote',\n templateUrl: './portal-quote.component.html'\n})\nexport class PortalQuoteComponent implements OnInit {\n\n public quotes: any[] = [];\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n public apiService: ApiService,\r\n private toastrService: ToastrService,\r\n private offerService: OfferService,\r\n private router: Router,\n private route: ActivatedRoute) { }\r\n ngOnInit() {\n this.getQuotes();\n }\n\n getQuotes() {\r\n var model = {\r\n PageSize: 1000,\r\n SortOrder: 'Desc',\r\n SortField: '',\r\n IsOfferOnlyInd: 'Y'\r\n };\r\n this.apiService.post(\"API/WebUserApi/Policies\", model).subscribe((result: any) => {\r\n for (var policyKey in result.rows) {\r\n if (result.rows[policyKey].PolStatusCde == 4) {\r\n this.quotes.push(result.rows[policyKey]);\r\n }\r\n }\r\n\r\n if (this.quotes.length == 0) {\r\n this.toastrService.error(this.translate.instant(\"No records to be viewed\"));\r\n }\r\n });\r\n }\n}\n","import { Component, OnInit } from '@angular/core';\r\nimport { TranslateService } from '@ngx-translate/core';\r\nimport { PortalService } from '../portal.service';\r\n\n@Component({\n selector: 'portal-register',\n templateUrl: './portal-register.component.html'\n})\nexport class PortalRegisterComponent implements OnInit {\n webUserFatherName: string = \"\";\n modelRegister: any = {};\r\n public right_side_bar: boolean;\r\n constructor(public translate: TranslateService,\r\n private portalService: PortalService) { }\r\n ngOnInit() {\n const browserWindow = window || {};\r\n const browserWindowEnv = browserWindow['__env'] || {};\r\n\r\n if (browserWindowEnv.hasOwnProperty('webUserFatherName') &&\r\n window['__env']['webUserFatherName'] == \"true\") {\r\n this.webUserFatherName = window['__env']['webUserFatherName'];\r\n }\n }\n\n register() {\r\n this.portalService.register(this.modelRegister);\r\n }\n}\n","import { Injectable } from '@angular/core';\nimport { ToastrService } from 'ngx-toastr';\r\n@Injectable({\n providedIn: 'root'\n})\nexport class TemplateService {\n //new\n public selectedReport: any;\n public reportControl: any;\n public refTablesListControl: any;\n public check: boolean = false;\n\n //\n public selectedProcess: any;\n public wizard: any = {};\n public selectedControl: any;\n public selectedStep: any;\n public referentials: any;\n public offerProcessCode: any;\n public offerProductCode: any;\n public offerDepartmentCode: any;\n public policyProcessCode: any;\n public policyProductCode: any;\n public departmentCode: any;\r\n public versionNo: any;\n public claimProcessCode: any; \n public claimProductCode: any; \n\n constructor(private toastrService: ToastrService)\n {\n this.wizard.Steps = {\r\n \"1\": {\r\n \"Code\": \"1\",\r\n \"Text\": \"Client Details\",\r\n \"Codes\": [],\r\n \"GroupCodes\": [],\r\n \"Controls\": {},\r\n \"ControlGroups\": {},\r\n \"Type\": \"Standard\"\r\n }\n };\n this.selectedStep = this.wizard.Steps[\"1\"];\n }\n /*public ClearTemplate() {\r\n this.reportControl;\r\n this.check = true;\r\n return;\r\n }*/\n public reset() {\n this.wizard = {};\r\n this.selectedControl = null;\r\n this.referentials = null;\r\n\r\n this.wizard.Steps = {\r\n \"1\": {\r\n \"Code\": \"1\",\r\n \"Text\": \"Client Details\",\r\n \"Codes\": [],\r\n \"GroupCodes\": [],\r\n \"Controls\": {},\r\n \"ControlGroups\": {},\r\n \"Type\": \"Standard\"\r\n }\n };\n\n this.selectedStep = this.wizard.Steps[\"1\"];\r\n }\n\n //execute script\n public executeScript(referentials, wizard, control, event, variables, scripts, cover,\n offerCode, itemCode = null, searchResult = null, sectionCode = null, parentItemCode = null) {\n\n var wizardSteps;\r\n var wizardViews;\r\n\r\n if (wizard.Steps) {\r\n wizardSteps = wizard.Steps;\r\n }\r\n if (wizard.Views) {\r\n wizardViews = wizard.Views;\r\n }\r\n else {\r\n wizardSteps = wizard;\r\n wizardViews = \"\";\r\n }\n\n if (!control) control = {};\n\n if (event == undefined || event == null) event = 'OnChange';\r\n\r\n var script = null;\r\n if ((event === \"OnChange\" || event === \"OnLoad\" || event === \"OnBlur\" || event === \"OnCalcComplete\" || event === \"OnSearchSelect\")\r\n && control.Properties\r\n && control.Properties[event])\r\n script = control.Properties[event].Value;\r\n else if (event && scripts && scripts[event] && !control.Scripts)\r\n script = scripts[event].Value;\r\n else if (event && cover && cover.Scripts && !control.Scripts && !scripts[event])\r\n script = cover.Scripts[event].Value;\r\n\r\n var result = null;\r\n if (script) result = this.execute(script, referentials, wizard, wizardSteps,\r\n wizardViews, control, event, offerCode, variables, cover, itemCode, searchResult, sectionCode, parentItemCode);\r\n\r\n if (control.Scripts && scripts) {\r\n for (var scriptKey in control.Scripts) {\r\n if (control.Scripts[scriptKey] &&\r\n scripts[scriptKey] &&\r\n scripts[scriptKey].Value &&\r\n ((event == 'OnChange' && scripts[scriptKey].IsChange) ||\r\n (event == 'OnLoad' && scripts[scriptKey].IsLoad) ||\r\n (event === 'OnBlur' && scripts[scriptKey].IsBlur)))\r\n result = this.execute(scripts[scriptKey].Value, referentials, wizard, wizardSteps,\r\n wizardViews, control, event, offerCode, variables, cover, itemCode, searchResult, sectionCode, parentItemCode);\r\n }\r\n }\r\n return result;\r\n }\n\n execute(script, referentials, wizard, wizardSteps, wizardViews, control, event, offerCode,\r\n variables, cover, itemCode, searchResult, sectionCode, parentItemCode) {\r\n try {\r\n script = this.parseScript(wizardSteps, wizardViews, script, offerCode, itemCode, sectionCode, parentItemCode);\r\n\r\n /*Added By ZAHRAA */\r\n\r\n var offers = {};\r\n for (var stepKey in wizardSteps) {\r\n if (wizardSteps[stepKey].Type == \"Offer\") {\r\n offers = wizardSteps[stepKey].Offers;\r\n break;\r\n }\r\n }\r\n\r\n var global = {\r\n \"getControlByName\": this.getControlByName,\r\n \"Field\": control,\r\n \"Variables\": variables,\r\n \"Global\": { \"Variables\": variables },\r\n \"Value\": control.Value,\r\n \"OfferCode\": offerCode,\r\n //\"Offers\": offers,\r\n \"ReferentialData\": this.referentialData,\r\n \"Referential\": referentials,\r\n \"Steps\": wizardSteps,\r\n //\"notificationService\": notificationService,\r\n \"Controls\": function (userName) {\r\n var control = global.getControlByName(wizardSteps, userName);\r\n\r\n if (control != null) {\r\n control.Property = function (propertyName) {\r\n if (control.Properties && control.Properties[propertyName])\r\n return control.Properties[propertyName];\r\n else\r\n return null;\r\n }\r\n }\r\n\r\n return control;\r\n },\r\n \"Reset\": function (userName) {\r\n var control = global.getControlByName(wizardSteps, userName);\r\n\r\n if (control != null) {\r\n if (document.getElementsByName(control.Code) &&\r\n document.getElementsByName(control.Code).length > 0) {\r\n var element = document.getElementsByName(control.Code)[0];\r\n element.nodeValue = \"\";\r\n }\r\n control.Value = \"\";\r\n control.DateValue = \"\";\r\n control.reset();\r\n }\r\n },\r\n \"SetValue\": function (userName,value) {\r\n var control = global.getControlByName(wizardSteps, userName);\r\n\r\n if (control != null) {\r\n if (document.getElementsByName(control.Code) &&\r\n document.getElementsByName(control.Code).length > 0) {\r\n var element = document.getElementsByName(control.Code)[0];\r\n\r\n var temp: any = element.parentElement.parentElement;\r\n\r\n temp.dxDateBox({ \r\n value: control.DateValue\r\n });\r\n\r\n element.nodeValue = value;\r\n }\r\n control.Value = value;\r\n }\r\n },\r\n \"Sections\": function (sectionCode) {\r\n var attrbs = {\r\n \"Show\": function () {\r\n for (var stepKey in wizardSteps) {\r\n if (offerCode == null) {\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n if (sectionCode == sectionKey) {\r\n wizardSteps[stepKey].Sections[sectionKey].Visible = true;\r\n break;\r\n }\r\n }\r\n }\r\n if (wizardSteps[stepKey].Type == \"Offer\") {\r\n for (var offerKey in wizardSteps[stepKey].Offers) {\r\n if (offerCode != null && offerCode != offerKey) continue;\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offerKey].Sections) {\r\n if (sectionCode == sectionKey) {\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Visible = true;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n \"Hide\": function () {\r\n for (var stepKey in wizardSteps) {\r\n if (offerCode == null) {\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n if (sectionCode == sectionKey) {\r\n wizardSteps[stepKey].Sections[sectionKey].Visible = false;\r\n break;\r\n }\r\n }\r\n }\r\n if (wizardSteps[stepKey].Type == \"Offer\") {\r\n for (var offerKey in wizardSteps[stepKey].Offers) {\r\n if (offerCode != null && offerCode != offerKey) continue;\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offerKey].Sections) {\r\n if (sectionCode == sectionKey) {\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Visible = false;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n };\r\n return attrbs;\r\n },\r\n \"Offers\": function (offCode) {\r\n var attrbs = {\r\n \"Show\": function () {\r\n for (var stepKey in wizardSteps) {\r\n if (wizardSteps[stepKey].Type == \"Offer\" &&\r\n wizardSteps[stepKey].Offers[offCode]) {\r\n wizardSteps[stepKey].Offers[offCode].Visible = true;\r\n break;\r\n }\r\n }\r\n },\r\n \"Hide\": function () {\r\n for (var stepKey in wizardSteps) {\r\n if (wizardSteps[stepKey].Type == \"Offer\" &&\r\n wizardSteps[stepKey].Offers[offCode]) {\r\n wizardSteps[stepKey].Offers[offCode].Visible = false;\r\n break;\r\n }\r\n }\r\n }\r\n };\r\n return attrbs;\r\n },\r\n \"validateFormat\": this.validateFormat,\r\n //\"confirmMessage\": confirmMessage,\r\n \"Offer\": function (offCode) {\r\n var tmpOffer = null;\r\n var stepKey = null;\r\n for (stepKey in wizardSteps) {\r\n if (wizardSteps[stepKey].Type == \"Offer\" &&\r\n wizardSteps[stepKey].Offers[offCode]) {\r\n tmpOffer = wizardSteps[stepKey].Offers[offCode];\r\n break;\r\n }\r\n }\r\n\r\n if (tmpOffer) {\r\n tmpOffer.Display = function (value) {\r\n tmpOffer.Visible = value;\r\n }\r\n tmpOffer.Select = function (value) {\r\n tmpOffer.Selected = value;\r\n }\r\n tmpOffer.Section = function (secCode) {\r\n var tmpSection = null;\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offCode].Sections) {\r\n if (secCode == sectionKey) {\r\n tmpSection = wizardSteps[stepKey].Offers[offCode].Sections[sectionKey];\r\n break;\r\n }\r\n }\r\n if (tmpSection) {\r\n tmpSection.Cover = function (covCode) {\r\n var tmpCover = null;\r\n for (var coverKey in wizardSteps[stepKey].Offers[offCode].Sections[secCode].Covers) {\r\n if (covCode == coverKey) {\r\n tmpCover = wizardSteps[stepKey].Offers[offCode].Sections[secCode].Covers[coverKey];\r\n break;\r\n }\r\n }\r\n if (tmpCover != null) {\r\n tmpCover.Select = function (value, selection) {\r\n tmpCover.Selected = value; \r\n tmpCover.Selection = selection;\r\n if (tmpCover.Scripts && tmpCover.Scripts['OnChange'] && tmpCover.Scripts['OnChange'].IsChange) {\r\n this.executeScript(referentials, wizard, tmpCover, null, variables, tmpCover.Scripts, tmpCover, offerCode)\r\n }\r\n }\r\n }\r\n\r\n return tmpCover;\r\n }\r\n }\r\n\r\n return tmpSection;\r\n }\r\n };\r\n\r\n return tmpOffer;\r\n }\r\n }\r\n\r\n \r\n var tmpFunc = new Function('notificationService','Field', 'Variables', 'Global', 'Value', 'OfferCode', 'Offers', 'ReferentialData',\r\n 'Referential', 'Steps', 'Views', 'validateFormat', 'Sections', 'Controls', 'Cover', script);\r\n\r\n var result = tmpFunc(this.toastrService, control, variables, global, control.Value, offerCode, offers, this.referentialData,\r\n referentials, wizardSteps, wizardViews, this.validateFormat, global.Sections, global.Controls, cover);\r\n\r\n global = null;\r\n \r\n } catch (err) {\r\n\r\n global = null;\r\n return err;\r\n }\r\n\r\n /*END*/\r\n }\r\n\n parseScript(wizardSteps, wizardViews, script, offerCode, itemCode, sectionCode, parentItemCode = null) {\r\n\r\n var regexp = /Offers\\[[a-z_0-9]*(,[a-z_0-9]*)?(,[a-z_0-9]*)?\\].[A-Za-z0-9_]*.[a-z]*/gi;\r\n var controlNames = script.match(regexp);\r\n var tempSectionCode = null, tempItemCode = null;\r\n if (controlNames && controlNames.length) {\r\n var controlKeys = {};\r\n for (var i = 0; i < controlNames.length; i++)\r\n controlKeys[controlNames[i]] = \"\";\r\n for (var key in controlKeys) {\r\n if (key && key.indexOf('(') > 0) continue;\r\n var keys = key.split('.');\r\n var codes = keys[0].replace(\"Offers\", \"\").replace(\"[\", \"\").replace(\"]\", \"\").split(',');\r\n tempSectionCode = null;\r\n tempItemCode = null;\r\n if (codes.length > 0) offerCode = codes[0].trim();\r\n if (codes.length > 1) tempSectionCode = codes[1].trim();\r\n if (codes.length > 2) tempItemCode = codes[2].trim();\r\n if (keys.length > 1 && keys[1].indexOf('[') > 0) {\r\n continue;\r\n }\r\n if (!tempItemCode && itemCode)\r\n tempItemCode = itemCode;\r\n var value = this.offerControlValueByUserName(wizardSteps, wizardViews, keys[1], keys[2], offerCode, tempItemCode, tempSectionCode);\r\n\r\n key = key.replace(\"[\", \"\\\\[\").replace(\"]\", \"\\\\]\");\r\n script = script.replace(new RegExp(key, 'g'), value);\r\n }\r\n }\r\n\r\n regexp = /Control.[A-Za-z0-9_]*.[a-z]*/gi;\r\n controlNames = script.match(regexp);\r\n if (controlNames && controlNames.length) {\r\n var controlKeys = {};\r\n for (var i = 0; i < controlNames.length; i++)\r\n controlKeys[controlNames[i]] = \"\";\r\n for (var key in controlKeys) {\r\n if (key && key.indexOf('(') > 0) continue;\r\n if (key && key.indexOf('[') > 0) continue;\r\n var keys = key.split('.');\r\n var value = this.controlValueByUserName(wizardSteps, wizardViews, keys[1], keys[2], offerCode, itemCode, sectionCode, parentItemCode);\r\n script = script.replace(new RegExp(key, 'g'), value);\r\n }\r\n }\r\n\r\n script = script.replace(/confirm\\(/g, \"confirmMessage(\");\r\n //script = script.replace(/Referential.New\\(/g, \"ReferentialData('New',Referential,\");\r\n script = script.replace(/notificationService.displaySuccess/g, \"notificationService.success\");\r\n script = script.replace(/notificationService.displayError/g, \"notificationService.error\");\r\n script = script.replace(/notificationService.displayWarning/g, \"notificationService.warning\");\r\n script = script.replace(/notificationService.displayInfo/g, \"notificationService.info\");\r\n script = script.replace(/alert\\(/g, \"notificationService.success(\");\r\n return script;\r\n }\n\n offerControlValueByUserName(wizardSteps, wizardViews, userName, propertyName, offerCode, itemCode, sectionCode = null) {\n\n if (userName) userName = userName.trim();\n if (propertyName) propertyName = propertyName.trim();\n\n for (var stepKey in wizardSteps) {\r\n if (wizardSteps[stepKey].Type != 'Offer') continue;\r\n\r\n //only offer level properties\r\n if (!itemCode && !sectionCode && !propertyName && userName &&\r\n (userName == \"Visible\" || userName == \"Selected\")) {\r\n return \"Offers[\" + offerCode + \"].\" + userName;\r\n }\r\n\r\n for (var offerKey in wizardSteps[stepKey].Offers) {\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Controls) {\r\n var control = wizardSteps[stepKey].Offers[offerKey].Controls[controlKey];\r\n if (control.Properties &&\r\n control.Properties[\"UserName\"] &&\r\n control.Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" ||\r\n propertyName == \"ValueText\" ||\r\n propertyName == \"Selected\" ||\r\n propertyName == \"Referential\" ||\r\n propertyName == \"DateValue\" ||\r\n propertyName == \"setDate\" ||\r\n propertyName == \"setMinDate\" ||\r\n propertyName == \"setMaxDate\") {\r\n return \"Offers[\" + offerCode + \"].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Offers[\" + offerCode + \"].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Offers[\" + offerCode + \"].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n if (sectionCode) {\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offerKey].Sections) {\r\n if (sectionCode && sectionCode != sectionKey) continue;\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" ||\r\n propertyName == \"ValueText\" ||\r\n propertyName == \"Selected\" ||\r\n propertyName == \"Referential\" ||\r\n propertyName == \"DateValue\" ||\r\n propertyName == \"setDate\" ||\r\n propertyName == \"setMinDate\" ||\r\n propertyName == \"setMaxDate\") {\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" ||\r\n propertyName == \"ValueText\" ||\r\n propertyName == \"Selected\" ||\r\n propertyName == \"Referential\" ||\r\n propertyName == \"DateValue\" ||\r\n propertyName == \"setDate\" ||\r\n propertyName == \"setMinDate\" ||\r\n propertyName == \"setMaxDate\") {\r\n if (wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].IsMultiline && itemCode)\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n for (var coverKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers) {\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" ||\r\n propertyName == \"ValueText\" ||\r\n propertyName == \"Selected\" ||\r\n propertyName == \"Referential\" ||\r\n propertyName == \"DateValue\" ||\r\n propertyName == \"setDate\" ||\r\n propertyName == \"setMinDate\" ||\r\n propertyName == \"setMaxDate\") {\r\n if (itemCode)\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\") {\r\n if (itemCode)\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\") {\r\n if (itemCode)\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n else\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n }\r\n for (var groupKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" ||\r\n propertyName == \"ValueText\" ||\r\n propertyName == \"Selected\" ||\r\n propertyName == \"Referential\" ||\r\n propertyName == \"DateValue\" ||\r\n propertyName == \"setDate\" ||\r\n propertyName == \"setMinDate\" ||\r\n propertyName == \"setMaxDate\") {\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Offers[\" + offerCode + \"].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\n\n //Find control path by user name\n controlValueByUserName(wizardSteps, wizardViews, userName, propertyName, offerCode, itemCode, sectionCode, parentItemCode) {\r\n var control = null;\r\n\r\n for (var stepKey in wizardSteps) {\r\n var controls = wizardSteps[stepKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n return \"Steps['\" + stepKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Steps['\" + stepKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Steps['\" + stepKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n return \"Steps['\" + stepKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Steps['\" + stepKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Steps['\" + stepKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n\r\n //gis claim\r\n for (var transKey in wizardSteps[stepKey].ClaimTransacReferences) {\r\n for (var groupKey in wizardSteps[stepKey].ClaimTransacReferences[transKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].ClaimTransacReferences[transKey].ControlGroups[groupKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n return \"Steps['\" + stepKey + \"'].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\") {\r\n return \"Steps['\" + stepKey + \"'].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\") {\r\n return \"Steps['\" + stepKey + \"'].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n //lis claim\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n for (var transKey in wizardSteps[stepKey].Sections[sectionKey].ClaimTransacReferences) {\r\n for (var groupKey in wizardSteps[stepKey].Sections[sectionKey].ClaimTransacReferences[transKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].Sections[sectionKey].ClaimTransacReferences[transKey].ControlGroups[groupKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n return \"Steps['\" + stepKey + \"'].Sections[sectionKey].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\") {\r\n return \"Steps['\" + stepKey + \"'].Sections[sectionKey].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\") {\r\n return \"Steps['\" + stepKey + \"'].Sections[sectionKey].ClaimTransacReferences['\" + transKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n var parentSectionCode = null;\r\n if (sectionCode && wizardSteps[stepKey].Sections[sectionCode].ParentSectionCode)\r\n parentSectionCode = wizardSteps[stepKey].Sections[sectionCode].ParentSectionCode;\r\n\r\n var controls = wizardSteps[stepKey].Sections[sectionKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].Sections[sectionKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline) {\r\n if (parentSectionCode && sectionKey == parentSectionCode && parentItemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n } else {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\") {\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline) {\r\n if (parentSectionCode && sectionKey == parentSectionCode && parentItemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n }\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\") {\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline) {\r\n if (parentSectionCode && sectionKey == parentSectionCode && parentItemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n } else {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var coverKey in wizardSteps[stepKey].Sections[sectionKey].Covers) {\r\n for (var groupKey in wizardSteps[stepKey].Sections[sectionKey].Covers[coverKey].ControlGroups) {\r\n var controls = wizardSteps[stepKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\" || propertyName == \"setDate\" || propertyName == \"setMinDate\" || propertyName == \"setMaxDate\" || propertyName == \"hasError\" || propertyName == \"clientError\") {\r\n this.attachDateProperty(controls[controlKey], propertyName);\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline && itemCode) {\r\n if (parentSectionCode && sectionKey == parentSectionCode) {\r\n var parentItemCode = wizardSteps[stepKey].Sections[sectionCode].Items[itemCode].ParentItemCode;\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n } else {\r\n if (wizardSteps[stepKey].Sections[sectionKey].Items[itemCode].Covers[coverKey].ControlGroups[groupKey])\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n }\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\") {\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline && itemCode) {\r\n if (parentSectionCode && sectionKey == parentSectionCode) {\r\n var parentItemCode = wizardSteps[stepKey].Sections[sectionCode].Items[itemCode].ParentItemCode;\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else {\r\n if (wizardSteps[stepKey].Sections[sectionKey].Items[itemCode].Covers[coverKey].ControlGroups[groupKey])\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n }\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n } else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\") {\r\n if (wizardSteps[stepKey].Sections[sectionKey].IsMultiline && itemCode) {\r\n if (parentSectionCode && sectionKey == parentSectionCode) {\r\n var parentItemCode = wizardSteps[stepKey].Sections[sectionCode].Items[itemCode].ParentItemCode;\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + parentSectionCode + \"'].Items['\" + parentItemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n } else {\r\n if (wizardSteps[stepKey].Sections[sectionKey].Items[itemCode].Covers[coverKey].ControlGroups[groupKey])\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n } else if (itemCode) {\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Items['\" + itemCode + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n } else\r\n return \"Steps['\" + stepKey + \"'].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (wizardSteps[stepKey].Type != \"Offer\") continue;\r\n\r\n for (var offerKey in wizardSteps[stepKey].Offers) {\r\n if (offerCode && offerKey != offerCode) continue;\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\")\r\n return \"Offers['\" + offerKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Offers['\" + offerKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Offers['\" + offerKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n if (control != null) break;\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offerKey].Sections) {\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls;\r\n for (controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\")\r\n return \"Offers['\" + offerKey + \"'].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\")\r\n return \"Offers['\" + offerKey + \"'].Sections['\" + sectionKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n if (control != null) break;\r\n for (var coverKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers) {\r\n var controls = wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\")\r\n return \"Offers['\" + offerKey + \"'].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\")\r\n return \"Offers['\" + offerKey + \"'].Sections['\" + sectionKey + \"'].Covers['\" + coverKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var viewKey in wizardViews) {\r\n var controls = wizardViews[viewKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\")\r\n return \"Views['\" + viewKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Views['\" + viewKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Views['\" + viewKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n\r\n for (var groupKey in wizardViews[viewKey].ControlGroups) {\r\n var controls = wizardViews[viewKey].ControlGroups[groupKey].Controls;\r\n for (var controlKey in controls) {\r\n if (controls[controlKey].Properties &&\r\n controls[controlKey].Properties[\"UserName\"] &&\r\n controls[controlKey].Properties[\"UserName\"].Value == userName) {\r\n if (propertyName == \"Value\" || propertyName == \"ValueText\" || propertyName == \"Referential\" || propertyName == \"DateValue\")\r\n return \"Views['\" + viewKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].\" + propertyName;\r\n else if (propertyName == \"Visible\" || propertyName == \"ReadOnly\" || propertyName == \"Required\")\r\n return \"Views['\" + viewKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['Offer\" + propertyName + \"'].Value\";\r\n else if (propertyName == \"OfferVisible\" || propertyName == \"PolicyVisible\" || propertyName == \"OfferReadOnly\" || propertyName == \"PolicyReadOnly\" || propertyName == \"OfferRequired\" || propertyName == \"PolicyRequired\")\r\n return \"Views['\" + viewKey + \"'].ControlGroups['\" + groupKey + \"'].Controls['\" + controlKey + \"'].Properties['\" + propertyName + \"'].Value\";\r\n }\r\n }\r\n }\r\n\r\n }\r\n\r\n return \"\\\"\\\"\";\r\n }\n\n attachDateProperty(control, propertyName) {\n\r\n if (control.FieldType == \"DateTime\" && propertyName == \"setDate\" && !propertyName.setDate) {\r\n Object.defineProperty(control, 'setDate', {\r\n set: function (value) {\n var dateParts = [];\n dateParts = value.split('/');\n if (dateParts.length > 1) {\n control.Value = value;\n control.DateValue = { \"day\": parseInt(dateParts[0]), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[2].substring(0, 4)) };\n } else {\n control.Value = value;\n dateParts = value.split('-');\r\n control.DateValue = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\r\n }\r\n });\r\n }\r\n else if (control.FieldType == \"DateTime\" && propertyName == \"setMinDate\" && !propertyName.setMinDate) {\r\n Object.defineProperty(control, 'setMinDate', {\r\n set: function (value) {\n var dateParts = [];\n dateParts = value.split('-');\r\n control.minDate = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\r\n });\r\n }\r\n else if (control.FieldType == \"DateTime\" && propertyName == \"setMaxDate\" && !propertyName.setMaxDate) {\r\n Object.defineProperty(control, 'setMaxDate', {\r\n set: function (value) {\n var dateParts = [];\n dateParts = value.split('-');\r\n control.maxDate = { \"day\": parseInt(dateParts[2].substring(0, 4)), \"month\": parseInt(dateParts[1]), \"year\": parseInt(dateParts[0]) };\r\n }\r\n });\r\n }\r\n }\n\n //Functions related to Template\n requiredControls: Array = [];\n\n //To validate required controls in a group within a step\n validateMandatoryGroupControls(wizard, stepKey, groupKey) {\n this.wizard = wizard;\n this.requiredControls = [];\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n return this.requiredControls;\r\n }\n\n //To validate all required controls in a step\n validateMandatoryStepControls(wizard, stepKey) {\n this.wizard = wizard;\n this.requiredControls = [];\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n if (!this.wizard.Steps[stepKey].ControlGroups[groupKey].IsMultiline) {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n else {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].LineCodes.length == 0) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n return this.requiredControls;\r\n }\n\n //To validate all required controls in the wizard (before submit/update)\n validateMandatoryControls(wizard) {\n this.wizard = wizard;\n this.requiredControls = [];\n for (var stepKey in this.wizard.Steps) {\r\n for (var groupKey in this.wizard.Steps[stepKey].ControlGroups) {\r\n if (!this.wizard.Steps[stepKey].ControlGroups[groupKey].IsMultiline) {\r\n\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n !this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Value) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n else {\r\n for (var controlKey in this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferVisible.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties.OfferRequired.Value == true &&\r\n this.wizard.Steps[stepKey].ControlGroups[groupKey].LineCodes.length == 0) {\r\n this.requiredControls.push(this.wizard.Steps[stepKey].ControlGroups[groupKey].Controls[controlKey].Text)\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.wizard.IsDocument == true) {\r\n for (var docKey in this.wizard.Documents) {\r\n if (this.wizard.Documents[docKey].IsMandatory &&\r\n (this.wizard.Documents[docKey].Image == null || this.wizard.Documents[docKey].Image == \"\")) {\r\n this.requiredControls.push(this.wizard.Documents[docKey].DocumentTypeText)\r\n }\r\n }\r\n }\r\n\r\n return this.requiredControls;\r\n }\n\n executeGlobalScript(referentials, wizardSteps, offerCode, variables, pageError, script, itemCode = null, sectionCode = null, parentItemCode = null) {\r\n if (!script) return;\r\n\r\n script = this.parseScript(wizardSteps, null, script, null, itemCode, sectionCode, parentItemCode);\r\n\r\n var tmpFunc = new Function('notificationService', 'Referential', 'Steps', 'OfferCode', 'Variables', 'IsError', 'Global', script);\r\n\r\n try {\r\n\r\n var global = { \"Variables\": variables }\r\n\r\n var result = tmpFunc(this.toastrService, referentials, wizardSteps, offerCode, variables, pageError, global, script);\r\n\r\n return result;\r\n\r\n } catch (err) {\r\n\r\n global = null;\r\n return err;\r\n }\r\n\r\n }\n\n\n \n referentialData(mode, referential, controlReferential, key, value, selectedValue) {\r\n referential[\"BonusClass\"] = { \"Code\": \"BonusClass\", \"Values\": {} };\r\n referential[\"BonusClass\"].Values[\"25\"] = \"08\";\r\n this.selectedControl.BonusClass.Referential = \"BonusClass\";\r\n this.selectedControl.BonusClass.Value = \"25\";\r\n }\n\n\n getControlByName(wizardSteps, controlName) {\r\n for (var stepKey in wizardSteps) {\r\n for (var controlKey in wizardSteps[stepKey].Controls) {\r\n if (wizardSteps[stepKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].ControlGroups) {\r\n for (var controlKey in wizardSteps[stepKey].ControlGroups[groupKey].Controls) {\r\n if (wizardSteps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n for (var controlKey in wizardSteps[stepKey].Sections[sectionKey].Controls) {\r\n if (wizardSteps[stepKey].Sections[sectionKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Sections[sectionKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Sections[sectionKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Sections[sectionKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var sectionKey in wizardSteps[stepKey].Sections) {\r\n for (var groupKey in wizardSteps[stepKey].Sections[sectionKey].ControlGroups) {\r\n for (var controlKey in wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls) {\r\n if (wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (wizardSteps[stepKey].Type == \"Offer\") {\r\n for (var offerKey in wizardSteps[stepKey].Offers) {\r\n\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].Controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].Offers[offerKey].ControlGroups) {\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].ControlGroups[groupKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].ControlGroups[groupKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var sectionKey in wizardSteps[stepKey].Offers[offerKey].Sections) {\r\n\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups) {\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n\r\n for (var coverKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers) {\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].Controls[controlKey];\r\n }\r\n }\r\n\r\n for (var groupKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups) {\r\n for (var controlKey in wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls) {\r\n if (wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Properties &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'] &&\r\n wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey].Properties['UserName'].Value == controlName) {\r\n return wizardSteps[stepKey].Offers[offerKey].Sections[sectionKey].Covers[coverKey].ControlGroups[groupKey].Controls[controlKey];\r\n }\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\n\n validateFormat(type, field) {\r\n\r\n if (field.Value && type == 1 &&\r\n field.Value.match(/^\\d{5}-\\d{2}$/) == null &&\r\n field.Value.match(/^\\d{5}\\d{2}$/) == null) {\r\n field.hasError = true; //NNNNN-NN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 2 &&\r\n field.Value.match(/^\\d{5}-\\d{2}-\\d{1}$/) == null &&\r\n field.Value.match(/^\\d{5}\\d{2}\\d{1}$/) == null) {\r\n field.hasError = true; //NNNNN-NN-N\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 3 &&\r\n field.Value.match(/^\\d{5}-[A-Z]{1}-\\d{2}$/) == null &&\r\n field.Value.match(/^\\d{5}[A-Z]{1}\\d{2}$/) == null) {\r\n field.hasError = true; //NNNNN-A-NN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 4 &&\r\n field.Value.match(/^\\d{5}-[A-Z]{2}-\\d{2}$/) == null &&\r\n field.Value.match(/^\\d{5}[A-Z]{2}\\d{2}$/) == null) {\r\n field.hasError = true; //NNNNN-AA-NN\r\n return false;\r\n }\r\n else if (field.Value && type == 5 &&\r\n field.Value.match(/^\\d{5}-CD-\\d{2}$/) == null &&\r\n field.Value.match(/^\\d{5}CD\\d{2}$/) == null) {\r\n field.hasError = true; //NNNNN-CD-NN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 6 &&\r\n field.Value.match(/^[A-Z]{1}-\\d{9}$/) == null &&\r\n field.Value.match(/^[A-Z]{1}\\d{9}$/) == null) {\r\n field.hasError = true; //A-NNNNNNNNN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 7 &&\r\n field.Value.match(/^WW-\\d{7}$/) == null &&\r\n field.Value.match(/^WW\\d{7}$/) == null) {\r\n field.hasError = true; //WW-NNNNNNN\r\n return false;\r\n }\r\n else if (field.Value && type == 8 &&\r\n field.Value.match(/^W18-\\d{6}$/) == null &&\r\n field.Value.match(/^W18\\d{6}$/) == null) {\r\n field.hasError = true; //W18-NNNNNN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 9 &&\r\n field.Value.match(/^PAT-\\d{5}-[A-Z]{2}-\\d{2}$/) == null &&\r\n field.Value.match(/^PAT\\d{5}[A-Z]{2}\\d{2}$/) == null) {\r\n field.hasError = true; //PAT-NNNNN-AA-NN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 13 &&\r\n field.Value.match(/^\\d{4}-TU-\\d{3}$/) == null &&\r\n field.Value.match(/^\\d{4}TU\\d{3}$/) == null) {\r\n field.hasError = true; //NNNN-TU-NNN\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 14 &&\r\n field.Value.match(/^\\d{5}-[A-Z0-9]{3}-\\d{2}$/) == null &&\r\n field.Value.match(/^\\d{5}[A-Z0-9]{3}\\d{2}$/) == null) {\r\n field.hasError = true; //NNNNN-XXX-NN\r\n return false;\r\n }\r\n else if (field.Value && type == 15 &&\r\n field.Value.match(/^\\d{6}-[A-Z0-9]{3}$/) == null &&\r\n field.Value.match(/^\\d{6}[A-Z0-9]{3}$/) == null) {\r\n field.hasError = true; //NNNNNN-XXX\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else if (field.Value && type == 16 &&\r\n field.Value.match(/^\\d{2}-\\d{8}-[A-Z0-9]{2}$/) == null &&\r\n field.Value.match(/^\\d{2}\\d{8}[A-Z0-9]{2}$/) == null) {\r\n field.hasError = true; ///NN-NNNNNNNN-XX\r\n field.scriptError = true;\r\n return false;\r\n }\r\n else {\r\n field.hasError = false;\r\n field.scriptError = false;\r\n return true;\r\n }\r\n }\n\n \n}\n","// This file can be replaced during build by using the `fileReplacements` array.\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\n// The list of file replacements can be found in `angular.json`.\n\nexport const environment = {\n production: false\n};\n\n/*\n * For easier debugging in development mode, you can import the following file\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\n *\n * This import should be commented out in production mode because it will have a negative impact\n * on performance if an error is thrown.\n */\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\n","import { enableProdMode } from '@angular/core';\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\n\nimport { AppModule } from './app/app.module';\nimport { environment } from './environments/environment';\n\nif (environment.production) {\n enableProdMode();\n}\n\nplatformBrowserDynamic().bootstrapModule(AppModule)\n .catch(err => console.error(err));\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}