{"version":3,"sources":["./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app.component.html","./src/app/error-dailog/error-dailog.component.html","./src/app/error-page/error-page.component.html","./src/app/footer/footer.component.html","./src/app/header/header.component.html","./src/app/lead-marketplace-test-request/lead-marketplace-test-request.component.html","./src/app/lead-marketplace/lead-marketplace.component.html","./src/app/orders/order-add.component.html","./src/app/orders/order-edit/order-edit.component.html","./src/app/orders/order-summary.component.html","./src/app/shared/spinner/spinner.component.html","./src/app/shell/header/header.component.html","./src/app/shell/shell.component.html","./src/app/validation-error-dialog/validation-error-dialog.component.html","./src/$_lazy_route_resource lazy namespace object","./src/app/app-routing.module.ts","./src/app/app.component.scss","./src/app/app.component.ts","./src/app/app.module.ts","./src/app/core/application-insights.service.ts","./src/app/core/authentication/authentication.guard.ts","./src/app/core/authentication/authentication.service.mock.ts","./src/app/core/authentication/authentication.service.ts","./src/app/core/commonFunctions.ts","./src/app/core/core.module.ts","./src/app/core/global-application-events.service.ts","./src/app/core/global-error-handler.service.ts","./src/app/core/http/api-prefix.interceptor.ts","./src/app/core/http/cache.interceptor.ts","./src/app/core/http/error-handler.interceptor.ts","./src/app/core/http/http-cache.service.ts","./src/app/core/http/http.service.ts","./src/app/core/i18n.service.ts","./src/app/core/identity/identity.service.ts","./src/app/core/index.ts","./src/app/core/logger.service.ts","./src/app/core/providers/_providers.ts","./src/app/core/providers/user.provider.ts","./src/app/core/route-reusable-strategy.ts","./src/app/core/services/_services.ts","./src/app/core/services/user.service.ts","./src/app/environment.service.ts","./src/app/error-dailog/error-dailog.component.scss","./src/app/error-dailog/error-dailog.component.ts","./src/app/error-page/error-page-routing.module.ts","./src/app/error-page/error-page.component.scss","./src/app/error-page/error-page.component.ts","./src/app/error-page/error-page.module.ts","./src/app/error-page/error.service.ts","./src/app/footer/footer.component.scss","./src/app/footer/footer.component.ts","./src/app/header/header.component.scss","./src/app/header/header.component.ts","./src/app/lead-marketplace-test-request/lead-marketplace-test-request-routing.module.ts","./src/app/lead-marketplace-test-request/lead-marketplace-test-request.component.scss","./src/app/lead-marketplace-test-request/lead-marketplace-test-request.component.ts","./src/app/lead-marketplace/lead-marketplace-routing.module.ts","./src/app/lead-marketplace/lead-marketplace.component.scss","./src/app/lead-marketplace/lead-marketplace.component.ts","./src/app/model/location.ts","./src/app/model/order.ts","./src/app/orders/order-add-routing.module.ts","./src/app/orders/order-add.component.scss","./src/app/orders/order-add.component.ts","./src/app/orders/order-add.module.ts","./src/app/orders/order-edit/order-edit-routing.module.ts","./src/app/orders/order-edit/order-edit.component.scss","./src/app/orders/order-edit/order-edit.component.ts","./src/app/orders/order-edit/order-edit.module.ts","./src/app/orders/order-summary-routing.module.ts","./src/app/orders/order-summary.component.scss","./src/app/orders/order-summary.component.ts","./src/app/orders/order-summary.module.ts","./src/app/orders/order.service.ts","./src/app/services/custom.service.ts","./src/app/services/interceptor.service.ts","./src/app/shared/shared.module.ts","./src/app/shared/spinner/spinner.component.scss","./src/app/shared/spinner/spinner.component.ts","./src/app/shell/header/header.component.scss","./src/app/shell/header/header.component.ts","./src/app/shell/shell.component.scss","./src/app/shell/shell.component.ts","./src/app/shell/shell.module.ts","./src/app/shell/shell.service.ts","./src/app/validation-error-dialog/validation-error-dialog.component.scss","./src/app/validation-error-dialog/validation-error-dialog.component.ts","./src/constants/api.ts","./src/environments/.env.ts","./src/environments/environment.ts","./src/main.ts"],"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 ^\\\\.\\\\/.*$\";","export default \"\\r\\n\\r\\n\\r\\n\"","export default \"

Error While Adding/Updating Order

\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","export default \"
{{ errorMessage }}
\\r\\n\"","export default \"\\r\\n\\r\\n\\r\\n
\\r\\n

Terms Of Use

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

\\r\\n The Quotit Lead Marketplace (hereinafter “Lead Marketplace”) is a proprietary lead distribution platform comprised\\r\\n of various Web pages owned and operated by Quotit Corp. and its affiliated companies (hereinafter collectively\\r\\n referred to as “Quotit”).
\\r\\n Any individual or entity that accesses the Lead Marketplace (hereinafter “user” or “you, your”) understands that\\r\\n the use of the Lead Marketplace is conditioned upon the user’s acceptance, without modification, of the terms,\\r\\n conditions, and notices contained herein. Your use of the Lead Marketplace constitutes your agreement to all such\\r\\n terms, conditions, and notices.\\r\\n

\\r\\n\\r\\n USE OR ACCESS OF THE LEAD MARKETPLACE\\r\\n

\\r\\n Any use or access of the Lead Marketplace constitutes your consent to all the terms and conditions set forth\\r\\n herein. If any of the terms and condition set forth herein are unacceptable, you may not use or access the Lead\\r\\n Marketplace.\\r\\n

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

\\r\\n You acknowledge that:
\\r\\n • any and all of the terms and conditions set forth herein may be modified by Quotit by publishing the\\r\\n revised/updated Terms of Use to the Lead Marketplace, and
\\r\\n • the updated terms and conditions shall immediately apply to your subsequent use or access of the Lead\\r\\n Marketplace.
\\r\\n • Quotit may suspend and/or terminate your right to use or access Lead Marketplace at any time, without prior\\r\\n notice, for any reason or no reason at all.
\\r\\n

\\r\\n

\\r\\n You warrant and represent that you will comply with all applicable federal, state and local laws, statutes, rules\\r\\n and regulations including, but not limited to, the Fair Credit Reporting Act (15 U.S.C. § 1681 et seq.) (“FCRA”),\\r\\n Section (6802) (e) of the Gramm-Leach-Bliley Act (“GLB”), Title V, Subtitle A, Financial Privacy (15 U.S.C. §\\r\\n 6801-6809) and the United States Federal Trade Commission rules promulgated thereunder, all other applicable\\r\\n privacy laws, “do not call” laws, Drivers Privacy Protection Act (18 U.S.C. § 2721 et seq.) (“DPPA”) and similar\\r\\n and/or associated state laws and regulations governing the use and disclosure of drivers’ license information, the\\r\\n Telephone Consumer Protection Act (47 U.S.C. § 227) (“TCPA”), CAN-SPAM Act of 2003 (15 U.S.C. § 103) (“CAN-SPAM”),\\r\\n Telemarketing Consumer Fraud and Prevention Act (15 U.S.C. § 87) (“TCFA”) and, as applicable, best industry\\r\\n practices embodied in the guidelines of trade groups such as Direct Marketing Association (“DMA”), Performance\\r\\n Marketing Association (“PMA”) and Network Advertising Initiative (“NAI”), as they each may be respectively\\r\\n interpreted from time to time, by competent legislative, regulatory or judicial authority. For the purposes of\\r\\n this Addendum, the terms “Adverse Action” and “Consumer” shall have the same respective meaning as those terms are\\r\\n defined in the FCRA.\\r\\n

\\r\\n\\r\\n LEAD PURCHASES ON THE LEAD MARKETPLACE\\r\\n

\\r\\n Prior to any on-line purchases of data leads, calls and/or clicks on the Lead Marketplace, you will need to\\r\\n provide a valid credit card for payment. In the event your credit card used to purchase data leads, calls and/or\\r\\n clicks via the Lead Marketplace does not pay in full for your purchases, you agree to promptly pay for the\\r\\n dishonored purchases and the cost of Quotit’s reasonable attorney’s fees to collect such unpaid amounts if not\\r\\n paid in full within thirty (30) days after receipt of an invoice.\\r\\n

\\r\\n

\\r\\n LINKS TO THIRD PARTY SITES
\\r\\n The Lead Marketplace may contain links to other Web Sites (\\\"Linked Sites\\\"). The Linked Sites are not under the\\r\\n control of Quotit and Quotit is not responsible for the contents of any Linked Site, including without limitation\\r\\n any link contained in a Linked Site, or any changes or updates to a Linked Site. Quotit is not responsible for\\r\\n webcasting or any other form of transmission received from any Linked Site. Quotit is providing these links to you\\r\\n only as a convenience, and the inclusion of any link does not imply endorsement by Lead Marketplace of the site or\\r\\n any association with its operators.\\r\\n

\\r\\n\\r\\n NO UNLAWFUL OR PROHIBITED USE\\r\\n

\\r\\n As a condition of your use of the Lead Marketplace, you warrant that you will not use the Lead Marketplace for any\\r\\n purpose that is unlawful or prohibited by these terms, conditions, and notices. You may not use the Lead\\r\\n Marketplace in any manner which could damage, disable, overburden, or impair the Lead Marketplace or interfere\\r\\n with any other party's use and enjoyment of the Lead Marketplace. You may not obtain or attempt to obtain any\\r\\n materials or information through any means not intentionally made available or provided for through the Lead\\r\\n Marketplace.\\r\\n

\\r\\n USE OF COMMUNICATION SERVICES\\r\\n

\\r\\n The Lead Marketplace Web Site may contain bulletin board services, chat areas, news groups, forums, communities,\\r\\n personal web pages, calendars, and/or other message or communication facilities designed to enable you to\\r\\n communicate with the public at large or with a group (collectively, \\\"Communication Services\\\"), you agree to use\\r\\n the Communication Services only to post, send and receive messages and material that are proper and related to the\\r\\n particular Communication Service. By way of example, and not as a limitation, you agree that when using a\\r\\n Communication Service, you will not:
\\r\\n • Defame, abuse, harass, stalk, threaten or otherwise violate the legal rights (such as rights of privacy and\\r\\n publicity) of others.
\\r\\n • Publish, post, upload, distribute or disseminate any inappropriate, profane, defamatory, infringing, obscene,\\r\\n indecent or unlawful topic, name, material or information.
\\r\\n • Upload files that contain software or other material protected by intellectual property laws (or by rights of\\r\\n privacy of publicity) unless you own or control the rights thereto or have received all necessary consents.
\\r\\n • Upload files that contain viruses, corrupted files, or any other similar software or programs that may damage\\r\\n the operation of another's computer.
\\r\\n • Advertise or offer to sell or buy any goods or services for any business purpose, unless such Communication\\r\\n Service specifically allows such messages.
\\r\\n • Conduct or forward surveys, contests, pyramid schemes or chain letters.
\\r\\n • Download any file posted by another user of a Communication Service that you know, or reasonably should know,\\r\\n cannot be legally distributed in such manner.
\\r\\n • Falsify or delete any author attributions, legal or other proper notices or proprietary designations or labels\\r\\n of the origin or source of software or other material contained in a file that is uploaded.
\\r\\n • Restrict or inhibit any other user from using and enjoying the Communication Services.
\\r\\n • Violate any code of conduct or other guidelines which may be applicable for any particular Communication\\r\\n Service.
\\r\\n • Harvest or otherwise collect information about others, including e-mail addresses, without their consent.
\\r\\n • Violate any applicable laws or regulations.\\r\\n

\\r\\n

\\r\\n Lead Marketplace has no obligation to monitor the Communication Services. However, Lead Marketplace reserves the\\r\\n right to review materials posted to a Communication Service and to remove any materials in its sole discretion.\\r\\n Lead Marketplace reserves the right to terminate your access to any or all of the Communication Services at any\\r\\n time without notice for any reason whatsoever.\\r\\n

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

\\r\\n

\\r\\n Lead Marketplace reserves the right at all times to disclose any information as necessary to satisfy any\\r\\n applicable law, regulation, legal process or governmental request, or to edit, refuse to post or to remove any\\r\\n information or materials, in whole or in part, in Lead Marketplace 's sole discretion.\\r\\n

\\r\\n

\\r\\n Always use caution when giving out any personally identifying information about yourself or your children in any\\r\\n Communication Service. Lead Marketplace does not control or endorse the content, messages or information found in\\r\\n any Communication Service and, therefore, Lead Marketplace specifically disclaims any liability with regard to the\\r\\n Communication Services and any actions resulting from your participation in any Communication Service. Managers\\r\\n and hosts are not authorized Lead Marketplace spokespersons, and their views do not necessarily reflect those of\\r\\n Lead Marketplace.\\r\\n

\\r\\n

\\r\\n Materials uploaded to a Communication Service may be subject to posted limitations on usage, reproduction and/or\\r\\n dissemination. You are responsible for adhering to such limitations if you download the materials.\\r\\n

\\r\\n\\r\\n MATERIALS PROVIDED TO LEAD MARKETPLACE OR POSTED AT ANY LEAD MARKETPLACE WEB SITE\\r\\n

\\r\\n Lead Marketplace does not claim ownership of the materials you provide to Lead Marketplace (including feedback and\\r\\n suggestions) or post, upload, input or submit to any Lead Marketplace Web Site or its associated services\\r\\n (collectively \\\"Submissions\\\"). However, by posting, uploading, inputting, providing or submitting your Submission\\r\\n you are granting Lead Marketplace, its affiliated companies and necessary sublicensees permission to use your\\r\\n Submission in connection with the operation of their Internet businesses including, without limitation, the rights\\r\\n to: copy, distribute, transmit, publicly display, publicly perform, reproduce, edit, translate and reformat your\\r\\n Submission; and to publish your name in connection with your Submission.\\r\\n

\\r\\n

\\r\\n No compensation will be paid with respect to the use of your Submission, as provided herein. Lead Marketplace is\\r\\n under no obligation to post or use any Submission you may provide and may remove any Submission at any time in\\r\\n Lead Marketplace's sole discretion.\\r\\n

\\r\\n

\\r\\n By posting, uploading, inputting, providing or submitting your Submission you warrant and represent that you own\\r\\n or otherwise control all of the rights to your Submission as described in this section including, without\\r\\n limitation, all the rights necessary for you to provide, post, upload, input or submit the Submissions.\\r\\n

\\r\\n WARRANTY DISCLAIMER\\r\\n

\\r\\n TO THE GREATEST EXTENT PERMITTED BY APPLICABLE LAW, QUOTIT HEREBY DISCLAIMS ALL WARRANTIES OR REPRESENTATIONS,\\r\\n EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED WARRANTY OF MERCHANTABILITY, TITLE, NONINFRINGEMENT\\r\\n OR FITNESS FOR A PARTICULAR PURPOSE, AND ANY IMPLIED WARRANTIES ARISING OUT OF A COURSE OF PERFORMANCE, DEALING,\\r\\n OR TRADE USAGE, AS TO ANY AND ALL ON-LINE PURCHASED DATA LEADS, CALLS AND/OR CLICKS THROUGH THE LEAD MARKETPLACE.\\r\\n WITHOUT LIMITING THE FOREGOING, QUOTIT MAKES NO WARRANTIES OR REPRESENTATIONS AND SHALL HAVE NO LIABILITY OF ANY\\r\\n KIND WITH RESPECT TO THE PURCHASE ON-LINE DATA LEADS, CALLS AND/OR CLICKS THROUGH THE LEAD MARKETPLACE IF ANY\\r\\n VIRUS OR OTHER HARMFUL COMPONENTS OR DATA IS CONTAINED IN THE PURCHASED DATA LEADS, CALLS AND/OR CLICKS THROUGH\\r\\n THE LEAD MARKETPLACE.\\r\\n

\\r\\n

\\r\\n QUOTIT AND/OR ITS SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE QUALITY, EFFECTIVENESS, SUITABILITY, RELIABILITY,\\r\\n AVAILABILITY, TIMELINESS, AND ACCURACY OF ANY DATA LEADS, CALLS, CLICKS, INFORMATION, SOFTWARE, PRODUCTS, SERVICES\\r\\n AND RELATED GRAPHICS CONTAINED ON OR OBTAINED VIA THE LEAD MARKETPLACE. ALL SUCH DATA LEADS, CALLS, CLICKS,\\r\\n INFORMATION, SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS CONTAINED ON OR OBTAINED VIA THE LEAD MARKETPLACE\\r\\n ARE PROVIDED \\\"AS IS\\\" WITHOUT WARRANTY OR CONDITION OF ANY KIND. NATONAL GENERAL AND ITS SUPPLIEERS HEREBY DISCLAIM\\r\\n ALL WARRANTIES AND CONDITIONS WITH REGARD TO THE DATA LEADS, CALLS, CLICKS, INFORMATION, SOFTWARE, PRODUCTS,\\r\\n SERVICES AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES OR CONDITIONS OF MERCHANTABILITY, FITNESS FOR A\\r\\n PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.\\r\\n

\\r\\n

\\r\\n The information, software, products, and services included in or available through the Lead Marketplace may\\r\\n include inaccuracies or typographical errors. Changes are periodically added to the information herein. Quotit\\r\\n and/or its suppliers or affiliates may make improvements and/or changes in the Lead Marketplace at any time.\\r\\n Advice received via the Lead Marketplace should not be relied upon for personal, medical, legal or financial\\r\\n decisions and you should consult an appropriate professional for specific advice tailored to your situation.\\r\\n

\\r\\n\\r\\n LIABILITY DISCLAIMER\\r\\n

\\r\\n TO THE MAXIMUM EXTENT PERMITTED BY APPLICABLE LAW, IN NO EVENT SHALL QUOTIT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY\\r\\n DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING,\\r\\n WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE\\r\\n OR PERFORMANCE OF THE LEAD MARKETPLACE, WITH THE DELAY OR INABILITY TO USE THE LEAD MARKETPLACE OR RELATED\\r\\n SERVICES, THE PROVISION OF OR FAILURE TO PROVIDE SERVICES, OR FOR ANY DATA LEADS, CALLS, CLICKS, INFORMATION,\\r\\n SOFTWARE, PRODUCTS, SERVICES AND RELATED GRAPHICS CONTAINED IN OR OBTAINED THROUGH THE LEAD MARKETPLACE, OR\\r\\n OTHERWISE ARISING OUT OF THE USE OF THE LEAD MARKETPLACE, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT\\r\\n LIABILITY OR OTHERWISE, EVEN IF QUOTIT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES OR\\r\\n IS NEGLIGENT. IN JURISDICTIONS THAT PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY, LIABILITY HEREUNDER IS\\r\\n LIMITED TO ONE HUNDRED DOLLARS ($100.00). IF YOU BELIEVE QUOTIT SHOULD HAVE GREATER RESPONSIBILITY OR EXPOSURE FOR\\r\\n YOUR ON-LINE PURCHASE OF DATA LEADS, CALLS AND/OR CLICKS THROUGH THE LEAD MARKETPLACE FROM THIRD-PARTIES, THEN YOU\\r\\n SHOULD NOT USE OR ACCESS THE LEAD MARKETPLACE.
\\r\\n

\\r\\n

\\r\\n IF YOU ARE DISSATISFIED WITH ANY PORTION OF THE LEAD MARKETPLACE, OR WITH ANY OF THESE TERMS OF USE, YOUR SOLE\\r\\n AND EXCLUSIVE REMEDY IS TO DISCONTINUE USING THE LEAD MARKETPLACE.\\r\\n

\\r\\n

\\r\\n YOU EXPRESSLY WAIVE ANY CLAIM THAT YOU MAY HAVE AGAINST QUOTIT BASED ON ANY PRODUCT LIABILITY OR INFRINGEMENT OR\\r\\n ALLEGED INFRINGEMENT OF ANY PATENT, COPYRIGHT, TRADE SECRET OR OTHER INTELLECTUAL PROPERTY RIGHTS (EACH A “CLAIM”)\\r\\n WITH RESPECT TO ANY PURCHASE AND ALSO WAIVES ANY RIGHT TO INDEMNIFICATION FROM QUOTIT AGAINST ANY SUCH CLAIM MADE\\r\\n AGAINST YOU BY A THIRD PARTY. YOU ACKNOWLEDGE THAT NO EMPLOYEE OF QUOTIT IS AUTHORIZED TO MAKE ANY REPRESENTATION\\r\\n OR WARRANTY ON BEHALF OF QUOTIT THAT IS NOT IN THIS AGREEMENT.\\r\\n

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

\\r\\n Quotit will not be responsible for and no liability shall result to Quotit for any delays in delivery or in\\r\\n performance which result from any circumstances beyond Quotit’s reasonable control, including, but not limited to,\\r\\n product unavailability, carrier delays, delays due to fire, severe weather conditions, failure of power, labor\\r\\n problems, acts of war, terrorism, embargo, acts of God or acts or laws of any government or agency.
\\r\\n

\\r\\n

SERVICE CONTACT: leads@natgenleads.com

\\r\\n\\r\\n TERMINATION/ACCESS RESTRICTION\\r\\n

\\r\\n Quotit reserves the right, in its sole discretion, to terminate your access to the Lead Marketplace and the\\r\\n related services or any portion thereof at any time, without notice.\\r\\n

\\r\\n\\r\\n GENERAL\\r\\n

\\r\\n To the maximum extent permitted by law, this agreement is governed by the laws of the State of New York, U.S.A.\\r\\n and you hereby consent to the exclusive jurisdiction and venue of the federal courts in the State of New York,\\r\\n U.S.A. in all disputes arising out of or relating to the use of the Lead Marketplace. Use of the Lead Marketplace\\r\\n is unauthorized in any jurisdiction that does not give effect to all provisions of these terms and conditions,\\r\\n including without limitation this paragraph.
\\r\\n

\\r\\n

\\r\\n You agree that no joint venture, partnership, employment, or agency relationship exists between you and Quotit as\\r\\n a result of this agreement or use of the Lead Marketplace.\\r\\n

\\r\\n

\\r\\n Quotit's performance of this agreement is subject to existing laws and legal process, and nothing contained in\\r\\n this agreement is in derogation of Quotit's right to comply with governmental, court and law enforcement requests\\r\\n or requirements relating to your use of the Lead Marketplace or information provided to or gathered by Quotit with\\r\\n respect to such use.\\r\\n

\\r\\n

\\r\\n If any part of this agreement is determined to be invalid or unenforceable pursuant to applicable law including,\\r\\n but not limited to, the warranty disclaimers and liability limitations set forth above, then the invalid or\\r\\n unenforceable provision will be deemed superseded by a valid, enforceable provision that most closely matches the\\r\\n intent of the original provision and the remainder of the agreement shall continue in effect.\\r\\n

\\r\\n

\\r\\n Unless otherwise specified herein, this agreement constitutes the entire agreement between you and Quotit with\\r\\n respect to the Lead Marketplace and it supersedes all prior or contemporaneous communications and proposals,\\r\\n whether electronic, oral or written, between you and Quotit with respect to the Lead Marketplace. A printed\\r\\n version of this agreement and of any notice given in electronic form shall be admissible in judicial or\\r\\n administrative proceedings based upon or relating to this agreement to the same extent and subject to the same\\r\\n conditions as other business documents and records originally generated and maintained in printed form. It is the\\r\\n express wish to the parties that this agreement and all related documents be drawn up in English.\\r\\n

\\r\\n\\r\\n COPYRIGHT AND TRADEMARK NOTICES:\\r\\n

\\r\\n All contents of the Lead Marketplace Web Site are: Copyright 2019 Quotit and/or its suppliers. All rights\\r\\n reserved.\\r\\n

\\r\\n\\r\\n TRADEMARKS\\r\\n

\\r\\n The names of actual companies and products mentioned herein may be the trademarks of their respective owners.\\r\\n

\\r\\n

\\r\\n The example companies, organizations, products, people and events depicted herein are fictitious. No association\\r\\n with any real company, organization, product, person, or event is intended or should be inferred.\\r\\n

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

\\r\\n Any rights not expressly granted herein are reserved.\\r\\n

\\r\\n\\r\\n NOTICES AND PROCEDURE FOR MAKING CLAIMS OF COPYRIGHT INFRINGEMENT\\r\\n

\\r\\n Pursuant to Title 17, United States Code, Section 512(c)(2), notifications of claimed copyright infringement under\\r\\n United States copyright law should be sent to Service Provider's Designated Agent. ALL INQUIRIES NOT RELEVANT TO\\r\\n THE FOLLOWING PROCEDURE WILL RECEIVE NO RESPONSE. See Notice and Procedure for Making Claims of Copyright\\r\\n Infringement.\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n\"","export default \"
\\r\\n
\\r\\n

Testing User Authentication

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

\\r\\n {{ Response }}\\r\\n

\\r\\n
\\r\\n {{ responseurl }}\\r\\n
\\r\\n
\\r\\n
\\r\\n {{ authUrl }}\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n \\\"Quotit\\r\\n
Loading
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Add Lead Order | Current Balance ${{ balance }}\\r\\n

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

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
{{ orderTypeError }}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ productTypeError }}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{ orderError }}\\r\\n
\\r\\n \\r\\n
{{ orderNameError }}
\\r\\n
\\r\\n
\\r\\n\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ errorMessageStartDatelimit }}\\r\\n
\\r\\n {{ errorMessageStartDate }}{{ startDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ startDateError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ errorMessagelimit }}\\r\\n
\\r\\n {{ errorMessage }}{{ endDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n Enable\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Lead Source Order\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ leadSourceError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ obj.LeadSourceName }}(${{ obj.TransactionCost }})\\r\\n \\r\\n ×\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ STATE_COUNTY_REQ_ERROR_MSG }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ selectedList.length }} selected \\r\\n \\r\\n {{ selectedList.length }} unSelected\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n = 48 && event.key <= 57)\\\"\\r\\n />\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Add\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ locationError }}
\\r\\n {{ locationErrorNull }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StateCountyZip
{{ data.state }}\\r\\n {{ data.countyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Age filter

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

Delivery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ timezoneError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n * At least one day must be checked\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Start Time *End Time *Apply AllSundayMondayTuesdayWednesdayThursdayFridaySaturday
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ startTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ endTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ checkboxErrorMsg }}\\r\\n
\\r\\n \\r\\n
Please Add atleast one Rule.
\\r\\n
\\r\\n
\\r\\n \\r\\n +Add New Rule\\r\\n \\r\\n
\\r\\n {{ timeslotError }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n PREFERRED NOTIFICATION METHOD\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n MANAGE CONTACT INFORMATION\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{ myContactAlert.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Lead Flow

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n = 48 && event.key <= 57)\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (input)=\\\"validateHourlyLeadCap($event)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ hourlyCallCapError }}\\r\\n
\\r\\n \\r\\n
{{ hourlycapError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n = 48 && event.key <= 57)\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (input)=\\\"validateDailyLeadCap($event)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ dailyCallCapError }}\\r\\n
\\r\\n \\r\\n
\\r\\n {{ dailycapError }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n = 48 && event.key <= 57)\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (input)=\\\"validateMaxCallCurrency($event)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ maxCallCurrencyRangeError }}\\r\\n
\\r\\n \\r\\n
\\r\\n {{ maxCallCurrencyError }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n
\\r\\n {{ phoneNumberError }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{ phoneNumberlengthError }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Cancel\\r\\n \\r\\n
\\r\\n
\\r\\n {{ orderErrorMessage }}\\r\\n\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Edit Lead Order | Current Balance ${{ balance }}\\r\\n

\\r\\n \\r\\n
\\r\\n {{ editSuccessMsg }}\\r\\n
\\r\\n
\\r\\n {{ copySuccessMsg }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Warning : {{ deliveryDataMessage }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{ orderModel.OrderName.length > 12 ? (orderModel.OrderName | slice: 0:12) + '...' : orderModel.OrderName }}\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{\\r\\n copyOrderModel.OrderName == ''\\r\\n ? 'New Order'\\r\\n : copyOrderModel.OrderName.length > 12\\r\\n ? (copyOrderModel.OrderName | slice: 0:12) + '...'\\r\\n : copyOrderModel.OrderName\\r\\n }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n + Copy Order\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{ orderTypeError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
{{ productTypeError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ orderError }}\\r\\n
\\r\\n \\r\\n
{{ orderNameError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ errorMessageStartDatelimit }}\\r\\n
\\r\\n {{ errorMessageStartDate }}{{ startDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ startDateError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ errorMessagelimit }}\\r\\n
\\r\\n {{ errorMessage }}{{ endDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Enable\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n Lead Source Order\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n {{ leadSourceError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ obj.LeadSourceName }}(${{ obj.TransactionCost }})\\r\\n \\r\\n ×\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{ selectedList.length }} selected \\r\\n \\r\\n {{ selectedList.length }} unSelected\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n = 48 && event.key <= 57)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Add\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ locationError }}
\\r\\n {{ locationErrorNull }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StateCountyZip
{{ data.state }}\\r\\n {{ data.countyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Age filter

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

Delivery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ timezoneError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n * At least one day must be checked\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Start Time *End Time *Apply AllSundayMondayTuesdayWednesdayThursdayFridaySaturday
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ startTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ endTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ checkBoxErrorMsg }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ timeslotError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n PREFERRED NOTIFICATION METHOD\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n MANAGE CONTACT INFORMATION\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{ myContactAlert.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Lead Flow

\\r\\n
\\r\\n
\\r\\n
\\r\\n Hourly Call Cap\\r\\n *\\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ hourlyCallCapError }}\\r\\n
\\r\\n \\r\\n
{{ hourlycapError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Daily Call Cap\\r\\n *\\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ dailyCallCapError }}\\r\\n
\\r\\n \\r\\n
{{ dailycapError }}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ maxCallCurrencyRangeError }}\\r\\n
\\r\\n \\r\\n
\\r\\n {{ maxCallCurrencyError }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ phoneNumberError }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{ phoneNumberlengthError }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ orderTypeError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ productTypeError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n {{ copyOrderError }}\\r\\n
\\r\\n \\r\\n
{{ orderNameError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ copyErrorMessageStartDatelimit }}\\r\\n
\\r\\n {{ copyErrorMessageStartDate }}{{ copyStartDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ startDateError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n insert_invitation\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ copyErrorMessagelimit }}\\r\\n
\\r\\n {{ copyErrorMessage }}{{ copyEndDateErrorMsg }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Enable\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n

\\r\\n Lead Source Order\\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n {{ leadSourceError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n {{ obj.LeadSourceName }}(${{ obj.TransactionCost }})\\r\\n \\r\\n ×\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Location

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n = 48 && event.key <= 57)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n Add\\r\\n \\r\\n
\\r\\n
\\r\\n
{{ copyLocationError }}
\\r\\n {{ copyLocationErrorNull }}\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
StateCountyZip
{{ data.state }}\\r\\n {{ data.countyName }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Age filter

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

Delivery

\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
{{ timezoneError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n * At least one day must be checked\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
Start Time *End Time *Apply AllSundayMondayTuesdayWednesdayThursdayFridaySaturday
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n {{ startTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n {{ endTimeError }}\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n {{ copycheckboxErrorMsg }}\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n {{ timeslotError }}\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

\\r\\n PREFERRED NOTIFICATION METHOD\\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n MANAGE CONTACT INFORMATION\\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{ myContactAlert.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n

Lead Flow

\\r\\n
\\r\\n
\\r\\n
\\r\\n Hourly Call Cap\\r\\n *\\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ copyHourlyCallCapError }}\\r\\n
\\r\\n \\r\\n
{{ copyHourlycapError }}
\\r\\n
\\r\\n
\\r\\n
\\r\\n Daily Call Cap\\r\\n *\\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ copyDailyCallCapError }}\\r\\n
\\r\\n \\r\\n
{{ dailycapError }}
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n = 48 && event.key <= 57)\\\"\\r\\n maxlength=\\\"3\\\"\\r\\n onkeydown=\\\"if(event.key==='.'||event.key==='+'||event.key==='-'){event.preventDefault();}\\\"\\r\\n onpaste=\\\"return false;\\\"\\r\\n (keyup)=\\\"checkCallCapValueOnInput($event)\\\"\\r\\n [autocomplete]=\\\"autoCompleteValue\\\"\\r\\n />\\r\\n \\r\\n {{ copyMaxCallCurrencyRangeError }}\\r\\n
\\r\\n \\r\\n
\\r\\n {{ copyMaxCallCurrencyError }}\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ phoneNumberError }}\\r\\n
\\r\\n
\\r\\n \\r\\n {{ phoneNumberlengthError }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Cancel\\r\\n \\r\\n
\\r\\n
\\r\\n {{ orderErrorMessage }}\\r\\n \\r\\n {{ editOrderClickFlag ? 'Save' : 'Save & Close' }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n Cancel\\r\\n \\r\\n
\\r\\n
\\r\\n {{ orderErrorMessage }}\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n

Confirm Save Changes

\\r\\n
\\r\\n
\\r\\n You need to save changes before moving to copy tab.\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n\"","export default \"
\\r\\n
\\r\\n \\r\\n
\\r\\n\\r\\n
\\r\\n
\\r\\n

Lead Marketplace

\\r\\n
\\r\\n
\\r\\n {{ message }}\\r\\n
\\r\\n \\r\\n ×\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n Warning : {{ deliveryDataMessage }}\\r\\n
\\r\\n \\r\\n ×\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n Current Account Balance: ${{ balance }}\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n  {{ fundAlert.message }}\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n {{ list }}\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
    \\r\\n
  • \\r\\n \\r\\n Data Lead Source\\r\\n \\r\\n
  • \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Order Name\\r\\n \\r\\n \\r\\n {{\\r\\n element.OrderName.length > 12 ? (element.OrderName | slice: 0:12) + '...' : element.OrderName\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Lead Sources\\r\\n \\r\\n \\r\\n {{\\r\\n element.LeadSourcesNames.length > 25\\r\\n ? (element.LeadSourcesNames | slice: 0:25) + '...'\\r\\n : element.LeadSourcesNames\\r\\n }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Source Type\\r\\n \\r\\n {{ element.SourceType }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Created Date\\r\\n \\r\\n \\r\\n {{ element.CreatedDate | date: dateFormat }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Modified Date\\r\\n \\r\\n \\r\\n {{ element.LastModifiedDate | date: dateFormat }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n End Date\\r\\n \\r\\n \\r\\n {{ element.EndDate | date: dateFormat }}\\r\\n \\r\\n \\r\\n \\r\\n\\r\\n \\r\\n \\r\\n Lead Type\\r\\n {{ element.LeadType }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Average Leads\\r\\n \\r\\n \\r\\n {{ element.AverageLeads }}\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n Status\\r\\n \\r\\n   \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n {{ noRecord }}\\r\\n
\\r\\n \\r\\n + Add New Order\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","export default \"
\\r\\n

\\r\\n
\\r\\n \\\"Quotit\\r\\n
Loading
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n\"","export default \"
\\r\\n \\r\\n
\\r\\n\"","export default \"\\r\\n\\r\\n\"","export default \"
\\r\\n

Validation Error Alert!

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

{{ data }}

\\r\\n
\\r\\n\\r\\n\\r\\n \\r\\n\\r\\n\"","var map = {\n\t\"app/error-page/error-page.module\": [\n\t\t\"./src/app/error-page/error-page.module.ts\"\n\t],\n\t\"app/lead-marketplace-test-request/lead-marketplace-test-request.module\": [\n\t\t\"./src/app/lead-marketplace-test-request/lead-marketplace-test-request.module.ts\",\n\t\t\"app-lead-marketplace-test-request-lead-marketplace-test-request-module\"\n\t],\n\t\"app/lead-marketplace/lead-marketplace.module\": [\n\t\t\"./src/app/lead-marketplace/lead-marketplace.module.ts\",\n\t\t\"app-lead-marketplace-lead-marketplace-module\"\n\t],\n\t\"app/orders/order-add.module\": [\n\t\t\"./src/app/orders/order-add.module.ts\"\n\t],\n\t\"app/orders/order-edit/order-edit.module\": [\n\t\t\"./src/app/orders/order-edit/order-edit.module.ts\"\n\t],\n\t\"app/orders/order-summary.module\": [\n\t\t\"./src/app/orders/order-summary.module.ts\"\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';\nimport { Routes, RouterModule, PreloadAllModules } from '@angular/router';\nimport { Shell } from '@app/shell/shell.service';\n\nconst routes: Routes = [\n //{ path: '', redirectTo: '/lead-marketplace-test-request', pathMatch: 'full' },\n Shell.childRoutes([\n { path: 'order-summary', loadChildren: 'app/orders/order-summary.module#OrderSummaryModule' },\n { path: 'order-add', loadChildren: 'app/orders/order-add.module#OrderAddModule' },\n { path: 'order-edit/:orderId', loadChildren: 'app/orders/order-edit/order-edit.module#OrderEditModule' },\n {\n path: 'lead-marketplace-test-request',\n loadChildren: 'app/lead-marketplace-test-request/lead-marketplace-test-request.module#IProTestRequestModule'\n },\n {\n path: 'lead-marketplace/:accessToken',\n loadChildren: 'app/lead-marketplace/lead-marketplace.module#LeadMarketPlaceModule'\n },\n { path: 'error-page', loadChildren: 'app/error-page/error-page.module#ErrorPageModule' }\n ]),\n // Fallback when no prior route is matched\n { path: '**', redirectTo: 'Notfound', pathMatch: 'full' }\n];\n\n@NgModule({\n imports: [RouterModule.forRoot(routes, { preloadingStrategy: PreloadAllModules })],\n exports: [RouterModule],\n providers: []\n})\nexport class AppRoutingModule {}\n","export default \"h1 {\\n color: red; }\\n\\n.overlay {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n /*background: rgba(100, 100, 100, 0.3);*/\\n background: rgba(255, 255, 255, 0.8); }\\n\\n/****************/\\n\\n.overlay__inner {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute; }\\n\\n.overlay__content {\\n left: 50% !important;\\n position: absolute !important;\\n top: 50% !important;\\n -ms-transform: translate(-50%, -50%) !important;\\n transform: translate(-50%, -50%) !important;\\n min-width: 170px !important; }\\n\\n/****************/\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvRDpcXGFcXDFcXHNcXE5HVFMuTGVhZE1hcmtldC5Qb3J0YWwuQ2xpZW50XFxDbGllbnRBcHAvc3JjXFxhcHBcXGFwcC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQVUsRUFBQTs7QUFFWjtFQUNFLE9BQU87RUFDUCxNQUFNO0VBQ04sV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2Ysd0NBQUE7RUFDQSxvQ0FBb0MsRUFBQTs7QUFFdEMsaUJBQUE7O0FBQ0E7RUFDRSxPQUFPO0VBQ1AsTUFBTTtFQUNOLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0Usb0JBQW9CO0VBQ3BCLDZCQUE2QjtFQUM3QixtQkFBbUI7RUFDbkIsK0NBQTJDO01BQTNDLDJDQUEyQztFQUMzQywyQkFBMkIsRUFBQTs7QUFFN0IsaUJBQUEiLCJmaWxlIjoic3JjL2FwcC9hcHAuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyJoMSB7XG4gIGNvbG9yOiByZWQ7XG59XG4ub3ZlcmxheSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICAvKmJhY2tncm91bmQ6IHJnYmEoMTAwLCAxMDAsIDEwMCwgMC4zKTsqL1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4vKioqKioqKioqKioqKioqKi9cbi5vdmVybGF5X19pbm5lciB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ub3ZlcmxheV9fY29udGVudCB7XG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAxNzBweCAhaW1wb3J0YW50O1xufVxuLyoqKioqKioqKioqKioqKiovXG4iXX0= */\"","import { Component, OnInit } from '@angular/core';\nimport { EnvironmentService } from '@app/environment.service';\nimport { Logger } from '@app/core';\n\n@Component({\n selector: 'app-root',\n templateUrl: './app.component.html',\n styleUrls: ['./app.component.scss']\n})\nexport class AppComponent implements OnInit {\n showLoadingIndicator: boolean;\n constructor(private logger: Logger) {}\n ngOnInit() {\n // Setup logger\n if (EnvironmentService.config.production) {\n //this.logger..enableProductionMode();\n }\n\n this.logger.debug('init');\n }\n}\n","import { BrowserModule } from '@angular/platform-browser';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { APP_INITIALIZER, NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgbModule, NgbAlertModule } from '@ng-bootstrap/ng-bootstrap';\nimport { CoreModule } from '@app/core';\nimport { ShellModule } from './shell/shell.module';\nimport { OrderSummaryModule } from './orders/order-summary.module';\nimport { OrderAddModule } from './orders/order-add.module';\nimport { OrderEditModule } from './orders/order-edit/order-edit.module';\nimport { AppComponent } from './app.component';\nimport { AppRoutingModule } from './app-routing.module';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { OrderAddRoutingModule } from './orders/order-add-routing.module';\nimport { OrderEditRoutingModule } from './orders/order-edit/order-edit-routing.module';\nimport { OrderSummaryRoutingModule } from './orders/order-summary-routing.module';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { DatePipe } from '@angular/common';\nimport {\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatRippleModule,\n MatDialogModule\n} from '@angular/material';\nimport { MatTableModule } from '@angular/material/table';\nimport { ErrorPageComponent } from './error-page/error-page.component';\nimport { ErrorPageModule } from './error-page/error-page.module';\nimport { LeadMarketRoutingModule } from './lead-marketplace/lead-marketplace-routing.module';\nimport { LeadMarketplaceComponent } from './lead-marketplace/lead-marketplace.component';\nimport { LeadMarketTestRequestComponent } from './lead-marketplace-test-request/lead-marketplace-test-request.component';\nimport { LeadMarketTestRequestRoutingModule } from './lead-marketplace-test-request/lead-marketplace-test-request-routing.module';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { HeaderComponent } from './header/header.component';\nimport { ErrorDailogComponent } from './error-dailog/error-dailog.component';\nimport { ValidationErrorDialogComponent } from './validation-error-dialog/validation-error-dialog.component';\nimport { InterceptorService } from './services/interceptor.service';\nimport { DateAdapter, MAT_DATE_FORMATS, MAT_DATE_LOCALE } from '@angular/material/core';\nimport { MomentDateAdapter, MAT_MOMENT_DATE_ADAPTER_OPTIONS } from '@angular/material-moment-adapter';\nimport * as Constant from 'constants/api';\nimport { SharedModule } from './shared/shared.module';\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\nimport { en_US, NzTimePickerModule, NZ_I18N, NzToolTipModule } from 'ng-zorro-antd';\nimport { EnvironmentService } from '@app/environment.service';\nimport { FooterComponent } from './footer/footer.component';\n\n@NgModule({\n imports: [\n BrowserModule,\n OrderEditRoutingModule,\n MatTableModule,\n FormsModule,\n ErrorPageModule,\n LeadMarketRoutingModule,\n LeadMarketTestRequestRoutingModule,\n HttpClientModule,\n TranslateModule.forRoot(),\n NgbModule,\n CoreModule,\n OrderSummaryRoutingModule,\n ShellModule,\n NgxPaginationModule,\n OrderSummaryModule,\n OrderAddModule,\n MatSlideToggleModule,\n MatButtonModule,\n MatFormFieldModule,\n MatInputModule,\n MatRippleModule,\n MatDialogModule,\n OrderAddRoutingModule,\n ReactiveFormsModule,\n AppRoutingModule,\n OrderEditModule,\n MatDatepickerModule,\n SharedModule,\n NgxMaterialTimepickerModule,\n NzTimePickerModule,\n NzToolTipModule,\n BrowserAnimationsModule // must be imported as the last module as it contains the fallback route\n ],\n declarations: [\n AppComponent,\n ErrorPageComponent,\n LeadMarketplaceComponent,\n LeadMarketTestRequestComponent,\n HeaderComponent,\n FooterComponent,\n ErrorDailogComponent,\n ValidationErrorDialogComponent\n ],\n providers: [\n DatePipe,\n MatSlideToggleModule,\n { provide: HTTP_INTERCEPTORS, useClass: InterceptorService, multi: true },\n { provide: DateAdapter, useClass: MomentDateAdapter, deps: [MAT_DATE_LOCALE] },\n { provide: MAT_DATE_FORMATS, useValue: Constant.MAT_DATE_FORMAT },\n {\n provide: APP_INITIALIZER,\n useFactory: environmentConfigLoader,\n deps: [EnvironmentService],\n multi: true\n }\n ],\n\n entryComponents: [ErrorDailogComponent, ValidationErrorDialogComponent],\n bootstrap: [AppComponent]\n})\nexport class AppModule {}\n\nexport function environmentConfigLoader(environmentService: EnvironmentService) {\n return () => environmentService.getEnvironmentConfiguration();\n}\n","import { Injectable } from '@angular/core';\nimport { Router, NavigationStart, NavigationEnd, NavigationCancel, NavigationError } from '@angular/router';\nimport { EnvironmentService } from '@app/environment.service';\nimport { AppInsights } from 'applicationinsights-js';\nimport { filter } from 'rxjs/operators';\n\n/**\n * This enum is a copy/paste from the Application Insights library @types reference\n * This is required because there is an issue / bug with Applicaiton Insights library where you cannot\n * reference the \"AI.SeverityLevel\" type from the code below. (RefferenceError). So we use our own with the same values.\n */\nenum SeverityLevel {\n Verbose = 0,\n Information = 1,\n Warning = 2,\n Error = 3,\n Critical = 4\n}\n\n@Injectable()\nexport class ApplicationInsightsService {\n private config: Microsoft.ApplicationInsights.IConfig = {\n instrumentationKey: EnvironmentService.config.loggingInstrumentationKey\n };\n\n constructor(private router: Router) {\n console.log('AppInsightsService: Initializing');\n\n if (this.config && this.config.instrumentationKey) {\n AppInsights.downloadAndSetup(this.config);\n }\n\n // Add custom telemetry processor, so we can modify every telemetry item sent to app insights, to add/edit data, or block some events\n AppInsights.queue.push(function() {\n AppInsights.context.addTelemetryInitializer(function(envelope) {\n var telemetryItem = envelope.data.baseData;\n\n // set custom properties:\n telemetryItem.properties = telemetryItem.properties || {};\n telemetryItem.properties['ApplicationName'] = EnvironmentService.config.applicationName;\n telemetryItem.properties['Environment'] = EnvironmentService.config.environmentName;\n });\n });\n\n // Attach to router events so we can automatically log all page views\n console.log('AppInsightsService: Attaching to router events');\n if (this.router) {\n console.log('AppInsightsService: Attached to router events');\n this.router.events.pipe(filter(event => event instanceof NavigationStart)).subscribe((event: NavigationStart) => {\n console.log('AppInsightsService: Navigation start');\n //Note: Used URL for page name param because leaving it null did not produce accurate results in AI\n AppInsights.startTrackPage(event.url);\n });\n this.router.events.pipe(filter(event => event instanceof NavigationEnd)).subscribe((event: NavigationEnd) => {\n console.log('AppInsightsService: Navigation end');\n //Note: Used URL for page name param because leaving it null did not produce accurate results in AI\n AppInsights.stopTrackPage(event.url, event.url);\n });\n }\n }\n\n public setAuthenticatedUserId(userId: string): void {\n AppInsights.setAuthenticatedUserContext(userId);\n }\n\n public logTraceDebug(name: string, properties?: { [key: string]: string }) {\n AppInsights.trackTrace(name, properties, SeverityLevel.Verbose);\n }\n\n public logTraceInfo(name: string, properties?: { [key: string]: string }) {\n AppInsights.trackTrace(name, properties, SeverityLevel.Information);\n }\n\n public logTraceWarning(name: string, properties?: { [key: string]: string }) {\n AppInsights.trackTrace(name, properties, SeverityLevel.Warning);\n }\n\n public logTraceError(name: string, properties?: { [key: string]: string }) {\n AppInsights.trackTrace(name, properties, SeverityLevel.Error);\n }\n\n public logEvent(name: string, properties?: { [key: string]: string }, measurements?: { [key: string]: number }) {\n AppInsights.trackEvent(name, properties, measurements);\n }\n\n public logError(error: Error, properties?: { [key: string]: string }, measurements?: { [key: string]: number }) {\n AppInsights.trackException(error, null, properties, measurements);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';\n\nimport { Logger } from '../logger.service';\nimport { AuthenticationService } from './authentication.service';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\n@Injectable()\nexport class AuthenticationGuard implements CanActivate {\n constructor(\n private router: Router,\n private authenticationService: AuthenticationService,\n private oauthService: OAuthService\n ) {}\n\n canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {\n if (this.authenticationService.isAuthenticated()) {\n return true;\n } else {\n this.oauthService.loadDiscoveryDocumentAndLogin().catch(() => {\n // Something really bad happened here. redirect to error page\n });\n }\n\n //return false;\n }\n}\n","import { Observable, of } from 'rxjs';\n\nexport class MockAuthenticationService {\n credentials: any | null = {\n username: 'test',\n token: '123'\n };\n\n login(context: any): Observable {\n return of({\n username: context.username,\n token: '123456'\n });\n }\n\n logout(): Observable {\n this.credentials = null;\n return of(true);\n }\n\n isAuthenticated(): boolean {\n return !!this.credentials;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { OAuthService } from 'angular-oauth2-oidc';\n\n/**\n * Provides a base for authentication workflow.\n * The authentication functionality of the application is handled in the app.module.ts file.\n * The app.module does the configuration for the OauthService library which ensures the user is authenticated before accessing the application.\n */\n@Injectable()\nexport class AuthenticationService {\n constructor(private oauthService: OAuthService) {}\n\n /**\n * Logs out the user and clear credentials.\n * @return True if the user was logged out successfully.\n */\n public logout(): Observable {\n // Customize credentials invalidation here\n this.oauthService.logOut();\n return of(true);\n }\n\n public isAuthenticated(): boolean {\n return this.oauthService.hasValidAccessToken() && this.oauthService.hasValidIdToken();\n }\n\n public reauthenticateUser() {\n console.log('re-authenticating a user here!');\n this.oauthService.loadDiscoveryDocumentAndTryLogin();\n }\n}\n","// A function to format text to look like a phone number\nexport function phoneFormat(input: string) {\n if (input == null) return '';\n // Strip all characters from the input except digits\n input = input.replace(/\\D/g, '');\n\n // Trim the remaining input to ten characters, to preserve phone number format\n input = input.substring(0, 10);\n\n // Based upon the length of the string, we add formatting as necessary\n var size = input.length;\n if (size == 0) {\n input = input;\n } else if (size < 4) {\n input = input;\n } else if (size < 7) {\n input = input.substring(0, 3) + input.substring(3, 6);\n } else {\n input = input.substring(0, 3) + ' - ' + input.substring(3, 6) + ' - ' + input.substring(6, 10);\n }\n return input;\n}\nexport function reformatePhone(number: string) {\n let phone: string;\n if (number.indexOf(':') != -1) {\n phone = number.split(':')[1];\n } else {\n phone = number;\n }\n phone = phone.replace(/[()\\s\\-]+/gi, '');\n if (phone.length >= 10) {\n phone = phone.substr(0, 10);\n }\n\n return phone;\n}\n","import { NgModule, Optional, SkipSelf, ErrorHandler } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { HTTP_INTERCEPTORS, HttpClient, HttpClientModule } from '@angular/common/http';\nimport { RouteReuseStrategy, RouterModule, Router } from '@angular/router';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { RouteReusableStrategy } from './route-reusable-strategy';\nimport { AuthenticationService } from './authentication/authentication.service';\nimport { AuthenticationGuard } from './authentication/authentication.guard';\nimport { I18nService } from './i18n.service';\nimport { HttpService } from './http/http.service';\nimport { HttpCacheService } from './http/http-cache.service';\nimport { ApiPrefixInterceptor } from './http/api-prefix.interceptor';\nimport { ErrorHandlerInterceptor } from './http/error-handler.interceptor';\nimport { CacheInterceptor } from './http/cache.interceptor';\nimport { OAuthModule } from 'angular-oauth2-oidc';\nimport { IdentityService } from '@app/core/identity/identity.service';\nimport { AllProviders } from './providers/_providers';\nimport { AllServices } from './services/_services';\nimport { Logger } from './logger.service';\nimport { ApplicationInsightsService } from './application-insights.service';\nimport { GlobalErrorHandlerService } from './global-error-handler.service';\nimport { GlobalApplicationEventsService } from './global-application-events.service';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n OAuthModule.forRoot({\n resourceServer: {\n sendAccessToken: true\n }\n }),\n TranslateModule,\n RouterModule\n ],\n providers: [\n IdentityService,\n ApplicationInsightsService,\n Logger,\n GlobalApplicationEventsService,\n AuthenticationService,\n AuthenticationGuard,\n I18nService,\n HttpCacheService,\n ApiPrefixInterceptor,\n ErrorHandlerInterceptor,\n CacheInterceptor,\n {\n provide: HttpClient,\n useClass: HttpService\n },\n {\n provide: RouteReuseStrategy,\n useClass: RouteReusableStrategy\n },\n AllServices,\n AllProviders,\n {\n //this sets up our global error handler service\n provide: ErrorHandler,\n useClass: GlobalErrorHandlerService\n }\n ]\n})\nexport class CoreModule {\n constructor(@Optional() @SkipSelf() parentModule: CoreModule) {\n // Import guard\n if (parentModule) {\n throw new Error(`${parentModule} has already been loaded. Import Core module in the AppModule only.`);\n }\n }\n}\n","import { Observable, of, Subject } from 'rxjs';\nimport { Injectable } from '@angular/core';\nimport { Logger } from './logger.service';\n\n/*\n * Global events is a place to define events that the entire app ecosystem can publish and subscribe to\n * These are well-defined events that can have specific data that is passed along with the event.\n */\n\n@Injectable()\nexport class GlobalApplicationEventsService {\n constructor(private logger: Logger) {}\n\n public GlobalErrorEvent: EventBaseSimple = new EventBaseSimple('Global Error Event', this.logger);\n\n //Example event that takes arguments\n //public UserLoggedInEvent: EventBase = new EventBase(\"User Logged In Event\", this.logger);\n}\n\n/*\n * Event base that tags a type for the event arguments, which can be any class/type.\n */\nexport class EventBase {\n protected subject: Subject;\n private eventName: string;\n\n constructor(eventName: string, private logger: Logger) {\n this.eventName = eventName;\n logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Setup`);\n this.subject = new Subject();\n }\n\n public Broadcast(value: T) {\n this.logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Broadcast - ${JSON.stringify(value)}`);\n this.subject.next(value);\n }\n\n public Subscribe(action: (args: T) => void): void {\n this.logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Subscription created`);\n this.subject.subscribe(action);\n }\n}\n\n/*\n * Event base that does not have any arguments\n */\nexport class EventBaseSimple {\n protected subject: Subject;\n private eventName: string;\n\n constructor(eventName: string, private logger: Logger) {\n this.eventName = eventName;\n logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Setup`);\n this.subject = new Subject();\n }\n\n public Broadcast() {\n this.logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Broadcast`);\n this.subject.next();\n }\n\n public Subscribe(action: () => void): void {\n this.logger.debug(`GlobalApplicationEventsService: ${this.eventName} - Subscription created`);\n this.subject.subscribe(action);\n }\n}\n\n/* This is example event arguments object that specifies data to pass in the event */\n/*\nexport class UserLoggedInEventArgs {\n\n public UserId: string;\n}\n*/\n\n/* This is example custom event class where you can make custom methods for broadcast and subscribe, that have custom params\n * This is nice for developers because they don't have to worry about using the arguments object\n/*\nexport class UserLoggedInEvent extends EventBase{\n\n public Broadcast(userId: string)\n {\n\n }\n\n public Subscribe(action: (userId: string) => void): void {\n {\n\n }\n\n}\n*/\n","import { Injectable, ErrorHandler, Injector, NgZone } from '@angular/core';\nimport { Router } from '@angular/router';\nimport { Logger } from './logger.service';\nimport { GlobalApplicationEventsService } from './global-application-events.service';\n\n/*\n * Global error handler for all fatal issues in the angular app.\n * Will call the logger to log the exception, and send an event that will get captured by main app component\n * to send the user to error page.\n */\n\n@Injectable()\nexport class GlobalErrorHandlerService implements ErrorHandler {\n constructor(private injector: Injector) {}\n\n handleError(error: Error) {\n var logger: Logger;\n\n try {\n logger = this.injector.get(Logger);\n let router = this.injector.get(Router);\n let zone = this.injector.get(NgZone);\n let globalEvents = this.injector.get(GlobalApplicationEventsService);\n\n //Log the global error\n logger.error('Global unhandled error', { Url: router.url }, error);\n\n //Notify the app that we just had a global error so it can respond (ie take user to error page)\n globalEvents.GlobalErrorEvent.Broadcast();\n } catch (exc) {\n //we failed at some point to handle the global error\n //so, first try to log the new error to logger\n try {\n if (logger) {\n logger.error('Failed to handle/log unhandled error', exc);\n }\n } catch {}\n //also log straight to the console in case logger is not working\n console.error('Failed to handle/log unhandled error');\n console.error(exc);\n }\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { EnvironmentService } from '@app/environment.service';\n\n/**\n * Prefixes all requests with `EnvironmentService.config.apiUrl`.\n */\n@Injectable()\nexport class ApiPrefixInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (!/^(http|https):/i.test(request.url)) {\n request = request.clone({ url: EnvironmentService.config.apiUrl + request.url });\n }\n return next.handle(request);\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest, HttpResponse } from '@angular/common/http';\nimport { Observable, Subscriber } from 'rxjs';\n\nimport { HttpCacheService } from './http-cache.service';\n\n/**\n * Caches HTTP requests.\n * Use ExtendedHttpClient fluent API to configure caching for each request.\n */\n@Injectable()\nexport class CacheInterceptor implements HttpInterceptor {\n private forceUpdate = false;\n\n constructor(private httpCacheService: HttpCacheService) {}\n\n /**\n * Configures interceptor options\n * @param options If update option is enabled, forces request to be made and updates cache entry.\n * @return The configured instance.\n */\n configure(options?: { update?: boolean } | null): CacheInterceptor {\n const instance = new CacheInterceptor(this.httpCacheService);\n if (options && options.update) {\n instance.forceUpdate = true;\n }\n return instance;\n }\n\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n if (request.method !== 'GET') {\n return next.handle(request);\n }\n\n return new Observable((subscriber: Subscriber>) => {\n const cachedData = this.forceUpdate ? null : this.httpCacheService.getCacheData(request.urlWithParams);\n if (cachedData !== null) {\n // Create new response to avoid side-effects\n subscriber.next(new HttpResponse(cachedData as Object));\n subscriber.complete();\n } else {\n next.handle(request).subscribe(\n event => {\n if (event instanceof HttpResponse) {\n this.httpCacheService.setCacheData(request.urlWithParams, event);\n }\n subscriber.next(event);\n },\n error => subscriber.error(error),\n () => subscriber.complete()\n );\n }\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\nimport { catchError } from 'rxjs/operators';\nimport { EnvironmentService } from '@app/environment.service';\nimport { Logger } from '../logger.service';\n\n/**\n * Adds a default error handler to all requests.\n */\n@Injectable()\nexport class ErrorHandlerInterceptor implements HttpInterceptor {\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\n return next.handle(request).pipe(catchError(error => this.errorHandler(error)));\n }\n\n constructor(private logger: Logger) {}\n\n // Customize the default error handler here if needed\n private errorHandler(response: HttpEvent): Observable> {\n if (!EnvironmentService.config.production) {\n // Do something with the error\n this.logger.error('ErrorHandlerInterceptor: Request error', { Response: JSON.stringify(response) });\n }\n throw response;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { HttpResponse } from '@angular/common/http';\nimport { each } from 'lodash';\n\nimport { Logger } from '../logger.service';\n\nconst cachePersistenceKey = 'httpCache';\n\nexport interface HttpCacheEntry {\n lastUpdated: Date;\n data: HttpResponse;\n}\n\n/**\n * Provides a cache facility for HTTP requests with configurable persistence policy.\n */\n@Injectable()\nexport class HttpCacheService {\n private cachedData: { [key: string]: HttpCacheEntry } = {};\n private storage: Storage | null = null;\n\n constructor(private logger: Logger) {\n this.loadCacheData();\n }\n\n /**\n * Sets the cache data for the specified request.\n * @param url The request URL.\n * @param data The received data.\n * @param lastUpdated The cache last update, current date is used if not specified.\n */\n setCacheData(url: string, data: HttpResponse, lastUpdated?: Date) {\n this.cachedData[url] = {\n lastUpdated: lastUpdated || new Date(),\n data: data\n };\n this.logger.debug(`HttpCacheService: Cache set for key: \"${url}\"`);\n this.saveCacheData();\n }\n\n /**\n * Gets the cached data for the specified request.\n * @param url The request URL.\n * @return The cached data or null if no cached data exists for this request.\n */\n getCacheData(url: string): HttpResponse | null {\n const cacheEntry = this.cachedData[url];\n\n if (cacheEntry) {\n this.logger.debug(`HttpCacheService: Cache hit for key: \"${url}\"`);\n return cacheEntry.data;\n }\n\n return null;\n }\n\n /**\n * Gets the cached entry for the specified request.\n * @param url The request URL.\n * @return The cache entry or null if no cache entry exists for this request.\n */\n getHttpCacheEntry(url: string): HttpCacheEntry | null {\n return this.cachedData[url] || null;\n }\n\n /**\n * Clears the cached entry (if exists) for the specified request.\n * @param url The request URL.\n */\n clearCache(url: string): void {\n delete this.cachedData[url];\n this.logger.debug(`HttpCacheService: Cache cleared for key: \"${url}\"`);\n this.saveCacheData();\n }\n\n /**\n * Cleans cache entries older than the specified date.\n * @param expirationDate The cache expiration date. If no date is specified, all cache is cleared.\n */\n cleanCache(expirationDate?: Date) {\n if (expirationDate) {\n each(this.cachedData, (value: HttpCacheEntry, key: string) => {\n if (expirationDate >= value.lastUpdated) {\n delete this.cachedData[key];\n }\n });\n } else {\n this.cachedData = {};\n }\n this.saveCacheData();\n }\n\n /**\n * Sets the cache persistence policy.\n * Note that changing the cache persistence will also clear the cache from its previous storage.\n * @param persistence How the cache should be persisted, it can be either local or session storage, or if no value is\n * provided it will be only in-memory (default).\n */\n setPersistence(persistence?: 'local' | 'session') {\n this.cleanCache();\n this.storage = persistence === 'local' || persistence === 'session' ? window[persistence + 'Storage'] : null;\n this.loadCacheData();\n }\n\n private saveCacheData() {\n if (this.storage) {\n this.storage[cachePersistenceKey] = JSON.stringify(this.cachedData);\n }\n }\n\n private loadCacheData() {\n const data = this.storage ? this.storage[cachePersistenceKey] : null;\n this.cachedData = data ? JSON.parse(data) : {};\n }\n}\n","import { Inject, Injectable, InjectionToken, Injector, Optional } from '@angular/core';\nimport { HttpClient, HttpEvent, HttpInterceptor, HttpHandler, HttpRequest } from '@angular/common/http';\nimport { Observable } from 'rxjs';\n\nimport { ErrorHandlerInterceptor } from './error-handler.interceptor';\nimport { CacheInterceptor } from './cache.interceptor';\nimport { ApiPrefixInterceptor } from './api-prefix.interceptor';\n\n// HttpClient is declared in a re-exported module, so we have to extend the original module to make it work properly\n// (see https://github.com/Microsoft/TypeScript/issues/13897)\ndeclare module '@angular/common/http/http' {\n // Augment HttpClient with the added configuration methods from HttpService, to allow in-place replacement of\n // HttpClient with HttpService using dependency injection\n export interface HttpClient {\n /**\n * Enables caching for this request.\n * @param forceUpdate Forces request to be made and updates cache entry.\n * @return The new instance.\n */\n cache(forceUpdate?: boolean): HttpClient;\n\n /**\n * Skips default error handler for this request.\n * @return The new instance.\n */\n skipErrorHandler(): HttpClient;\n\n /**\n * Do not use API prefix for this request.\n * @return The new instance.\n */\n disableApiPrefix(): HttpClient;\n }\n}\n\n// From @angular/common/http/src/interceptor: allows to chain interceptors\nclass HttpInterceptorHandler implements HttpHandler {\n constructor(private next: HttpHandler, private interceptor: HttpInterceptor) {}\n\n handle(request: HttpRequest): Observable> {\n return this.interceptor.intercept(request, this.next);\n }\n}\n\n/**\n * Allows to override default dynamic interceptors that can be disabled with the HttpService extension.\n * Except for very specific needs, you should better configure these interceptors directly in the constructor below\n * for better readability.\n *\n * For static interceptors that should always be enabled (like ApiPrefixInterceptor), use the standard\n * HTTP_INTERCEPTORS token.\n */\nexport const HTTP_DYNAMIC_INTERCEPTORS = new InjectionToken('HTTP_DYNAMIC_INTERCEPTORS');\n\n/**\n * Extends HttpClient with per request configuration using dynamic interceptors.\n */\n@Injectable()\nexport class HttpService extends HttpClient {\n constructor(\n private httpHandler: HttpHandler,\n private injector: Injector,\n @Optional() @Inject(HTTP_DYNAMIC_INTERCEPTORS) private interceptors: HttpInterceptor[] = []\n ) {\n super(httpHandler);\n\n if (!this.interceptors) {\n // Configure default interceptors that can be disabled here\n this.interceptors = [this.injector.get(ApiPrefixInterceptor), this.injector.get(ErrorHandlerInterceptor)];\n }\n }\n\n cache(forceUpdate?: boolean): HttpClient {\n const cacheInterceptor = this.injector.get(CacheInterceptor).configure({ update: forceUpdate });\n return this.addInterceptor(cacheInterceptor);\n }\n\n skipErrorHandler(): HttpClient {\n return this.removeInterceptor(ErrorHandlerInterceptor);\n }\n\n disableApiPrefix(): HttpClient {\n return this.removeInterceptor(ApiPrefixInterceptor);\n }\n\n // Override the original method to wire interceptors when triggering the request.\n request(method?: any, url?: any, options?: any): any {\n const handler = this.interceptors.reduceRight(\n (next, interceptor) => new HttpInterceptorHandler(next, interceptor),\n this.httpHandler\n );\n return new HttpClient(handler).request(method, url, options);\n }\n\n private removeInterceptor(interceptorType: Function): HttpService {\n return new HttpService(\n this.httpHandler,\n this.injector,\n this.interceptors.filter(i => !(i instanceof interceptorType))\n );\n }\n\n private addInterceptor(interceptor: HttpInterceptor): HttpService {\n return new HttpService(this.httpHandler, this.injector, this.interceptors.concat([interceptor]));\n }\n}\n","import { Injectable } from '@angular/core';\nimport { TranslateService, LangChangeEvent } from '@ngx-translate/core';\nimport { includes } from 'lodash';\n\nimport { Logger } from './logger.service';\nimport enUS from '../../translations/en-US.json';\nimport frFR from '../../translations/fr-FR.json';\n\nconst languageKey = 'language';\n\n/**\n * Pass-through function to mark a string for translation extraction.\n * Running `npm translations:extract` will include the given string by using this.\n * @param s The string to extract for translation.\n * @return The same string.\n */\nexport function extract(s: string) {\n return s;\n}\n\n@Injectable()\nexport class I18nService {\n defaultLanguage: string;\n supportedLanguages: string[];\n\n constructor(private translateService: TranslateService, private logger: Logger) {\n // Embed languages to avoid extra HTTP requests\n translateService.setTranslation('en-US', enUS);\n translateService.setTranslation('fr-FR', frFR);\n }\n\n /**\n * Initializes i18n for the application.\n * Loads language from local storage if present, or sets default language.\n * @param defaultLanguage The default language to use.\n * @param supportedLanguages The list of supported languages.\n */\n init(defaultLanguage: string, supportedLanguages: string[]) {\n this.defaultLanguage = defaultLanguage;\n this.supportedLanguages = supportedLanguages;\n this.language = '';\n\n this.translateService.onLangChange.subscribe((event: LangChangeEvent) => {\n localStorage.setItem(languageKey, event.lang);\n });\n }\n\n /**\n * Sets the current language.\n * Note: The current language is saved to the local storage.\n * If no parameter is specified, the language is loaded from local storage (if present).\n * @param language The IETF language code to set.\n */\n set language(language: string) {\n language = language || localStorage.getItem(languageKey) || this.translateService.getBrowserCultureLang();\n let isSupportedLanguage = includes(this.supportedLanguages, language);\n\n // If no exact match is found, search without the region\n if (language && !isSupportedLanguage) {\n language = language.split('-')[0];\n language = this.supportedLanguages.find(supportedLanguage => supportedLanguage.startsWith(language)) || '';\n isSupportedLanguage = Boolean(language);\n }\n\n // Fallback if language is not supported\n if (!isSupportedLanguage) {\n language = this.defaultLanguage;\n }\n\n this.logger.debug(`I18nService: Language set to ${language}`);\n this.translateService.use(language);\n }\n\n /**\n * Gets the current language.\n * @return The current language code.\n */\n get language(): string {\n return this.translateService.currentLang;\n }\n}\n","import { Injectable } from '@angular/core';\nimport { OAuthService, OAuthEvent, EventType as OauthEventType } from 'angular-oauth2-oidc';\n\n@Injectable()\nexport class IdentityService {\n public readonly IdentityUser: IdentityUser;\n\n constructor(private oauthService: OAuthService) {\n this.IdentityUser = new IdentityUser();\n this.listenForUserProfileLoaded();\n }\n\n public doSomething() {}\n\n private listenForUserProfileLoaded() {\n this.oauthService.events.subscribe(event => {\n if (event.type === 'user_profile_loaded') {\n this.updateIdentityWithClaims();\n }\n });\n }\n\n private updateIdentityWithClaims() {\n this.IdentityUser.updateUserFromClaims(this.oauthService.getIdentityClaims());\n }\n}\n\nclass IdentityUser {\n public get userId(): string {\n return this._userId;\n }\n private _userId: string;\n public get username(): string {\n return this._username;\n }\n private _username: string;\n\n public updateUserFromClaims(claims: object) {\n this._userId = claims['sub'];\n this._username = claims['Username'];\n }\n}\n","export * from './core.module';\nexport * from './authentication/authentication.service';\nexport * from './authentication/authentication.service.mock';\nexport * from './authentication/authentication.guard';\nexport * from './i18n.service';\nexport * from './http/http.service';\nexport * from './http/http-cache.service';\nexport * from './http/api-prefix.interceptor';\nexport * from './http/cache.interceptor';\nexport * from './http/error-handler.interceptor';\nexport * from './route-reusable-strategy';\nexport * from './logger.service';\nexport * from './global-application-events.service';\n","import { Injectable } from '@angular/core';\nimport { ApplicationInsightsService } from './application-insights.service';\nimport { EnvironmentService } from '@app/environment.service';\n\n/*\n * The logger is the main class for logging all debug, information, warnings and errors. This class is meant to be injected.\n * All data will be sent to the console, and also to Application Insights.\n * Note: When in production mode, debug and info logs are not sent to the console.\n */\n\n/**\n * The possible log levels.\n */\nexport enum LogLevel {\n Error,\n Warning,\n Info,\n Debug\n}\n\n@Injectable()\nexport class Logger {\n static productionMode = false;\n\n constructor(private appInsights: ApplicationInsightsService) {\n Logger.productionMode = EnvironmentService.config.production;\n }\n\n debug(message: string, properties?: { [key: string]: string }) {\n this.log(LogLevel.Debug, message, properties);\n }\n\n info(message: string, properties?: { [key: string]: string }) {\n this.log(LogLevel.Info, message, properties);\n }\n\n warn(message: string, properties?: { [key: string]: string }) {\n this.log(LogLevel.Warning, message, properties);\n }\n\n error(message: string, properties?: { [key: string]: string }, error?: Error) {\n this.log(LogLevel.Error, message, properties, error);\n }\n\n private sendToConsole(message: string, level: LogLevel) {\n switch (level) {\n case LogLevel.Debug:\n if (!Logger.productionMode) {\n console.debug('Logger: ' + message);\n }\n break;\n case LogLevel.Info:\n if (!Logger.productionMode) {\n console.info('Logger: ' + message);\n }\n break;\n case LogLevel.Warning:\n console.warn('Logger: ' + message);\n break;\n case LogLevel.Error:\n //console.error('Logger: ' + message);\n break;\n }\n }\n\n private log(level: LogLevel, message: string, properties?: { [key: string]: string }, error?: Error) {\n try {\n if (!Logger.productionMode) {\n this.sendToConsole(message, level);\n\n var propertiesData = 'Could not parse';\n try {\n propertiesData = JSON.stringify(properties);\n } catch {}\n\n if (propertiesData) {\n this.sendToConsole('Properties: ' + propertiesData, level);\n }\n }\n\n switch (level) {\n case LogLevel.Debug:\n if (!Logger.productionMode) {\n this.appInsights.logTraceDebug(message, properties);\n }\n break;\n\n case LogLevel.Info:\n this.appInsights.logTraceInfo(message, properties);\n break;\n\n case LogLevel.Warning:\n this.appInsights.logTraceWarning(message, properties);\n break;\n\n case LogLevel.Error:\n this.appInsights.logTraceError(message, properties);\n break;\n }\n\n //if we have an error object, log this seperately\n if (error) {\n this.sendToConsole('Error object: ' + error, level);\n this.appInsights.logError(error, properties);\n }\n } catch (exc) {\n console.error('Failed to execute logger:');\n console.error(exc);\n }\n }\n}\n","import { UserProvider } from './user.provider';\n\nexport const AllProviders = [UserProvider];\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\nimport { UserService } from '../services/user.service';\n\n@Injectable()\nexport class UserProvider {\n constructor(private userService: UserService) {}\n\n getUser(userId: string): Observable {\n return this.userService.getUser(userId);\n }\n\n getUsers(): Observable> {\n return this.userService.getUsers();\n }\n}\n","import { ActivatedRouteSnapshot, DetachedRouteHandle, RouteReuseStrategy } from '@angular/router';\n\n/**\n * A route strategy allowing for explicit route reuse.\n * Used as a workaround for https://github.com/angular/angular/issues/18374\n * To reuse a given route, add `data: { reuse: true }` to the route definition.\n */\nexport class RouteReusableStrategy extends RouteReuseStrategy {\n public shouldDetach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n public store(route: ActivatedRouteSnapshot, detachedTree: DetachedRouteHandle | null): void {}\n\n public shouldAttach(route: ActivatedRouteSnapshot): boolean {\n return false;\n }\n\n public retrieve(route: ActivatedRouteSnapshot): DetachedRouteHandle | null {\n return null;\n }\n\n public shouldReuseRoute(future: ActivatedRouteSnapshot, curr: ActivatedRouteSnapshot): boolean {\n return future.routeConfig === curr.routeConfig || future.data.reuse;\n }\n}\n","import { UserService } from './user.service';\n\nexport const AllServices = [UserService];\n","import { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { HttpClient } from '@angular/common/http';\nimport { map, catchError } from 'rxjs/operators';\n\n@Injectable()\nexport class UserService {\n constructor(private httpClient: HttpClient) {}\n\n getUser(userId: string): Observable {\n return this.httpClient.get('/user/' + userId);\n }\n\n getUsers(): Observable> {\n return this.httpClient.get>('/user');\n }\n}\n","import { Injectable, Optional, EventEmitter } from '@angular/core';\nimport { throwError } from 'rxjs';\nimport { map, retry, catchError } from 'rxjs/operators';\nimport { HttpClient, HttpBackend, HttpErrorResponse } from '@angular/common/http';\n\nexport class EnvironmentConfig {\n public applicationName: string = '';\n public apiUrl: string = '';\n public identityUrl: string = '';\n public identityClientId: string = '';\n public loggingInstrumentationKey: string = '';\n public development: boolean;\n public production: boolean;\n public environmentName: string;\n public clientUrl: string;\n public errorPageUrl: string;\n public userControllerUrl: string;\n public walkmeUrl: string;\n}\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EnvironmentService {\n public static configurationLoaded: EventEmitter = new EventEmitter();\n public static initialized: boolean = false;\n public static config: EnvironmentConfig;\n private httpClient: HttpClient;\n\n constructor(handler: HttpBackend) {\n this.httpClient = new HttpClient(handler);\n }\n\n // NOTE: this is not static because the app_initializer uses a single instance of this class\n public getEnvironmentConfiguration(): Promise {\n if (!EnvironmentService.initialized) {\n return this.httpClient\n .get('/config/index')\n .pipe(\n map(response => EnvironmentService.saveConfigResponse(response)),\n retry(3),\n catchError(EnvironmentService.handleError)\n )\n .toPromise();\n } else {\n return Promise.resolve();\n }\n }\n\n private static handleError(error: HttpErrorResponse) {\n console.log('EnvironmentService (handleError): Received an error for config call');\n\n if (error.error instanceof ErrorEvent) {\n // A client-side or network error occurred. Handle it accordingly.\n console.error('An error occurred:', error.error.message);\n } else {\n // The backend returned an unsuccessful response code.\n // The response body may contain clues as to what went wrong,\n console.error('Backend returned code ${error.status}, ' + 'body was: ${error.error}');\n }\n // return an observable with a user-facing error message\n return throwError('Something bad happened; please try again later.');\n }\n\n private static saveConfigResponse(response: any) {\n var config = new EnvironmentConfig();\n\n config.applicationName = response.applicationName;\n config.apiUrl = response.apiUrl;\n config.identityClientId = response.identityClientId;\n config.identityUrl = response.identityUrl;\n config.loggingInstrumentationKey = response.loggingInstrumentationKey;\n config.development = response.development;\n config.production = response.production;\n config.environmentName = response.environmentName;\n config.clientUrl = response.clientUrl;\n config.errorPageUrl = response.errorPageUrl;\n config.userControllerUrl = response.userControllerUrl;\n config.walkmeUrl = response.walkmeUrl;\n this.config = config;\n this.initialized = true;\n this.configurationLoaded.emit(config);\n }\n}\n","export default \"button.btn.btn-outline-primary.float-left {\\n background-color: #f88d01;\\n border: none;\\n color: white; }\\n\\n.red-color {\\n color: red; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXJyb3ItZGFpbG9nL0Q6XFxhXFwxXFxzXFxOR1RTLkxlYWRNYXJrZXQuUG9ydGFsLkNsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxlcnJvci1kYWlsb2dcXGVycm9yLWRhaWxvZy5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWSxFQUFBOztBQUVkO0VBQ0UsVUFBVSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvZXJyb3ItZGFpbG9nL2Vycm9yLWRhaWxvZy5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImJ1dHRvbi5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5mbG9hdC1sZWZ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4OGQwMTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG59XG4ucmVkLWNvbG9yIHtcbiAgY29sb3I6IHJlZDtcbn1cbiJdfQ== */\"","import { Component, OnInit, Inject } from '@angular/core';\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\n\n@Component({\n selector: 'app-error-dailog',\n templateUrl: './error-dailog.component.html',\n styleUrls: ['./error-dailog.component.scss']\n})\nexport class ErrorDailogComponent implements OnInit {\n constructor(public dialogRef: MatDialogRef, @Inject(MAT_DIALOG_DATA) public data: any) {}\n\n ngOnInit() {}\n close() {\n this.dialogRef.close();\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { ErrorPageComponent } from './error-page.component';\n\nimport { extract } from '@app/core';\n\nconst routes: Routes = [\n {\n path: 'error-page',\n component: ErrorPageComponent,\n data: { title: extract('error-page') }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class ErrorPageRoutingModule {}\n","export default \"h1 {\\n color: red; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZXJyb3ItcGFnZS9EOlxcYVxcMVxcc1xcTkdUUy5MZWFkTWFya2V0LlBvcnRhbC5DbGllbnRcXENsaWVudEFwcC9zcmNcXGFwcFxcZXJyb3ItcGFnZVxcZXJyb3ItcGFnZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLFVBQVUsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2Vycm9yLXBhZ2UvZXJyb3ItcGFnZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbImgxIHtcbiAgY29sb3I6IHJlZDtcbn1cbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { Router, ActivatedRoute, Params } from '@angular/router';\nimport { map } from 'rxjs/operators';\nimport { Observable } from 'rxjs';\nimport { ErrorService } from './error.service';\n\n@Component({\n selector: 'app-error-page',\n templateUrl: './error-page.component.html',\n styleUrls: ['./error-page.component.scss']\n})\nexport class ErrorPageComponent implements OnInit {\n error: any;\n test: any;\n mainDiv = false;\n showError = false;\n errorMessage: any;\n sessionId: Observable;\n message: any;\n\n constructor(private activatedRoute: ActivatedRoute, private router: Router, private errorService: ErrorService) {}\n\n ngOnInit() {\n this.activatedRoute.queryParams.subscribe(params => {\n this.showError = true;\n this.errorMessage = params.error;\n });\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ErrorPageComponent } from './error-page.component';\nimport { ErrorPageRoutingModule } from './error-page-routing.module';\n\n@NgModule({\n declarations: [],\n imports: [CommonModule, ErrorPageRoutingModule]\n})\nexport class ErrorPageModule {}\n","import { Injectable } from '@angular/core';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class ErrorService {\n private errorMessage = new BehaviorSubject('');\n currentMessage = this.errorMessage.asObservable();\n\n constructor() {}\n\n changeMessage(errorMessage: string) {\n console.log('errorMessageertsetr');\n this.errorMessage.next(errorMessage);\n }\n}\n","export default \"#footer {\\n background: #474748 url('ipro-footer.png') repeat-x;\\n padding: 8px 0 4px 0; }\\n\\n#footer div,\\na {\\n background: none !important;\\n border: 0px !important;\\n color: #fff;\\n font: 8.5pt tahoma; }\\n\\nbutton.btn.btn-tertiary {\\n width: auto; }\\n\\n.modal-footer {\\n -ms-flex-pack: center;\\n justify-content: center; }\\n\\n#footer.allstate-footer {\\n background: #0e1941 !important; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvZm9vdGVyL0Q6XFxhXFwxXFxzXFxOR1RTLkxlYWRNYXJrZXQuUG9ydGFsLkNsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxmb290ZXJcXGZvb3Rlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQTtFQUNFLG1EQUFxRTtFQUNyRSxvQkFBb0IsRUFBQTs7QUFHdEI7O0VBRUUsMkJBQTJCO0VBQzNCLHNCQUFzQjtFQUN0QixXQUFXO0VBQ1gsa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsV0FBVyxFQUFBOztBQUdiO0VBQ0UscUJBQXVCO01BQXZCLHVCQUF1QixFQUFBOztBQUd6QjtFQUNFLDhCQUE4QixFQUFBIiwiZmlsZSI6InNyYy9hcHAvZm9vdGVyL2Zvb3Rlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vV2lsbCBiZSBjcmVhdGVkIHdoZW4gbmVlZGVkXG4jZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzQ3NDc0OCB1cmwoLi4vLi4vYXNzZXRzL2ltYWdlcy9pcHJvLWZvb3Rlci5wbmcpIHJlcGVhdC14O1xuICBwYWRkaW5nOiA4cHggMCA0cHggMDtcbn1cblxuI2Zvb3RlciBkaXYsXG5hIHtcbiAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDBweCAhaW1wb3J0YW50O1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udDogOC41cHQgdGFob21hO1xufVxuXG5idXR0b24uYnRuLmJ0bi10ZXJ0aWFyeSB7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubW9kYWwtZm9vdGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbiNmb290ZXIuYWxsc3RhdGUtZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzBlMTk0MSAhaW1wb3J0YW50O1xufVxuIl19 */\"","import { Component, OnDestroy, OnInit, ViewChild } from '@angular/core';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ContentRef } from 'ngx-bootstrap';\nimport { Subscription } from 'rxjs';\nimport { CustomService } from '../services/custom.service';\n\n@Component({\n selector: 'app-footer',\n templateUrl: './footer.component.html',\n styleUrls: ['./footer.component.scss']\n})\nexport class FooterComponent implements OnInit, OnDestroy {\n isAgreed: boolean = false;\n message: string;\n subscription: Subscription;\n currentYear: string;\n @ViewChild('agreementContent', { static: true })\n agreementContent$: ContentRef;\n isAllstateMA: boolean = false;\n constructor(private service: CustomService, private _modalService: NgbModal) {}\n\n ngOnInit() {\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n let date = new Date();\n this.currentYear = date.getFullYear().toString();\n this.subscription = this.service.currentTermAgreement.subscribe(message => {\n if (message == 'openAgree') {\n this.isAgreed = true;\n this.openAgree();\n }\n });\n }\n\n ngOnDestroy() {\n this.subscription.unsubscribe();\n }\n openAgree() {\n this._modalService\n .open(this.agreementContent$, { size: 'xl', scrollable: true, windowClass: 'dark-modal' })\n .result.then(\n result => {\n if (this.isAgreed) {\n this.service.setTermAgreement('agreed');\n }\n },\n reason => {\n if (this.isAgreed) {\n this.service.setTermAgreement('disagree');\n }\n }\n );\n }\n}\n","export default \".fixed-top {\\n z-index: 2 !important; }\\n\\n.allstate-navbar {\\n background: #0e1941; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvaGVhZGVyL0Q6XFxhXFwxXFxzXFxOR1RTLkxlYWRNYXJrZXQuUG9ydGFsLkNsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxoZWFkZXJcXGhlYWRlci5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHFCQUFxQixFQUFBOztBQUd2QjtFQUNFLG1CQUFtQixFQUFBIiwiZmlsZSI6InNyYy9hcHAvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5maXhlZC10b3Age1xuICB6LWluZGV4OiAyICFpbXBvcnRhbnQ7XG59XG5cbi5hbGxzdGF0ZS1uYXZiYXIge1xuICBiYWNrZ3JvdW5kOiAjMGUxOTQxO1xufVxuIl19 */\"","import { Component, OnInit } from '@angular/core';\nimport { CustomService } from '@app/services/custom.service';\n\n@Component({\n selector: 'app-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n clientLogo: any;\n isAllstateMA: boolean = false;\n constructor(private _customService: CustomService) {}\n\n ngOnInit() {\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n this.clientLogo = localStorage.getItem('clientLogo');\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LeadMarketTestRequestComponent } from './lead-marketplace-test-request.component';\n\nimport { extract } from '@app/core';\n\nconst routes: Routes = [\n {\n path: 'lead-marketplace-test-request',\n component: LeadMarketTestRequestComponent,\n data: { title: extract('lead-marketplace-test-request') }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LeadMarketTestRequestRoutingModule {}\n","export default \".test-form {\\n padding-top: 10%; }\\n\\n.formLabel {\\n width: 300px; }\\n\\n.form-control {\\n width: 240px; }\\n\\n.btn {\\n width: 170px;\\n text-align: center;\\n text-decoration: none;\\n font-size: 13px;\\n margin-left: 0;\\n display: -ms-flexbox;\\n display: flex;\\n cursor: pointer;\\n background: white;\\n border-color: #0074c9;\\n color: #0074c9;\\n border-radius: 0;\\n font-weight: 500;\\n text-transform: uppercase;\\n cursor: pointer; }\\n\\n.col-sm-2 {\\n width: 310px;\\n padding-bottom: 14px; }\\n\\n.remoteKey {\\n width: 350px; }\\n\\n.userBrokerId {\\n width: 200px; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGVhZC1tYXJrZXRwbGFjZS10ZXN0LXJlcXVlc3QvRDpcXGFcXDFcXHNcXE5HVFMuTGVhZE1hcmtldC5Qb3J0YWwuQ2xpZW50XFxDbGllbnRBcHAvc3JjXFxhcHBcXGxlYWQtbWFya2V0cGxhY2UtdGVzdC1yZXF1ZXN0XFxsZWFkLW1hcmtldHBsYWNlLXRlc3QtcmVxdWVzdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLFlBQVk7RUFDWixrQkFBa0I7RUFDbEIscUJBQXFCO0VBQ3JCLGVBQWU7RUFDZixjQUFjO0VBRWQsb0JBQW9CO0VBQ3BCLGFBQWE7RUFDYixlQUFlO0VBQ2YsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixjQUFjO0VBQ2QsZ0JBQWdCO0VBQ2hCLGdCQUFnQjtFQUNoQix5QkFBeUI7RUFDekIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLFlBQVk7RUFDWixvQkFBb0IsRUFBQTs7QUFHdEI7RUFDRSxZQUFZLEVBQUE7O0FBR2Q7RUFDRSxZQUFZLEVBQUEiLCJmaWxlIjoic3JjL2FwcC9sZWFkLW1hcmtldHBsYWNlLXRlc3QtcmVxdWVzdC9sZWFkLW1hcmtldHBsYWNlLXRlc3QtcmVxdWVzdC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi50ZXN0LWZvcm0ge1xuICBwYWRkaW5nLXRvcDogMTAlO1xufVxuXG4uZm9ybUxhYmVsIHtcbiAgd2lkdGg6IDMwMHB4O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgd2lkdGg6IDI0MHB4O1xufVxuXG4uYnRuIHtcbiAgd2lkdGg6IDE3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgLy9mbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICBkaXNwbGF5OiBmbGV4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3JkZXItY29sb3I6ICMwMDc0Yzk7XG4gIGNvbG9yOiAjMDA3NGM5O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXdlaWdodDogNTAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5jb2wtc20tMiB7XG4gIHdpZHRoOiAzMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDE0cHg7XG59XG5cbi5yZW1vdGVLZXkge1xuICB3aWR0aDogMzUwcHg7XG59XG5cbi51c2VyQnJva2VySWQge1xuICB3aWR0aDogMjAwcHg7XG59XG5cbi5hdXRoVXJsIHtcbn1cbiJdfQ== */\"","import { Component, OnInit } from '@angular/core';\nimport { HttpClient, HttpErrorResponse, HttpResponse, HttpHeaderResponse, HttpParams } from '@angular/common/http';\nimport { FormGroup, FormControl, Validators } from '@angular/forms';\nimport { FormArray } from '@angular/forms';\nimport { FormBuilder } from '@angular/forms';\nimport { Response } from 'selenium-webdriver/http';\nimport * as Constant from '../../constants/api';\nimport { EnvironmentService } from '@app/environment.service';\nimport { Router } from '@angular/router';\nimport { NgModule } from '@angular/core';\n\n@Component({\n selector: 'app-ipro-test-request',\n templateUrl: './lead-marketplace-test-request.component.html',\n styleUrls: ['./lead-marketplace-test-request.component.scss']\n})\nexport class LeadMarketTestRequestComponent implements OnInit {\n constructor(private http: HttpClient, private fb: FormBuilder, private router: Router) {}\n responseurl: any;\n Response: any;\n authUrl: any;\n\n iproForm = this.fb.group({\n remoteKey: [''],\n userBrokerId: ['']\n });\n\n ngOnInit() {\n console.log('LeadMarketTestRequestComponent here');\n //this.cfg = this.envsrv.getConfig();\n var x = 1;\n\n this.iproForm.patchValue({\n remoteKey: '41C82623-60AE-47AE-A983-30B15C5100A1',\n userBrokerId: '23477559'\n });\n\n if (EnvironmentService.config.development == true) {\n this.iproForm.patchValue({\n remoteKey: '41C82623-60AE-47AE-A983-30B15C5100A1',\n userBrokerId: '23477559'\n });\n }\n }\n\n isGuid(str: string): boolean {\n const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n return guidRegex.test(str);\n }\n\n isInteger(input: string): boolean {\n return /^\\d+$/.test(input) && !isNaN(parseInt(input, 10));\n }\n\n leadMarketPlace() {\n var RemoteAccessKey = this.iproForm.value.remoteKey ? this.iproForm.value.remoteKey : null;\n var userBrokerId = this.iproForm.value.userBrokerId ? this.iproForm.value.userBrokerId : null;\n\n var data = RemoteAccessKey + '/' + userBrokerId;\n\n if (this.isGuid(RemoteAccessKey) && this.isInteger(userBrokerId)) {\n this.http.get(EnvironmentService.config.userControllerUrl + data).subscribe(\n responseData => {\n if (responseData['URL'] != null && responseData['AccessToken'] != null) {\n this.Response = 'Api Response';\n this.responseurl = JSON.stringify(responseData);\n this.authUrl = responseData['URL'];\n } else {\n this.Response = 'Api Response';\n this.responseurl = JSON.stringify(responseData);\n this.authUrl = '';\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n }\n );\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { LeadMarketplaceComponent } from './lead-marketplace.component';\n\nimport { extract } from '@app/core';\n\nconst routes: Routes = [\n {\n path: 'lead-marketplace/:accessToken',\n component: LeadMarketplaceComponent,\n data: { title: extract('lead-marketplace') }\n }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class LeadMarketRoutingModule {}\n","export default \".overlay {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n background: rgba(255, 255, 255, 0.8); }\\n\\n.overlay__inner {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute; }\\n\\n.overlay__content {\\n left: 50%;\\n position: absolute;\\n top: 50%;\\n -ms-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n min-width: 170px; }\\n\\nbutton.btn.btn-outline-primary {\\n background-color: #007bff;\\n border: none;\\n color: white; }\\n\\nbutton.btn.btn-outline-secondary {\\n background-color: #f88d01;\\n border: none;\\n color: white; }\\n\\n.fixed-top {\\n z-index: 3 !important;\\n height: 50px; }\\n\\n.allstate-navbar {\\n background: #0e1941; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvbGVhZC1tYXJrZXRwbGFjZS9EOlxcYVxcMVxcc1xcTkdUUy5MZWFkTWFya2V0LlBvcnRhbC5DbGllbnRcXENsaWVudEFwcC9zcmNcXGFwcFxcbGVhZC1tYXJrZXRwbGFjZVxcbGVhZC1tYXJrZXRwbGFjZS5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLE9BQU87RUFDUCxNQUFNO0VBQ04sV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2Ysb0NBQW9DLEVBQUE7O0FBR3RDO0VBQ0UsT0FBTztFQUNQLE1BQU07RUFDTixXQUFXO0VBQ1gsWUFBWTtFQUNaLGtCQUFrQixFQUFBOztBQUdwQjtFQUNFLFNBQVM7RUFDVCxrQkFBa0I7RUFDbEIsUUFBUTtFQUNSLG9DQUFnQztNQUFoQyxnQ0FBZ0M7RUFDaEMsZ0JBQWdCLEVBQUE7O0FBSWxCO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixZQUFZLEVBQUE7O0FBR2Q7RUFDRSx5QkFBeUI7RUFDekIsWUFBWTtFQUNaLFlBQVksRUFBQTs7QUFHZDtFQUNFLHFCQUFxQjtFQUNyQixZQUFZLEVBQUE7O0FBR2Q7RUFDRSxtQkFBbUIsRUFBQSIsImZpbGUiOiJzcmMvYXBwL2xlYWQtbWFya2V0cGxhY2UvbGVhZC1tYXJrZXRwbGFjZS5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5vdmVybGF5IHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbn1cblxuLm92ZXJsYXlfX2lubmVyIHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5vdmVybGF5X19jb250ZW50IHtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgbWluLXdpZHRoOiAxNzBweDtcbiAgLy8gbWFyZ2luLXRvcDogLTYxcHg7XG59XG5cbmJ1dHRvbi5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDdiZmY7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG5idXR0b24uYnRuLmJ0bi1vdXRsaW5lLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmODhkMDE7XG4gIGJvcmRlcjogbm9uZTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uZml4ZWQtdG9wIHtcbiAgei1pbmRleDogMyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5hbGxzdGF0ZS1uYXZiYXIge1xuICBiYWNrZ3JvdW5kOiAjMGUxOTQxO1xufVxuIl19 */\"","import { HttpClient, HttpErrorResponse } from '@angular/common/http';\nimport { Component, OnInit } from '@angular/core';\nimport { ActivatedRoute, NavigationExtras, Router } from '@angular/router';\nimport { EnvironmentService } from '@app/environment.service';\nimport { Subscription } from 'rxjs';\nimport * as Constant from '../../constants/api';\nimport { OrderService } from '../orders/order.service';\nimport { CustomService } from '../services/custom.service';\n\n@Component({\n selector: 'app-lead-marketplace',\n templateUrl: './lead-marketplace.component.html',\n styleUrls: ['./lead-marketplace.component.scss']\n})\nexport class LeadMarketplaceComponent implements OnInit {\n accessToken: string;\n showLoadingIndicator = true;\n error: any;\n ROOT_URL: any = EnvironmentService.config.apiUrl;\n browseFringerprint: string;\n isAgree: boolean;\n subscription: Subscription;\n clientLogo: string | undefined;\n loadingLogo: string | undefined;\n isAllstateMA: boolean = false;\n\n constructor(\n private http: HttpClient,\n private activatedRoute: ActivatedRoute,\n private router: Router,\n private orderService: OrderService,\n private service: CustomService\n ) {}\n\n ngOnInit() {\n this.accessToken = this.activatedRoute.snapshot.paramMap.get('accessToken');\n localStorage.setItem('accessToken', this.accessToken);\n\n if (this.accessToken != null && this.accessToken.length < 36) {\n let navigationExtras: NavigationExtras = {\n queryParams: { error: Constant.GUID_INCORRECT_ERROR_MSG }\n };\n this.router.navigate(['/error-page'], navigationExtras);\n return false;\n }\n\n this.orderService.getClietLogo().subscribe((data: any) => {\n if (data != null) {\n localStorage.setItem('clientLogo', data);\n } else {\n localStorage.setItem('clientLogo', Constant.DEFAULTLOGO);\n }\n this.clientLogo = localStorage.getItem('clientLogo');\n });\n\n this.orderService.IsAllstateMasterAccount().subscribe((data: any) => {\n if (data != null) {\n localStorage.setItem('isAllstateMA', data);\n } else {\n localStorage.setItem('isAllstateMA', 'false');\n }\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n\n if (this.isAllstateMA) {\n localStorage.setItem('loadingLogo', Constant.ALLSTATELOADINGLOGO);\n } else {\n localStorage.setItem('loadingLogo', Constant.DEFAULTLOADINGLOGO);\n }\n this.loadingLogo = localStorage.getItem('loadingLogo');\n\n setTimeout(() => {\n this.checkAgreement();\n }, 2000);\n });\n\n this.subscription = this.service.currentTermAgreement.subscribe(message => {\n if (message == 'agreed') {\n this.saveAgreement();\n }\n if (message == 'disagree') {\n window.close();\n }\n });\n }\n getBrowserFringerprint(): string {\n return window.navigator.userAgent;\n }\n\n isGuid(str: string): boolean {\n const guidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;\n return guidRegex.test(str);\n }\n\n openSummaryOrder() {\n if (this.isGuid(this.accessToken)) {\n this.http.get(EnvironmentService.config.apiUrl + Constant.ORDER_URL + this.accessToken).subscribe(\n responseData => {\n if (responseData['Success']) {\n this.showLoadingIndicator = false;\n window.location.href = responseData['UrlToRedirect'];\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n this.error = err.error;\n this.orderService.returnToErrorPage(err.error);\n }\n );\n } else {\n this.orderService.returnToErrorPage('Not permitted.');\n }\n }\n checkAgreement() {\n this.http.get(this.ROOT_URL + Constant.CHECK_AGREEMENT + this.accessToken).subscribe(\n responseData => {\n this.showLoadingIndicator = false;\n if (responseData) {\n this.service.setTermAgreement('openAgree');\n } else {\n this.openSummaryOrder();\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n this.error = err.error;\n this.orderService.returnToErrorPage(err.error);\n }\n );\n }\n saveAgreement() {\n this.http\n .post(this.ROOT_URL + Constant.SAVE_AGREEMENT + this.accessToken + '/', JSON.stringify(this.browseFringerprint), {\n headers: { 'Content-Type': 'application/json; charset=utf-8' }\n })\n .subscribe(\n responseData => {\n if (responseData) {\n this.showLoadingIndicator = false;\n this.openSummaryOrder();\n }\n },\n (err: HttpErrorResponse) => {\n console.log(err);\n this.error = err.error;\n this.orderService.returnToErrorPage(err.error);\n }\n );\n }\n}\n","export class Location {\n state: string;\n countyId: string;\n countyName: string;\n zipCode: number;\n}\n","//Order Class Model\nexport class order {\n constructor(\n public OrderId: string,\n public OrderName: string,\n public LeadSources: string,\n public SourceType: string, //Order Type\n public CreatedDate: Date,\n public LeadType: string, // Product Type\n public AverageLeads: number,\n public AvgDailyCost: number,\n public Spent: number,\n public StartDate: Date,\n public EndDate: Date,\n public DailyCap: number,\n public HourlyCap: number,\n public Status: string,\n public Error: string,\n public TimeZone: string,\n public MaxCallCurrency: number,\n public TransferNumber: number,\n public ageFrom: number,\n public ageTo: number,\n public SendEmailNotification: boolean,\n public SendSMSNotification: boolean\n ) {}\n}\nexport class orderData {\n public disableStatusFlag: boolean;\n public OrderId: string;\n public OrderName: string;\n public LeadSources: string;\n public LeadSourcesNames: string;\n public SourceType: string;\n public LastModifiedDate: string;\n public CreatedDate: Date;\n public LeadType: string;\n public AverageLeads: number;\n public AvgDailyCost: number;\n public Spent: number;\n public Status: string;\n public Error: string;\n public OrderLocationList: any[];\n public StartDate: Date;\n public EndDate: Date;\n public State: string;\n public County: string;\n public ZipCode: string;\n public OffSet: string;\n public Timeslots: any[];\n public DailyCap: number;\n public HourlyCap: number;\n public AgeFrom: number;\n public AgeTo: number;\n public MaximumConcurrency: number;\n public TransferNumber: number;\n public Metadata: string;\n public stateList: string[];\n public SendEmailNotification: boolean;\n public SendSMSNotification: boolean;\n}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { extract } from '@app/core';\nimport { OrderAddComponent } from './order-add.component';\n\nconst routes: Routes = [{ path: 'order-add', component: OrderAddComponent, data: { title: extract('order-add') } }];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: []\n})\nexport class OrderAddRoutingModule {}\n","export default \"/*******spinner data********/\\n.overlay {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n background: rgba(255, 255, 255, 0.8); }\\n.overlay.custom-overlay {\\n height: 93%;\\n bottom: 0px;\\n top: auto; }\\n.overlay__inner {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute; }\\n.overlay__content {\\n left: 50%;\\n position: absolute;\\n top: 50%;\\n -ms-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%);\\n min-width: 170px; }\\n.spinner {\\n width: 75px;\\n height: 75px;\\n display: inline-block;\\n border-width: 2px;\\n border-color: #0074c9;\\n border-top-color: #fff;\\n -webkit-animation: spin 1s infinite linear;\\n animation: spin 1s infinite linear;\\n border-radius: 100%;\\n border-style: solid; }\\n@-webkit-keyframes spin {\\n 100% {\\n transform: rotate(360deg); } }\\n@keyframes spin {\\n 100% {\\n transform: rotate(360deg); } }\\n.order-add-container {\\n max-width: 1500px;\\n margin-bottom: 36px; }\\n.error-danger {\\n font-size: 11px !important; }\\n.order-add-container h3.order-title {\\n font-size: 18px; }\\n.tab-content label {\\n padding: 0;\\n margin: 0 auto;\\n font-size: 13px; }\\n.jumbotron h3 {\\n font-size: 15px;\\n text-transform: uppercase; }\\n.cursor-pointer {\\n cursor: pointer; }\\n.agefiltermsg {\\n font-size: 1.2em;\\n margin: 5px;\\n padding-left: 20px;\\n padding-right: 20px; }\\nul.list-inline.source-list li {\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n background: #cee4f2;\\n border: 1px solid #c9c9c9;\\n border-radius: 2px;\\n margin-right: 10px;\\n margin-bottom: 10px;\\n padding: 5px 31px 5px 12px;\\n color: #000;\\n position: relative;\\n font-size: 11px; }\\nul.list-inline.source-list li button.btn.btn-link {\\n color: #c9c9c9;\\n font-size: 32px;\\n position: absolute;\\n right: 3px;\\n top: 4px;\\n line-height: 19px;\\n padding: 0; }\\nul.list-inline.source-list li button.btn.btn-link:hover {\\n text-decoration: none !important; }\\na#new-order-tab {\\n color: #676b69;\\n font-size: 13px;\\n font-weight: 600; }\\ninput.Time-Slots {\\n font-size: 15px;\\n max-width: 115px; }\\n.location-error {\\n padding: 14px;\\n color: red; }\\n.view-all {\\n color: #0074c9;\\n width: 39%;\\n margin: 0 -1px 0 -1px !important; }\\n.custom-values {\\n border: 1px solid #d7d7d7;\\n padding: 10px;\\n word-break: break-all !important;\\n background: #ededed;\\n box-shadow: 1px 1px 7px 1px #ccc;\\n transition: all 0.2s ease-in 0s;\\n overflow: scroll;\\n height: 130px; }\\n.ziplist {\\n position: absolute;\\n width: 81px;\\n height: 120px; }\\n.show-error {\\n color: red;\\n font-size: 12px;\\n padding: 10px 0 0 76px; }\\n/*Open - Location-ZipCode View All */\\nselect:disabled {\\n color: #b7b7b7;\\n background-color: #ffffff;\\n opacity: 0.7; }\\n.close {\\n cursor: pointer;\\n background-color: darkgray;\\n padding-right: 3px;\\n padding-left: 3px; }\\n.close-zip {\\n background: lightgrey;\\n width: 81px;\\n margin-left: 0px; }\\n.zip-content {\\n position: absolute;\\n overflow-y: scroll;\\n z-index: 999;\\n /* overflow: scroll; */\\n height: 100px;\\n color: black;\\n width: 81px;\\n background: lightgrey;\\n text-align: center;\\n padding-bottom: 5px; }\\n#new-order-tab {\\n padding: 15px !important; }\\n.hideLocation {\\n display: none; }\\n.table.resizeTableCallTab {\\n width: 100%; }\\n.table.resizeTableCallTab th,\\n .table.resizeTableCallTab td {\\n width: 100% !important; }\\n.Pagination.resizeTableCallTab {\\n width: 100%; }\\n.Pagination.resizeTableCallTab .ngx-pagination {\\n text-align: center !important; }\\n.responsive-table-wrapper {\\n overflow-x: auto; }\\n.notification-text {\\n padding-left: 25px !important;\\n font-weight: normal !important; }\\n.error {\\n border-color: #b94a48 !important; }\\n.errorTimePicker,\\n.checkbox {\\n border: 1px solid #fff; }\\n.error-star {\\n font-weight: bolder !important; }\\n/*Close - Location-ZipCode View All */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3JkZXJzL0Q6XFxhXFwxXFxzXFxOR1RTLkxlYWRNYXJrZXQuUG9ydGFsLkNsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxvcmRlcnNcXG9yZGVyLWFkZC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSw0QkFBQTtBQUNBO0VBQ0UsT0FBTztFQUNQLE1BQU07RUFDTixXQUFXO0VBQ1gsWUFBWTtFQUNaLGVBQWU7RUFDZixvQ0FBb0MsRUFBQTtBQUV0QztFQUNFLFdBQVc7RUFDWCxXQUFXO0VBQ1gsU0FBUyxFQUFBO0FBR1g7RUFDRSxPQUFPO0VBQ1AsTUFBTTtFQUNOLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCLEVBQUE7QUFHcEI7RUFDRSxTQUFTO0VBQ1Qsa0JBQWtCO0VBQ2xCLFFBQVE7RUFDUixvQ0FBZ0M7TUFBaEMsZ0NBQWdDO0VBQ2hDLGdCQUFnQixFQUFBO0FBSWxCO0VBQ0UsV0FBVztFQUNYLFlBQVk7RUFDWixxQkFBcUI7RUFDckIsaUJBQWlCO0VBQ2pCLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEIsMENBQWtDO1VBQWxDLGtDQUFrQztFQUNsQyxtQkFBbUI7RUFDbkIsbUJBQW1CLEVBQUE7QUFHckI7RUFDRTtJQUNFLHlCQUF5QixFQUFBLEVBQUE7QUFGN0I7RUFDRTtJQUNFLHlCQUF5QixFQUFBLEVBQUE7QUFJN0I7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7QUFHckI7RUFDRSwwQkFBMEIsRUFBQTtBQUc1QjtFQUNFLGVBQWUsRUFBQTtBQUdqQjtFQUNFLFVBQVU7RUFDVixjQUFjO0VBQ2QsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsZUFBZTtFQUNmLHlCQUF5QixFQUFBO0FBRzNCO0VBQ0UsZUFBZSxFQUFBO0FBRWpCO0VBQ0UsZ0JBQWdCO0VBQ2hCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsbUJBQW1CLEVBQUE7QUFFckI7RUFDRSwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsZUFBZSxFQUFBO0FBR2pCO0VBQ0UsY0FBYztFQUNkLGVBQWU7RUFDZixrQkFBa0I7RUFDbEIsVUFBVTtFQUNWLFFBQVE7RUFDUixpQkFBaUI7RUFDakIsVUFBVSxFQUFBO0FBR1o7RUFDRSxnQ0FBZ0MsRUFBQTtBQUdsQztFQUNFLGNBQWM7RUFDZCxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxlQUFlO0VBQ2YsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxhQUFhO0VBQ2IsVUFBVSxFQUFBO0FBR1o7RUFDRSxjQUFjO0VBQ2QsVUFBVTtFQUNWLGdDQUFnQyxFQUFBO0FBR2xDO0VBQ0UseUJBQXlCO0VBQ3pCLGFBQWE7RUFDYixnQ0FBZ0M7RUFDaEMsbUJBQW1CO0VBQ25CLGdDQUFnQztFQUNoQywrQkFBK0I7RUFDL0IsZ0JBQWdCO0VBQ2hCLGFBQWEsRUFBQTtBQUdmO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxhQUFhLEVBQUE7QUFHZjtFQUNFLFVBQVU7RUFDVixlQUFlO0VBQ2Ysc0JBQXNCLEVBQUE7QUFHeEIsb0NBQUE7QUFFQTtFQUNFLGNBQWM7RUFDZCx5QkFBeUI7RUFDekIsWUFBWSxFQUFBO0FBR2Q7RUFDRSxlQUFlO0VBQ2YsMEJBQTBCO0VBQzFCLGtCQUFrQjtFQUNsQixpQkFBaUIsRUFBQTtBQUduQjtFQUNFLHFCQUFxQjtFQUNyQixXQUFXO0VBQ1gsZ0JBQWdCLEVBQUE7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixzQkFBQTtFQUNBLGFBQWE7RUFDYixZQUFZO0VBQ1osV0FBVztFQUNYLHFCQUFxQjtFQUNyQixrQkFBa0I7RUFDbEIsbUJBQW1CLEVBQUE7QUFHckI7RUFDRSx3QkFBd0IsRUFBQTtBQUcxQjtFQUNFLGFBQWEsRUFBQTtBQUdmO0VBQ0UsV0FBVyxFQUFBO0FBRGI7O0lBSUksc0JBQXNCLEVBQUE7QUFJMUI7RUFDRSxXQUFXLEVBQUE7QUFEYjtJQUlJLDZCQUE2QixFQUFBO0FBSWpDO0VBQ0UsZ0JBQWdCLEVBQUE7QUFFbEI7RUFDRSw2QkFBNkI7RUFDN0IsOEJBQThCLEVBQUE7QUFFaEM7RUFDRSxnQ0FBZ0MsRUFBQTtBQUVsQzs7RUFFRSxzQkFBc0IsRUFBQTtBQUV4QjtFQUNFLDhCQUE4QixFQUFBO0FBRWhDLHFDQUFBIiwiZmlsZSI6InNyYy9hcHAvb3JkZXJzL29yZGVyLWFkZC5jb21wb25lbnQuc2NzcyIsInNvdXJjZXNDb250ZW50IjpbIi5kYXRlRXJyb3Ige1xuICAvLyBtYXJnaW4tdG9wOiAtMTFweDtcbn1cbi8qKioqKioqc3Bpbm5lciBkYXRhKioqKioqKiovXG4ub3ZlcmxheSB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG59XG4ub3ZlcmxheS5jdXN0b20tb3ZlcmxheSB7XG4gIGhlaWdodDogOTMlO1xuICBib3R0b206IDBweDtcbiAgdG9wOiBhdXRvO1xufVxuXG4ub3ZlcmxheV9faW5uZXIge1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLm92ZXJsYXlfX2NvbnRlbnQge1xuICBsZWZ0OiA1MCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBtaW4td2lkdGg6IDE3MHB4O1xuICAvLyBtYXJnaW4tdG9wOiAtNjFweDtcbn1cblxuLnNwaW5uZXIge1xuICB3aWR0aDogNzVweDtcbiAgaGVpZ2h0OiA3NXB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlci13aWR0aDogMnB4O1xuICBib3JkZXItY29sb3I6ICMwMDc0Yzk7XG4gIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gIGFuaW1hdGlvbjogc3BpbiAxcyBpbmZpbml0ZSBsaW5lYXI7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLm9yZGVyLWFkZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cblxuLmVycm9yLWRhbmdlciB7XG4gIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xufVxuXG4ub3JkZXItYWRkLWNvbnRhaW5lciBoMy5vcmRlci10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMThweDtcbn1cblxuLnRhYi1jb250ZW50IGxhYmVsIHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGZvbnQtc2l6ZTogMTNweDtcbn1cblxuLmp1bWJvdHJvbiBoMyB7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmN1cnNvci1wb2ludGVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuLmFnZWZpbHRlcm1zZyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG51bC5saXN0LWlubGluZS5zb3VyY2UtbGlzdCBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBiYWNrZ3JvdW5kOiAjY2VlNGYyO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcGFkZGluZzogNXB4IDMxcHggNXB4IDEycHg7XG4gIGNvbG9yOiAjMDAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbn1cblxudWwubGlzdC1pbmxpbmUuc291cmNlLWxpc3QgbGkgYnV0dG9uLmJ0bi5idG4tbGluayB7XG4gIGNvbG9yOiAjYzljOWM5O1xuICBmb250LXNpemU6IDMycHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDNweDtcbiAgdG9wOiA0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICBwYWRkaW5nOiAwO1xufVxuXG51bC5saXN0LWlubGluZS5zb3VyY2UtbGlzdCBsaSBidXR0b24uYnRuLmJ0bi1saW5rOmhvdmVyIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmEjbmV3LW9yZGVyLXRhYiB7XG4gIGNvbG9yOiAjNjc2YjY5O1xuICBmb250LXNpemU6IDEzcHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbmlucHV0LlRpbWUtU2xvdHMge1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1heC13aWR0aDogMTE1cHg7XG59XG5cbi5sb2NhdGlvbi1lcnJvciB7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi52aWV3LWFsbCB7XG4gIGNvbG9yOiAjMDA3NGM5O1xuICB3aWR0aDogMzklO1xuICBtYXJnaW46IDAgLTFweCAwIC0xcHggIWltcG9ydGFudDtcbn1cblxuLmN1c3RvbS12YWx1ZXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICBwYWRkaW5nOiAxMHB4O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA3cHggMXB4ICNjY2M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4gMHM7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGhlaWdodDogMTMwcHg7XG59XG5cbi56aXBsaXN0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogODFweDtcbiAgaGVpZ2h0OiAxMjBweDtcbn1cblxuLnNob3ctZXJyb3Ige1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDc2cHg7XG59XG5cbi8qT3BlbiAtIExvY2F0aW9uLVppcENvZGUgVmlldyBBbGwgKi9cblxuc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6ICNiN2I3Yjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuLmNsb3NlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZ3JheTtcbiAgcGFkZGluZy1yaWdodDogM3B4O1xuICBwYWRkaW5nLWxlZnQ6IDNweDtcbn1cblxuLmNsb3NlLXppcCB7XG4gIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTtcbiAgd2lkdGg6IDgxcHg7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG59XG5cbi56aXAtY29udGVudCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICB6LWluZGV4OiA5OTk7XG4gIC8qIG92ZXJmbG93OiBzY3JvbGw7ICovXG4gIGhlaWdodDogMTAwcHg7XG4gIGNvbG9yOiBibGFjaztcbiAgd2lkdGg6IDgxcHg7XG4gIGJhY2tncm91bmQ6IGxpZ2h0Z3JleTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4O1xufVxuXG4jbmV3LW9yZGVyLXRhYiB7XG4gIHBhZGRpbmc6IDE1cHggIWltcG9ydGFudDtcbn1cblxuLmhpZGVMb2NhdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50YWJsZS5yZXNpemVUYWJsZUNhbGxUYWIge1xuICB3aWR0aDogMTAwJTtcbiAgdGgsXG4gIHRkIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5QYWdpbmF0aW9uLnJlc2l6ZVRhYmxlQ2FsbFRhYiB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIC5uZ3gtcGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnJlc3BvbnNpdmUtdGFibGUtd3JhcHBlciB7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG4ubm90aWZpY2F0aW9uLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjk0YTQ4ICFpbXBvcnRhbnQ7XG59XG4uZXJyb3JUaW1lUGlja2VyLFxuLmNoZWNrYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cbi5lcnJvci1zdGFyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xufVxuLypDbG9zZSAtIExvY2F0aW9uLVppcENvZGUgVmlldyBBbGwgKi9cbiJdfQ== */\"","import { Component, OnInit, AfterViewInit, HostListener, ViewChild, ElementRef } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators, FormArray } from '@angular/forms';\nimport { OAuthService, JwksValidationHandler } from 'angular-oauth2-oidc';\nimport { Options } from 'ng5-slider';\nimport { OrderService } from './order.service';\nimport * as Constant from '../../constants/api';\nimport { Location } from '../model/location';\nimport { interval, concat } from 'rxjs';\nimport { CustomService } from '../services/custom.service';\nimport { MatDialog, MatDialogConfig } from '@angular/material/dialog';\nimport { ErrorDailogComponent } from '@app/error-dailog/error-dailog.component';\nimport { ValidationErrorDialogComponent } from '@app/validation-error-dialog/validation-error-dialog.component';\nimport { DatePipe } from '@angular/common';\nimport * as moment from 'moment';\nimport { Logger } from '../core/logger.service';\nimport { NzSelectComponent } from 'ng-zorro-antd';\nimport { brokerInfo } from '../model/brokerInfo';\nimport { phoneFormat, reformatePhone } from '../core/commonFunctions';\n\ninterface Post {\n startTime: Date;\n endTime: Date;\n}\n\n@Component({\n selector: 'app-order-add',\n templateUrl: './order-add.component.html',\n styleUrls: ['./order-add.component.scss']\n})\nexport class OrderAddComponent implements AfterViewInit, OnInit {\n [x: string]: any;\n lastPhoneSelect: string;\n HourlyCallCap: number;\n DailyCallCap: number;\n isAddCountyReady: boolean = true;\n currPageAddLocation: number = 1; // currentpage of location page\n defaultTime: Date | null = null;\n startTimeIs: string = 'no start time selected';\n phoneNumberlengthError: string;\n sDate: string;\n eDate: string;\n checkSelectedField = 'none';\n maxcallcurrencyFlag: boolean = true;\n startDateLimitFlag: boolean = true;\n errorMessagelimit: string;\n errorMessageStartDatelimit: string;\n checkMaxCallCurrencyRange: boolean;\n maxCallSubmitError: boolean;\n endDateErrorMsg: string;\n startDateErrorMsg: string;\n recordsPerPages: string[] = ['5', '10', '15', '20', '25'];\n selectednumber: number = 25;\n Ziplist: any;\n spinnerFlag: boolean = false;\n locationData: Location[];\n checkboxErrorMsg: string;\n countyData: Location[];\n StartDate: string;\n EndDate: string;\n decimalValue: any;\n orderError: any = '';\n SubmitErrorFlag: boolean = true;\n startTimeError: string;\n endTimeError: string;\n SubmitError: boolean = false;\n LocationErrorflag: boolean;\n locationErrorNull: any;\n checkdailyCapRange: boolean;\n checkHourlyCapRange: boolean;\n orderNameError: any = '';\n orderName: string = '';\n maxCallCurrencyError: string;\n maxCallCurrencyRangeError: string;\n phoneNumberError: string;\n errorFlagOrderName: boolean = true;\n errorFlagStartDate: boolean = false;\n errorFlagEndDate: boolean = false;\n errorFlagDailyLeadCap: boolean = true;\n errorFlagHourlyLeadCap: boolean = true;\n timeslotError: string = '';\n accessToken: string;\n orderTypeError: string;\n productTypeError: string;\n startDateError: string;\n endDateError: string;\n timezoneError: string;\n hourlycapError: string;\n dailycapError: string = '';\n leadSourceError: string = '';\n isState: boolean;\n isCounty: boolean;\n state: string;\n zipCode: string;\n ListCountySelected: string[] = [];\n zipData: Location[] = [];\n balance: string;\n locationFlag: boolean;\n leadSources: LeadSourceIntegration[] = [];\n errorMessageStartDate: string;\n hourlyCallCapError: string;\n dailyCallCapError: string;\n HideFields: boolean;\n countyName: string;\n HideDemographics: any;\n locationError: string;\n allZipCodes: Location[];\n showAllZipCode: boolean;\n productType: string[];\n orderTypeValue: string;\n productTypeValue: string;\n stateForService: string;\n orderErrorMessage: string;\n showMsg: boolean;\n showLoadingIndicator = false;\n locationList: Array = [];\n locationStateCountyZipList: string[] = [];\n checkBoxError: boolean;\n checkBoxValidator: boolean = false;\n filteredCounties: Location[];\n isIeBrowser: boolean;\n isOtherBrowser: boolean;\n browserName: string;\n currentDate = new Date();\n isIE: boolean;\n flagForETime: boolean;\n flagForSTime: boolean;\n startFlag: boolean;\n endFlag: boolean;\n endTimeFlag: boolean;\n endTimeFlagErr: string;\n startTimeFlag: boolean;\n startTimeFlagErr: string;\n startDateValid: boolean;\n endDateValid: boolean;\n compareTimeErrorFlag: boolean = false;\n stateOptionValue: string = 'Select State';\n countyOptionValue: string = 'Select County';\n hideLocationCountyZipCode: boolean = false;\n setLeadValueOnSelect: string = 'none';\n resizeTableOnCallTab: boolean = false;\n @ViewChild('CountySelector', { static: true })\n CountySelector$: NzSelectComponent;\n @ViewChild('ZipCode', { static: true })\n ZipCode$: ElementRef;\n @ViewChild('HourlyCallCap', { static: true })\n HourlyCallCap$: ElementRef;\n @ViewChild('DailyCallCap', { static: true })\n DailyCallCap$: ElementRef;\n @ViewChild('MaxCallCurrency', { static: true })\n MaxCallCurrency$: ElementRef;\n SendEmailNotification: boolean = true;\n SendMobileNotification: boolean = false;\n chkMobileNotification: boolean = false;\n chkEmailNotification: boolean = true;\n textEmail: string = '';\n textMobile: string = '';\n isHideAlert: boolean;\n myContactAlert: { type: string; message: string };\n post: Post = {\n startTime: new Date(Date.now()),\n endTime: new Date(Date.now())\n };\n //DailyCallCap: number;\n //HourlyCallCap: number;\n iprolistphone: string[] = [];\n integrationList: string[] = [];\n filterList: LeadSourceIntegration[] = [];\n selectedObject: LeadSourceIntegration[] = [];\n isDone: boolean;\n isSelectAll: boolean;\n isReadySend: boolean;\n submitted = false;\n errorMessage: string = '';\n value: number = 18;\n highValue: number = 60;\n options: Options = {\n floor: 0,\n ceil: 100\n };\n autoCompleteValue: string = 'off';\n isAllstateMA: boolean = false;\n\n constructor(\n private _router: Router,\n private _orderService: OrderService,\n private _oauthService: OAuthService,\n private _fb: FormBuilder,\n private _service: CustomService,\n private _matDialog: MatDialog,\n private _datePipe: DatePipe,\n private _logger: Logger\n ) {\n this.locationData = [];\n this.countyData = [];\n this.zipData = [];\n this.allZipCodes = [];\n this.productType = [];\n }\n\n ngAfterViewInit() {\n const countyControl = this.addOrderForm.get('County');\n countyControl.setValue('');\n countyControl.updateValueAndValidity();\n\n this._oauthService.events.subscribe(event => {\n if (event.type === 'user_profile_loaded') {\n this._router.navigate(['/home'], { replaceUrl: true });\n }\n });\n\n interval(8000).subscribe(x => (this.locationError = ''));\n interval(8000).subscribe(x => (this.timeslotError = ''));\n }\n\n addOrderForm = this._fb.group({\n OrderId: [''],\n OrderType: ['', Validators.required],\n ProductType: ['', Validators.required],\n OrderName: ['', Validators.required],\n StartDate: ['', Validators.required],\n EndDate: [''],\n Status: [''],\n Leadsources: ['', Validators.required],\n State: ['', Validators.required],\n County: [''],\n ZipCode: [''],\n AgeRange: [''],\n TimeZone: ['', Validators.required],\n timeSlots: this._fb.array([this.addTimeSlotFormGroup()]),\n HourlyCallCap: ['', Validators.required],\n DailyCallCap: ['', Validators.required],\n MaxCallCurrency: ['', Validators.required],\n PhoneNumber: ['', Validators.required],\n recordsPerPage: ['0'],\n SendEmailNotification: [''],\n SendMobileNotification: ['']\n });\n\n addTimeSlot(): void {\n (this.addOrderForm.get('timeSlots')).push(this.addTimeSlotFormGroup());\n }\n\n /*validate phoneNumber*/\n validatePhoneNumber(value: string) {\n if (value !== '' && this.lastPhoneSelect !== value) {\n let phone: string = reformatePhone(value);\n this.lastPhoneSelect = phone;\n this.phoneNumberlengthError = phone.length >= 10 ? '' : Constant.PHONE_NUMBER_LENGTH_ERROR_MSG;\n this.addOrderForm.get('PhoneNumber').setValue(phone);\n } else {\n this.lastPhoneSelect = '';\n }\n }\n\n checkBoxValidation(checkBoxType: any) {\n var data = this.addOrderForm.get('timeSlots') as FormArray;\n var num = {};\n var i = 0;\n for (i = 0; i <= data.length - 1; i++) {\n var group = data.at(i) as FormGroup;\n var sunday = group.get('sunday').value;\n var monday = group.get('monday').value;\n var tuesday = group.get('tuesday').value;\n var wednesday = group.get('wednesday').value;\n var thursday = group.get('thursday').value;\n var friday = group.get('friday').value;\n var saturday = group.get('saturday').value;\n var applyAll = group.get('AllWeek').value;\n\n if (this.isIE == true) {\n if (checkBoxType === 'all') {\n if (applyAll) {\n this.checkBoxError = false;\n } else {\n if ((sunday || monday || tuesday || wednesday || thursday || friday || saturday) && applyAll == true) {\n this.checkBoxError = false;\n } else if (\n (sunday || monday || tuesday || wednesday || thursday || friday || saturday === false) &&\n applyAll === true\n ) {\n this.checkBoxError = false;\n } else if (\n sunday &&\n monday &&\n tuesday &&\n wednesday &&\n thursday &&\n friday &&\n saturday === true &&\n applyAll === false\n ) {\n this.checkBoxError = true;\n } else if (\n sunday == false &&\n monday == false &&\n tuesday == false &&\n wednesday == false &&\n thursday == false &&\n friday == false &&\n saturday == false &&\n applyAll == false\n ) {\n this.checkBoxError = true;\n }\n }\n } else {\n if (\n sunday == false &&\n monday == false &&\n tuesday == false &&\n wednesday == false &&\n thursday == false &&\n friday == false &&\n saturday == false &&\n checkBoxType === 'none'\n ) {\n this.checkBoxError = true;\n } else if (\n (sunday == true && checkBoxType === 'none') ||\n (monday == true && checkBoxType === 'none') ||\n (tuesday == true && checkBoxType === 'none') ||\n (wednesday == true && checkBoxType === 'none') ||\n (thursday == true && checkBoxType === 'none') ||\n (friday == true && checkBoxType === 'none') ||\n (saturday == true && checkBoxType === 'none')\n ) {\n this.checkBoxError = false;\n }\n }\n } else {\n if (sunday || monday || tuesday || wednesday || thursday || friday || saturday) {\n this.checkBoxError = false;\n } else {\n this.checkBoxError = true;\n }\n }\n num[i] = this.checkBoxError;\n if (num[i] == true) {\n this.checkboxErrorMsg = Constant.TIME_SLOT_ERROR_MESSAGE; //\"Please select atleast one day in Rule\" + (i + 1);\n this.checkBoxValidator = true;\n } else {\n this.checkBoxValidator = false;\n this.checkboxErrorMsg = '';\n }\n this.setErrorRequired(group, this.checkBoxError);\n }\n }\n setErrorRequired(group: FormGroup, validatorValue: boolean) {\n const setvalue = validatorValue ? { required: true } : null;\n group.get('sunday').setErrors(setvalue);\n group.get('monday').setErrors(setvalue);\n group.get('tuesday').setErrors(setvalue);\n group.get('wednesday').setErrors(setvalue);\n group.get('thursday').setErrors(setvalue);\n group.get('friday').setErrors(setvalue);\n group.get('saturday').setErrors(setvalue);\n group.get('AllWeek').setErrors(setvalue);\n }\n addTimeSlotFormGroup(): FormGroup {\n return this._fb.group({\n Start: ['', Validators.required],\n StartPicker: [''],\n End: ['', Validators.required],\n EndPicker: [''],\n AllWeek: ['', Validators.required],\n sunday: ['', Validators.required],\n monday: ['', Validators.required],\n tuesday: ['', Validators.required],\n wednesday: ['', Validators.required],\n thursday: ['', Validators.required],\n friday: ['', Validators.required],\n saturday: ['', Validators.required]\n });\n }\n\n getTimeFromTimeSlot(timeslots: any, timepos: number, timetype: string) {\n if (timetype == 'start') {\n let timetext = timeslots.value[timepos].Start;\n let meridianTime = this.getCurrentTime(timetext);\n return meridianTime;\n } else {\n let timetext = timeslots.value[timepos].End;\n let meridianTime = this.getCurrentTime(timetext);\n return meridianTime;\n }\n }\n\n getCurrentTime(timeInput: any) {\n var currentTime;\n var currentDate = new Date(timeInput);\n // OR we can define like that also for current date\n // var currentDate = new Date();\n let hour: any = currentDate.getHours();\n hour = ('0' + hour).slice(-2);\n let minutes: any = currentDate.getMinutes();\n minutes = ('0' + minutes).slice(-2);\n var meridian = hour >= 12 ? ' PM' : ' AM';\n currentTime = ((hour + 11) % 12) + 1 + ':' + minutes + meridian;\n return currentTime;\n }\n\n /*** submit data**/\n addOrder() {\n console.log('addOrder() triggered ');\n // var data = this.addOrderForm.get('timeSlots') as FormArray;\n this.convertTime();\n var data = this.addOrderForm.get('timeSlots');\n this._logger.debug('timeslots are ' + data.value);\n this.checkBoxValidation('none');\n this.submitted = true;\n if (this.addOrderForm.get('OrderType').value == 'Calls') {\n if (this.maxCallSubmitError == true) {\n this.MaxCallCurrency$.nativeElement.focus();\n this.maxcallcurrencyFlag = false;\n }\n }\n if (this.SubmitError) {\n if (this.hourlyCallCapError.length > 0) {\n this.HourlyCallCap$.nativeElement.focus();\n } else {\n this.DailyCallCap$.nativeElement.focus();\n }\n }\n for (var i = 0; i < data.length; i++) {\n var startTimeValue = this.getTimeFromTimeSlot(data, i, 'start');\n if (startTimeValue == '') {\n document.getElementById('startPicker' + i).focus();\n }\n }\n //let endTimeErrorFlag = this.timevalidator();\n\n this.LocationErrorflag = false;\n if (this.locationList.length == 0) {\n this.LocationErrorflag = true;\n this.locationErrorNull = Constant.ERROR_ON_LOCATION;\n if (this.addOrderForm.get('State').value === 'undefined') {\n this.addOrderForm.get('State').setErrors({ required: true });\n }\n if (\n !(\n (\n this.compareTimeErrorFlag ||\n this.errorFlagStartDate ||\n this.errorFlagEndDate ||\n this.SubmitError == true ||\n this.SubmitErrorFlag == true ||\n this.LocationErrorflag == true ||\n this.checkBoxValidator === true ||\n this.startDateLimitFlag == false ||\n !this.endDateValid ||\n !this.startDateValid ||\n this.maxcallcurrencyFlag == false\n )\n //|| !this.startTimeFlag ||\n // !this.endTimeFlag\n )\n ) {\n document.getElementById('State').focus();\n }\n }\n\n //Checking date format validation in mat datepicker-Shivang_12-20-19\n this.checkDateValidity();\n\n if (this.endDateValid && this.startDateValid) {\n this.transformDateFormat();\n }\n\n if (this.SubmitErrorFlag) {\n document.getElementById('OrderName').focus();\n }\n if (this.errorFlagStartDate) {\n (document.getElementById('StartDate')).focus();\n this._logger.error(Constant.startDateLogMsg);\n } else if (this.errorFlagEndDate) {\n (document.getElementById('EndDate')).focus();\n }\n\n var controls = this.addOrderForm.controls;\n\n this.compareTimevalidator();\n\n if (\n this.addOrderForm.valid == false ||\n //endTimeErrorFlag ||\n this.compareTimeErrorFlag ||\n this.errorFlagStartDate ||\n this.errorFlagEndDate ||\n this.SubmitError == true ||\n this.SubmitErrorFlag == true ||\n this.LocationErrorflag == true ||\n this.checkBoxValidator === true ||\n this.startDateLimitFlag == false ||\n !this.endDateValid ||\n !this.startDateValid ||\n this.maxcallcurrencyFlag == false\n ) {\n return;\n }\n this.enableSpinner();\n this.showLoadingIndicator = true;\n\n this._orderService\n .createOrder(this.addOrderForm, this.integrationList, this.locationList, this.locationStateCountyZipList)\n .subscribe(\n res => {\n if (res['OrderSaveStatus'] != 'Success') {\n this.openDialog(res['ErrorMessageList']);\n this.showLoadingIndicator = false;\n } else {\n if (res['deliveryDataStatus'] != 'Success') {\n this._service.setDeliveryMessage(Constant.deliver_Data_Message);\n }\n this._service.setLeadType(this.addOrderForm.get('OrderType').value);\n this._service.setSuccessMessage(Constant.MESSAGES.ORDER_ADDED_SUCCESSFULLY.msg);\n let navigationExtras: NavigationExtras = {\n queryParams: { msg: 'add-order-success' }\n };\n this._router.navigate(['/order-summary'], navigationExtras);\n }\n },\n err => {\n this._logger.debug('error was ' + err);\n this._logger.error(Constant.submitLogMsg);\n }\n );\n\n this.disableSpinner();\n }\n /* End time validation Monika*/\n timevalidator() {\n let endTimeFields = document.getElementsByClassName('deliveryEndTimeClass') as HTMLCollectionOf;\n let errorFlag = false;\n let endTimeIndex = 0;\n for (let i = 0; i < endTimeFields.length; i++) {\n let endTimeText = this.getTimeFromTimeSlot(this.addOrderForm.get('timeSlots'), endTimeIndex, 'end');\n let errorDiv = endTimeFields[i].parentElement.nextElementSibling;\n if (i % 2 != 0) {\n endTimeIndex++;\n }\n if (endTimeText.trim() == '') {\n errorDiv.textContent = Constant.END_ERROR_MESSAGE;\n document.getElementById('endTime' + (endTimeIndex - 1)).focus();\n errorFlag = true;\n } else {\n errorDiv.textContent = '';\n }\n }\n return errorFlag;\n }\n /* Compare time validation Monika*/\n clearTimeMessages(event: any) {\n if (event != 'submit') {\n var getID = event.target.id;\n var timeName = getID.split('Time');\n if (timeName[0] == 'start') {\n document.getElementById('startTimeErr' + timeName[1]).innerHTML = ' ';\n } else if (timeName[0] == 'end') {\n document.getElementById('endTimeErr' + timeName[1]).innerHTML = ' ';\n }\n }\n }\n\n getOrderTypeValue(orderType: string) {\n if (orderType == 'Calls') {\n this.hideLocationCountyZipCode = true;\n } else {\n this.hideLocationCountyZipCode = false;\n }\n this.clearLocationControlValue();\n this.integrationList = [];\n this.filterList = [];\n this.updateLeadSourcesControl(this.integrationList.length);\n this.enableSpinner();\n const Leadsources = this.addOrderForm.get('Leadsources');\n Leadsources.setValue('');\n Leadsources.updateValueAndValidity();\n if (this.setLeadValueOnSelect != orderType) {\n this.locationList = [];\n this.locationStateCountyZipList = [];\n }\n this.setLeadValueOnSelect = orderType;\n if (orderType != '') {\n const productTypeControl = this.addOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n this.leadSources = [];\n this.filterList = [];\n\n /* open get productutypes when select order type */\n\n this._orderService.getProductTypes(orderType).subscribe(\n res => {\n this.productType = JSON.parse(res.toString());\n this.disableSpinner();\n },\n err => {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(Constant.productTypeLogMsg);\n }\n );\n\n /* end get productutypes when select order type */\n\n if (orderType == 'Calls') {\n /* open hide county and zipcode location */\n this.hideLocationCountyZipCode = true;\n this.resizeTableOnCallTab = true;\n /* end hide county and zipcode location */\n this.getPhoneDropDown();\n this.phoneNumberlengthError = '';\n this.HideFields = false;\n this.HideDemographics = true;\n const MaxCallCurrencyControl = this.addOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.addOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators([Validators.required]);\n MaxCallCurrencyControl.setValue('');\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators([Validators.required, Validators.minLength(10)]);\n PhoneNumberControl.setValue('');\n PhoneNumberControl.updateValueAndValidity();\n } else if (orderType == 'Leads') {\n /* open hide county and zipcode location */\n this.hideLocationCountyZipCode = false;\n this.resizeTableOnCallTab = false;\n /* open hide county and zipcode location */\n\n this.HideFields = true;\n this.HideDemographics = false;\n const MaxCallCurrencyControl = this.addOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.addOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators(null);\n MaxCallCurrencyControl.setValidators(null);\n MaxCallCurrencyControl.setValue('');\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators(null);\n PhoneNumberControl.setValue('');\n PhoneNumberControl.updateValueAndValidity();\n this.getBrokerInformation();\n } else {\n this.HideFields = false;\n this.HideDemographics = false;\n }\n this.orderTypeValue = orderType;\n } else {\n const productTypeControl = this.addOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n\n this.productType = [];\n this.leadSources = [];\n this.disableSpinner();\n }\n // this.getStateData();\n this.clearLocationControlValue();\n }\n // get product type list based on the order type value\n getProductTypeValue(event: any) {\n const Leadsources = this.addOrderForm.get('Leadsources');\n const OrderType = this.addOrderForm.get('OrderType').value;\n Leadsources.setValue('');\n Leadsources.setValidators([Validators.required]);\n Leadsources.updateValueAndValidity();\n if (event.target.value != '') {\n this.filterList = [];\n this.integrationList = [];\n this.productTypeValue = event.target.value;\n if (OrderType != '') {\n this.LeadSources();\n }\n } else {\n this.leadSources = [];\n }\n }\n /*Open Show/Hide Spinner Methods*/\n enableSpinner(): void {\n this.spinnerFlag = true;\n }\n\n disableSpinner(): void {\n this.spinnerFlag = false;\n }\n /*End Show/Hide Spinner Methods*/\n checkDateValidity() {\n let startDateValue = (document.getElementById('StartDate')).value;\n let endDateValue = (document.getElementById('EndDate')).value;\n if (startDateValue !== '' && !this.isValidDate(startDateValue)) {\n this.startDateErrorMsg = Constant.ENDDATEERROR;\n this.startDateValid = false;\n (document.getElementById('StartDate')).focus();\n } else {\n this.startDateErrorMsg = '';\n this.startDateValid = true;\n }\n if (endDateValue !== '' && !this.isValidDate(endDateValue)) {\n this.endDateErrorMsg = Constant.ENDDATEERROR;\n this.endDateValid = false;\n (document.getElementById('EndDate')).focus();\n } else {\n this.endDateErrorMsg = '';\n this.endDateValid = true;\n }\n }\n /* Start - Method for Start and End Date Validation- Shivang_20-12-19*/\n validateDate(event: any): void {\n this.checkDateValidity();\n this.errorMessage = '';\n this.errorMessageStartDate = '';\n this.errorMessageStartDatelimit = '';\n this.errorMessagelimit = '';\n let inputStartDate = this.StartDate;\n let inputEndDate = this.EndDate;\n\n inputStartDate = this._datePipe.transform(inputStartDate, 'yyyy-MM-dd');\n inputEndDate = this._datePipe.transform(inputEndDate, 'yyyy-MM-dd');\n if (inputStartDate != null) {\n /*date validation changes -monika*/\n this.startDateErrorMsg = '';\n this.startDateValid = true;\n let todayDate;\n todayDate = this._datePipe.transform(this.currentDate, 'yyyy-MM-dd');\n if (inputStartDate < todayDate) {\n /*date validation changes -monika*/\n this.errorMessageStartDatelimit = Constant.DATELIMITERROR;\n this.startDateLimitFlag = false;\n } else {\n this.errorMessageStartDatelimit = '';\n this.startDateLimitFlag = true;\n }\n }\n\n if (inputEndDate != null) {\n /*date validation changes -monika*/\n this.endDateErrorMsg = '';\n this.endDateValid = true;\n let todayDate = this._datePipe.transform(this.currentDate, 'yyyy-MM-dd');\n if (inputEndDate < todayDate) {\n /*date validation changes -monika*/\n this.errorMessagelimit = Constant.DATELIMITERROR;\n this.errorFlagEndDate = true;\n }\n }\n\n if (inputStartDate == '') {\n this.errorMessageStartDatelimit = '';\n }\n if (inputEndDate == '' || inputEndDate == null) {\n this.errorMessage = '';\n this.errorMessageStartDate = '';\n this.errorMessagelimit = '';\n this.errorFlagEndDate = false;\n this.errorFlagStartDate = false;\n }\n\n if (inputStartDate != null && inputEndDate != null) {\n let selectedDateField;\n //For mat input event.targetElement.name gives field name insted event.target.name-Shivang_261219\n selectedDateField = event.targetElement.name;\n if (selectedDateField == 'StartDate' && inputStartDate >= inputEndDate) {\n this.errorMessageStartDate = Constant.errorMessageStartDate;\n this.errorFlagStartDate = true;\n } else {\n this.errorFlagStartDate = false;\n }\n if (selectedDateField == 'EndDate' && inputEndDate <= inputStartDate) {\n this.errorMessage = Constant.errorMessageEndDate;\n this.errorFlagEndDate = true;\n } else {\n this.errorFlagEndDate = false;\n }\n }\n }\n /******order name validation Start******/\n validateOrderName(event: any) {\n this.orderError = '';\n this.orderName = this.trimming_fn(event.target.value);\n if (this.orderName == '' || this.orderName == null) {\n this.orderError = Constant.ORDER_NAME_MSG;\n this.SubmitErrorFlag = true;\n } else {\n this.SubmitErrorFlag = false;\n }\n }\n\n trimming_fn(x: any) {\n return x ? x.replace(/^\\s+|\\s+$/gm, '') : '';\n }\n /*****leadcap section validation start*****/\n validateMaxCallCurrency(event: any) {\n if (this.browserName == 'ie') {\n this.checkMaxCallNumber(event, 'maxCall');\n }\n this.maxcallcurrencyFlag = true;\n this.maxCallCurrencyRangeError = '';\n let maxCallCurrencyLimitError = document.getElementById('MaxCallCurrencyLimitError');\n\n this.decimalValue = this.checkDecimalValue(event.target.value);\n if (this.decimalValue) {\n this.checkMaxCallCurrencyRange = this.checkRange(event.target.value);\n if (this.checkMaxCallCurrencyRange) {\n maxCallCurrencyLimitError.setAttribute('style', 'display:none;');\n this.maxCallCurrencyRangeError = '';\n this.maxCallSubmitError = false;\n } else {\n this.maxCallCurrencyRangeError = Constant.limitCapError;\n maxCallCurrencyLimitError.setAttribute('style', 'display:block;');\n this.maxCallSubmitError = true;\n }\n } else {\n this.maxCallCurrencyRangeError = Constant.DECIMAL_MESSAGE;\n maxCallCurrencyLimitError.setAttribute('style', 'display:block;');\n this.maxCallSubmitError = true;\n }\n }\n\n checkDecimalValue(value: any) {\n if (value % 1 === 0) return true;\n else return false;\n }\n /* selectleadsources on pressing enterkey firefox*/\n validateEnter(e: any) {\n if (e.keyCode === 13 && navigator.userAgent.search('Firefox') >= 0) {\n this.onLeadSourceChange(e.target.value);\n }\n }\n /* selectleadsources on pressing enterkey firefox*/\n\n validateDailyLeadCap(event: any) {\n if (this.browserName == 'ie') {\n this.checkDailyCapNumber(event, 'daily');\n }\n this.dailyCallCapError = '';\n\n this.checkdailyCapRange = this.checkRange(event.target.value); //define\n let dailyCallCapLimitError = document.getElementById('DailyCallCapLimtError');\n if (this.checkdailyCapRange) {\n dailyCallCapLimitError.setAttribute('style', 'display:none;');\n this.compareValue('DailyCallCap', dailyCallCapLimitError);\n } else {\n this.dailyCallCapError = Constant.limitCapError;\n dailyCallCapLimitError.setAttribute('style', 'display:block;');\n this.SubmitError = true;\n }\n }\n\n validateHourlyLeadCap(event: any) {\n if (this.browserName == 'ie') {\n this.checkNumber(event, 'hourly');\n }\n this.hourlyCallCapError = '';\n this.checkHourlyCapRange = this.checkRange(event.target.value); //define\n let hourlyCallCapLimitError = document.getElementById('HourlyCallCapLimtError');\n if (this.checkHourlyCapRange) {\n hourlyCallCapLimitError.setAttribute('style', 'display:none;');\n this.compareValue('HourlyCallCap', hourlyCallCapLimitError);\n } else {\n this.hourlyCallCapError = Constant.limitCapError;\n hourlyCallCapLimitError.setAttribute('style', 'display:block;');\n this.SubmitError = true;\n }\n }\n\n checkRange(value: any) {\n if ((value < 1 || value > 100) && value != '') {\n return false;\n }\n return true;\n }\n\n compareValue(eventName: string, leadFlowError: any) {\n this.DailyCallCap = +this.addOrderForm.get('DailyCallCap').value;\n this.HourlyCallCap = +this.addOrderForm.get('HourlyCallCap').value;\n if (this.DailyCallCap > 0 && this.HourlyCallCap > 0) {\n if (eventName == 'HourlyCallCap') {\n this.checkdailyCapRange = this.checkRange(this.DailyCallCap);\n if (this.DailyCallCap < this.HourlyCallCap) {\n this.hourlyCallCapError = Constant.HOURLY_CALL_CAP_ERROR_MSG;\n\n if (this.checkdailyCapRange) {\n leadFlowError.setAttribute('style', 'display:block;');\n this.dailyCallCapError = '';\n } else {\n this.dailyCallCapError = Constant.limitCapError;\n leadFlowError.setAttribute('style', 'display:block;');\n this.SubmitError = true;\n }\n this.SubmitError = true;\n } else {\n if (this.checkdailyCapRange) {\n leadFlowError.setAttribute('style', 'display:block;');\n this.dailyCallCapError = '';\n this.SubmitError = false;\n }\n leadFlowError.setAttribute('style', 'display:block;');\n this.hourlyCallCapError = '';\n }\n } else {\n if (this.DailyCallCap < this.HourlyCallCap) {\n this.dailyCallCapError = Constant.DAILY_CALL_CAP_ERROR_MSG;\n leadFlowError.setAttribute('style', 'display:block;');\n this.checkHourlyCapRange = this.checkRange(this.HourlyCallCap);\n if (this.checkHourlyCapRange) {\n leadFlowError.setAttribute('style', 'display:block;');\n this.hourlyCallCapError = '';\n } else {\n this.hourlyCallCapError = Constant.limitCapError;\n leadFlowError.setAttribute('style', 'display:block;');\n this.SubmitError = true;\n }\n this.SubmitError = true;\n } else {\n if (this.checkHourlyCapRange) {\n leadFlowError.setAttribute('style', 'display:block;');\n this.hourlyCallCapError = '';\n } else {\n this.hourlyCallCapError = Constant.limitCapError;\n leadFlowError.setAttribute('style', 'display:block;');\n this.SubmitError = true;\n return;\n }\n leadFlowError.setAttribute('style', 'display:none;');\n this.dailyCallCapError = '';\n this.SubmitError = false;\n }\n }\n }\n }\n /*****leadcap section validation end*****/\n\n closeAlert() {\n this.isHideAlert = false;\n }\n /* open update zip code value on select state */\n updateLocationControlValue() {\n if (this.checkSelectedField === 'state') {\n const zipCodeControl = this.addOrderForm.get('ZipCode');\n const CountyControl = this.addOrderForm.get('County');\n zipCodeControl.setValue('');\n CountyControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n CountyControl.updateValueAndValidity();\n }\n }\n /* clear location fields on add */\n clearLocationControlValue() {\n this.countyData = [];\n this.locationData = [];\n this.zipData = [];\n this.getStateData();\n this.clearCountyDropDown();\n const zipCodeControl = this.addOrderForm.get('ZipCode');\n const StateControl = this.addOrderForm.get('State');\n const CountyControl = this.addOrderForm.get('County');\n zipCodeControl.setValue('');\n CountyControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n CountyControl.updateValueAndValidity();\n }\n /*get county and state from zipcode*/\n getStateAndCountyByZipCode(event: any) {\n this.enableSpinner();\n const stateControl = this.addOrderForm.get('State');\n const countyControl = this.addOrderForm.get('County');\n this._orderService.getStateCountyData(event).subscribe(\n res => {\n this.disableSpinner();\n this.countyData = [];\n this.locationData = [];\n let data = JSON.parse(res.toString());\n\n if (data == '' && event.length >= 5) {\n this.setInvalidLocation();\n this.locationErrorNull = '';\n this.locationError = Constant.ENTER_VALID_ZIPCODE_ERROR_MSG;\n } else {\n this.setLocation();\n this.locationErrorNull = '';\n this.locationError = '';\n }\n for (let i in data) {\n if (!this.countyData.some((item: any) => item.countyName == data[i].countyName)) {\n let customObj = new Location();\n customObj.countyName = data[i].countyName;\n this.countyData.push(customObj);\n this.ListCountySelected.push(customObj.countyName);\n this.CountySelector$.nzSelectService.updateListOfSelectedValue([customObj.countyName], true);\n setTimeout(() => (this.isAddCountyReady = true)); //reenable add location btn\n }\n\n if (!this.locationData.some((item: any) => item.state == data[i].state)) {\n let countyDataObj = new Location();\n countyDataObj.state = data[i].state;\n this.locationData.push(countyDataObj);\n }\n }\n\n if (data.length === 1) {\n stateControl.setValue(data[0].state);\n countyControl.setValue(data[0].countyName);\n } else {\n this.locationData = this.locationData.filter(\n (test: any, index: any, array: any) =>\n index === array.findIndex((findTest: any) => findTest.state === test.state)\n );\n this.setStateOnZipcodeSelection();\n }\n },\n err => {\n this._logger.error(Constant.stateZipCodeLogMsg);\n }\n );\n }\n\n setStateOnZipcodeSelection() {\n if (this.locationData.length === 1) {\n const stateControl = this.addOrderForm.get('State');\n for (let i in this.locationData) {\n stateControl.setValue(this.locationData[i].state);\n }\n }\n }\n\n onEnterZipCode(event: any) {\n if (\n event.keyCode != 9 &&\n event.keyCode != 37 &&\n event.keyCode != 38 &&\n event.keyCode != 39 &&\n event.keyCode != 40\n ) {\n event = event.target.value;\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'zipCode') {\n this.checkSelectedField = 'zipCode';\n const stateControl = this.addOrderForm.get('State');\n stateControl.setValue('undefined');\n const countyControl = this.addOrderForm.get('County');\n countyControl.setValue('');\n stateControl.updateValueAndValidity();\n countyControl.updateValueAndValidity();\n this.zipData = [];\n if (event.length == 5) {\n this.getStateAndCountyByZipCode(event);\n }\n if (event.length == 0) {\n this.setLocation();\n this.checkSelectedField = 'none';\n this.clearLocationControlValue();\n }\n }\n }\n }\n\n setLocation() {\n this.stateOptionValue = 'Select State';\n this.countyOptionValue = 'Select County';\n }\n\n setInvalidLocation() {\n this.stateOptionValue = 'No State';\n this.countyOptionValue = 'No County';\n }\n /*get county and state from zipcode*/\n onchangeState(event: any): void {\n this.zipData = [];\n this.countyData = [];\n this.clearCountyDropDown();\n if (this.checkSelectedField === 'none') {\n this.checkSelectedField = 'state';\n }\n this.updateLocationControlValue();\n this.isState = false;\n if (event === 'undefined') {\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') {\n this.checkSelectedField = 'none';\n this.countyData = [];\n this.zipData = [];\n const countyControl = this.addOrderForm.get('County');\n countyControl.setValue('');\n countyControl.updateValueAndValidity();\n }\n } else {\n const countyControl = this.addOrderForm.get('County');\n countyControl.setValue('');\n countyControl.updateValueAndValidity();\n if (\n (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') &&\n this.addOrderForm.get('OrderType').value == 'Leads'\n ) {\n this.enableSpinner();\n }\n }\n if (event != 'null' && event != '' && event != 'undefined') {\n const zipCodeControl = this.addOrderForm.get('ZipCode');\n if (typeof zipCodeControl.value === 'undefined' || zipCodeControl.value === '') {\n this.isState = true;\n this.stateForService = event;\n if (this.addOrderForm.get('OrderType').value == 'Calls') {\n return;\n }\n this._orderService.getCountyData(event).subscribe(\n res => {\n this.countyData = JSON.parse(res.toString());\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.countyLogMsg);\n }\n );\n }\n }\n }\n\n onchangeCounty(event: boolean): void {\n this.zipData = [];\n if (event == false && this.isReadySend && this.ListCountySelected.length > 0) {\n // finish select counties\n let countys = this.ListCountySelected;\n let counties;\n if (countys.length == 0) {\n this.disableSpinner();\n } else if (this.checkSelectedField === 'state' && countys.length > 0) {\n this.enableSpinner();\n }\n const zipCodeControl = this.addOrderForm.get('ZipCode');\n if (this.checkSelectedField == 'state') {\n zipCodeControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n } else {\n if (this.locationData.length === 1) {\n const stateControl = this.addOrderForm.get('State');\n stateControl.setValue(this.locationData[0].state);\n stateControl.updateValueAndValidity();\n }\n }\n\n //this.countyName = event.options[event.selectedIndex].getAttribute('data-isocode');\n this.isCounty = false;\n if (countys.length > 0) {\n this.isCounty = true;\n counties = countys.join(',');\n this._orderService.getZipData(counties, this.stateForService).subscribe(\n (res: Location[]) => {\n this.zipData = res;\n this.disableSpinner();\n this.isAddCountyReady = true;\n },\n err => {\n this._logger.error(Constant.zipcodeLogMsg);\n }\n );\n }\n }\n }\n /* Open - Insert Location List */\n insertLocationList(state: string, county: string, zipCode: string, countyList: Location[]) {\n let OrderTypeEdit = this.addOrderForm.get('OrderType').value;\n if (OrderTypeEdit == 'Calls') {\n if (!this.locationList.some(item => item.state.toString().trim() == state.toString().trim())) {\n let callLocationListEdit = new Location();\n callLocationListEdit.state = state;\n this.locationList.push(callLocationListEdit);\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n for (let county of countyList) {\n if (\n this.locationList.some(\n item =>\n item.state.toString().trim() == state.toString().trim() &&\n item.countyName.toString().trim() == county.countyName.toString().trim()\n )\n ) {\n let countyRows = this.locationList.filter(i => i.countyName == county.countyName).length;\n for (var i = 0; i < countyRows; i++) {\n let indexCounty = this.locationList.findIndex(i => i.countyName == county.countyName);\n if (indexCounty > -1) this.locationList.splice(indexCounty, 1);\n }\n }\n }\n\n let dataLocationListEdit = new Location();\n dataLocationListEdit.state = state;\n dataLocationListEdit.countyName = 'All Counties';\n dataLocationListEdit.zipCode = null;\n if (\n this.locationList.some(\n i => i.state == dataLocationListEdit.state && i.countyName == dataLocationListEdit.countyName\n ) == false\n ) {\n this.locationList.push(dataLocationListEdit);\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n }\n }\n /* End - Insert Location List */\n insertLocationStateCountyZipList(state: string, county: string[], zipCode: string) {\n if (zipCode == '' && county.length == 0 && state != 'undefined') {\n if (state != '' && !this.locationStateCountyZipList.some(item => item == state)) {\n this.locationStateCountyZipList.push(state);\n }\n }\n }\n\n insertDeleteLocationList(str: string) {\n let indexState = this.locationStateCountyZipList.indexOf(str);\n if (indexState >= 0) this.locationStateCountyZipList.splice(this.locationStateCountyZipList.indexOf(str), 1);\n }\n /* Open - Add location list in New Order */\n addLocation(state: string, county: string[], zipCode: string) {\n this.insertLocationStateCountyZipList(state, county, zipCode);\n this.locationErrorNull = '';\n this.showAllZipCode = false;\n let countiestr = county.join(',');\n if (state == null || state === '' || state === 'undefined') {\n this.locationError = Constant.STATE_COUNTY_REQ_ERROR_MSG;\n this.addOrderForm.get('State').setErrors({ required: true });\n } else {\n //force user to select order type to get correct location value\n let orderType = this.addOrderForm.get('OrderType').value;\n if (orderType == '') {\n this.locationError = Constant.locationErrorForOrderType;\n return;\n }\n //force user to select order type to get correct location value\n\n if (county == null || county.length == 0) {\n if (this.locationList.some(location => location.state === state)) {\n this.filteredCounties = this.countyData.filter(\n (counties: any) => !this.locationList.some(location => location.countyName === counties)\n );\n if (Array.isArray(this.filteredCounties) && this.filteredCounties.length) {\n if (zipCode) {\n this.locationError = Constant.SELECT_COUNTY_ERROR_MSG;\n } else {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.filteredCounties);\n this.checkSelectedField = 'none';\n }\n } else {\n this.locationError = Constant.STATE_ALREADY_EXIST;\n }\n } else {\n if (this.checkSelectedField === 'state') {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.countyData);\n this.checkSelectedField = 'none';\n } else {\n this.locationError = Constant.SELECT_COUNTY_ERROR_MSG;\n }\n }\n } else {\n if (\n this.locationList.some(\n location =>\n location.state === state &&\n location.countyName === 'All Counties' &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '') &&\n (location.zipCode == null || location.zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n (zipCode == null || zipCode.toString() == '') &&\n (location.zipCode == null || location.zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state.toLowerCase() === state.toLowerCase() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === +zipCode\n )\n ) {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n } else {\n if (this.checkSelectedField === 'state') {\n if (zipCode) {\n if (\n !this.locationList.some(\n location =>\n location.state.toLowerCase().trim() === state.toLowerCase().trim() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === +zipCode\n )\n ) {\n if (this.zipData.some((zipList: any) => zipList.zipCode == zipCode)) {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString());\n } else {\n this.locationError = Constant.ZIPCODE_NOT_EXIST_ERROR;\n }\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString());\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString());\n }\n }\n }\n }\n this.clearLocationControlValue();\n }\n /* open prepare list of location */\n insertLocationOnAddLocation(state: string, county: string, zipCode: string) {\n let customObj;\n let countySel: string[];\n if (\n this.locationList.some(\n location => location.state === state && location.countyName === county && location.zipCode == null\n )\n ) {\n this.locationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n } else if (\n this.locationList.some(\n location => location.state === state && location.countyName === 'All Counties' && location.zipCode == null\n )\n ) {\n this.locationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n }\n if (this.zipData.length > 0 && zipCode !== '') {\n countySel = this.zipData.filter(a => a.zipCode == +zipCode).map(i => i.countyName);\n } else if (this.zipData.length > 0 && zipCode === '') {\n // select state or county but no select zipcode\n countySel = county.split(',');\n } else {\n // case enter zipcode by typing\n countySel = county.split(',');\n }\n if (countySel.length == this.countyData.length && zipCode === '') {\n let countyLocationArr: Location[] = [];\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n countyLocationArr.push(customObj);\n });\n this.insertLocationList(state, county, zipCode, countyLocationArr);\n } else {\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n this.locationList.push(customObj);\n this.checkSelectedField = 'none';\n });\n }\n }\n // add lead sources to the filtered list\n onLeadSourceChange(leadSourceId: any) {\n this.selectedObject = this.leadSources.filter((t: any) => t.IntegrationId == leadSourceId);\n this.isDone = this.filterList.some((t: any) => t.IntegrationId == leadSourceId);\n if (!this.isDone) {\n this.integrationList.push(this.selectedObject[0].IntegrationId);\n this.filterList.push({\n IntegrationId: this.selectedObject[0].IntegrationId,\n LeadSourceName: this.selectedObject[0].LeadSourceName,\n TransactionCost: this.selectedObject[0].TransactionCost,\n TransactionPrice: this.selectedObject[0].TransactionPrice\n });\n }\n this.updateLeadSourcesControl(this.integrationList.length);\n this.selectedObject = [];\n }\n /* open get account balance*/\n getAccountBalance() {\n this._orderService.getAccountFundingBalance().subscribe((data: any) => {\n if (data != null) {\n this.balance = data;\n } else {\n this.balance = '0';\n }\n });\n }\n /* open restrict enter event */\n onKeydown(event: any) {\n return false;\n }\n\n onZipFocusFirefox(event: any) {\n if (navigator.userAgent.toLowerCase().indexOf('firefox') !== -1) {\n let input = this.ZipCode$.nativeElement;\n input.addEventListener('mouseover', () => {\n input.focus();\n });\n }\n }\n // delete lead sources from the list\n deleteLeadSources(leadSourceIndex: any) {\n var leadSourcesControl = this.addOrderForm.get('Leadsources');\n this.filterList.splice(leadSourceIndex, 1);\n this.integrationList.splice(leadSourceIndex, 1);\n if (this.integrationList.length == 0) {\n this.updateLeadSourcesControl(this.integrationList.length);\n }\n leadSourcesControl.setValue('');\n leadSourcesControl.updateValueAndValidity();\n }\n /* open update lead sources control */\n updateLeadSourcesControl(length: any) {\n const LeadSourcesControl = this.addOrderForm.get('Leadsources');\n if (length > 0) {\n LeadSourcesControl.setValidators(null);\n } else {\n LeadSourcesControl.setValidators([Validators.required]);\n LeadSourcesControl.setValue('');\n }\n LeadSourcesControl.updateValueAndValidity();\n }\n /* end update lead sources control */\n deleteLocationRow(locationIndex: number, state: string) {\n let countyIndex = this.selectednumber * (this.currPageAddLocation - 1) + locationIndex;\n this.insertDeleteLocationList(state);\n if (this.locationList.length <= 1) {\n const stateControl = this.addOrderForm.get('State');\n stateControl.setValue('undefined');\n stateControl.setValidators([Validators.required]);\n stateControl.updateValueAndValidity();\n }\n this.checkSelectedField = 'state';\n this.locationList.splice(countyIndex, 1);\n }\n /* view-all drop down */\n viewZipCodes(selectedData: any, i: number, event: any) {\n this.allZipCodes = [];\n this._orderService.getZipData(selectedData.countyName, selectedData.state).subscribe(\n res => {\n this.allZipCodes = JSON.parse(res.toString());\n },\n err => {\n this._logger.error(Constant.zipCodeCountyLogMsg);\n }\n );\n\n this.Ziplist = event.target.id;\n let currentViewElement = document.getElementsByClassName(this.Ziplist) as HTMLCollectionOf;\n\n if (currentViewElement[0].style.display == 'none') {\n currentViewElement[0].style.display = 'block';\n } else currentViewElement[0].style.display = 'none';\n }\n /* Open - Method For Dialog Box */\n openDialog(error: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.data = error;\n this._matDialog.open(ErrorDailogComponent, dialogConfig);\n }\n /* Open - Method For Validation Dialog Box */\n openValidationDialog(msg: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.data = msg;\n this._matDialog.open(ValidationErrorDialogComponent, dialogConfig);\n }\n\n ngOnInit() {\n if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {\n this.autoCompleteValue = 'nope';\n }\n this.setCountyEvent();\n this.hideLocationCountyZipCode = false;\n this.isIE = this._orderService.isIEBrowser();\n this.accessToken = this._orderService.getAccessTokenFromStorage();\n if (this.accessToken != null) {\n this._orderService.authentication().subscribe(\n res => {\n console.log('response' + res);\n },\n err => {\n if (!err.error.text) {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(err.error);\n }\n }\n );\n } else {\n this._orderService.returnToErrorPage(Constant.TOKEN_MISSING_ERROR_MSG);\n this._logger.error(Constant.TOKEN_MISSING_ERROR_MSG);\n }\n\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n\n /* Start- For Detecting browser on load */\n this.browserName = this.getBrowserName();\n if (this.browserName === 'ie') {\n this.isIeBrowser = true;\n this.isOtherBrowser = false;\n } else {\n this.isIeBrowser = false;\n this.isOtherBrowser = true;\n }\n /* End- For Detecting browser on load */\n\n window.scroll(0, 0);\n this.showAllZipCode = false;\n this.orderTypeError = Constant.ORDERTYPEERROR;\n this.productTypeError = Constant.PRODUCTTYPEERROR;\n this.orderNameError = Constant.ORDERNAMEERROR;\n this.startDateError = Constant.STARTDATEERROR;\n this.endDateError = Constant.ENDDATEERROR;\n this.timezoneError = Constant.TIMEZONEERROR;\n this.hourlycapError = Constant.HOURLYCAPERROR;\n this.dailycapError = Constant.DAILYCAPERROR;\n this.leadSourceError = Constant.LEADSOURCEERROR;\n this.maxCallCurrencyError = Constant.MAX_CALL_CURRENCY_ERROR_MSG;\n this.phoneNumberError = Constant.PHONE_NUMBER_ERROR_MSG;\n this.startTimeError = Constant.START_ERROR_MESSAGE;\n this.endTimeError = Constant.END_ERROR_MESSAGE;\n this.getAccountBalance();\n this.setOrderSpecificationOnOrderType();\n //this.getStateData();\n this.addOrderForm.get('PhoneNumber').valueChanges.subscribe((val: string) => {\n if (val !== '') this.validatePhoneNumber(val.toString());\n });\n }\n\n setOrderSpecificationOnOrderType() {\n let LeadTypeValue = this._service.getLeadType();\n let OrderControl = this.addOrderForm.get('OrderType');\n if (LeadTypeValue === 'Calls') {\n this.hideLocationCountyZipCode = true;\n this.resizeTableOnCallTab = true;\n this.HideFields = false;\n this.HideDemographics = true;\n OrderControl.setValue('Calls');\n this.getPhoneDropDown();\n } else if (LeadTypeValue === 'Leads') {\n this.hideLocationCountyZipCode = false;\n this.resizeTableOnCallTab = false;\n this.HideFields = true;\n this.HideDemographics = false;\n OrderControl.setValue('Leads');\n }\n this.getOrderTypeValue(LeadTypeValue);\n }\n\n /* open get location data */\n getStateData() {\n this._orderService.getLocationData(this.hideLocationCountyZipCode).subscribe(\n res => {\n this.locationData = JSON.parse(res.toString());\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.stateLogMsg);\n }\n );\n }\n onMyContactClick() {\n this.isHideAlert = true;\n this.myContactAlert = {\n type: 'warning',\n message: Constant.Manage_MYCONTACT_Message\n };\n }\n getBrokerInformation() {\n let res: brokerInfo;\n this._orderService.getBrokerInformation().subscribe(\n brokerRes => {\n res = JSON.parse(brokerRes);\n this.textEmail = !res.brokerEmail ? Constant.BrokerEmptyEmailMessage : res.brokerEmail;\n if (res.brokerEmail) {\n this.SendEmailNotification = true;\n this.chkEmailNotification = false;\n //this.addOrderForm.controls['SendEmailNotification'].enable();\n } else {\n this.SendEmailNotification = false;\n this.chkEmailNotification = true;\n //this.addOrderForm.controls['SendEmailNotification'].disable();\n }\n\n this.textMobile = !res.brokerMobile ? Constant.BrokerEmptyMobileMessage : res.brokerMobile;\n\n this.SendMobileNotification = false;\n this.chkMobileNotification = false;\n this.addOrderForm.controls['SendMobileNotification'].disable();\n\n /*\n if (res.brokerMobile) {\n this.SendMobileNotification = true;\n this.chkMobileNotification = false;\n // this.addOrderForm.controls['SendMobileNotification'].enable();\n } else {\n this.SendMobileNotification = false;\n this.chkMobileNotification = true;\n //this.addOrderForm.controls['SendMobileNotification'].disable();\n }\n */\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.BrokerEmailPhoneLogMsg);\n }\n );\n }\n getPhoneDropDown() {\n this._orderService.getPhoneDropDown(this.accessToken).subscribe(\n res => {\n this.iprolistphone = this.extractPhone(JSON.parse(res));\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.stateLogMsg);\n }\n );\n }\n extractPhone(res: brokerInfo) {\n let phonelist: string[] = [];\n let temphone = phoneFormat(res.brokerMobile);\n let phone = `Cell : ${temphone}`;\n phonelist.push(phone);\n temphone = phoneFormat(res.brokerPhone);\n phone = `Phone : ${temphone}`;\n phonelist.push(phone);\n return phonelist;\n }\n checkListPhone() {\n if (this.iprolistphone == null || this.iprolistphone.length == 0) {\n this.getPhoneDropDown();\n }\n }\n /**set flag**/\n clearTimeflag() {\n this.startTimeFlagErr = '';\n this.endTimeFlagErr = '';\n }\n /* end get location data */\n\n /* open unselect apply all checkbox */\n unSelectApplyAll(i: number) {\n var data = this.addOrderForm.get('timeSlots') as FormArray;\n var group = data.at(i) as FormGroup;\n var applyAll = group.get('AllWeek');\n if (applyAll.value == true) {\n var AllWeekControl = group.get('AllWeek');\n AllWeekControl.setValue(false);\n }\n }\n\n /* end unselect apply all checkbox */\n\n /* open set checkbox value on apply all */\n setCheckboxValue(checkBoxValue: boolean, i: number) {\n var timeslotControl = null;\n var data = this.addOrderForm.get('timeSlots') as FormArray;\n var group = data.at(i) as FormGroup;\n if (checkBoxValue == true) {\n timeslotControl = group.get('sunday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('monday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('tuesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('wednesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('thursday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('friday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('saturday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n } else {\n timeslotControl = group.get('sunday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('monday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('tuesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('wednesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('thursday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('friday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('saturday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n }\n\n group.updateValueAndValidity();\n }\n\n selectAllDay(i: number): void {\n var data = this.addOrderForm.get('timeSlots') as FormArray;\n var group = data.at(i) as FormGroup;\n var applyAll = group.get('AllWeek');\n\n if (this.isIE == false) {\n if (applyAll.value == true) {\n this.setCheckboxValue(false, i);\n } else {\n this.setCheckboxValue(true, i);\n }\n } else {\n if (applyAll.value == false) {\n this.setCheckboxValue(false, i);\n } else {\n this.setCheckboxValue(true, i);\n }\n }\n }\n\n LeadSources() {\n this.enableSpinner();\n this._orderService.getFilteredLeadSources(this.accessToken, this.orderTypeValue, this.productTypeValue).subscribe(\n res => {\n this.leadSources = JSON.parse(res.toString());\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.leadsourceLogMsg);\n }\n );\n }\n\n itemsPerPage(event: Event) {\n this.selectednumber = +(event.target).value;\n }\n\n deleteTimeSlot(i: number) {\n var data = this.addOrderForm.get('timeSlots') as FormArray;\n if (data.length > 1) {\n data.removeAt(i);\n this.checkBoxValidation('none');\n } else {\n this.openValidationDialog(Constant.RULE_ERROR_MESSAGE);\n }\n }\n /* active/inctive using spacebar press*/\n handleCheckBoxKeyUp(e: any) {\n if (e.keyCode === 32) {\n let checkBoxElement = e.target.previousElementSibling;\n checkBoxElement.click();\n return false;\n }\n }\n /* handle event of enter key*/\n handlekeyPressEvent(e: any) {\n if (e.keyCode === 13) {\n e.target.click();\n e.preventDefault();\n }\n }\n /* handle event of enter key*/\n checkNumber(e: any, flag: string) {\n const hourly = this.addOrderForm.get('HourlyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) + 1);\n hourly.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'hourly'\n ) {\n hourly.setValue(1);\n hourly.updateValueAndValidity();\n } else if (e.keyCode === 38 && Number(e.target.value) >= 100 && flag == 'hourly') {\n hourly.setValue(100);\n hourly.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) - 1);\n hourly.updateValueAndValidity();\n }\n }\n\n checkDailyCapNumber(e: any, flag: string) {\n const daily = this.addOrderForm.get('DailyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) + 1);\n daily.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'daily'\n ) {\n daily.setValue(1);\n daily.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'daily') {\n daily.setValue(100);\n daily.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) - 1);\n daily.updateValueAndValidity();\n }\n }\n\n checkMaxCallNumber(e: any, flag: string) {\n const maxcall = this.addOrderForm.get('MaxCallCurrency');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) + 1);\n maxcall.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1 && flag == 'maxCall')) &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(1);\n maxcall.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'maxCall') {\n maxcall.setValue(100);\n maxcall.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) - 1);\n maxcall.updateValueAndValidity();\n }\n }\n /* Start- Method For Detecting browser-Shivang_10-12-19*/\n public getBrowserName() {\n const agent = window.navigator.userAgent.toLowerCase();\n switch (true) {\n case agent.indexOf('edge') > -1:\n return 'edge';\n case agent.indexOf('opr') > -1 && !!(window).opr:\n return 'opera';\n case agent.indexOf('chrome') > -1 && !!(window).chrome:\n return 'chrome';\n case agent.indexOf('trident') > -1:\n return 'ie';\n case agent.indexOf('firefox') > -1:\n return 'firefox';\n case agent.indexOf('safari') > -1:\n return 'safari';\n default:\n return 'other';\n }\n }\n /* Start - Method to check date validity */\n public isValidDate(dateString: any): boolean {\n let dateformat = /^(0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])[\\/\\-]\\d{4}$/;\n if (dateString.match(dateformat)) {\n if (moment(dateString, 'MM/DD/YYYY').isValid()) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n /* Start - Method to check date input chars */\n checkDateInput(event: any) {\n const dateLength = event.target.value.length;\n let charCode = event.which ? event.which : event.keyCode;\n if ((charCode > 31 && (charCode < 47 || charCode > 57)) || dateLength > 9) {\n return false;\n }\n\n if (event.which !== 8 || event.which !== 46) {\n let dateInput = document.getElementById(event.target.id);\n let dateValue = dateInput.value;\n if (dateValue.length === 2 || dateValue.length === 5) {\n event.target.value = event.target.value + '/';\n }\n }\n return true;\n }\n /* Start - Method to check time input chars-Shivang_24-12-19 */\n checkTimeInput(event: any) {\n let charCode = event.which ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 47 || charCode > 57)) {\n return false;\n }\n return true;\n }\n /* Start - Method to transform date format for IE-Shivang_12-20-19 */\n transformDateFormat() {\n this.sDate = this._datePipe.transform(this.StartDate, 'yyyy-MM-dd');\n this.eDate = this._datePipe.transform(this.EndDate, 'yyyy-MM-dd');\n const startDateControl = this.addOrderForm.get('StartDate');\n const endDateControl = this.addOrderForm.get('EndDate');\n startDateControl.setValue(this.sDate);\n endDateControl.setValue(this.eDate);\n startDateControl.updateValueAndValidity();\n endDateControl.updateValueAndValidity();\n }\n /* End - Method to transform date format for IE-Shivang 12-20-19 */\n convertTime() {\n var timeSlots = this.addOrderForm.get('timeSlots') as FormArray;\n var startTime, endTime, group;\n for (let i = 0; i < timeSlots.length; i++) {\n group = timeSlots.at(i) as FormGroup;\n startTime = group.get('Start').value;\n if (startTime !== '') {\n startTime = startTime.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n startTime = this.time24Format(startTime);\n }\n\n endTime = group.get('End').value;\n if (endTime !== '') {\n endTime = endTime.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n endTime = this.time24Format(endTime);\n }\n\n group.patchValue({ Start: startTime, End: endTime });\n group.get('Start').setErrors(null);\n group.get('End').setErrors(null);\n }\n }\n\n startPickerChange(index: any) {\n this.compareTimevalidator();\n }\n\n endPickerChange(index: any) {\n this.compareTimevalidator();\n }\n\n time24Format(input: string): string {\n let suff = input.split(' ')[1];\n let hour = +input.split(':')[0];\n let min = suff != undefined ? input.split(':')[1].substr(0, 2) : input.split(':')[1];\n let hour24;\n if (suff == undefined) {\n suff = hour >= 12 ? 'PM' : 'AM';\n }\n if (suff === 'AM') {\n hour = hour == 12 ? 0 : hour;\n hour24 = hour;\n } else {\n hour24 = hour >= 12 ? hour : hour + 12;\n }\n return `${hour24}:${min}`;\n }\n\n compareTimevalidator() {\n var data = null;\n var dataLength = null;\n\n this.compareTimeErrorFlag = true;\n data = this.addOrderForm.get('timeSlots') as FormArray;\n dataLength = data.length;\n\n var compareTimeCount = 0;\n for (compareTimeCount = 0; compareTimeCount <= dataLength - 1; compareTimeCount++) {\n var group = data.at(compareTimeCount) as FormGroup;\n var endTime = group.get('End').value;\n if (endTime == '') {\n group.get('End').setErrors({ required: true });\n }\n var startTime = group.get('Start').value;\n if (startTime == '') {\n group.get('Start').setErrors({ required: true });\n }\n var sampleDate = '04/12/2019 ';\n var endTimeValue = new Date(sampleDate + endTime);\n var startTimeValue = new Date(sampleDate + startTime);\n var compareTimeErrorDiv = null;\n compareTimeErrorDiv = document.getElementById('errorEndTime' + compareTimeCount);\n if (endTime != '' && startTimeValue >= endTimeValue) {\n compareTimeErrorDiv.innerHTML = Constant.TIME_COMPARE_ERROR_MESSAGE;\n this.compareTimeErrorFlag = true;\n } else {\n this.compareTimeErrorFlag = false;\n compareTimeErrorDiv.innerHTML = '';\n }\n }\n }\n\n checkPhoneNumberKeyInput(event: any) {\n let keyCode = event.keyCode;\n if (\n (keyCode >= 48 && keyCode <= 57) ||\n keyCode == 8 ||\n (keyCode >= 35 && keyCode <= 40) ||\n keyCode == 46 ||\n (keyCode >= 96 && keyCode <= 105)\n ) {\n if (\n event.key === '-' ||\n event.key === '@' ||\n event.key === '!' ||\n event.key === '#' ||\n event.key === '$' ||\n event.key === '%' ||\n event.key === '*' ||\n event.key === '(' ||\n event.key === '^' ||\n event.key === '_' ||\n event.key === '&' ||\n event.key === '~' ||\n event.key === ')' ||\n event.key === '_' ||\n event.key === '`' ||\n event.key === '='\n )\n return false;\n return true;\n } //\n else {\n return false;\n }\n }\n /* Start Method - Checks key input value for call caps,restricting greater than 3 digit */\n checkCallCapValueOnInput(event: any) {\n let callCapValue = event.target.value;\n const maxLength = event.target.maxLength;\n if (callCapValue.length > maxLength) {\n event.target.value = callCapValue.slice(0, maxLength);\n }\n }\n /* End Method - Checks key input value for call caps,restricting greater than 3 digit */\n setCountyEvent() {\n this.CountySelector$.registerOnChange((values: string[]) => {\n this.isAddCountyReady = false;\n if (values.indexOf('Select All') > -1) {\n this.isReadySend = false;\n this.isSelectAll = true;\n let items = this.countyData.map(a => a.countyName);\n this.ListCountySelected = items;\n if (values.length > 1) {\n values.forEach(k => {\n let index = this.ListCountySelected.findIndex(a => a == k);\n if (index > -1) this.ListCountySelected.splice(index, 1);\n });\n this.updatePanel();\n } else {\n this.updatePanel();\n }\n } else {\n this.isReadySend = true;\n this.isSelectAll = false;\n this.ListCountySelected = values;\n }\n });\n }\n\n private updatePanel() {\n this.CountySelector$.writeValue(this.ListCountySelected);\n this.CountySelector$.closeDropDown();\n setTimeout(() => {\n this.CountySelector$.toggleDropDown();\n this.isReadySend = true;\n }, null);\n }\n\n private clearCountyDropDown() {\n this.ListCountySelected = [];\n this.CountySelector$.writeValue([]);\n }\n getFormControl(name: string) {\n return this.addOrderForm.get(name);\n }\n getFormArrayControl(name: string, arrayName: string, index: number) {\n const array = this.addOrderForm.get(arrayName) as FormArray;\n return array.at(index).get(name);\n }\n\n isValid(name: string) {\n var e = this.getFormControl(name);\n return e && e.valid;\n }\n hasError(name: string, prop?: string) {\n let e = this.getFormControl(name);\n\n if (prop) {\n if (e.getError(prop) != null) return e && (this.submitted || e.dirty || e.touched) && e.getError(prop);\n else return false;\n } else {\n return e && (this.submitted || e.dirty || e.touched) && !e.valid;\n }\n }\n hasArrayError(arrayName: string, name: string, prop: string, index: number) {\n let e = this.getFormArrayControl(name, arrayName, index);\n\n if (prop) {\n if (e.getError(prop) != null) return e && (this.submitted || e.dirty || e.touched) && e.getError(prop);\n else return false;\n } else {\n return e && (this.submitted || e.dirty || e.touched) && !e.valid;\n }\n }\n}\n\nclass LeadSourceIntegration {\n IntegrationId: string;\n LeadSourceName: string;\n TransactionCost: string;\n TransactionPrice: string;\n}\n","import { NgModule } from '@angular/core';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { OrderAddRoutingModule } from './order-add-routing.module';\nimport { OrderAddComponent } from './order-add.component';\nimport { Ng5SliderModule } from 'ng5-slider';\nimport { FormsModule } from '@angular/forms';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown-angular7';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { DatePipe } from '@angular/common';\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\nimport { SharedModule } from '@app/shared/shared.module';\nimport { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n NgxPaginationModule,\n TranslateModule,\n NgbModule,\n OrderAddRoutingModule,\n Ng5SliderModule,\n NgMultiSelectDropDownModule.forRoot(),\n FormsModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatRippleModule,\n MatIconModule,\n NgxMaterialTimepickerModule,\n SharedModule,\n NgZorroAntdModule\n ],\n declarations: [OrderAddComponent],\n providers: [DatePipe, { provide: NZ_I18N, useValue: en_US }],\n bootstrap: [OrderAddComponent]\n})\nexport class OrderAddModule {}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\nimport { extract } from '@app/core';\nimport { OrderEditComponent } from './order-edit.component';\n\nconst routes: Routes = [\n { path: 'order-edit/:orderId', component: OrderEditComponent, data: { title: extract('order-edit') } }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule]\n})\nexport class OrderEditRoutingModule {}\n","export default \".jumbotron h3 {\\n font-size: 15px;\\n text-transform: uppercase; }\\n\\n.alert.alert-warning.mt-0.mb-4.warningMsg {\\n width: 429px !important;\\n display: inline-block;\\n right: 335px;\\n font-weight: 400; }\\n\\n.order-add-container {\\n max-width: 1500px;\\n margin-bottom: 36px; }\\n\\n.error-danger {\\n font-size: 11px !important; }\\n\\n.not-allowed {\\n cursor: not-allowed; }\\n\\n#leadsources {\\n margin-top: 7px; }\\n\\n.order-add-container h3.order-title {\\n font-size: 18px; }\\n\\n.view-all {\\n color: #0074c9;\\n width: 39%;\\n margin: 0 -1px 0 -1px !important; }\\n\\n.edit-success-msg {\\n position: fixed;\\n left: 0;\\n right: 0;\\n margin: 0 auto;\\n text-align: center;\\n width: 275px;\\n float: left;\\n color: #155724; }\\n\\n.spinner {\\n border: 16px solid silver;\\n border-top: 16px solid #337ab7;\\n border-radius: 100%;\\n -webkit-animation: spin 1s infinite linear;\\n animation: spin 1s infinite linear;\\n top: 50%;\\n left: 50%;\\n position: relative;\\n width: 75px;\\n height: 75px;\\n display: inline-block;\\n border-width: 2px;\\n border-color: #0074c9;\\n border-top-color: #fff;\\n border-style: solid; }\\n\\n.spinner-position {\\n top: 50% !important;\\n position: absolute !important;\\n z-index: 9999; }\\n\\n.custom-values {\\n border: 1px solid #d7d7d7;\\n padding: 10px;\\n word-break: break-all !important;\\n background: #ededed;\\n box-shadow: 1px 1px 7px 1px #ccc;\\n transition: all 0.2s ease-in 0s;\\n overflow: scroll;\\n height: 130px; }\\n\\n.cursor-pointer {\\n cursor: pointer; }\\n\\n.ziplist {\\n position: absolute;\\n width: 81px;\\n height: 120px; }\\n\\n.tab-content label {\\n padding: 0 0 3px 0;\\n margin: 0 auto;\\n font-size: 13px; }\\n\\nul.list-inline.source-list li {\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n background: #cee4f2;\\n border: 1px solid #c9c9c9;\\n border-radius: 2px;\\n margin-right: 10px;\\n margin-bottom: 10px;\\n padding: 5px 31px 5px 12px;\\n color: #000;\\n position: relative;\\n font-size: 11px; }\\n\\nul.list-inline.source-list li button.btn.btn-link {\\n color: #c9c9c9;\\n font-size: 32px;\\n position: absolute;\\n right: 3px;\\n top: 4px;\\n line-height: 19px;\\n padding: 0; }\\n\\nul.list-inline.source-list li button.btn.btn-link:hover {\\n text-decoration: none !important; }\\n\\nbutton.btn.btn-outline-primary.float-right {\\n background-color: #f88d01;\\n border: none;\\n color: white; }\\n\\nbutton.btn.btn-outline-primary.float-left {\\n background-color: #f88d01;\\n border: none;\\n color: white; }\\n\\n.location-error {\\n padding: 14px;\\n color: red; }\\n\\ninput.Time-Slots {\\n font-size: 15px;\\n max-width: 115px; }\\n\\n.overlay {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: fixed;\\n background: rgba(255, 255, 255, 0.5); }\\n\\n.overlay.custom-overlay {\\n height: 93%;\\n bottom: 0px;\\n top: auto; }\\n\\n.overlay__inner {\\n left: 0;\\n top: 0;\\n width: 100%;\\n height: 100%;\\n position: absolute; }\\n\\n.overlay__content {\\n left: 50%;\\n position: absolute;\\n top: 50%;\\n -ms-transform: translate(-50%, -50%);\\n transform: translate(-50%, -50%); }\\n\\n@-webkit-keyframes spin {\\n 100% {\\n transform: rotate(360deg); } }\\n\\n@keyframes spin {\\n 100% {\\n transform: rotate(360deg); } }\\n\\n.custom-active {\\n border: 1px solid #ededed;\\n background-color: #fff; }\\n\\n.fade-edit {\\n color: grey;\\n cursor: no-drop; }\\n\\n.show-error {\\n color: red;\\n font-size: 12px;\\n padding: 10px 0 0 76px; }\\n\\n.edit-success-alert {\\n padding: 3px;\\n font-weight: 400; }\\n\\n/*Open - Location-ZipCode View All */\\n\\n.close {\\n cursor: pointer;\\n background-color: darkgray;\\n padding-right: 3px;\\n padding-left: 3px; }\\n\\n.close-zip {\\n background: lightgrey;\\n width: 81px;\\n margin-left: 0px; }\\n\\n.zip-content {\\n position: absolute;\\n overflow-y: scroll;\\n z-index: 999;\\n height: 100px;\\n color: black;\\n width: 81px;\\n background: lightgrey;\\n text-align: center;\\n padding-bottom: 5px; }\\n\\n.tab-style {\\n padding: 14px; }\\n\\n.agefiltermsg {\\n font-size: 1.2em;\\n margin: 5px;\\n padding-left: 20px;\\n padding-right: 20px; }\\n\\n/*Close - Location-ZipCode View All */\\n\\n/* Open- Styling Disabled Fields In Edit Order */\\n\\nselect:disabled {\\n color: #b7b7b7;\\n background-color: #ffffff;\\n opacity: 0.7; }\\n\\n@media all and (-ms-high-contrast: none), (-ms-high-contrast: active) {\\n select:disabled {\\n color: #b7b7b7;\\n background-color: #ffffff;\\n opacity: 0.5; } }\\n\\n.hideLocation {\\n display: none; }\\n\\n.resizeTableCallTab {\\n width: 28%;\\n margin-top: 3%;\\n margin-left: unset !important; }\\n\\n.Pagination {\\n margin-left: 35%; }\\n\\nbtn.warningMsg {\\n display: none;\\n height: auto !important;\\n position: absolute;\\n top: 0px;\\n right: 45%;\\n padding: 12px;\\n font-size: 29px; }\\n\\n.notification-text {\\n padding-left: 25px !important;\\n font-weight: normal !important; }\\n\\n.error {\\n border-color: #b94a48 !important; }\\n\\n.errorTimePicker,\\n.checkbox {\\n border: 1px solid #fff; }\\n\\n.error-star {\\n font-weight: bolder !important; }\\n\\n/*Close - Location-ZipCode View All */\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3JkZXJzL29yZGVyLWVkaXQvRDpcXGFcXDFcXHNcXE5HVFMuTGVhZE1hcmtldC5Qb3J0YWwuQ2xpZW50XFxDbGllbnRBcHAvc3JjXFxhcHBcXG9yZGVyc1xcb3JkZXItZWRpdFxcb3JkZXItZWRpdC5jb21wb25lbnQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQTtFQUNFLGVBQWU7RUFDZix5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSx1QkFBdUI7RUFDdkIscUJBQXFCO0VBQ3JCLFlBQVk7RUFDWixnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxpQkFBaUI7RUFDakIsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsMEJBQTBCLEVBQUE7O0FBRzVCO0VBQ0UsbUJBQW1CLEVBQUE7O0FBR3JCO0VBQ0UsZUFBZSxFQUFBOztBQUdqQjtFQUNFLGVBQWUsRUFBQTs7QUFHakI7RUFDRSxjQUFjO0VBQ2QsVUFBVTtFQUNWLGdDQUFnQyxFQUFBOztBQUdsQztFQUNFLGVBQWU7RUFDZixPQUFPO0VBQ1AsUUFBUTtFQUNSLGNBQWM7RUFDZCxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLFdBQVc7RUFDWCxjQUFjLEVBQUE7O0FBR2hCO0VBQ0UseUJBQXlCO0VBQ3pCLDhCQUE4QjtFQUM5QixtQkFBbUI7RUFDbkIsMENBQWtDO1VBQWxDLGtDQUFrQztFQUNsQyxRQUFRO0VBQ1IsU0FBUztFQUNULGtCQUFrQjtFQUNsQixXQUFXO0VBQ1gsWUFBWTtFQUNaLHFCQUFxQjtFQUNyQixpQkFBaUI7RUFDakIscUJBQXFCO0VBQ3JCLHNCQUFzQjtFQUN0QixtQkFBbUIsRUFBQTs7QUFHckI7RUFDRSxtQkFBbUI7RUFDbkIsNkJBQTZCO0VBQzdCLGFBQWEsRUFBQTs7QUFHZjtFQUNFLHlCQUF5QjtFQUN6QixhQUFhO0VBQ2IsZ0NBQWdDO0VBQ2hDLG1CQUFtQjtFQUNuQixnQ0FBZ0M7RUFDaEMsK0JBQStCO0VBQy9CLGdCQUFnQjtFQUNoQixhQUFhLEVBQUE7O0FBR2Y7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0Usa0JBQWtCO0VBQ2xCLFdBQVc7RUFDWCxhQUFhLEVBQUE7O0FBR2Y7RUFDRSxrQkFBa0I7RUFDbEIsY0FBYztFQUNkLGVBQWUsRUFBQTs7QUFHakI7RUFDRSwyQkFBb0I7RUFBcEIsb0JBQW9CO0VBQ3BCLG1CQUFtQjtFQUNuQix5QkFBeUI7RUFDekIsa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQixtQkFBbUI7RUFDbkIsMEJBQTBCO0VBQzFCLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsZUFBZSxFQUFBOztBQUdqQjtFQUNFLGNBQWM7RUFDZCxlQUFlO0VBQ2Ysa0JBQWtCO0VBQ2xCLFVBQVU7RUFDVixRQUFRO0VBQ1IsaUJBQWlCO0VBQ2pCLFVBQVUsRUFBQTs7QUFHWjtFQUNFLGdDQUFnQyxFQUFBOztBQUdsQztFQUNFLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osWUFBWSxFQUFBOztBQUdkO0VBQ0UseUJBQXlCO0VBQ3pCLFlBQVk7RUFDWixZQUFZLEVBQUE7O0FBR2Q7RUFDRSxhQUFhO0VBQ2IsVUFBVSxFQUFBOztBQUdaO0VBQ0UsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBQUdsQjtFQUNFLE9BQU87RUFDUCxNQUFNO0VBQ04sV0FBVztFQUNYLFlBQVk7RUFDWixlQUFlO0VBQ2Ysb0NBQW9DLEVBQUE7O0FBRXRDO0VBQ0UsV0FBVztFQUNYLFdBQVc7RUFDWCxTQUFTLEVBQUE7O0FBR1g7RUFDRSxPQUFPO0VBQ1AsTUFBTTtFQUNOLFdBQVc7RUFDWCxZQUFZO0VBQ1osa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsU0FBUztFQUNULGtCQUFrQjtFQUNsQixRQUFRO0VBQ1Isb0NBQWdDO01BQWhDLGdDQUFnQyxFQUFBOztBQUdsQztFQUNFO0lBQ0UseUJBQXlCLEVBQUEsRUFBQTs7QUFGN0I7RUFDRTtJQUNFLHlCQUF5QixFQUFBLEVBQUE7O0FBSTdCO0VBQ0UseUJBQXlCO0VBQ3pCLHNCQUFzQixFQUFBOztBQUd4QjtFQUNFLFdBQVc7RUFDWCxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsVUFBVTtFQUNWLGVBQWU7RUFDZixzQkFBc0IsRUFBQTs7QUFHeEI7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCLEVBQUE7O0FBR2xCLG9DQUFBOztBQUNBO0VBQ0UsZUFBZTtFQUNmLDBCQUEwQjtFQUMxQixrQkFBa0I7RUFDbEIsaUJBQWlCLEVBQUE7O0FBR25CO0VBQ0UscUJBQXFCO0VBQ3JCLFdBQVc7RUFDWCxnQkFBZ0IsRUFBQTs7QUFHbEI7RUFDRSxrQkFBa0I7RUFDbEIsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixhQUFhO0VBQ2IsWUFBWTtFQUNaLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsa0JBQWtCO0VBQ2xCLG1CQUFtQixFQUFBOztBQUVyQjtFQUNFLGFBQWEsRUFBQTs7QUFFZjtFQUNFLGdCQUFnQjtFQUNoQixXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLG1CQUFtQixFQUFBOztBQUVyQixxQ0FBQTs7QUFDQSxnREFBQTs7QUFDQTtFQUNFLGNBQWM7RUFDZCx5QkFBeUI7RUFDekIsWUFBWSxFQUFBOztBQUdkO0VBQ0U7SUFDRSxjQUFjO0lBQ2QseUJBQXlCO0lBQ3pCLFlBQVksRUFBQSxFQUNiOztBQUdIO0VBQ0UsYUFBYSxFQUFBOztBQUVmO0VBQ0UsVUFBVTtFQUNWLGNBQWM7RUFDZCw2QkFBNkIsRUFBQTs7QUFFL0I7RUFDRSxnQkFBZ0IsRUFBQTs7QUFFbEI7RUFDRSxhQUFhO0VBQ2IsdUJBQXVCO0VBQ3ZCLGtCQUFrQjtFQUNsQixRQUFRO0VBQ1IsVUFBVTtFQUNWLGFBQWE7RUFDYixlQUFlLEVBQUE7O0FBRWpCO0VBQ0UsNkJBQTZCO0VBQzdCLDhCQUE4QixFQUFBOztBQUVoQztFQUNFLGdDQUFnQyxFQUFBOztBQUVsQzs7RUFFRSxzQkFBc0IsRUFBQTs7QUFFeEI7RUFDRSw4QkFBOEIsRUFBQTs7QUFFaEMscUNBQUEiLCJmaWxlIjoic3JjL2FwcC9vcmRlcnMvb3JkZXItZWRpdC9vcmRlci1lZGl0LmNvbXBvbmVudC5zY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRhdGVFcnJvciB7XG4gIC8vIG1hcmdpbi10b3A6IC0xMXB4O1xufVxuXG4uanVtYm90cm9uIGgzIHtcbiAgZm9udC1zaXplOiAxNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWxlcnQuYWxlcnQtd2FybmluZy5tdC0wLm1iLTQud2FybmluZ01zZyB7XG4gIHdpZHRoOiA0MjlweCAhaW1wb3J0YW50O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHJpZ2h0OiAzMzVweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLm9yZGVyLWFkZC1jb250YWluZXIge1xuICBtYXgtd2lkdGg6IDE1MDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzZweDtcbn1cblxuLmVycm9yLWRhbmdlciB7XG4gIGZvbnQtc2l6ZTogMTFweCAhaW1wb3J0YW50O1xufVxuXG4ubm90LWFsbG93ZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4jbGVhZHNvdXJjZXMge1xuICBtYXJnaW4tdG9wOiA3cHg7XG59XG5cbi5vcmRlci1hZGQtY29udGFpbmVyIGgzLm9yZGVyLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xufVxuXG4udmlldy1hbGwge1xuICBjb2xvcjogIzAwNzRjOTtcbiAgd2lkdGg6IDM5JTtcbiAgbWFyZ2luOiAwIC0xcHggMCAtMXB4ICFpbXBvcnRhbnQ7XG59XG5cbi5lZGl0LXN1Y2Nlc3MtbXNnIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDI3NXB4O1xuICBmbG9hdDogbGVmdDtcbiAgY29sb3I6ICMxNTU3MjQ7XG59XG5cbi5zcGlubmVyIHtcbiAgYm9yZGVyOiAxNnB4IHNvbGlkIHNpbHZlcjtcbiAgYm9yZGVyLXRvcDogMTZweCBzb2xpZCAjMzM3YWI3O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBhbmltYXRpb246IHNwaW4gMXMgaW5maW5pdGUgbGluZWFyO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA3NXB4O1xuICBoZWlnaHQ6IDc1cHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIGJvcmRlci1jb2xvcjogIzAwNzRjOTtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cblxuLnNwaW5uZXItcG9zaXRpb24ge1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgei1pbmRleDogOTk5OTtcbn1cblxuLmN1c3RvbS12YWx1ZXMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDdkN2Q3O1xuICBwYWRkaW5nOiAxMHB4O1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGwgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZDogI2VkZWRlZDtcbiAgYm94LXNoYWRvdzogMXB4IDFweCA3cHggMXB4ICNjY2M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4gMHM7XG4gIG92ZXJmbG93OiBzY3JvbGw7XG4gIGhlaWdodDogMTMwcHg7XG59XG5cbi5jdXJzb3ItcG9pbnRlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnppcGxpc3Qge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiA4MXB4O1xuICBoZWlnaHQ6IDEyMHB4O1xufVxuXG4udGFiLWNvbnRlbnQgbGFiZWwge1xuICBwYWRkaW5nOiAwIDAgM3B4IDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBmb250LXNpemU6IDEzcHg7XG59XG5cbnVsLmxpc3QtaW5saW5lLnNvdXJjZS1saXN0IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGJhY2tncm91bmQ6ICNjZWU0ZjI7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nOiA1cHggMzFweCA1cHggMTJweDtcbiAgY29sb3I6ICMwMDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxMXB4O1xufVxuXG51bC5saXN0LWlubGluZS5zb3VyY2UtbGlzdCBsaSBidXR0b24uYnRuLmJ0bi1saW5rIHtcbiAgY29sb3I6ICNjOWM5Yzk7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogM3B4O1xuICB0b3A6IDRweDtcbiAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gIHBhZGRpbmc6IDA7XG59XG5cbnVsLmxpc3QtaW5saW5lLnNvdXJjZS1saXN0IGxpIGJ1dHRvbi5idG4uYnRuLWxpbms6aG92ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uLmJ0bi5idG4tb3V0bGluZS1wcmltYXJ5LmZsb2F0LXJpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4OGQwMTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmJ1dHRvbi5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5mbG9hdC1sZWZ0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4OGQwMTtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5sb2NhdGlvbi1lcnJvciB7XG4gIHBhZGRpbmc6IDE0cHg7XG4gIGNvbG9yOiByZWQ7XG59XG5cbmlucHV0LlRpbWUtU2xvdHMge1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1heC13aWR0aDogMTE1cHg7XG59XG5cbi5vdmVybGF5IHtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cbi5vdmVybGF5LmN1c3RvbS1vdmVybGF5IHtcbiAgaGVpZ2h0OiA5MyU7XG4gIGJvdHRvbTogMHB4O1xuICB0b3A6IGF1dG87XG59XG5cbi5vdmVybGF5X19pbm5lciB7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4ub3ZlcmxheV9fY29udGVudCB7XG4gIGxlZnQ6IDUwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG5cbkBrZXlmcmFtZXMgc3BpbiB7XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLmN1c3RvbS1hY3RpdmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWRlZGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4uZmFkZS1lZGl0IHtcbiAgY29sb3I6IGdyZXk7XG4gIGN1cnNvcjogbm8tZHJvcDtcbn1cblxuLnNob3ctZXJyb3Ige1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDEwcHggMCAwIDc2cHg7XG59XG5cbi5lZGl0LXN1Y2Nlc3MtYWxlcnQge1xuICBwYWRkaW5nOiAzcHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi8qT3BlbiAtIExvY2F0aW9uLVppcENvZGUgVmlldyBBbGwgKi9cbi5jbG9zZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogZGFya2dyYXk7XG4gIHBhZGRpbmctcmlnaHQ6IDNweDtcbiAgcGFkZGluZy1sZWZ0OiAzcHg7XG59XG5cbi5jbG9zZS16aXAge1xuICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7XG4gIHdpZHRoOiA4MXB4O1xuICBtYXJnaW4tbGVmdDogMHB4O1xufVxuXG4uemlwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgei1pbmRleDogOTk5O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBjb2xvcjogYmxhY2s7XG4gIHdpZHRoOiA4MXB4O1xuICBiYWNrZ3JvdW5kOiBsaWdodGdyZXk7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZy1ib3R0b206IDVweDtcbn1cbi50YWItc3R5bGUge1xuICBwYWRkaW5nOiAxNHB4O1xufVxuLmFnZWZpbHRlcm1zZyB7XG4gIGZvbnQtc2l6ZTogMS4yZW07XG4gIG1hcmdpbjogNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG4vKkNsb3NlIC0gTG9jYXRpb24tWmlwQ29kZSBWaWV3IEFsbCAqL1xuLyogT3Blbi0gU3R5bGluZyBEaXNhYmxlZCBGaWVsZHMgSW4gRWRpdCBPcmRlciAqL1xuc2VsZWN0OmRpc2FibGVkIHtcbiAgY29sb3I6ICNiN2I3Yjc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIG9wYWNpdHk6IDAuNztcbn1cblxuQG1lZGlhIGFsbCBhbmQgKC1tcy1oaWdoLWNvbnRyYXN0OiBub25lKSwgKC1tcy1oaWdoLWNvbnRyYXN0OiBhY3RpdmUpIHtcbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2I3YjdiNztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxufVxuXG4uaGlkZUxvY2F0aW9uIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbi5yZXNpemVUYWJsZUNhbGxUYWIge1xuICB3aWR0aDogMjglO1xuICBtYXJnaW4tdG9wOiAzJTtcbiAgbWFyZ2luLWxlZnQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG4uUGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAzNSU7XG59XG5idG4ud2FybmluZ01zZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMHB4O1xuICByaWdodDogNDUlO1xuICBwYWRkaW5nOiAxMnB4O1xuICBmb250LXNpemU6IDI5cHg7XG59XG4ubm90aWZpY2F0aW9uLXRleHQge1xuICBwYWRkaW5nLWxlZnQ6IDI1cHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xufVxuLmVycm9yIHtcbiAgYm9yZGVyLWNvbG9yOiAjYjk0YTQ4ICFpbXBvcnRhbnQ7XG59XG4uZXJyb3JUaW1lUGlja2VyLFxuLmNoZWNrYm94IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbn1cbi5lcnJvci1zdGFyIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlciAhaW1wb3J0YW50O1xufVxuLypDbG9zZSAtIExvY2F0aW9uLVppcENvZGUgVmlldyBBbGwgKi9cbiJdfQ== */\"","import {\n Component,\n OnInit,\n AfterViewInit,\n HostListener,\n ViewChild,\n ElementRef,\n ViewChildren,\n QueryList\n} from '@angular/core';\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\nimport { FormBuilder, FormGroup, Validators, FormArray, NgModel } from '@angular/forms';\nimport { OAuthService } from 'angular-oauth2-oidc';\nimport { Options } from 'ng5-slider';\nimport { OrderService } from '../../orders/order.service';\nimport * as Constant from '../../../constants/api';\nimport { Location } from '../../model/location';\nimport { order, orderData } from '../../model/order';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { interval, timer } from 'rxjs';\nimport { CustomService } from '@app/services/custom.service';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ErrorDailogComponent } from '@app/error-dailog/error-dailog.component';\nimport { MatDialogConfig, MatDialog } from '@angular/material';\nimport { ValidationErrorDialogComponent } from '@app/validation-error-dialog/validation-error-dialog.component';\nimport { DatePipe } from '@angular/common';\nimport * as moment from 'moment';\nimport { Logger } from '../../core/logger.service';\nimport { formatDate } from '@angular/common';\nimport { times } from 'lodash';\nimport { brokerInfo } from '../../model/brokerInfo';\nimport { phoneFormat, reformatePhone } from '../../core/commonFunctions';\nimport { NzSelectComponent } from 'ng-zorro-antd';\n\n@Component({\n selector: 'app-order-edit',\n templateUrl: './order-edit.component.html',\n styleUrls: ['./order-edit.component.scss'],\n preserveWhitespaces: false\n})\nexport class OrderEditComponent implements AfterViewInit, OnInit {\n [x: string]: any;\n lastPhoneSelect: string;\n isAddCountyReady: boolean = true;\n curPageEditLocation: number = 1; // currentpage of location page\n curPageCopyLocation: number = 1; // currentpage of location page\n defaultTime = new Date(Date.now());\n defaultEndTime: Date | null = null;\n endTimeVal: string = null;\n disabledSatusFlag = false;\n phoneNumberlengthError: string;\n startDateLimitFlag: boolean = true;\n copyStartDateLimitFlag: boolean = true;\n copyErrorMessagelimit: string;\n copyErrorMessageStartDatelimit: string;\n errorMessagelimit: string;\n errorMessageStartDatelimit: string;\n checkMaxCallCurrencyRange: boolean;\n maxCallSubmitError: boolean;\n copyMaxCallSubmitError: boolean;\n endDateErrorMsg: string;\n startDateErrorMsg: string;\n copyEndDateErrorMsg: string;\n copyStartDateErrorMsg: string;\n recordsPerPages: string[] = ['5', '10', '15', '20', '25'];\n selectednumber: number = 25;\n locationData: Location[];\n locationErrorNull: string;\n copyLocationErrorNull: string;\n countyData: Location[];\n filterData: pageMode;\n StartDate: string;\n checkBoxErrorMsg: string;\n EndDate: string;\n dailyCallCapError: string = '';\n hourlyCallCapError: string = '';\n orderError: string = '';\n startTimeError: string;\n endTimeError: string;\n SubmitError: boolean = false;\n LocationErrorflag: boolean;\n checkdailyCapRange: boolean;\n checkHourlyCapRange: boolean;\n orderName: string = '';\n maxCallCurrencyError: string;\n maxCallCurrencyRangeError: string;\n phoneNumberError: string;\n errorFlagOrderName: boolean = false;\n errorFlagDailyLeadCap: boolean = false;\n errorFlagHourlyLeadCap: boolean = false;\n timeslotError: string = '';\n accessToken: string;\n SubmitErrorFlag: boolean = false;\n orderTypeError: string;\n productTypeError: string;\n orderNameError: string;\n startDateError: string;\n endDateError: string;\n timezoneError: string;\n hourlycapError: string;\n dailycapError: string = '';\n leadSourceError: string = '';\n state: boolean;\n county: boolean;\n ListCountySelected: string[] = [];\n zipData: Location[] = [];\n Ziplist: HTMLInputElement;\n allZipCodes: Location[];\n showAllZipCode: boolean;\n leadSources: LeadSourceIntegration[] = [];\n orderData: orderData;\n orderModel: order = null;\n orderId: string;\n HideDemographics: boolean;\n HideFields: boolean;\n orderStatus: boolean;\n errorMessageStartDate: string;\n ageTo: number;\n ageFrom: number;\n leadSourcesRequired: string = '';\n balance: string;\n countyName: string;\n locationList: Location[] = [];\n copyOrderLocationList: Location[] = [];\n filterList: LeadSourceIntegration[] = [];\n locationStateCountyZipList: string[] = [];\n locationStateCountyZipCopyList: string[] = [];\n locationError: string;\n copyLocationError: string;\n orderFlag: boolean;\n copyOrderModel: order;\n copyData: orderData;\n stateForService: string;\n sunday: boolean;\n monday: boolean;\n tuesday: boolean;\n wednesday: boolean;\n thursday: boolean;\n friday: boolean;\n saturday: boolean;\n applyAll: boolean;\n productType: string[];\n copyProductType: string[];\n editOrderClickFlag: boolean;\n showEditTab: boolean = true;\n showCopyTab: boolean = false;\n showCopyOrderName: boolean;\n showLoadingIndicator = true;\n orderErrorMessage: string;\n showMsg: boolean;\n saveFlag: boolean;\n copyOrdername: string;\n copyUrl: boolean;\n checkBoxError: boolean;\n checkBoxValidator: boolean = false;\n copyLeadSources: LeadSourceIntegration[] = [];\n copyLeadSourceList: LeadSourceIntegration[] = [];\n copyLocationList: Location[];\n productTypeValue: string;\n copyAgeFrom: number;\n copyLocationErrorflag: boolean;\n copyErrorFlagEndDate: boolean = false;\n copyErrorFlagStartDate: boolean = false;\n errorFlagStartDate: boolean = false;\n errorFlagEndDate: boolean = false;\n copySubmitError: boolean = false;\n copySubmitErrorFlag: boolean = false;\n copyLocationsErrorflag: boolean;\n copycheckBoxValidator: boolean = false;\n copyErrorMessageStartDate: string;\n copyOrderError: string = '';\n copyMaxCallCurrencyRangeError: string;\n copyDailyCallCapError: string;\n copyHourlyCallCapError: string;\n copyHideDemographics: boolean;\n copyHideFields: boolean;\n orderTypeValue: string;\n copyHourlycapError: string;\n copyMaxCallCurrencyError: string;\n copycheckboxErrorMsg: string;\n message: string;\n spinnerFlag: boolean = false;\n copyOrderClickFlag: boolean = false;\n copyOrderCreatedFlag: boolean = true;\n copyOrderUpdatedFlag: boolean = false;\n copyOrderCreatedId: string;\n copyDisabled: boolean = false;\n filteredCounties: Location[];\n filteredCopyCounties: Location[];\n sDate: string;\n eDate: string;\n sDateCopy: string;\n eDateCopy: string;\n formType: pageMode = pageMode.edit;\n editSuccessMsg: string;\n copySuccessMsg: string;\n showEditMsg: boolean = false;\n showCopyMsg: boolean = false;\n isIeBrowser: boolean;\n isOtherBrowser: boolean;\n browserName: string;\n flagForETime: boolean;\n flagForSTime: boolean;\n currentDate = new Date();\n startFlag: boolean;\n endFlag: boolean;\n endTimeFlag: boolean;\n endTimeFlagErr: string;\n startTimeFlag: boolean;\n startTimeFlagErr: string;\n copyFlagForETime: boolean;\n copyFlagForSTime: boolean;\n copyEndTimeFlag: boolean;\n copyEndTimeFlagErr: string;\n copyStartTimeFlag: boolean;\n copyStartTimeFlagErr: string;\n isIE: boolean;\n minStartDate: any;\n minEndDate: any;\n today: Date;\n checkSelectedField: string = 'none';\n compareTimeErrorFlag: boolean = false;\n copyCompareTimeErrorFlag: boolean = true;\n stateOptionValue: string = 'Select State';\n countyOptionValue: string = 'Select County';\n countyCopyData: Location[];\n locationCopyData: Location[];\n copyEndDateValid: boolean;\n copyStartDateValid: boolean;\n endDateValid: boolean;\n startDateValid: boolean;\n stateFirstOptionValue: string = 'Select State';\n countyFirstOptionValue: string = 'Select County';\n copyLocationStartingPoint: string = 'none';\n copyZipData: Location[];\n deliveryDataMessage: string;\n showDeliveryWarning: boolean = false;\n hideCountyZipCodeOfEditForm: boolean;\n hideCountyZipCodeOfCopyForm: boolean = false;\n resizeTableOnEditCallTab: boolean = false;\n resizeTableOnCopyCallTab: boolean = false;\n copyOrderTypeValueOnSelect: string = '';\n iprolistphone: string[];\n someTime: Date = null;\n @ViewChild('copyOrderButton', { static: true })\n copyOrderButton$: ElementRef;\n @ViewChild('copyEndDate', { static: true })\n copyEndDate$: ElementRef;\n @ViewChild('copyStartDate', { static: true })\n copyStartDate$: ElementRef;\n @ViewChild('CountySelector', { static: true })\n CountySelector$: NzSelectComponent;\n @ViewChild('CopyCountySelector', { static: true })\n CopyCountySelector$: NzSelectComponent;\n @ViewChild('ZipCode', { static: true })\n ZipCode$: ElementRef;\n @ViewChild('HourlyCallCap', { static: true })\n HourlyCallCap$: ElementRef;\n @ViewChild('DailyCallCap', { static: true })\n DailyCallCap$: ElementRef;\n @ViewChild('MaxCallCurrency', { static: true })\n MaxCallCurrency$: ElementRef;\n @ViewChild('CopyZipCode', { static: true })\n CopyZipCode$: ElementRef;\n @ViewChild('copyHourlyCallCap', { static: true })\n copyHourlyCallCap$: ElementRef;\n @ViewChild('copyDailyCallCap', { static: true })\n copyDailyCallCap$: ElementRef;\n @ViewChild('copyMaxCallCurrency', { static: true })\n copyMaxCallCurrency$: ElementRef;\n pageMode: typeof pageMode = pageMode;\n //agefilterMsg: string = '';\n hiddenCountyDropdown: boolean = true;\n isCopy: any;\n isSelectAll: boolean;\n isReadySend: boolean;\n submitted = false;\n copySubmitted = false;\n /* open values for age range slider */\n errorMessage: string = '';\n copyErrorMessage: string = '';\n copyAgeTo: number = 60;\n options: Options = {\n floor: 0,\n ceil: 100\n };\n copyOptions: Options = {\n floor: 0,\n ceil: 100\n };\n applyAllday: string = '';\n selectedObject: any;\n customObj: LeadSourceIntegration[];\n isDone: boolean;\n integrationList: string[] = [];\n copyIntegrationList: string[] = [];\n leadSourceExist: boolean;\n SendEmailNotification: boolean = true;\n SendMobileNotification: boolean = false;\n chkMobileNotification: boolean = false;\n chkEmailNotification: boolean = true;\n textEmail: string = '';\n textMobile: string = '';\n isHideAlert: boolean;\n myContactAlert: { type: string; message: string };\n HideNotification: boolean = true;\n isCopyOrderForm: boolean = false;\n CopySendEmailNotification: boolean = true;\n CopySendMobileNotification: boolean = false;\n brokerModel: brokerInfo = null;\n isCallLead: boolean = false;\n autoCompleteValue: string = 'off';\n isAllstateMA: boolean = false;\n\n constructor(\n private _router: Router,\n private _orderService: OrderService,\n private _oauthService: OAuthService,\n private _fb: FormBuilder,\n private _activatedRoute: ActivatedRoute,\n private _service: CustomService,\n private _matDialog: MatDialog,\n private _modalService: NgbModal,\n private _datePipe: DatePipe,\n private _logger: Logger\n ) {\n this._activatedRoute.params.subscribe(params => (this.orderId = params['orderId']));\n this.locationData = [];\n this.countyData = [];\n this.zipData = [];\n this.allZipCodes = [];\n this.productType = [];\n }\n ngAfterViewInit() {\n /*handle tab focus between copy and edit order page*/\n this.disableTabIndexForDayCheckbox();\n this.setEditOrderTabIndex();\n this.disableStatusButton();\n this.setDemographicValue(this.copyOrderForm, pageMode.copy);\n this._oauthService.events.subscribe(event => {\n if (event.type === 'user_profile_loaded') {\n this._router.navigate(['/home'], { replaceUrl: true });\n }\n });\n\n /* open set empty variable after every 5,8 seconds */\n this.showLoadingIndicator = false;\n interval(10000).subscribe(x => (this.locationError = ''));\n interval(10000).subscribe(x => (this.copyLocationError = ''));\n interval(10000).subscribe(x => (this.timeslotError = ''));\n interval(10000).subscribe(x => (this.checkBoxErrorMsg = ''));\n\n /* end set empty variable after every 5,8 seconds */\n\n /*date validation*/\n let strStartDate = this._datePipe.transform(this.orderData.StartDate, 'yyyy-MM-dd');\n let strToday = this._datePipe.transform(this.today, 'yyyy-MM-dd');\n if (strStartDate > strToday) {\n this.minStartDate = strToday;\n } else {\n this.minStartDate = this.orderData.StartDate;\n }\n if (this.orderData.EndDate != null) {\n let strEndDate = this._datePipe.transform(this.orderData.EndDate, 'yyyy-MM-dd');\n if (strEndDate > strToday) {\n this.minEndDate = strToday;\n } else {\n this.minEndDate = this.orderData.EndDate;\n }\n } else {\n this.minEndDate = strToday;\n }\n\n // this.syncTimePickers();\n this.initTimePickers();\n /*date validation*/\n\n if (this.orderModel.SourceType == 'Calls') {\n this.isCallLead = true;\n } else {\n this.isCallLead = false;\n }\n this.getStateData();\n }\n\n getBrokerInformation() {\n this.HideNotification = true;\n let res: brokerInfo;\n res = this.brokerModel;\n //this._orderService.getBrokerInformation().subscribe(\n // brokerRes => {\n // res = JSON.parse(brokerRes);\n this.textEmail = !res.brokerEmail ? Constant.BrokerEmptyEmailMessage : res.brokerEmail;\n if (res.brokerEmail) {\n if (!this.orderModel.SendEmailNotification && !this.isCopyOrderForm) {\n this.SendEmailNotification = false;\n } else {\n this.SendEmailNotification = true;\n this.CopySendEmailNotification = true;\n }\n this.chkEmailNotification = false;\n } else {\n this.SendEmailNotification = false;\n this.CopySendEmailNotification = false;\n this.chkEmailNotification = true;\n }\n\n this.textMobile = !res.brokerMobile ? Constant.BrokerEmptyMobileMessage : res.brokerMobile;\n this.SendMobileNotification = false;\n this.CopySendMobileNotification = false;\n this.chkMobileNotification = false;\n /*\n if (res.brokerMobile) {\n if (!this.orderModel.SendSMSNotification && !this.isCopyOrderForm) {\n this.SendMobileNotification = false;\n } else {\n this.SendMobileNotification = true;\n this.CopySendMobileNotification = true;\n }\n this.chkMobileNotification = false;\n } else {\n this.SendMobileNotification = false;\n this.CopySendMobileNotification = false;\n this.chkMobileNotification = true;\n }\n */\n this.disableSpinner();\n // },\n // err => {\n // this._logger.error(Constant.BrokerEmailPhoneLogMsg);\n // }\n //);\n }\n editOrderForm = this._fb.group({\n OrderId: [''],\n OrderType: ['', Validators.required],\n ProductType: ['', Validators.required],\n OrderName: ['', Validators.required],\n StartDate: ['', Validators.required],\n EndDate: [''],\n Status: [''],\n Leadsources: ['', Validators.required],\n State: ['', Validators.required],\n County: [''],\n ZipCode: [''],\n AgeRange: [''],\n recordsPerPage: ['0'],\n TimeZone: ['', Validators.required],\n timeSlots: this._fb.array([]),\n HourlyCallCap: ['', Validators.required],\n DailyCallCap: ['', Validators.required],\n MaxCallCurrency: ['', Validators.required],\n PhoneNumber: ['', Validators.required],\n SendEmailNotification: [''],\n SendMobileNotification: ['']\n });\n closeAlert() {\n this.isHideAlert = false;\n }\n onMyContactClick() {\n this.isHideAlert = true;\n this.myContactAlert = {\n type: 'warning',\n message: Constant.Manage_MYCONTACT_Message\n };\n }\n copyOrderForm = this._fb.group({\n OrderId: [''],\n OrderType: ['', Validators.required],\n ProductType: ['', Validators.required],\n OrderName: ['', Validators.required],\n StartDate: ['', Validators.required],\n EndDate: [''],\n Status: [''],\n Leadsources: ['', Validators.required],\n State: ['', Validators.required],\n County: [''],\n ZipCode: [''],\n AgeRange: [''],\n recordsPerPage: ['0'],\n TimeZone: ['', Validators.required],\n timeSlots: this._fb.array([]),\n HourlyCallCap: ['', Validators.required],\n DailyCallCap: ['', Validators.required],\n MaxCallCurrency: ['', Validators.required],\n PhoneNumber: ['', Validators.required],\n CopySendEmailNotification: [''],\n CopySendMobileNotification: ['']\n });\n\n getproducttype() {\n /* open product type depend on order type */\n\n this._orderService.getProductTypes(this.orderData.SourceType).subscribe(\n res => {\n this.productType = JSON.parse(res.toString());\n },\n err => {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(Constant.productTypeLogMsg);\n }\n );\n\n /* end product type depend on order type */\n }\n /* open get lead sources by source type and lead type */\n getleadsources() {\n this._orderService\n .getFilteredLeadSources(this.accessToken, this.orderData.SourceType, this.orderData.LeadType)\n .subscribe(\n res => {\n this.leadSources = JSON.parse(res.toString());\n var leadSourcesList = this.orderData.LeadSources.split(',');\n if (leadSourcesList.length > 0) {\n this.updateLeadSourcesControl(this.leadSources.length, pageMode.edit);\n }\n\n for (var val of leadSourcesList) {\n this.leadSourcesRequired = val;\n this.onLeadSourceChange(val, 'noChange');\n }\n },\n err => {\n console.log(err);\n this._logger.error(Constant.leadsourceLogMsg);\n }\n );\n }\n /* open push time slot value in formarray */\n addTimeSlot(): void {\n this.setCopyBtnDisable();\n (this.editOrderForm.get('timeSlots')).push(this.addTimeSlotFormGroup());\n }\n\n addCopyTimeSlot(): void {\n (this.copyOrderForm.get('timeSlots')).push(this.addTimeSlotFormGroup());\n }\n /**Changes for time end*/\n checkBoxValidation(formType: pageMode, checkBoxType: any) {\n this.setCopyBtnDisable();\n var data = null;\n if (formType === pageMode.edit) {\n data = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n\n var num = {};\n var selectAllCount = 0;\n\n for (selectAllCount = 0; selectAllCount <= data.length - 1; selectAllCount++) {\n var group = data.at(selectAllCount) as FormGroup;\n var sunday = group.get('sunday').value;\n var monday = group.get('monday').value;\n var tuesday = group.get('tuesday').value;\n var wednesday = group.get('wednesday').value;\n var thursday = group.get('thursday').value;\n var friday = group.get('friday').value;\n var saturday = group.get('saturday').value;\n var applyAll = group.get('AllWeek').value;\n if (this.isIE == true) {\n if (checkBoxType === 'all') {\n if (applyAll) {\n this.checkBoxError = false;\n } else {\n if ((sunday || monday || tuesday || wednesday || thursday || friday || saturday) && applyAll == true) {\n this.checkBoxError = false;\n } else if (\n (sunday || monday || tuesday || wednesday || thursday || friday || saturday === false) &&\n applyAll === true\n ) {\n this.checkBoxError = false;\n } else if (\n sunday &&\n monday &&\n tuesday &&\n wednesday &&\n thursday &&\n friday &&\n saturday === true &&\n applyAll === false\n ) {\n this.checkBoxError = true;\n } else if (\n sunday == false &&\n monday == false &&\n tuesday == false &&\n wednesday == false &&\n thursday == false &&\n friday == false &&\n saturday == false &&\n applyAll == false\n ) {\n this.checkBoxError = true;\n }\n }\n } else {\n if (\n sunday == false &&\n monday == false &&\n tuesday == false &&\n wednesday == false &&\n thursday == false &&\n friday == false &&\n saturday == false &&\n checkBoxType === 'none'\n ) {\n this.checkBoxError = true;\n } else if (\n (sunday == true && checkBoxType === 'none') ||\n (monday == true && checkBoxType === 'none') ||\n (tuesday == true && checkBoxType === 'none') ||\n (wednesday == true && checkBoxType === 'none') ||\n (thursday == true && checkBoxType === 'none') ||\n (friday == true && checkBoxType === 'none') ||\n (saturday == true && checkBoxType === 'none')\n ) {\n this.checkBoxError = false;\n }\n }\n } else {\n if (sunday || monday || tuesday || wednesday || thursday || friday || saturday) {\n this.checkBoxError = false;\n } else {\n this.checkBoxError = true;\n }\n }\n\n num[selectAllCount] = this.checkBoxError;\n if (num[selectAllCount] == true) {\n if (formType === pageMode.edit) {\n this.checkBoxErrorMsg = Constant.TIME_SLOT_ERROR_MESSAGE; //\"Please select atleast one day in Rule\" + (i + 1);\n this.checkBoxValidator = true;\n } else {\n this.copycheckboxErrorMsg = Constant.TIME_SLOT_ERROR_MESSAGE;\n this.copycheckBoxValidator = true;\n }\n } else {\n if (formType === pageMode.edit) {\n this.checkBoxValidator = false;\n this.checkBoxErrorMsg = '';\n } else {\n this.copycheckBoxValidator = false;\n this.copycheckboxErrorMsg = '';\n }\n }\n this.setErrorRequired(group, this.checkBoxError);\n }\n }\n setErrorRequired(group: FormGroup, validatorValue: boolean) {\n const setvalue = validatorValue ? { required: true } : null;\n group.get('sunday').setErrors(setvalue);\n group.get('monday').setErrors(setvalue);\n group.get('tuesday').setErrors(setvalue);\n group.get('wednesday').setErrors(setvalue);\n group.get('thursday').setErrors(setvalue);\n group.get('friday').setErrors(setvalue);\n group.get('saturday').setErrors(setvalue);\n group.get('AllWeek').setErrors(setvalue);\n }\n\n addTimeSlotFormGroup(): FormGroup {\n return this._fb.group({\n Start: ['', Validators.required],\n End: ['', Validators.required],\n AllWeek: ['', Validators.required],\n sunday: ['', Validators.required],\n monday: ['', Validators.required],\n tuesday: ['', Validators.required],\n wednesday: ['', Validators.required],\n thursday: ['', Validators.required],\n friday: ['', Validators.required],\n saturday: ['', Validators.required]\n });\n }\n /*open update order */\n openDialog(error: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.data = error;\n this._matDialog.open(ErrorDailogComponent, dialogConfig);\n }\n /* Open - Method For Validation Dialog Box */\n openValidationDialog(msg: any) {\n const dialogConfig = new MatDialogConfig();\n dialogConfig.data = msg;\n this._matDialog.open(ValidationErrorDialogComponent, dialogConfig);\n }\n /* End - Method For Validation Dialog Box */\n getTimeFromTimeSlot(timeslots: any, timepos: number, timetype: string) {\n let count = timeslots.length;\n if (timepos < count) {\n if (timetype == 'start') {\n var convertTime = this.getCurrentTime(timeslots.value[timepos].Start);\n return convertTime;\n } else {\n var convertTime = this.getCurrentTime(timeslots.value[timepos].End);\n return convertTime;\n }\n }\n }\n\n getCurrentTime(timeInput: any) {\n var currentTime;\n let hour: string = timeInput.substr(0, 2);\n let hourNum = Number(hour);\n if (hourNum < 9) {\n hour = ('0' + hour).slice(-2);\n } else {\n hour = hour.slice(-2);\n }\n let minutes = timeInput.substr(3, 2);\n let minNum = Number(minutes);\n if (minNum < 9) {\n minutes = ('0' + minutes).slice(-2);\n } else {\n minutes = minutes.slice(-2);\n }\n currentTime = hour + ':' + minutes;\n return currentTime;\n }\n\n editOrderSubmit() {\n this.convertTime(pageMode.edit);\n this.validateTimePickers();\n this.checkBoxValidation(pageMode.edit, 'none');\n var data = this.editOrderForm.get('timeSlots') as FormArray;\n this.submitted = true;\n if (this.orderModel.SourceType == 'Calls') {\n if (this.maxCallSubmitError) {\n //document.getElementById('MaxCallCurrency').focus();\n this.MaxCallCurrency$.nativeElement.focus();\n return;\n }\n }\n if (this.SubmitError) {\n if (this.editOrderForm.get('HourlyCallCap').value < 0 || this.editOrderForm.get('HourlyCallCap').value > 100) {\n //document.getElementById('HourlyCallCap').focus();\n this.HourlyCallCap$.nativeElement.focus();\n } else {\n //document.getElementById('DailyCallCap').focus();\n this.DailyCallCap$.nativeElement.focus();\n }\n }\n for (var editTime = 0; editTime < data.length; editTime++) {\n var editTimeValue = this.getTimeFromTimeSlot(data, editTime, 'start');\n if (editTimeValue == '') {\n document.getElementById('startTime' + editTime).focus();\n break;\n }\n }\n\n // let endTimeErrorFlag = this.timevalidator(pageMode.edit);\n this.LocationErrorflag = false;\n if (this.locationList.length == 0) {\n this.LocationErrorflag = true;\n this.locationErrorNull = Constant.ERROR_ON_LOCATION;\n if (this.editOrderForm.valid) {\n document.getElementById('State').focus();\n }\n if (this.editOrderForm.get('State').value === 'undefined' || this.editOrderForm.get('State').value === '') {\n this.editOrderForm.get('State').setErrors({ required: true });\n }\n } else {\n this.setStateControlValue();\n }\n if (this.SubmitErrorFlag) {\n document.getElementById('OrderName').focus();\n }\n if (this.errorFlagStartDate) {\n (document.getElementById('StartDate')).focus();\n } else if (this.errorFlagEndDate) {\n (document.getElementById('EndDate')).focus();\n }\n\n this.checkDateValidity(pageMode.edit);\n /*Checking date format validation for mat start and end date-Shivang_26-12-19*/\n if (this.endDateValid && this.startDateValid) {\n this.transformDateFormat(pageMode.edit, this.orderModel.StartDate, this.orderModel.EndDate);\n }\n this.endTimeFlag = true;\n this.startTimeFlag = true;\n this.compareTimevalidator(pageMode.edit, 'submit');\n if (\n this.compareTimeErrorFlag ||\n //endTimeErrorFlag ||\n this.editOrderForm.valid == false ||\n this.errorFlagStartDate ||\n this.errorFlagEndDate ||\n this.SubmitError ||\n this.SubmitErrorFlag ||\n this.LocationErrorflag ||\n this.checkBoxValidator === true ||\n this.startDateLimitFlag === false ||\n !this.endDateValid ||\n !this.startDateValid ||\n !this.startTimeFlag ||\n !this.endTimeFlag\n ) {\n return;\n }\n\n this.enableSpinner();\n this.showLoadingIndicator = true;\n this.copyOrderClickFlag = false;\n this.saveUpdateOrder(\n this.editOrderForm,\n this.integrationList,\n this.locationList,\n pageMode.edit,\n this.locationStateCountyZipList\n );\n\n this.disableSpinner();\n }\n /* open get account balance*/\n getAccountBalance() {\n this._orderService.getAccountFundingBalance().subscribe((data: any) => {\n if (data != null) {\n this.balance = data;\n } else {\n this.balance = '0';\n }\n });\n }\n /* open save edit and copy order */\n saveUpdateOrder(orderForm: FormGroup, leadSourcesData: any, locationData: any, formType: pageMode, stateList: any) {\n if (this.copyOrderClickFlag) {\n this.enableSpinner();\n }\n\n this._orderService.createOrder(orderForm, leadSourcesData, locationData, stateList).subscribe(\n res => {\n if (res['OrderSaveStatus'] != 'Success') {\n window.scrollTo(0, 0);\n this.openDialog(res['ErrorMessageList']);\n this.disableSpinner();\n } else {\n if (res['deliveryDataStatus'] != 'Success') {\n this._service.setDeliveryMessage(Constant.deliver_Data_Message);\n this.deliveryDataMessage = Constant.deliver_Data_Message;\n this.showDeliveryWarning = true;\n }\n if (formType === pageMode.edit) {\n if (this.copyOrderClickFlag) {\n this.disableSpinner();\n window.scrollTo(0, 0);\n this._service.setFormType('edit');\n this.showSuccessMessage(Constant.MESSAGES.ORDER_UPDATED_SUCCESSFULLY.msg);\n } else {\n this._service.setLeadType(this.editOrderForm.get('OrderType').value);\n this.disableSpinner();\n window.scrollTo(0, 0);\n this._service.setSuccessMessage(Constant.MESSAGES.ORDER_UPDATED_SUCCESSFULLY.msg);\n let navigationExtras: NavigationExtras = {\n queryParams: { msg: 'add-order-success' }\n };\n this._router.navigate(['/order-summary'], navigationExtras);\n }\n } else {\n this.copyOrderCreatedId = res['ErrorMessageList'][0];\n if (this.copyOrderCreatedFlag) {\n this.disableSpinner();\n window.scrollTo(0, 0);\n this.showSuccessMessage(Constant.MESSAGES.ORDER_COPIED_SUCCESSFULLY.msg);\n this.copyOrderCreatedFlag = false;\n } else {\n this.disableSpinner();\n window.scrollTo(0, 0);\n this.showSuccessMessage(Constant.MESSAGES.ORDER_COPIED_UPDATED_SUCCESSFULLY.msg);\n }\n }\n }\n },\n err => {\n this._logger.error(Constant.submitLogMsg);\n }\n );\n }\n /* open order name validation Start */\n validateOrderName(event: any, formType: pageMode) {\n this.setCopyBtnDisable();\n this.orderName = '';\n this.orderError = '';\n this.copyOrderError = '';\n this.orderName = this.trimming_fn(event.target.value);\n if (this.orderName == '') {\n this.orderError = Constant.ORDER_NAME_MSG;\n this.copyOrderError = Constant.ORDER_NAME_MSG;\n if (formType === pageMode.edit) {\n this.SubmitErrorFlag = true;\n } else {\n this.copySubmitErrorFlag = true;\n }\n } else {\n if (formType === pageMode.edit) {\n this.SubmitErrorFlag = false;\n } else {\n this.copySubmitErrorFlag = false;\n }\n }\n }\n\n trimming_fn(x: any) {\n return x ? x.replace(/^\\s+|\\s+$/gm, '') : '';\n }\n /* end order name validation end */\n checkDateValidity(type: pageMode) {\n if (type === pageMode.edit) {\n const startDateValue = (document.getElementById('StartDate')).value;\n const endDateValue = (document.getElementById('EndDate')).value;\n if (startDateValue !== '' && !this.isValidDate(startDateValue)) {\n this.startDateErrorMsg = Constant.ENDDATEERROR;\n this.startDateValid = false;\n } else {\n this.startDateErrorMsg = '';\n this.startDateValid = true;\n }\n if (endDateValue !== '' && !this.isValidDate(endDateValue)) {\n this.endDateErrorMsg = Constant.ENDDATEERROR;\n this.endDateValid = false;\n } else {\n this.endDateErrorMsg = '';\n this.endDateValid = true;\n }\n } else {\n const copyStartDateValue = this.copyStartDate$.nativeElement.value; // (document.getElementById('copyStartDate')).value;\n const copyEndDateValue = this.copyEndDate$.nativeElement.value; // (document.getElementById('copyEndDate')).value;\n if (copyStartDateValue !== '' && !this.isValidDate(copyStartDateValue)) {\n this.copyStartDateErrorMsg = Constant.ENDDATEERROR;\n this.copyStartDateValid = false;\n } else {\n this.copyStartDateErrorMsg = '';\n this.copyStartDateValid = true;\n }\n if (copyEndDateValue !== '' && !this.isValidDate(copyEndDateValue)) {\n this.copyEndDateErrorMsg = Constant.ENDDATEERROR;\n this.copyEndDateValid = false;\n } else {\n this.copyEndDateErrorMsg = '';\n this.copyEndDateValid = true;\n }\n }\n }\n /* Start - Method for Start and End Date Validation- Shivang_20-12-19*/\n validateDate(event: any, StartDate: any, EndDate: any): void {\n this.checkDateValidity(pageMode.edit);\n this.setCopyBtnDisable();\n this.errorMessage = '';\n this.errorMessageStartDate = '';\n this.errorMessageStartDatelimit = '';\n this.errorMessagelimit = '';\n let inputStartDate = StartDate;\n let inputEndDate = EndDate;\n inputStartDate = this._datePipe.transform(inputStartDate, 'yyyy-MM-dd');\n inputEndDate = this._datePipe.transform(inputEndDate, 'yyyy-MM-dd');\n if (inputEndDate < this.today && inputEndDate != null) {\n this.disabledSatusFlag = true;\n this.orderModel.Status = 'false';\n this.disableStatusButton();\n } else {\n this.disabledSatusFlag = false;\n this.disableStatusButton();\n }\n if (inputStartDate != null) {\n this.startDateErrorMsg = '';\n this.startDateValid = true;\n /*date validation changes -monika*/\n if (inputStartDate < this.minStartDate) {\n /*date validation changes -monika*/\n this.errorMessageStartDatelimit = Constant.DATELIMITERROR;\n this.startDateLimitFlag = false;\n (document.getElementById('StartDate')).focus();\n } else {\n this.errorMessageStartDatelimit = '';\n this.startDateLimitFlag = true;\n }\n }\n\n if (inputEndDate != null) {\n this.endDateErrorMsg = '';\n this.endDateValid = true;\n /*date validation changes -monika*/\n if (inputEndDate < this.minEndDate) {\n /*date validation changes -monika*/\n this.errorMessagelimit = Constant.DATELIMITERROR;\n this.errorFlagEndDate = true;\n (document.getElementById('EndDate')).focus();\n }\n }\n if (inputStartDate == '') {\n this.errorMessageStartDatelimit = '';\n }\n if (inputEndDate == '' || inputEndDate == null) {\n this.errorMessage = '';\n this.errorMessagelimit = '';\n this.errorFlagEndDate = false;\n this.errorMessageStartDate = '';\n return;\n }\n if (inputStartDate != null && inputEndDate != null) {\n let selectedDateField;\n //For mat input event.targetElement.name gives field name insted event.target.name-Shivang_261219\n selectedDateField = event.targetElement.name;\n if (selectedDateField == 'EndDate' && inputEndDate <= inputStartDate) {\n this.errorMessage = Constant.END_DATE_ERROR_MSG;\n this.errorFlagEndDate = true;\n (document.getElementById('EndDate')).focus();\n } else {\n this.errorFlagEndDate = false;\n }\n if (selectedDateField == 'StartDate' && inputStartDate >= inputEndDate) {\n this.errorMessageStartDate = Constant.START_DATE_ERROR_MSG;\n this.errorFlagStartDate = true;\n (document.getElementById('StartDate')).focus();\n } else {\n this.errorFlagStartDate = false;\n }\n }\n }\n /* Start - Method for Start and End Date Validation for Copy Order- Shivang_20-12-19*/\n validateCopyDate(event: any, StartDate: any, EndDate: any): void {\n this.checkDateValidity(pageMode.copy);\n this.copyErrorMessage = '';\n this.copyErrorMessageStartDate = '';\n this.copyErrorMessageStartDatelimit = '';\n this.copyErrorMessagelimit = '';\n let inputCopyStartDate = StartDate;\n let inputCopyEndDate = EndDate;\n inputCopyStartDate = this._datePipe.transform(inputCopyStartDate, 'yyyy-MM-dd');\n inputCopyEndDate = this._datePipe.transform(inputCopyEndDate, 'yyyy-MM-dd');\n\n if (inputCopyStartDate != null) {\n this.copyStartDateErrorMsg = '';\n this.copyStartDateValid = true;\n /*date validation changes -monika*/\n if (inputCopyStartDate < this.today) {\n /*date validation changes -monika*/\n this.copyErrorMessageStartDatelimit = Constant.DATELIMITERROR;\n this.copyStartDateLimitFlag = false;\n this.copyStartDate$.nativeElement.focus();\n //(document.getElementById('copyStartDate')).focus();\n } else {\n this.copyErrorMessageStartDatelimit = '';\n this.copyStartDateLimitFlag = true;\n }\n }\n if (inputCopyEndDate != null) {\n /*date validation changes -monika*/\n this.copyEndDateErrorMsg = '';\n this.copyEndDateValid = true;\n if (inputCopyEndDate < this.today) {\n /*date validation changes -monika*/\n this.copyErrorMessagelimit = Constant.DATELIMITERROR;\n this.copyErrorFlagEndDate = true;\n (document.getElementById('CopyEndDate')).focus();\n }\n }\n if (inputCopyStartDate == '') {\n this.copyErrorMessageStartDatelimit = '';\n }\n if (inputCopyEndDate == '' || inputCopyEndDate == null) {\n this.copyErrorMessage = '';\n this.copyErrorMessageStartDate = '';\n this.copyErrorFlagEndDate = false;\n this.copyErrorFlagStartDate = false;\n this.copyErrorMessagelimit = '';\n }\n\n if (inputCopyStartDate != null && inputCopyEndDate != null) {\n let selectedDateField;\n //For mat input event.targetElement.name gives field name insted event.target.name-Shivang_261219\n selectedDateField = event.targetElement.name;\n\n if (selectedDateField == 'EndDate' && inputCopyEndDate <= inputCopyStartDate) {\n this.copyErrorMessage = Constant.END_DATE_ERROR_MSG;\n this.copyErrorFlagEndDate = true;\n this.copyEndDate$.nativeElement.focus();\n //(document.getElementById('CopyEndDate')).focus();\n } else {\n this.copyErrorFlagEndDate = false;\n }\n if (selectedDateField == 'StartDate' && inputCopyStartDate >= inputCopyEndDate) {\n this.copyErrorMessageStartDate = Constant.START_DATE_ERROR_MSG;\n this.copyErrorFlagStartDate = true;\n this.copyStartDate$.nativeElement.focus();\n //(document.getElementById('CopyStartDate')).focus();\n } else {\n this.copyErrorFlagStartDate = false;\n }\n }\n }\n /* open leadcap section validation start */\n validateMaxCallCurrency(event: any, formType: pageMode) {\n if (this.browserName == 'ie') {\n if (formType == pageMode.edit) {\n this.checkMaxCallNumber(event, 'maxCall');\n } else {\n this.checkCopyMaxCallNumber(event, 'maxCall');\n }\n }\n let editMaxCallCapLimitError = document.getElementById('EditMaxCallCapLimtError');\n let copyMaxCallCapLimitError = document.getElementById('CopyMaxCallCapLimtError');\n this.setCopyBtnDisable();\n this.maxCallCurrencyRangeError = '';\n this.copyMaxCallCurrencyRangeError = '';\n this.checkMaxCallCurrencyRange = this.checkRange(event.target.value);\n if (this.checkMaxCallCurrencyRange) {\n if (formType === pageMode.edit) {\n editMaxCallCapLimitError.setAttribute('style', 'display:none;');\n this.maxCallCurrencyRangeError = '';\n this.maxCallSubmitError = false;\n } else {\n copyMaxCallCapLimitError.setAttribute('style', 'display:block;');\n this.copyMaxCallCurrencyRangeError = '';\n this.copyMaxCallSubmitError = false;\n }\n } else {\n if (formType === pageMode.edit) {\n editMaxCallCapLimitError.setAttribute('style', 'display:block;');\n this.maxCallCurrencyRangeError = Constant.limitCapError;\n this.maxCallSubmitError = true;\n } else {\n copyMaxCallCapLimitError.setAttribute('style', 'display:block;');\n this.copyMaxCallCurrencyRangeError = Constant.limitCapError;\n this.copyMaxCallSubmitError = true;\n }\n }\n }\n\n validateDailyLeadCap(event: any, formType: pageMode) {\n if (this.browserName == 'ie') {\n if (formType == pageMode.edit) {\n this.checkDailyCapNumber(event, 'daily');\n } else {\n this.checkCopyDailyCapNumber(event, 'daily');\n }\n }\n this.setCopyBtnDisable();\n this.dailyCallCapError = '';\n let editDailyCallCapLimitError = document.getElementById('EditDailyCallCapLimtError');\n let copyDailyCallCapLimitError = document.getElementById('CopyDailyCallCapLimtError');\n this.checkdailyCapRange = this.checkRange(event.target.value);\n if (this.checkdailyCapRange) {\n if (formType === pageMode.edit) {\n this.compareValue('DailyCallCap');\n } else {\n this.compareCopyValue('DailyCallCap');\n }\n } else {\n this.dailyCallCapError = Constant.limitCapError;\n this.copyDailyCallCapError = Constant.limitCapError;\n this.SubmitError = true;\n this.copySubmitError = true;\n if (formType === pageMode.edit) {\n editDailyCallCapLimitError.setAttribute('style', 'display:block;');\n } else {\n copyDailyCallCapLimitError.setAttribute('style', 'display:block;');\n }\n }\n }\n\n validateHourlyLeadCap(event: any, formType: pageMode) {\n if (this.browserName == 'ie') {\n if (formType == pageMode.edit) {\n this.checkHourlyNumber(event, 'hourly');\n } else {\n this.checkCopyHourlyNumber(event, 'hourly');\n }\n }\n this.setCopyBtnDisable();\n this.hourlyCallCapError = '';\n this.checkHourlyCapRange = this.checkRange(event.target.value);\n let editHourlyCallCapLimitError = document.getElementById('EditHourlyCallCapLimtError');\n let copyHourlyCallCapLimitError = document.getElementById('CopyHourlyCallCapLimtError');\n if (this.checkHourlyCapRange) {\n if (formType === pageMode.edit) {\n this.compareValue('HourlyCallCap');\n } else {\n this.compareCopyValue('HourlyCallCap');\n }\n } else {\n this.hourlyCallCapError = Constant.limitCapError;\n this.copyHourlyCallCapError = Constant.limitCapError;\n if (formType === pageMode.edit) {\n editHourlyCallCapLimitError.setAttribute('style', 'display:block;');\n } else {\n copyHourlyCallCapLimitError.setAttribute('style', 'display:block;');\n }\n this.SubmitError = true;\n this.copySubmitError = true;\n }\n }\n /*validate phoneNumber*/\n validatePhoneNumber(value: string, formType: pageMode) {\n if (value !== '' && this.lastPhoneSelect !== value) {\n let phone: string = reformatePhone(value);\n this.lastPhoneSelect = phone;\n this.phoneNumberlengthError = phone.length >= 10 ? '' : Constant.PHONE_NUMBER_LENGTH_ERROR_MSG;\n if (formType == pageMode.edit) {\n this.editOrderForm.get('PhoneNumber').setValue(phone);\n } else {\n this.copyOrderForm.get('PhoneNumber').setValue(phone);\n }\n } else {\n this.lastPhoneSelect = '';\n }\n }\n /*validate phoneNumber*/\n checkRange(value: any) {\n if ((value < 1 || value > 100) && value != '') {\n return false;\n }\n return true;\n }\n\n compareValue(eventName: string) {\n this.orderModel.DailyCap = +this.editOrderForm.get('DailyCallCap').value;\n this.orderModel.HourlyCap = +this.editOrderForm.get('HourlyCallCap').value;\n if (this.orderModel.DailyCap > 0 && this.orderModel.HourlyCap > 0) {\n if (eventName == 'HourlyCallCap') {\n this.checkdailyCapRange = this.checkRange(this.orderModel.DailyCap);\n if (this.orderModel.DailyCap < this.orderModel.HourlyCap) {\n this.hourlyCallCapError = Constant.HOURLY_CALL_CAP_ERROR_MSG;\n if (this.checkdailyCapRange) {\n this.dailyCallCapError = '';\n } else {\n this.dailyCallCapError = Constant.limitCapError;\n this.SubmitError = true;\n }\n this.SubmitError = true;\n } else {\n if (this.checkdailyCapRange) {\n this.dailyCallCapError = '';\n this.SubmitError = false;\n }\n this.hourlyCallCapError = '';\n }\n }\n //check for Daily Call Cap\n else {\n if (this.orderModel.DailyCap < this.orderModel.HourlyCap) {\n this.dailyCallCapError = Constant.DAILY_CALL_CAP_ERROR_MSG;\n this.checkHourlyCapRange = this.checkRange(this.orderModel.HourlyCap);\n if (this.checkHourlyCapRange) {\n this.hourlyCallCapError = '';\n } else {\n this.hourlyCallCapError = Constant.limitCapError;\n this.SubmitError = true;\n }\n this.SubmitError = true;\n } else {\n this.hourlyCallCapError = '';\n this.dailyCallCapError = '';\n this.SubmitError = false;\n }\n }\n }\n }\n\n compareCopyValue(eventName: any) {\n this.copyOrderModel.DailyCap = +this.copyOrderForm.get('DailyCallCap').value;\n this.copyOrderModel.HourlyCap = +this.copyOrderForm.get('HourlyCallCap').value;\n if (this.copyOrderModel.DailyCap > 0 && this.copyOrderModel.HourlyCap > 0) {\n if (eventName == 'HourlyCallCap') {\n this.checkdailyCapRange = this.checkRange(this.copyOrderModel.DailyCap);\n if (this.copyOrderModel.DailyCap < this.copyOrderModel.HourlyCap) {\n this.copyHourlyCallCapError = Constant.HOURLY_CALL_CAP_ERROR_MSG;\n\n if (this.checkdailyCapRange) {\n this.copyDailyCallCapError = '';\n } else {\n this.copyDailyCallCapError = Constant.limitCapError;\n this.copySubmitError = true;\n }\n this.copySubmitError = true;\n } else {\n if (this.checkdailyCapRange) {\n this.copyDailyCallCapError = '';\n this.copySubmitError = false;\n }\n this.copyHourlyCallCapError = '';\n }\n } else {\n if (this.copyOrderModel.DailyCap < this.copyOrderModel.HourlyCap) {\n this.copyDailyCallCapError = Constant.DAILY_CALL_CAP_ERROR_MSG;\n this.checkHourlyCapRange = this.checkRange(this.copyOrderModel.HourlyCap);\n if (this.checkHourlyCapRange) {\n this.copyHourlyCallCapError = '';\n } else {\n this.copyHourlyCallCapError = Constant.limitCapError;\n this.copySubmitError = true;\n }\n this.copySubmitError = true;\n } else {\n this.copyHourlyCallCapError = '';\n this.copyDailyCallCapError = '';\n this.copySubmitError = false;\n }\n }\n }\n }\n /* open set checkbox value on apply all */\n setCheckboxValue(checkBoxValue: any, i: number, formType: pageMode) {\n var timeslotControl = null;\n var data = null;\n if (formType === pageMode.edit) {\n data = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n var group = data.at(i) as FormGroup;\n if (checkBoxValue == true) {\n timeslotControl = group.get('sunday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('monday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('tuesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('wednesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('thursday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('friday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n timeslotControl = group.get('saturday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors(null);\n } else {\n timeslotControl = group.get('sunday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('monday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('tuesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('wednesday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('thursday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('friday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n timeslotControl = group.get('saturday');\n timeslotControl.setValue(checkBoxValue);\n timeslotControl.setErrors({ required: true });\n }\n\n group.updateValueAndValidity();\n }\n /* open apply all and deselect all */\n\n selectAllDay(i: number, formType: pageMode): void {\n var data = null;\n if (formType === pageMode.edit) {\n data = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n\n var group = data.at(i) as FormGroup;\n var applyAll = group.get('AllWeek');\n if (this.isIE == false) {\n if (applyAll.value == true) {\n this.setCheckboxValue(false, i, formType);\n } else {\n this.setCheckboxValue(true, i, formType);\n }\n } else {\n if (applyAll.value == false) {\n this.setCheckboxValue(false, i, formType);\n } else {\n this.setCheckboxValue(true, i, formType);\n }\n }\n }\n\n /* end apply all and deselect all */\n clearTimeflag(formType: pageMode) {\n if (formType == pageMode.edit && this.isIeBrowser) {\n this.startTimeFlagErr = '';\n this.endTimeFlagErr = '';\n } else if (formType == pageMode.copy && this.isIeBrowser) {\n this.copyStartTimeFlagErr = '';\n this.copyEndTimeFlagErr = '';\n }\n }\n /* open unselect apply all checkbox */\n\n unSelectApplyAll(i: number, formType: pageMode) {\n this.setCopyBtnDisable();\n var data = null;\n if (formType == pageMode.edit) {\n data = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n var group = data.at(i) as FormGroup;\n var applyAll = group.get('AllWeek');\n if (applyAll.value) {\n var allWeekControl = group.get('AllWeek');\n allWeekControl.setValue(false);\n }\n }\n\n /* end unselect apply all checkbox */\n\n /* open set empty values to form control on state change */\n\n setEmptyValueToFormControl(formType: pageMode) {\n if (formType === pageMode.edit) {\n const CountyControl = this.editOrderForm.get('County');\n const ZipCodeControl = this.editOrderForm.get('ZipCode');\n CountyControl.setValue('');\n ZipCodeControl.setValue('');\n CountyControl.updateValueAndValidity();\n ZipCodeControl.updateValueAndValidity();\n } else {\n const CountyControl = this.copyOrderForm.get('County');\n const ZipCodeControl = this.copyOrderForm.get('ZipCode');\n CountyControl.setValue('');\n ZipCodeControl.setValue('');\n CountyControl.updateValueAndValidity();\n ZipCodeControl.updateValueAndValidity();\n }\n }\n\n /* end set empty values to form control on state change */\n\n /* open get county data on state change */\n\n onchangeState(event: string, formType: pageMode): void {\n this.locationError = '';\n this.countyData = []; // county\n this.clearCountyDropDown();\n this.zipData = []; // zip code\n this.countyCopyData = [];\n this.copyZipData = [];\n if (formType === pageMode.edit) {\n this.setCopyBtnDisable();\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') {\n this.setEmptyValueToFormControl(formType);\n this.checkSelectedField = 'state';\n }\n this.state = false;\n if (event === '') {\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') {\n this.checkSelectedField = 'none';\n this.countyData = [];\n this.zipData = [];\n const countyControl = this.editOrderForm.get('County');\n countyControl.setValue('');\n countyControl.updateValueAndValidity();\n }\n } else {\n if (\n (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') &&\n this.editOrderForm.get('OrderType').value == 'Leads'\n ) {\n this.enableSpinner();\n }\n }\n\n if (event != 'null' && event !== '') {\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'state') {\n this.state = true;\n this.stateForService = event;\n if (this.editOrderForm.get('OrderType').value == 'Calls') {\n return;\n }\n this._orderService.getCountyData(event).subscribe(\n res => {\n this.disableSpinner();\n this.countyData = JSON.parse(res.toString());\n },\n err => {\n this._logger.error(Constant.countyLogMsg);\n }\n );\n }\n }\n } else {\n this.setCopyBtnDisable();\n if (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'state') {\n this.setEmptyValueToFormControl(formType);\n this.copyLocationStartingPoint = 'state';\n }\n this.state = false;\n if (event === '') {\n if (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'state') {\n this.copyLocationStartingPoint = 'none';\n this.countyCopyData = [];\n this.copyZipData = [];\n const countyControl = this.copyOrderForm.get('County');\n countyControl.setValue('');\n countyControl.updateValueAndValidity();\n }\n } else {\n if (\n (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'state') &&\n this.copyOrderForm.get('OrderType').value == 'Leads'\n ) {\n this.enableSpinner();\n }\n }\n\n if (event != 'null' && event !== '') {\n if (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'state') {\n this.state = true;\n this.stateForService = event;\n if (this.copyOrderForm.get('OrderType').value == 'Calls') {\n return;\n }\n this._orderService.getCountyData(event).subscribe(\n res => {\n this.disableSpinner();\n this.countyCopyData = JSON.parse(res.toString());\n },\n err => {\n //copy\n this._logger.error(Constant.countyLogMsg);\n }\n );\n }\n }\n }\n }\n\n /* end get county data on state change */\n\n /* open get zipcode data on county change */\n\n onchangeCounty(event: boolean, formType: pageMode): void {\n this.zipData = [];\n if (event == false && this.isReadySend && this.ListCountySelected.length > 0) {\n // finish select counties\n let countys = this.ListCountySelected;\n this.zipData = [];\n this.copyZipData = [];\n let counties;\n if (formType === pageMode.edit) {\n if (countys.length == 0) {\n this.disableSpinner();\n } else if (this.checkSelectedField === 'state' && countys.length > 0) {\n this.enableSpinner();\n }\n this.setCopyBtnDisable();\n const zipCodeControl = this.editOrderForm.get('ZipCode');\n if (this.checkSelectedField == 'state') {\n zipCodeControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n } else {\n if (this.locationData.length === 1) {\n const stateControl = this.editOrderForm.get('State');\n stateControl.setValue(this.locationData[0].state);\n stateControl.updateValueAndValidity();\n }\n }\n // this.countyName = event.options[event.selectedIndex].getAttribute('data-isocode');\n this.county = false;\n if (countys.length > 0 && this.checkSelectedField === 'state') {\n this.county = true;\n counties = countys.join(',');\n this._orderService.getZipData(counties, this.stateForService).subscribe(\n (res: Location[]) => {\n this.zipData = res;\n this.disableSpinner();\n this.isAddCountyReady = true;\n },\n err => {\n this._logger.error(Constant.zipcodeLogMsg);\n }\n );\n }\n } else {\n if (countys.length == 0) {\n this.disableSpinner();\n } else if (this.copyLocationStartingPoint === 'state' && countys.length > 0) {\n this.enableSpinner();\n }\n this.setCopyBtnDisable();\n const zipCodeControl = this.copyOrderForm.get('ZipCode');\n if (this.copyLocationStartingPoint == 'state') {\n zipCodeControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n } else {\n if (this.locationCopyData.length === 1) {\n const statecontrol = this.copyOrderForm.get('State');\n statecontrol.setValue(this.locationCopyData[0].state);\n statecontrol.updateValueAndValidity();\n }\n }\n // this.countyName = event.options[event.selectedIndex].getAttribute('data-isocode');\n this.county = false;\n if (countys.length > 0 && this.copyLocationStartingPoint === 'state') {\n this.county = true;\n counties = countys.join(',');\n this._orderService.getZipData(counties, this.stateForService).subscribe(\n (res: Location[]) => {\n this.copyZipData = res;\n this.disableSpinner();\n this.isAddCountyReady = true;\n },\n err => {\n //copy\n this._logger.error(Constant.zipcodeLogMsg);\n }\n );\n }\n }\n }\n }\n\n /* end get zipcode data on county change */\n changeValidityOnDeleteLocation(formType: pageMode) {\n var stateControl;\n if (formType === pageMode.edit) {\n stateControl = this.editOrderForm.get('State');\n } else {\n stateControl = this.copyOrderForm.get('State');\n }\n stateControl.setValue('');\n stateControl.setValidators([Validators.required]);\n stateControl.updateValueAndValidity();\n }\n\n deleteLocationRow(locationIndex: number, formType: pageMode, state: string) {\n let countyIndex: number;\n if (formType === pageMode.edit) {\n this.checkSelectedField = 'state';\n countyIndex = this.selectednumber * (this.curPageEditLocation - 1) + locationIndex;\n this.setCopyBtnDisable();\n this.deleteStateFromStateListInJson(state, pageMode.edit);\n this.insertDeleteLocationEditList(state);\n if (this.locationList.length <= 1) {\n this.changeValidityOnDeleteLocation(pageMode.edit);\n }\n this.locationList.splice(countyIndex, 1);\n } else {\n this.copyLocationStartingPoint = 'state';\n countyIndex = this.selectednumber * (this.curPageCopyLocation - 1) + locationIndex;\n this.deleteStateFromStateListInJson(state, pageMode.copy);\n this.insertDeleteLocationCopyList(state);\n if (this.locationList.length <= 1) {\n this.changeValidityOnDeleteLocation(pageMode.copy);\n }\n this.copyOrderLocationList.splice(countyIndex, 1);\n }\n }\n\n /* open remove state from state list */\n\n deleteStateFromStateListInJson(state: any, formType: pageMode) {\n if (formType === pageMode.edit) {\n if (\n this.locationStateCountyZipList.some(function(arrVal) {\n return state.toString().trim() == arrVal;\n })\n ) {\n let deletedIndexValue = this.locationStateCountyZipList.indexOf(state.toString().trim());\n this.locationStateCountyZipList.splice(deletedIndexValue, 1);\n }\n } else {\n if (\n this.locationStateCountyZipCopyList.some(function(arrVal) {\n return state.toString().trim() == arrVal;\n })\n ) {\n let deletedCopyIndexValue = this.locationStateCountyZipCopyList.indexOf(state.toString().trim());\n this.locationStateCountyZipCopyList.splice(deletedCopyIndexValue, 1);\n }\n }\n }\n\n /* end remove state from state list */\n\n /* Open - Insert Location List */\n\n insertLocationList(state: string, county: string, zipCode: string, countyList: Location[], formType: pageMode) {\n let OrderTypeEdit = this.editOrderForm.get('OrderType').value;\n if (formType === pageMode.edit) {\n if (OrderTypeEdit == 'Calls') {\n if (!this.locationList.some(item => item.state.toString().trim() == state.toString().trim())) {\n let callLocationListEdit = new Location();\n callLocationListEdit.state = state;\n this.locationList.push(callLocationListEdit);\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n for (let ItemCounty of countyList) {\n if (\n this.locationList.some(\n item =>\n item.state.toString().trim() == state.toString().trim() &&\n item.countyName.toString().trim() == ItemCounty.countyName.toString().trim()\n )\n ) {\n let countyRows = this.locationList.filter(i => i.countyName == ItemCounty.countyName).length;\n for (var i = 0; i < countyRows; i++) {\n let indexCounty = this.locationList.findIndex(i => i.countyName == ItemCounty.countyName);\n if (indexCounty > -1) this.locationList.splice(indexCounty, 1);\n }\n }\n }\n\n let dataLocationListEdit = new Location();\n dataLocationListEdit.state = state;\n dataLocationListEdit.countyName = 'All Counties';\n dataLocationListEdit.zipCode = null;\n if (\n this.locationList.some(\n i => i.state == dataLocationListEdit.state && i.countyName == dataLocationListEdit.countyName\n ) == false\n ) {\n this.locationList.push(dataLocationListEdit);\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n }\n } else {\n let OrderTypeCopy = this.copyOrderForm.get('OrderType').value;\n if (OrderTypeCopy == 'Calls') {\n if (!this.copyOrderLocationList.some(item => item.state.toString().trim() == state.toString().trim())) {\n let callLocationListCopy = new Location();\n callLocationListCopy.state = state;\n this.copyOrderLocationList.push(callLocationListCopy);\n } else {\n this.copyLocationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n for (let countyValue of countyList) {\n if (\n this.copyOrderLocationList.some(\n item =>\n item.state.toString().trim() == state.toString().trim() &&\n item.countyName.toString().trim() == countyValue.countyName.toString().trim()\n )\n ) {\n let countyRows = this.copyOrderLocationList.filter(i => i.countyName == county[0]).length;\n for (var i = 0; i < countyRows; i++) {\n let indexCounty = this.copyOrderLocationList.findIndex(i => i.countyName == county[0]);\n if (indexCounty > -1) this.copyOrderLocationList.splice(indexCounty, 1);\n }\n }\n }\n let dataLocationListCopy = new Location();\n dataLocationListCopy.state = state;\n dataLocationListCopy.countyName = 'All Counties';\n dataLocationListCopy.zipCode = null;\n if (\n this.locationList.some(\n i => i.state == dataLocationListCopy.state && i.countyName == dataLocationListCopy.countyName\n ) == false\n ) {\n this.copyOrderLocationList.push(dataLocationListCopy);\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n }\n }\n }\n\n /* End - Insert Location List */\n insertLocationStateCountyZipList(state: string, county: any, zipCode: any) {\n if (zipCode == '' && county.length == 0 && state != undefined) {\n if (state != '' && !this.locationStateCountyZipList.some(item => item == state)) {\n this.locationStateCountyZipList.push(state);\n }\n }\n }\n\n insertDeleteLocationEditList(str: any) {\n let indexState = this.locationStateCountyZipList.indexOf(str);\n if (indexState >= 0) this.locationStateCountyZipList.splice(this.locationStateCountyZipList.indexOf(str), 1);\n }\n /* Open - Add location list in edit order */\n\n addLocation(state: string, county: string[], zipCode: number) {\n this._logger.debug('addLocation() invoked.');\n this.insertLocationStateCountyZipList(state, county, zipCode);\n this.setCopyBtnDisable();\n this.locationErrorNull = '';\n this.showAllZipCode = false;\n let countiestr = county.join(',');\n this._logger.debug('this.zipData is ' + this.zipData);\n if (state == null || state === '') {\n this.locationError = Constant.STATE_COUNTY_REQ_ERROR_MSG;\n if (this.isCopyOrderForm == true) {\n this.copyOrderForm.get('State').setErrors({ required: true });\n } else {\n this.editOrderForm.get('State').setErrors({ required: true });\n }\n } else {\n if (county == null || county.length == 0) {\n if (this.locationList.some(location => location.state === state)) {\n this.filteredCounties = this.countyData.filter(\n (countyItems: any) => !this.locationList.some(location => location.countyName === countyItems)\n );\n if (Array.isArray(this.filteredCounties) && this.filteredCounties.length) {\n if (zipCode) {\n this.locationError = Constant.SELECT_COUNTY_ERROR_MSG;\n } else {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.filteredCounties, pageMode.edit);\n this.checkSelectedField = 'none';\n }\n } else {\n this.locationError = Constant.STATE_ALREADY_EXIST;\n }\n } else {\n if (this.checkSelectedField === 'state') {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.countyData, pageMode.edit);\n this.checkSelectedField = 'none';\n } else {\n this.locationError = Constant.SELECT_COUNTY_ERROR_MSG;\n }\n }\n } else {\n if (\n this.locationList.some(\n location =>\n location.state === state &&\n location.countyName === 'All Counties' &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '') &&\n (location.zipCode == null || location.zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n (zipCode == null || zipCode.toString() == '') &&\n (location.zipCode == null || location.zipCode.toString() == '')\n )\n ) {\n this.locationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.locationList.some(\n location =>\n location.state.toLowerCase() === state.toLowerCase() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === zipCode\n )\n ) {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n } else {\n if (this.checkSelectedField === 'state') {\n if (zipCode) {\n if (\n !this.locationList.some(\n location =>\n location.state.toLowerCase().trim() === state.toLowerCase().trim() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === zipCode\n )\n ) {\n if (this.zipData.some((zipList: any) => zipList.zipCode == zipCode)) {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.edit);\n } else {\n this.locationError = Constant.ZIPCODE_NOT_EXIST_ERROR;\n }\n } else {\n this.locationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.edit);\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.edit);\n }\n }\n }\n }\n this.clearLocationControlValue();\n }\n /* open prepare list of location */\n insertLocationOnAddLocation(state: string, county: string, zipCode: string, formType: pageMode) {\n let customObj;\n let countySel: string[];\n\n if (formType === pageMode.edit) {\n if (\n this.locationList.some(\n location => location.state === state && location.countyName === county && location.zipCode == null\n )\n ) {\n this.locationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n } else if (\n this.locationList.some(\n location => location.state === state && location.countyName === 'All Counties' && location.zipCode == null\n )\n ) {\n this.locationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n }\n if (this.zipData.length > 0 && zipCode !== '') {\n countySel = this.zipData.filter(a => a.zipCode == +zipCode).map(i => i.countyName);\n } else if (this.zipData.length > 0 && zipCode === '') {\n // select state or county but no select zipcode\n countySel = county.split(',');\n } else {\n // case enter zipcode by typing\n countySel = county.split(',');\n }\n if (countySel.length == this.countyData.length && zipCode === '') {\n let countyLocationArr: Location[] = [];\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n countyLocationArr.push(customObj);\n });\n this.insertLocationList(state, county, zipCode, countyLocationArr, pageMode.edit);\n } else {\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n this.locationList.push(customObj);\n this.checkSelectedField = 'none';\n });\n }\n } else {\n if (\n this.copyOrderLocationList.some(\n location => location.state === state && location.countyName === county && location.zipCode == null\n )\n ) {\n this.copyLocationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n } else if (\n this.copyOrderLocationList.some(\n location => location.state === state && location.countyName === 'All Counties' && location.zipCode == null\n )\n ) {\n this.copyLocationError = Constant.ZIPCODE_EXIST_ERROR_MSG;\n return;\n }\n if (this.copyZipData.length > 0 && zipCode !== '') {\n countySel = this.copyZipData.filter(a => a.zipCode == +zipCode).map(i => i.countyName);\n } else if (this.copyZipData.length > 0 && zipCode === '') {\n // select state or county but no select zipcode\n countySel = county.split(',');\n } else {\n // case enter zipcode by typing\n countySel = county.split(',');\n }\n if (countySel.length == this.countyCopyData.length && zipCode === '') {\n let copyCountyLocationArr: Location[] = [];\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n copyCountyLocationArr.push(customObj);\n });\n this.insertLocationList(state, county, zipCode, copyCountyLocationArr, pageMode.copy);\n } else {\n countySel.forEach(county => {\n customObj = new Location();\n customObj.state = state;\n customObj.countyName = county;\n customObj.zipCode = zipCode === '' ? null : +zipCode;\n this.copyOrderLocationList.push(customObj);\n this.copyLocationStartingPoint = 'none';\n });\n }\n }\n }\n /* end prepare list of location */\n insertLocationStateCountyZipCopyList(state: string, county: any, zipCode: any) {\n if (zipCode == '' && county == '' && state != undefined) {\n if (state != '' && !this.locationStateCountyZipCopyList.some(item => item == state)) {\n this.locationStateCountyZipCopyList.push(state);\n }\n }\n }\n\n insertDeleteLocationCopyList(str: any) {\n let indexState = this.locationStateCountyZipCopyList.indexOf(str);\n if (indexState >= 0)\n this.locationStateCountyZipCopyList.splice(this.locationStateCountyZipCopyList.indexOf(str), 1);\n }\n /* Open - Add location list in copy order */\n addCopyLocation(state: string, county: string[], zipCode: number) {\n this.insertLocationStateCountyZipCopyList(state, county, zipCode);\n this.setCopyBtnDisable();\n this.copyLocationErrorNull = '';\n this.showAllZipCode = false;\n let countiestr = county.join(',');\n if (state == null || state === '') {\n this.copyLocationError = Constant.STATE_COUNTY_REQ_ERROR_MSG;\n if (this.isCopyOrderForm == true) {\n this.copyOrderForm.get('State').setErrors({ required: true });\n } else {\n this.editOrderForm.get('State').setErrors({ required: true });\n }\n } else {\n //force user to select order type to get correct location value\n let orderType = this.copyOrderForm.get('OrderType').value;\n if (orderType == '') {\n this.copyLocationError = Constant.locationErrorForOrderType;\n return;\n }\n\n if (county == null || county.length == 0) {\n if (this.copyOrderLocationList.some(location => location.state === state)) {\n this.filteredCopyCounties = this.countyCopyData.filter(\n (counties: any) => !this.copyOrderLocationList.some(location => location.countyName === counties)\n );\n if (Array.isArray(this.filteredCopyCounties) && this.filteredCopyCounties.length) {\n if (zipCode) {\n this.copyLocationError = Constant.SELECT_COUNTY_ERROR_MSG;\n } else {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.filteredCopyCounties, pageMode.copy);\n this.copyLocationStartingPoint = 'none';\n }\n } else {\n this.copyLocationError = Constant.STATE_ALREADY_EXIST;\n }\n } else {\n if (this.copyLocationStartingPoint === 'state') {\n this.insertLocationList(state, countiestr, zipCode.toString(), this.countyCopyData, pageMode.copy);\n this.copyLocationStartingPoint = 'none';\n } else {\n this.copyLocationError = Constant.SELECT_COUNTY_ERROR_MSG;\n }\n }\n } else {\n if (\n this.copyOrderLocationList.some(\n location =>\n location.state === state &&\n location.countyName === 'All Counties' &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '')\n )\n ) {\n this.copyLocationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.copyOrderLocationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode == null &&\n (zipCode == null || zipCode.toString() == '')\n )\n ) {\n this.copyLocationError = Constant.STATE_COUNTY_EXIST_ERROR_MSG;\n } else if (\n this.copyOrderLocationList.some(\n location =>\n location.state === state &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n (zipCode == null || zipCode.toString() == '') &&\n (location.zipCode == null || location.zipCode.toString() == '')\n )\n ) {\n this.copyLocationError = Constant.LOCATION_EXIST_ERROR_MSG;\n } else if (\n this.copyOrderLocationList.some(\n location =>\n location.state.toLowerCase() === state.toLowerCase() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === zipCode\n )\n ) {\n this.copyLocationError = Constant.LOCATION_EXIST_ERROR_MSG;\n } else {\n if (this.copyLocationStartingPoint === 'state') {\n if (zipCode) {\n if (\n !this.copyOrderLocationList.some(\n location =>\n location.state.toLowerCase().trim() === state.toLowerCase().trim() &&\n countiestr.toLowerCase().indexOf(location.countyName.toLowerCase()) > -1 &&\n location.zipCode === zipCode\n )\n ) {\n if (this.copyZipData.some((zipList: any) => zipList.zipCode == zipCode)) {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.copy);\n } else {\n this.copyLocationError = Constant.ZIPCODE_NOT_EXIST_ERROR;\n }\n } else {\n this.copyLocationError = Constant.LOCATION_EXIST_ERROR_MSG;\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.copy);\n }\n } else {\n this.insertLocationOnAddLocation(state, countiestr, zipCode.toString(), pageMode.copy);\n }\n }\n }\n }\n this.clearCopyLocationControlValue();\n }\n /* End - Add location list in copy order */\n allZipInCountySelectedRemoveOrphans() {}\n /* open add lead sources at on change event */\n onLeadSourceChange(leadSourceId: any, onChange: any) {\n this.selectedObject = this.leadSources.filter((t: any) => t.IntegrationId == leadSourceId);\n this.isDone = this.filterList.some((t: any) => t.IntegrationId == leadSourceId);\n if (!this.isDone) {\n if (onChange == 'onChange') {\n this.setCopyBtnDisable();\n }\n this.integrationList.push(this.selectedObject[0].IntegrationId);\n this.filterList.push({\n IntegrationId: this.selectedObject[0].IntegrationId,\n LeadSourceName: this.selectedObject[0].LeadSourceName,\n TransactionCost: this.selectedObject[0].TransactionCost,\n TransactionPrice: this.selectedObject[0].TransactionPrice\n });\n }\n this.selectedObject = [];\n this.updateLeadSourcesControl(this.integrationList.length, pageMode.edit);\n }\n /* open add lead sources in copy order at on change event */\n copyOrderLeadSourceList(leadSourceId: any, onChange: any) {\n this.selectedObject = this.copyLeadSources.filter((t: any) => t.IntegrationId == leadSourceId);\n this.leadSourceExist = this.copyLeadSourceList.some((t: any) => t.IntegrationId == leadSourceId);\n\n if (!this.leadSourceExist) {\n this.copyIntegrationList.push(this.selectedObject[0].IntegrationId);\n this.copyLeadSourceList.push({\n IntegrationId: this.selectedObject[0].IntegrationId,\n LeadSourceName: this.selectedObject[0].LeadSourceName,\n TransactionCost: this.selectedObject[0].TransactionCost,\n TransactionPrice: this.selectedObject[0].TransactionPrice\n });\n }\n this.selectedObject = [];\n this.updateLeadSourcesControl(this.copyLeadSourceList.length, pageMode.copy);\n }\n /* open restrict enter event */\n onKeydown(event: any) {\n return false;\n }\n /* open delete lead sources */\n deleteLeadSources(leadSourceIndex: any, formType: pageMode) {\n var leadSourcesControl = null;\n if (formType === pageMode.edit) {\n leadSourcesControl = this.editOrderForm.get('Leadsources');\n this.setCopyBtnDisable();\n this.filterList.splice(leadSourceIndex, 1);\n this.integrationList.splice(leadSourceIndex, 1);\n if (this.integrationList.length == 0) {\n this.updateLeadSourcesControl(this.integrationList.length, pageMode.edit);\n }\n } else {\n leadSourcesControl = this.copyOrderForm.get('Leadsources');\n this.copyLeadSourceList.splice(leadSourceIndex, 1);\n this.copyIntegrationList.splice(leadSourceIndex, 1);\n if (this.copyIntegrationList.length == 0) {\n this.updateLeadSourcesControl(this.copyIntegrationList.length, pageMode.copy);\n }\n }\n leadSourcesControl.setValue('');\n leadSourcesControl.updateValueAndValidity();\n }\n /* open update lead sources control */\n updateLeadSourcesControl(length: any, formType: pageMode) {\n var LeadSourcesControl = null;\n if (formType == pageMode.edit) {\n LeadSourcesControl = this.editOrderForm.get('Leadsources');\n } else {\n LeadSourcesControl = this.copyOrderForm.get('Leadsources');\n }\n if (length > 0) {\n LeadSourcesControl.setValidators(null);\n } else {\n LeadSourcesControl.setValidators([Validators.required]);\n LeadSourcesControl.setValue('');\n }\n LeadSourcesControl.updateValueAndValidity();\n }\n /* open method for copy order */\n copyOrderShow(content: any, flag: string) {\n this.isCopyOrderForm = true;\n /*handle tab focus between copy and edit order page*/\n this.setCopyOrderTabIndex();\n this.HideNotification = true;\n /*handle tab focus between copy and edit order page*/\n document.getElementById('copy-order-form').style.height = 'auto';\n document.getElementById('edit-order-form').style.display = 'none';\n document.getElementById('copy-order-form-submit').style.display = 'block';\n document.getElementById('copy-order-form-submit').style.removeProperty('display');\n document.getElementById('edit-order-form-submit').style.display = 'none';\n this.setCopyBtnDisable();\n this.editOrderClickFlag = true;\n this.copyOrderClickFlag = true;\n this.showCopyTab = true;\n this.showEditTab = false;\n\n let CopyOrderType = this.getControlValueByControlName('OrderType');\n\n if (CopyOrderType == 'Calls' && CopyOrderType != '') {\n this.resizeTableOnCopyCallTab = true;\n } else if (CopyOrderType == '') {\n this.HideNotification = true;\n if (this.orderModel.SourceType == 'Calls') {\n this.resizeTableOnCopyCallTab = true;\n this.resizeTableOnEditCallTab = true;\n } else {\n this.resizeTableOnCopyCallTab = false;\n this.resizeTableOnEditCallTab = false;\n }\n let CopyOrderTypeControl = this.copyOrderForm.get('OrderType');\n CopyOrderTypeControl.setValue('Leads');\n this.changeOrderType(CopyOrderTypeControl.value);\n } else {\n this.HideNotification = true;\n this.resizeTableOnCopyCallTab = false;\n }\n }\n\n getControlValueByControlName(controlName: string) {\n let OrderControl = this.copyOrderForm.get(controlName);\n console.log(OrderControl);\n console.log(OrderControl.value);\n return OrderControl.value;\n }\n\n editOrderUrl() {\n /*handle tab focus between copy and edit order page*/\n this.setEditOrderTabIndex();\n /*handle tab focus between copy and edit order page*/\n\n if (this.orderModel.SourceType == 'Leads') {\n this.HideNotification = true;\n }\n document.getElementById('copy-order-form').style.height = '0px';\n document.getElementById('edit-order-form').style.display = 'block';\n document.getElementById('copy-order-form-submit').style.display = 'none';\n document.getElementById('edit-order-form-submit').style.display = 'block';\n document.getElementById('edit-order-form-submit').style.removeProperty('display');\n this.showCopyTab = false;\n this.showEditTab = true;\n this.isCopyOrderForm = false;\n this.SendEmailNotification = this.orderModel.SendEmailNotification;\n this.SendMobileNotification = false;\n //this.SendMobileNotification = this.orderModel.SendSMSNotification;\n }\n\n copyOrderUrl(content: any, flag: string) {\n /*handle tab focus between copy and edit order page*/\n this.setCopyOrderTabIndex();\n /*handle tab focus between copy and edit order page*/\n this.open(content, flag);\n var copyOrderId = this._service.getCopyOrderById() ? this._service.getCopyOrderById() : this.orderId;\n if (this.copyUrl) {\n this._router.navigate(['/order-copy' + '/' + copyOrderId]);\n }\n }\n /* open location view all functionality */\n viewZipCodes(selectedData: any, i: number, event: any) {\n this.allZipCodes = [];\n this._orderService.getZipData(selectedData.countyName, selectedData.state).subscribe(\n res => {\n this.allZipCodes = JSON.parse(res.toString());\n },\n err => {\n this._logger.error(Constant.zipCodeCountyLogMsg);\n }\n );\n\n this.Ziplist = event.target.id.toString();\n let currentViewElement = document.getElementsByClassName(this.Ziplist.toString()) as HTMLCollectionOf;\n\n if (currentViewElement[0].style.display == 'none') {\n currentViewElement[0].style.display = 'block';\n } else currentViewElement[0].style.display = 'none';\n }\n disableStatusButton() {\n var statusInput = document.getElementById('EditStatus');\n var editStatusSlider = document.getElementById('EditStatusSlider');\n if (this.disabledSatusFlag) {\n statusInput.disabled = true;\n editStatusSlider.tabIndex = -1;\n editStatusSlider.style.opacity = '0.5';\n editStatusSlider.style.cursor = 'default';\n } else {\n statusInput.disabled = false;\n editStatusSlider.tabIndex = 0;\n editStatusSlider.style.opacity = '1';\n editStatusSlider.style.cursor = 'pointer';\n }\n }\n\n ngOnInit() {\n console.log('order edit ngOnInit:');\n if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) {\n this.autoCompleteValue = 'nope';\n }\n this.setCountyEvent();\n\n this.today = this.currentDate;\n this.isIE = this._orderService.isIEBrowser();\n this.accessToken = this._orderService.getAccessTokenFromStorage();\n console.log(this.accessToken);\n if (this.accessToken != null) {\n this._orderService.authentication().subscribe(\n res => {},\n err => {\n if (!err.error.text) {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(err.error);\n }\n }\n );\n } else {\n this._orderService.returnToErrorPage(Constant.TOKEN_MISSING_ERROR_MSG);\n this._logger.error(Constant.TOKEN_MISSING_ERROR_MSG);\n }\n\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n console.log(this.isAllstateMA);\n\n /* Start- For Detecting browser on load */\n this.browserName = this.getBrowserName();\n if (this.browserName === 'ie') {\n this.isIeBrowser = true;\n this.isOtherBrowser = false;\n } else {\n this.isIeBrowser = false;\n this.isOtherBrowser = true;\n }\n /* End- For Detecting browser on load */\n\n this.copyOrdername = this._service.getCopyOrderName();\n window.scroll(0, 0);\n\n this._service.currentMessage.subscribe(message => {\n if (message == 'none') {\n this.editOrderClickFlag = false;\n } else {\n this.copyOrderButton$.nativeElement.disabled = true;\n //(document.getElementById('copy-order-button')).disabled = true;\n this.editOrderClickFlag = true;\n }\n });\n this.getPhoneDropDown();\n this.getAccountBalance();\n\n this.showAllZipCode = false;\n //this.accessToken = this._orderService.getAccessTokenFromStorage();\n console.log(this.accessToken);\n console.log(this.orderId);\n if (this.accessToken) {\n this._orderService.getOrderById(this.accessToken, this.orderId).subscribe(\n data => {\n this.orderData = JSON.parse(data)[0];\n this._logger.debug('orderData is ' + JSON.stringify(this.orderData));\n this._service.setEditOrderId(this.orderData.OrderId);\n this._service.setEditOrderName(this.orderData.OrderName);\n\n if (this.orderData.Status == 'Active') {\n this.orderStatus = true;\n } else {\n this.orderStatus = false;\n }\n var dynamicLocationList = this.orderData.OrderLocationList;\n var dynamicStateList = this.orderData.stateList;\n this.setDemographicValue(this.editOrderForm, pageMode.edit);\n this.getproducttype();\n this.getleadsources();\n\n for (var locVal of dynamicLocationList) {\n let dynamicCustomObj = new Location();\n dynamicCustomObj.state = locVal.state;\n dynamicCustomObj.countyName = locVal.countyName;\n dynamicCustomObj.zipCode = locVal.zipCode;\n this.locationList.push(dynamicCustomObj);\n this.copyOrderLocationList.push(dynamicCustomObj);\n }\n for (var stateVal of dynamicStateList) {\n this.locationStateCountyZipList.push(stateVal);\n this.locationStateCountyZipCopyList.push(stateVal);\n }\n this.disabledSatusFlag = this.orderData.disableStatusFlag;\n /* open add timeslot */\n this.setOrderTimeSlots(pageMode.edit);\n\n /* end add timeslot */\n\n this.orderModel = new order(\n this.orderData.OrderId,\n this.orderData.OrderName,\n this.orderData.LeadSources,\n this.orderData.SourceType,\n this.orderData.CreatedDate,\n this.orderData.LeadType,\n this.orderData.AverageLeads,\n this.orderData.AvgDailyCost,\n this.orderData.Spent,\n this.orderData.StartDate,\n this.orderData.EndDate,\n this.orderData.DailyCap,\n this.orderData.HourlyCap,\n this.orderData.Status,\n this.orderData.Error,\n this.orderData.OffSet,\n this.orderData.MaximumConcurrency,\n this.orderData.TransferNumber,\n this.orderData.AgeFrom,\n this.orderData.AgeTo,\n this.orderData.SendEmailNotification,\n this.orderData.SendSMSNotification\n );\n\n this.copyOrderData(this.orderModel);\n if (this.orderModel.SourceType == 'Calls') {\n this.hideCountyZipCodeOfEditForm = true;\n this.hideCountyZipCodeOfCopyForm = true;\n this.resizeTableOnEditCallTab = true;\n this.phoneNumberlengthError = '';\n this.HideFields = false;\n this.copyHideFields = false;\n const MaxCallCurrencyControl = this.editOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.editOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators([Validators.required]);\n MaxCallCurrencyControl.setValue(this.orderModel.MaxCallCurrency);\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators([Validators.required, Validators.minLength(10)]);\n PhoneNumberControl.setValue(this.orderModel.TransferNumber);\n PhoneNumberControl.updateValueAndValidity();\n this.isCallLead = true;\n } else {\n this.hideCountyZipCodeOfEditForm = false;\n this.hideCountyZipCodeOfCopyForm = false;\n this.resizeTableOnEditCallTab = false;\n this.HideFields = true;\n this.copyHideFields = true;\n const MaxCallCurrencyControl = this.editOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.editOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators(null);\n MaxCallCurrencyControl.setValue('');\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators(null);\n PhoneNumberControl.setValue('');\n PhoneNumberControl.updateValueAndValidity();\n this.getBrokerInformation();\n this.isCallLead = false;\n }\n\n this.HideDemographics = !this.HideFields;\n },\n (err: HttpErrorResponse) => {\n let navigationExtras: NavigationExtras = {\n queryParams: { error: Constant.ORDERIDNOTVALID }\n };\n this._router.navigate(['/error-page'], navigationExtras);\n return false;\n }\n );\n } else {\n let navigationExtras: NavigationExtras = {\n queryParams: { error: Constant.TOKEN_MISSING_ERROR_MSG }\n };\n this._router.navigate(['/error-page'], navigationExtras);\n return false;\n }\n\n /* end get single order data */\n\n // this.getStateData();\n\n this.orderTypeError = Constant.ORDERTYPEERROR;\n this.productTypeError = Constant.PRODUCTTYPEERROR;\n this.orderNameError = Constant.ORDERNAMEERROR;\n this.startDateError = Constant.STARTDATEERROR;\n this.endDateError = Constant.ENDDATEERROR;\n this.timezoneError = Constant.TIMEZONEERROR;\n this.hourlycapError = Constant.HOURLYCAPERROR;\n this.copyHourlycapError = Constant.HOURLYCAPERROR;\n this.dailycapError = Constant.DAILYCAPERROR;\n this.leadSourceError = Constant.LEADSOURCEERROR;\n this.accessToken = this._orderService.getAccessTokenFromStorage();\n this.maxCallCurrencyError = Constant.MAX_CALL_CURRENCY_ERROR_MSG;\n this.copyMaxCallCurrencyError = Constant.MAX_CALL_CURRENCY_ERROR_MSG;\n this.phoneNumberError = Constant.PHONE_NUMBER_ERROR_MSG;\n this.startTimeError = Constant.START_ERROR_MESSAGE;\n this.endTimeError = Constant.END_ERROR_MESSAGE;\n if (!this.accessToken) {\n let navigationExtras: NavigationExtras = {\n queryParams: { error: Constant.TOKEN_MISSING_ERROR_MSG }\n };\n this._router.navigate(['/error-page'], navigationExtras);\n return false;\n }\n }\n\n getStateData() {\n this._orderService.getLocationData(this.isCallLead).subscribe(\n res => {\n this.locationData = JSON.parse(res.toString());\n this.locationCopyData = JSON.parse(res.toString());\n if (this.locationData.length > 0) {\n //this.setStateControlValue();\n }\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.stateLogMsg);\n }\n );\n }\n\n itemsPerPage(event: Event) {\n this.selectednumber = +(event.target).value;\n }\n\n setStateControlValue() {\n const StateControl = this.editOrderForm.get('State');\n const copyStateControl = this.copyOrderForm.get('State');\n StateControl.setValidators(null);\n StateControl.updateValueAndValidity();\n copyStateControl.setValidators(null);\n copyStateControl.updateValueAndValidity();\n }\n /* open set demograhics value */\n setDemographicValue(orderFormType: FormGroup, orderFlag: pageMode) {\n if (this.orderData.AgeFrom) {\n const AgeRangeControl = orderFormType.get('AgeRange');\n AgeRangeControl.setValidators([Validators.required]);\n AgeRangeControl.setValue(this.orderData.AgeFrom);\n AgeRangeControl.updateValueAndValidity();\n if (orderFlag === pageMode.edit) {\n this.ageTo = this.orderData.AgeTo;\n }\n\n this.copyAgeTo = this.orderData.AgeTo;\n } else {\n if (orderFlag === pageMode.copy) {\n const AgeRangeControl = orderFormType.get('AgeRange');\n AgeRangeControl.setValidators([Validators.required]);\n AgeRangeControl.setValue('0');\n }\n }\n }\n /* open delete timeslot */\n deleteTimeSlot(i: number, formType: pageMode) {\n this.endTimeFlagErr = '';\n this.startTimeFlagErr = '';\n var data = null;\n if (formType === pageMode.edit) {\n data = this.editOrderForm.get('timeSlots') as FormArray;\n if (data.length > 1) {\n this.setCopyBtnDisable();\n data = this.editOrderForm.get('timeSlots') as FormArray;\n data.removeAt(i);\n this.checkBoxValidation(formType, 'none');\n } else {\n this.openValidationDialog(Constant.RULE_ERROR_MESSAGE);\n }\n } else {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n if (data.length > 1) {\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n data.removeAt(i);\n this.checkBoxValidation(formType, 'none');\n } else {\n this.openValidationDialog(Constant.RULE_ERROR_MESSAGE);\n }\n }\n }\n\n onChanges(): any {\n this.editOrderForm.valueChanges.subscribe(val => {\n if (val.OrderName != this.orderData.OrderName) {\n (document.getElementById('copy-order-button')).disabled = true;\n } else {\n (document.getElementById('copy-order-button')).disabled = false;\n }\n });\n }\n /* open disable copy btn */\n setCopyBtnDisable() {\n (document.getElementById('copy-order-button')).disabled = true;\n this.copyDisabled = true;\n }\n /**clear time messages*/\n clearTimeMessages(event: any, formType: pageMode) {\n if (formType == pageMode.edit) {\n var getID = event.target.id;\n var timeName = getID.split('Time');\n if (timeName[0] == 'start') {\n document.getElementById('startTimeErr' + timeName[1]).innerHTML = ' ';\n } else if (timeName[0] == 'end') {\n document.getElementById('endTimeErr' + timeName[1]).innerHTML = ' ';\n }\n } else {\n var copyGetID = event.target.id;\n var copyTimeName = copyGetID.split('Time');\n if (copyTimeName[0] == 'copyStart') {\n document.getElementById('copyStartTimeErr' + copyTimeName[1]).innerHTML = ' ';\n } else if (copyTimeName[0] == 'copyEnd') {\n document.getElementById('copyEndTimeErr' + copyTimeName[1]).innerHTML = ' ';\n }\n }\n }\n /* Compare time validation Monika*/\n compareTimevalidator(formType: pageMode, event: any) {\n this.setCopyBtnDisable();\n let errorFlag = false;\n var data = null;\n var dataLength = null;\n if (formType === pageMode.edit) {\n this.clearTimeflag(pageMode.edit);\n this.compareTimeErrorFlag = true;\n data = this.editOrderForm.get('timeSlots') as FormArray;\n dataLength = data.length;\n } else {\n this.clearTimeflag(pageMode.copy);\n this.copyCompareTimeErrorFlag = true;\n data = this.copyOrderForm.get('timeSlots') as FormArray;\n dataLength = data.length;\n }\n var compareTimeCount = 0;\n for (compareTimeCount = 0; compareTimeCount <= dataLength - 1; compareTimeCount++) {\n var group = data.at(compareTimeCount) as FormGroup;\n var endTime = group.get('End').value;\n if (endTime == '') {\n group.get('End').setErrors({ required: true });\n }\n this.endTimeVal = endTime;\n var startTime = group.get('Start').value;\n if (startTime == '') {\n group.get('Start').setErrors({ required: true });\n }\n var sampleDate = '04/12/2019 ';\n var endTimeValue = new Date(sampleDate + endTime);\n var startTimeValue = new Date(sampleDate + startTime);\n var compareTimeErrorDiv = null;\n if (formType === pageMode.edit) {\n compareTimeErrorDiv = document.getElementById('errorEndTime' + compareTimeCount);\n } else {\n compareTimeErrorDiv = document.getElementById('copyErrorEndTime' + compareTimeCount);\n }\n\n if (endTime != '' && startTimeValue >= endTimeValue) {\n compareTimeErrorDiv.innerHTML = Constant.TIME_COMPARE_ERROR_MESSAGE;\n if (formType == pageMode.edit) {\n this.compareTimeErrorFlag = true;\n } else {\n this.copyCompareTimeErrorFlag = true;\n }\n if (event == 'submit') {\n formType === pageMode.copy\n ? document.getElementById('copyEndTime' + compareTimeCount).focus()\n : document.getElementById('endTime' + compareTimeCount).focus();\n return false;\n }\n } else {\n compareTimeErrorDiv.innerHTML = '';\n this.copyCompareTimeErrorFlag = false;\n this.compareTimeErrorFlag = false;\n }\n }\n }\n /* End time validation Monika*/\n timevalidator(formType: pageMode) {\n let endTimeFields;\n if (formType === pageMode.edit) {\n endTimeFields = document.getElementsByClassName('deliveryEndTimeClass') as HTMLCollectionOf;\n } else {\n endTimeFields = document.getElementsByClassName('deliveryEndTimeClassCopy') as HTMLCollectionOf;\n }\n let errorFlag = false;\n let endTimeIndex = 0;\n for (let endTimeFieldCount = 0; endTimeFieldCount < endTimeFields.length; endTimeFieldCount++) {\n var endTimeText = '';\n if (formType === pageMode.edit) {\n endTimeText = this.getTimeFromTimeSlot(this.editOrderForm.get('timeSlots'), endTimeIndex, 'end');\n } else {\n endTimeText = this.getTimeFromTimeSlot(this.copyOrderForm.get('timeSlots'), endTimeIndex, 'end');\n }\n\n let errorDiv = endTimeFields[endTimeFieldCount].parentElement.nextElementSibling;\n if (endTimeFieldCount % 2 != 0) {\n endTimeIndex++;\n }\n if (endTimeText.trim() == '') {\n errorDiv.textContent = Constant.END_ERROR_MESSAGE;\n if (formType === pageMode.edit) {\n document.getElementById('endTime' + (endTimeIndex - 1)).focus();\n } else {\n document.getElementById('copyEndTime' + (endTimeFieldCount - endTimeIndex)).focus();\n }\n\n errorFlag = true;\n } else {\n errorDiv.textContent = '';\n }\n }\n return errorFlag;\n }\n /* open popu-up start */\n open(content: any, flag: any) {\n if (flag === 'after') {\n this._modalService\n .open(content, { ariaLabelledBy: 'modal-basic-title', windowClass: 'custom-class' })\n .result.then(\n result => {\n this.saveFlag = true;\n this.editOrderClickFlag = true;\n this.showCopyTab = false;\n this.showEditTab = true;\n\n (document.getElementById('copy-order-button')).disabled = true;\n //this.editOrder();\n },\n reason => {\n if (flag != 'after') {\n this.copyUrl = false;\n this.editOrderClickFlag = false;\n this.showCopyTab = true;\n this.showEditTab = false;\n\n (document.getElementById('copy-order-button')).disabled = false;\n } else {\n this.showCopyTab = false;\n this.showEditTab = true;\n }\n }\n );\n } else {\n this.copyUrl = true;\n this.editOrderClickFlag = true;\n this.showCopyTab = false;\n this.showEditTab = true;\n\n (document.getElementById('copy-order-button')).disabled = true;\n }\n }\n /* copy order */\n setOrderTimeSlots(formType: pageMode) {\n for (var slots of this.orderData.Timeslots) {\n this.sunday = false;\n this.monday = false;\n this.tuesday = false;\n this.wednesday = false;\n this.thursday = false;\n this.friday = false;\n this.saturday = false;\n this.applyAll = false;\n if (slots.AllWeek) {\n this.sunday = true;\n this.monday = true;\n this.tuesday = true;\n this.wednesday = true;\n this.thursday = true;\n this.friday = true;\n this.saturday = true;\n this.applyAll = true;\n\n var formArray = null;\n if (formType === pageMode.edit) {\n formArray = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n formArray = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n\n formArray.push(\n this._fb.group({\n Start: [slots.Start, Validators.required],\n StartPicker: [slots.Start],\n End: [slots.End],\n EndPicker: [slots.End],\n AllWeek: [this.applyAll],\n sunday: [this.sunday],\n monday: [this.monday],\n tuesday: [this.tuesday],\n wednesday: [this.wednesday],\n thursday: [this.thursday],\n friday: [this.friday],\n saturday: [this.saturday]\n })\n );\n } else {\n for (var days of slots.DayOfWeek) {\n this.applyAll = false;\n if (days == 'Sunday') {\n this.sunday = true;\n }\n if (days == 'Monday') {\n this.monday = true;\n }\n if (days == 'Tuesday') {\n this.tuesday = true;\n }\n if (days == 'Wednesday') {\n this.wednesday = true;\n }\n if (days == 'Thursday') {\n this.thursday = true;\n }\n if (days == 'Friday') {\n this.friday = true;\n }\n if (days == 'Saturday') {\n this.saturday = true;\n }\n }\n if (formType === pageMode.edit) {\n formArray = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n formArray = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n\n formArray.push(\n this._fb.group({\n Start: [slots.Start, Validators.required],\n StartPicker: [slots.Start],\n End: [slots.End],\n EndPicker: [slots.End],\n AllWeek: [this.applyAll],\n sunday: [this.sunday],\n monday: [this.monday],\n tuesday: [this.tuesday],\n wednesday: [this.wednesday],\n thursday: [this.thursday],\n friday: [this.friday],\n saturday: [this.saturday]\n })\n );\n }\n }\n }\n\n copyOrderData(editOrderData: order) {\n this.copyOrderModel = Object.assign({}, editOrderData);\n if (!this.isCopy) {\n this.copyOrderModel.OrderName = '';\n this.copyOrderModel.OrderId = '';\n this.copyOrderModel.SourceType = '';\n this.copyOrderModel.LeadType = '';\n this.copyOrderModel.LeadSources = '';\n this.copyOrderModel.StartDate = this.today;\n this.copyOrderModel.EndDate = null;\n this.leadSources = [];\n this.filterList = [];\n this.orderFlag = true;\n }\n this.setOrderTimeSlots(pageMode.copy);\n return this.copyOrderModel;\n }\n\n changeSuccessMsgStatus(formType: pageMode) {\n if (formType === pageMode.edit) {\n this.editSuccessMsg = '';\n this.showEditMsg = false;\n } else {\n this.copySuccessMsg = '';\n this.showCopyMsg = false;\n }\n }\n\n removeSuccessMessage(formType: pageMode) {\n if (formType === pageMode.edit) {\n setTimeout(() => this.changeSuccessMsgStatus(formType), 5000);\n } else {\n const source = timer(5000);\n source.subscribe(val => {\n this.copySuccessMsg = '';\n this.showCopyMsg = false;\n this.deliveryDataMessage = '';\n this.showDeliveryWarning = false;\n });\n }\n }\n\n copyOrderSubmit() {\n /* open get success message */\n\n this.removeSuccessMessage(pageMode.copy);\n /* end get success message */\n this.convertTime(pageMode.copy);\n this.validateTimePickers();\n var data = this.copyOrderForm.get('timeSlots') as FormArray;\n this.checkBoxValidation(pageMode.copy, 'none');\n this.copySubmitted = true;\n if (this.copyOrderForm.get('OrderType').value == 'Calls') {\n if (this.copyMaxCallSubmitError) {\n document.getElementById('copyMaxCallCurrency').focus();\n return;\n }\n }\n\n if (this.copySubmitError) {\n if (this.copyOrderForm.get('HourlyCallCap').value < 0 || this.copyOrderForm.get('HourlyCallCap').value > 100) {\n document.getElementById('copyHourlyCallCap').focus();\n } else {\n document.getElementById('copyDailyCallCap').focus();\n }\n }\n\n // let endTimeErrorFlag = this.timevalidator(pageMode.copy);\n this.copyLocationErrorflag = false;\n if (this.copyOrderLocationList.length == 0) {\n this.copyLocationErrorflag = true;\n this.copyLocationErrorNull = Constant.ERROR_ON_LOCATION;\n if (this.copyOrderForm.valid) {\n document.getElementById('copyState').focus();\n }\n if (this.copyOrderForm.get('State').value === 'undefined' || this.copyOrderForm.get('State').value === '') {\n this.copyOrderForm.get('State').setErrors({ required: true });\n }\n }\n if (this.copySubmitErrorFlag) {\n document.getElementById('copyOrderName').focus();\n }\n if (this.copyErrorFlagStartDate) {\n this.copyStartDate$.nativeElement.focus();\n //(document.getElementById('copyStartDate')).focus();\n this._logger.warn(Constant.startDateLogMsg);\n } else if (this.copyErrorFlagEndDate) {\n this.copyEndDate$.nativeElement.focus();\n //(document.getElementById('copyEndDate')).focus();\n }\n\n /*For Copy Order- Checking date format validation for mat start and end date-Shivang_26-12-19*/\n\n this.checkDateValidity(pageMode.copy);\n if (this.copyStartDateValid && this.copyEndDateValid) {\n this.transformDateFormat(pageMode.copy, this.copyOrderModel.StartDate, this.copyOrderModel.EndDate);\n }\n /*For Copy Order- Checking date format validation for mat start and end date-Shivang_26-12-19*/\n\n var controls = this.copyOrderForm.controls;\n for (const name in controls) {\n if (controls[name].invalid) {\n if (name == 'timeSlots') {\n for (var copyTime = 0; copyTime < data.length; copyTime++) {\n var copyTimeValue = this.getTimeFromTimeSlot(data, copyTime, 'start');\n if (copyTimeValue == null || copyTimeValue == '') {\n document.getElementById('copyStartTime' + copyTime).focus();\n break;\n }\n }\n } else {\n document.getElementById('copy' + name).focus();\n }\n break;\n }\n }\n this.copyEndTimeFlag = true;\n this.copyStartTimeFlag = true;\n this.compareTimevalidator(pageMode.copy, 'submit');\n if (\n this.copyCompareTimeErrorFlag ||\n //endTimeErrorFlag ||\n this.copyOrderForm.valid == false ||\n this.copyErrorFlagStartDate ||\n this.copyErrorFlagEndDate ||\n this.copySubmitError === true ||\n this.copySubmitErrorFlag === true ||\n this.copyLocationErrorflag === true ||\n this.copycheckBoxValidator === true ||\n !this.copyStartDateLimitFlag ||\n !this.copyEndDateValid ||\n !this.copyStartDateValid ||\n !this.copyStartTimeFlag ||\n !this.copyEndTimeFlag\n ) {\n return;\n }\n if (this.copyOrderCreatedId != null) {\n this.copyOrderForm.value.OrderId = this.copyOrderCreatedId;\n }\n\n this.saveUpdateOrder(\n this.copyOrderForm,\n this.copyIntegrationList,\n this.copyOrderLocationList,\n pageMode.copy,\n this.locationStateCountyZipCopyList\n );\n }\n\n getOrderTypeValue(event: any) {\n this.copyLeadSourceList = [];\n this.copyIntegrationList = [];\n this.copyLeadSources = [];\n const Leadsources = this.copyOrderForm.get('Leadsources');\n Leadsources.setValue('');\n Leadsources.setValidators([Validators.required]);\n Leadsources.updateValueAndValidity();\n if (\n (this.copyOrderTypeValueOnSelect != event.target.value && this.copyOrderTypeValueOnSelect != '') ||\n this.orderModel.SourceType != event.target.value ||\n event.target.value == ''\n ) {\n this.copyOrderLocationList = [];\n this.locationStateCountyZipCopyList = [];\n }\n this.copyOrderTypeValueOnSelect = event.target.value;\n\n if (event.target.value != '') {\n const productTypeControl = this.copyOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n this.enableSpinner();\n this.copyLeadSourceList = [];\n this.copyLeadSources = [];\n\n /* open get productutypes when select order type */\n\n this._orderService.getProductTypes(event.target.value).subscribe(\n res => {\n this.copyProductType = JSON.parse(res.toString());\n this.disableSpinner();\n if (this.copyProductType == null) {\n this.copyProductType = [];\n this.openDialog([Constant.SERVER_ERROR]);\n }\n },\n err => {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(Constant.productTypeLogMsg);\n }\n );\n\n /* end get productutypes when select order type */\n\n if (event.target.value == 'Calls') {\n this.isCallLead = true;\n this.HideNotification = true;\n this.hideCountyZipCodeOfCopyForm = true;\n this.resizeTableOnCopyCallTab = true;\n this.copyHideFields = false;\n this.copyHideDemographics = true;\n const MaxCallCurrencyControl = this.copyOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.copyOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators([Validators.required]);\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators([\n Validators.required,\n Validators.minLength(10),\n Validators.pattern('[0-9]|^d{3}-d{3}-d{4}$')\n ]);\n\n PhoneNumberControl.updateValueAndValidity();\n } else if (event.target.value == 'Leads') {\n this.isCallLead = false;\n this.hideCountyZipCodeOfCopyForm = false;\n this.resizeTableOnCopyCallTab = false;\n this.copyHideFields = true;\n this.copyHideDemographics = false;\n const MaxCallCurrencyControl = this.copyOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.copyOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators(null);\n MaxCallCurrencyControl.setValue('');\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators(null);\n PhoneNumberControl.setValue('');\n PhoneNumberControl.updateValueAndValidity();\n this.getBrokerInformation();\n } else {\n this.copyHideFields = false;\n this.copyHideDemographics = false;\n }\n this.orderTypeValue = event.target.value;\n } else {\n const productTypeControl = this.copyOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n\n this.copyProductType = [];\n this.copyLeadSources = [];\n }\n this.clearCopyLocationControlValue();\n }\n\n getProductTypeValue(event: any) {\n const Leadsources = this.copyOrderForm.get('Leadsources');\n const OrderType = this.copyOrderForm.get('OrderType').value;\n Leadsources.setValue('');\n Leadsources.setValidators([Validators.required]);\n Leadsources.updateValueAndValidity();\n if (event.target.value != '') {\n this.copyLeadSourceList = [];\n this.copyIntegrationList = [];\n this.productTypeValue = event.target.value;\n if (OrderType != '') {\n this.LeadSources();\n }\n } else {\n this.copyLeadSources = [];\n }\n }\n\n LeadSources() {\n this.enableSpinner();\n this._orderService.getFilteredLeadSources(this.accessToken, this.orderTypeValue, this.productTypeValue).subscribe(\n res => {\n this.copyLeadSources = JSON.parse(res.toString());\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.leadsourceLogMsg);\n }\n );\n }\n /*Open Show/Hide Spinner Methods*/\n enableSpinner(): void {\n this.spinnerFlag = true;\n }\n\n disableSpinner(): void {\n this.spinnerFlag = false;\n }\n /* Open-Method to check validity of form controls */\n findInvalidControls() {\n const invalid = [];\n const controls = this.editOrderForm.controls;\n for (const name in controls) {\n if (controls[name].invalid) {\n invalid.push(name);\n }\n }\n return invalid;\n }\n\n showSuccessMessage(msg: string) {\n this._activatedRoute.params.subscribe(params => (this.orderId = params['orderId']));\n this._service.currentFormType.subscribe(data => {\n let mode: pageMode = data === 'edit' ? pageMode.edit : pageMode.copy;\n this.filterData = mode;\n if (mode === pageMode.edit) {\n this.showEditMsg = true;\n this.editSuccessMsg = msg;\n this.removeSuccessMessage(mode);\n } else {\n this.showCopyMsg = true;\n this.copySuccessMsg = msg;\n }\n });\n\n this.showMsg = true;\n const source = timer(6000);\n source.subscribe(val => {\n this.showMsg = false;\n this.message = '';\n });\n }\n /* active/inctive using spacebar press*/\n handleCheckBoxKeyUp(e: any) {\n if (e.keyCode === 32) {\n let checkBoxElement = e.target.previousElementSibling;\n checkBoxElement.click();\n return false;\n }\n }\n /* selectleadsources on pressing enterkey firefox*/\n validateEnter(e: any) {\n if (e.keyCode === 13 && (navigator.userAgent.search('Firefox') || navigator.userAgent.search('trident') >= 0)) {\n e.target.click();\n }\n }\n /*handle tab focus between copy and edit order page*/\n setEditOrderTabIndex() {\n let editOrderDivElements = (document\n .getElementById('edit-order-form')\n .querySelectorAll(\n 'input, select, button,.slider, i, .ng5-slider-pointer,.checkmark ,.view-all, a'\n ) as any) as Array;\n var editChildCount = editOrderDivElements.length;\n for (var count = 0; count < editChildCount; count++) {\n editOrderDivElements[count].tabIndex = 0;\n }\n\n let copyOrderDivElements = (Array.from(\n document\n .getElementById('copy-order-form')\n .querySelectorAll('input, select, button,.slider, i, .ng5-slider-pointer,.checkmark ,.view-all, a')\n ) as any) as Array;\n var copyChildCount = copyOrderDivElements.length;\n for (var j = 0; j < copyChildCount; j++) {\n copyOrderDivElements[j].tabIndex = -1;\n }\n\n this.disableTabIndexForDayCheckbox();\n }\n\n setCopyOrderTabIndex() {\n let copyOrderDivElements = (document\n .getElementById('copy-order-form')\n .querySelectorAll(\n 'input, select, button,.slider, i, .ng5-slider-pointer,.checkmark ,.view-all, a'\n ) as any) as Array;\n var childCount = copyOrderDivElements.length;\n for (var copyCount = 0; copyCount < childCount; copyCount++) {\n copyOrderDivElements[copyCount].tabIndex = 0;\n }\n\n let editOrderDivElements = (document\n .getElementById('edit-order-form')\n .querySelectorAll(\n 'input, select, button,.slider, i, .ng5-slider-pointer,.checkmark ,.view-all, a'\n ) as any) as Array;\n var childCount = editOrderDivElements.length;\n for (var editDiv = 0; editDiv < childCount; editDiv++) {\n editOrderDivElements[editDiv].tabIndex = -1;\n }\n this.disableTabIndexForDayCheckbox();\n }\n\n disableTabIndexForDayCheckbox() {\n let days = document.getElementsByClassName('days-check') as HTMLCollectionOf;\n var childCount = days.length;\n for (var dayCount = 0; dayCount < childCount; dayCount++) {\n days[dayCount].tabIndex = -1;\n }\n }\n /* handle event of enter key*/\n handlekeyPressEvent(e: any) {\n if (e.keyCode === 13) {\n e.target.click();\n e.preventDefault();\n }\n }\n /*start - edit order IE Lead flow number increment/decrement from keyboard */\n checkHourlyNumber(e: any, flag: string) {\n const hourly = this.editOrderForm.get('HourlyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) + 1);\n hourly.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'hourly'\n ) {\n hourly.setValue(1);\n hourly.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'hourly') {\n hourly.setValue(100);\n hourly.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) - 1);\n hourly.updateValueAndValidity();\n }\n }\n\n checkDailyCapNumber(e: any, flag: string) {\n const daily = this.editOrderForm.get('DailyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) + 1);\n daily.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'daily'\n ) {\n daily.setValue(1);\n daily.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'daily') {\n daily.setValue(100);\n daily.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) - 1);\n daily.updateValueAndValidity();\n }\n }\n\n checkMaxCallNumber(e: any, flag: string) {\n const maxcall = this.editOrderForm.get('MaxCallCurrency');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) + 1);\n maxcall.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(1);\n maxcall.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'maxCall') {\n maxcall.setValue(100);\n maxcall.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) - 1);\n maxcall.updateValueAndValidity();\n }\n }\n /* start - copy order IE Lead flow number increment / decrement from keyboard */\n checkCopyHourlyNumber(e: any, flag: string) {\n const hourly = this.copyOrderForm.get('HourlyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) + 1);\n hourly.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'hourly'\n ) {\n hourly.setValue(1);\n hourly.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'hourly') {\n hourly.setValue(100);\n hourly.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'hourly'\n ) {\n hourly.setValue(Number(e.target.value) - 1);\n hourly.updateValueAndValidity();\n }\n }\n\n checkCopyDailyCapNumber(e: any, flag: string) {\n const daily = this.copyOrderForm.get('DailyCallCap');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) + 1);\n daily.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1)) &&\n flag == 'daily'\n ) {\n daily.setValue(1);\n daily.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'daily') {\n daily.setValue(100);\n daily.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'daily'\n ) {\n daily.setValue(Number(e.target.value) - 1);\n daily.updateValueAndValidity();\n }\n }\n\n checkCopyMaxCallNumber(e: any, flag: string) {\n const maxcall = this.copyOrderForm.get('MaxCallCurrency');\n if (\n e.keyCode === 38 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) < 100 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) + 1);\n maxcall.updateValueAndValidity();\n } else if (\n (((e.target.value == null || e.target.value == '') && e.keyCode === 38) ||\n (e.keyCode === 40 && Number(e.target.value) <= 1 && flag == 'maxCall')) &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(1);\n maxcall.updateValueAndValidity();\n } else if (Number(e.target.value) >= 100 && e.keyCode === 38 && flag == 'maxCall') {\n maxcall.setValue(100);\n maxcall.updateValueAndValidity();\n } else if (\n e.keyCode === 40 &&\n (e.target.value != null || e.target.value != '') &&\n Number(e.target.value) > 1 &&\n flag == 'maxCall'\n ) {\n maxcall.setValue(Number(e.target.value) - 1);\n maxcall.updateValueAndValidity();\n }\n }\n /* Start- Method For Detecting browser-Shivang_10-12-19*/\n public getBrowserName() {\n const agent = window.navigator.userAgent.toLowerCase();\n switch (true) {\n case agent.indexOf('edge') > -1:\n return 'edge';\n case agent.indexOf('opr') > -1 && !!(window).opr:\n return 'opera';\n case agent.indexOf('chrome') > -1 && !!(window).chrome:\n return 'chrome';\n case agent.indexOf('trident') > -1:\n return 'ie';\n case agent.indexOf('firefox') > -1:\n return 'firefox';\n case agent.indexOf('safari') > -1:\n return 'safari';\n default:\n return 'other';\n }\n }\n /* Start - Method to check date validity */\n public isValidDate(dateString: any): boolean {\n let dateformat = /^(0?[1-9]|1[012])[\\/\\-](0?[1-9]|[12][0-9]|3[01])[\\/\\-]\\d{4}$/;\n if (dateString.match(dateformat)) {\n if (moment(dateString, 'MM/DD/YYYY').isValid()) {\n return true;\n } else {\n return false;\n }\n } else {\n return false;\n }\n }\n /* Start - Method to check date input chars-Shivang_12-20-19 */\n checkDateInput(event: any) {\n const dateLength = event.target.value.length;\n let charCode = event.which ? event.which : event.keyCode;\n if ((charCode > 31 && (charCode < 47 || charCode > 57)) || dateLength > 9) {\n return false;\n }\n\n if (event.which !== 8 || event.which !== 46) {\n this.setCopyBtnDisable();\n //Method Call to disable copy button while date change (Shivang_08-01-20)\n let dateInput = document.getElementById(event.target.id);\n let dateValue = dateInput.value;\n if (dateValue.length === 2 || dateValue.length === 5) {\n event.target.value = event.target.value + '/';\n }\n }\n return true;\n }\n /* Start - Method to check time input chars-Shivang_24-12-19 */\n checkTimeInput(event: any) {\n let charCode = event.which ? event.which : event.keyCode;\n if (charCode > 31 && (charCode < 47 || charCode > 57)) {\n return false;\n }\n if (this.browserName === 'ie') {\n if (event.which !== 8 || event.which !== 46) {\n let timeInput = document.getElementById(event.target.id);\n let timeValue = timeInput.value;\n\n let index = timeValue.indexOf(':');\n if (timeValue.length == 2 && index < 0) {\n event.target.value = event.target.value + ':';\n }\n }\n }\n return true;\n }\n /* Start - Method to transform date format for IE-Shivang_12-20-19 */\n transformDateFormat(orderType: pageMode, StartDate: any, EndDate: any) {\n if (orderType === pageMode.edit) {\n this.sDate = this._datePipe.transform(StartDate, 'yyyy-MM-dd');\n this.eDate = this._datePipe.transform(EndDate, 'yyyy-MM-dd');\n\n const startDateControl = this.editOrderForm.get('StartDate');\n const endDateControl = this.editOrderForm.get('EndDate');\n startDateControl.setValue(this.sDate);\n endDateControl.setValue(this.eDate);\n startDateControl.updateValueAndValidity();\n endDateControl.updateValueAndValidity();\n } else {\n this.sDateCopy = this._datePipe.transform(StartDate, 'yyyy-MM-dd');\n this.eDateCopy = this._datePipe.transform(EndDate, 'yyyy-MM-dd');\n\n const copyStartDateControl = this.copyOrderForm.get('StartDate');\n const copyEndDateControl = this.copyOrderForm.get('EndDate');\n copyStartDateControl.setValue(this.sDateCopy);\n copyEndDateControl.setValue(this.eDateCopy);\n copyStartDateControl.updateValueAndValidity();\n copyEndDateControl.updateValueAndValidity();\n }\n }\n\n onSelectZipCode(event: any) {\n if (this.checkSelectedField === 'none') {\n this.checkSelectedField = 'zipCode';\n }\n const stateControl = this.editOrderForm.get('State');\n\n const countyControl = this.editOrderForm.get('County');\n\n if (\n (typeof stateControl.value === 'undefined' || stateControl.value === '') &&\n (typeof countyControl.value === 'undefined' || countyControl.value === '')\n ) {\n if (event.length >= 5) {\n this._orderService.getStateCountyData(event).subscribe(\n res => {\n this.countyData = [];\n this.locationData = [];\n let data = JSON.parse(res.toString());\n if (data == '') {\n this.locationErrorNull = '';\n this.locationError = Constant.ENTER_VALID_ZIPCODE_ERROR_MSG;\n } else {\n this.locationErrorNull = '';\n this.locationError = '';\n }\n for (let i in data) {\n this.countyData.push(data[i].countyName);\n this.locationData.push(data[i].state);\n }\n\n stateControl.setValue(data[0].state);\n countyControl.setValue(data[0].countyName);\n this.locationData = this.locationData.filter((item: any, pos: any, arr: any) => arr.indexOf(item) === pos);\n },\n err => {\n this._logger.error(Constant.countyLogMsg);\n }\n );\n }\n }\n }\n\n getStateAndCountyByZipCode(event: any, formType: pageMode) {\n this.enableSpinner();\n if (formType === pageMode.edit) {\n this.countyData = [];\n this.locationData = [];\n } else {\n this.countyCopyData = [];\n this.locationCopyData = [];\n }\n this._orderService.getStateCountyData(event).subscribe(\n res => {\n this.disableSpinner();\n let data: Location[] = JSON.parse(res.toString());\n if (data.length == 0 && event.length >= 5) {\n if (formType === pageMode.edit) {\n this.locationErrorNull = '';\n this.locationError = Constant.ENTER_VALID_ZIPCODE_ERROR_MSG;\n } else {\n this.copyLocationErrorNull = '';\n this.copyLocationError = Constant.ENTER_VALID_ZIPCODE_ERROR_MSG;\n }\n } else {\n this.locationErrorNull = '';\n this.locationError = '';\n for (let i in data) {\n this.createStateAndCountyDataListOnEnterZipcode(formType, data[i].state, data[i].countyName);\n }\n if (data.length === 1) {\n if (formType === pageMode.edit) {\n const stateControl = this.editOrderForm.get('State');\n const countyControl = this.editOrderForm.get('County');\n stateControl.setValue(data[0].state);\n countyControl.setValue(data.map(a => a.countyName));\n } else {\n const stateControl = this.copyOrderForm.get('State');\n const countyControl = this.copyOrderForm.get('County');\n stateControl.setValue(data[0].state);\n countyControl.setValue(data[0].countyName);\n }\n } else {\n /* open remove duplicate value from list on edit form */\n\n this.locationData = this.locationData.filter(\n (test: any, index: any, array: any) =>\n index === array.findIndex((findTest: any) => findTest.state === test.state)\n );\n\n /* end remove duplicate value from list on edit form */\n\n /* open remove duplicate value from list on copy form */\n\n this.locationCopyData = this.locationCopyData.filter(\n (test: any, index: any, array: any) =>\n index === array.findIndex((findTest: any) => findTest.state === test.state)\n );\n\n /* end remove duplicate value from list on copy form */\n\n this.setStateOnZipcodeSelection(formType);\n }\n }\n },\n err => {\n //copy\n this._logger.error(Constant.stateZipCodeLogMsg);\n }\n );\n }\n /* open create state and county list on enter zip */\n createStateAndCountyDataListOnEnterZipcode(formType: pageMode, state: string, countyName: string) {\n let countyObj = new Location();\n countyObj.countyName = countyName;\n let stateObj = new Location();\n stateObj.state = state;\n if (formType === pageMode.edit) {\n if (!this.countyData.some((item: any) => item.countyName == countyName)) {\n this.countyData.push(countyObj);\n this.editOrderForm.get('County').setValue(countyName);\n this.ListCountySelected.push(countyName);\n this.CountySelector$.nzSelectService.updateListOfSelectedValue([countyName], true);\n setTimeout(() => (this.isAddCountyReady = true)); //reenable add location btn\n }\n if (!this.locationData.some((item: any) => item.state == state)) {\n this.locationData.push(stateObj);\n }\n } else {\n if (!this.countyCopyData.some((item: any) => item.countyName == countyName)) {\n this.countyCopyData.push(countyObj);\n this.copyOrderForm.get('County').setValue([countyName]);\n this.ListCountySelected.push(countyName);\n this.CopyCountySelector$.nzSelectService.updateListOfSelectedValue([countyName], true);\n setTimeout(() => (this.isAddCountyReady = true)); //reenable add location btn\n }\n if (!this.locationCopyData.some((item: any) => item.state == state)) {\n this.locationCopyData.push(stateObj);\n }\n }\n }\n\n onEnterZipCode(event: any, formType: pageMode) {\n if (\n event.keyCode != 9 &&\n event.keyCode != 37 &&\n event.keyCode != 38 &&\n event.keyCode != 39 &&\n event.keyCode != 40\n ) {\n event = event.target.value;\n this.setCopyBtnDisable();\n if (formType === pageMode.edit) {\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'zipCode') {\n this.checkSelectedField = 'zipCode';\n const stateControl = this.editOrderForm.get('State');\n stateControl.setValue('');\n const countyControl = this.editOrderForm.get('County');\n countyControl.setValue('');\n stateControl.updateValueAndValidity();\n countyControl.updateValueAndValidity();\n }\n\n if (this.checkSelectedField === 'none' || this.checkSelectedField === 'zipCode') {\n this.zipData = [];\n if (event.length == 5) {\n this.getStateAndCountyByZipCode(event, formType);\n }\n if (event.length == 0) {\n this.checkSelectedField = 'none';\n this.clearLocationControlValue();\n }\n }\n } else {\n if (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'zipCode') {\n this.copyLocationStartingPoint = 'zipCode';\n const stateControl = this.copyOrderForm.get('State');\n stateControl.setValue('');\n const countyControl = this.copyOrderForm.get('County');\n countyControl.setValue('');\n stateControl.updateValueAndValidity();\n countyControl.updateValueAndValidity();\n }\n\n if (this.copyLocationStartingPoint === 'none' || this.copyLocationStartingPoint === 'zipCode') {\n this.locationCopyData = [];\n this.copyZipData = [];\n if (event.length == 5) {\n this.getStateAndCountyByZipCode(event, formType);\n }\n if (event.length == 0) {\n this.copyLocationStartingPoint = 'none';\n this.clearCopyLocationControlValue();\n }\n }\n }\n }\n }\n\n setStateOnZipcodeSelection(formType: pageMode) {\n if (formType === pageMode.edit) {\n if (this.locationData.length === 1) {\n const stateControl = this.editOrderForm.get('State');\n for (let locationCount in this.locationData) {\n stateControl.setValue(this.locationData[locationCount].state);\n }\n }\n } else {\n if (this.locationCopyData.length === 1) {\n const stateControl = this.copyOrderForm.get('State');\n for (let copyLocationCount in this.locationData) {\n stateControl.setValue(this.locationCopyData[copyLocationCount].state);\n }\n }\n }\n }\n\n /* open update zip code value on select state */\n\n updateLocationControlValue() {\n if (this.checkSelectedField === 'state') {\n const zipCodeControl = this.editOrderForm.get('ZipCode');\n const CountyControl = this.editOrderForm.get('County');\n zipCodeControl.setValue('');\n CountyControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n CountyControl.updateValueAndValidity();\n }\n }\n\n /* end update zip code value on select state */\n\n /* clear location fields on add */\n clearLocationControlValue() {\n this.countyData = [];\n this.locationData = [];\n this.zipData = [];\n this.getStateData();\n this.clearCountyDropDown();\n const zipCodeControl = this.editOrderForm.get('ZipCode');\n const CountyControl = this.editOrderForm.get('County');\n zipCodeControl.setValue('');\n CountyControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n CountyControl.updateValueAndValidity();\n }\n /* clear location fields on add */\n\n /* clear location fields on add */\n clearCopyLocationControlValue() {\n this.countyCopyData = [];\n this.locationCopyData = [];\n this.copyZipData = [];\n this.getStateData();\n this.clearCountyDropDown();\n const zipCodeControl = this.copyOrderForm.get('ZipCode');\n const CountyControl = this.copyOrderForm.get('County');\n zipCodeControl.setValue('');\n CountyControl.setValue('');\n zipCodeControl.updateValueAndValidity();\n CountyControl.updateValueAndValidity();\n }\n /* clear location fields on add */\n\n /* Start Method - To allow only numeric key inputs */\n checkPhoneNumberKeyInput(event: any, formType: pageMode) {\n let keyCode = event.keyCode;\n if (\n (keyCode >= 48 && keyCode <= 57) ||\n keyCode == 8 ||\n (keyCode >= 35 && keyCode <= 40) ||\n keyCode == 46 ||\n (keyCode >= 96 && keyCode <= 105)\n ) {\n if (\n event.key === '-' ||\n event.key === '@' ||\n event.key === '!' ||\n event.key === '#' ||\n event.key === '$' ||\n event.key === '%' ||\n event.key === '*' ||\n event.key === '(' ||\n event.key === '^' ||\n event.key === '_' ||\n event.key === '&' ||\n event.key === '~' ||\n event.key === ')' ||\n event.key === '_' ||\n event.key === '`' ||\n event.key === '='\n )\n return false;\n if (formType == pageMode.edit) {\n this.setCopyBtnDisable();\n }\n return true;\n } else {\n return false;\n }\n }\n /* End Method - To allow only numeric key inputs */\n getPhoneDropDown() {\n this._orderService.getPhoneDropDown(this.accessToken).subscribe(\n res => {\n this.brokerModel = JSON.parse(res);\n this.iprolistphone = this.extractPhone(JSON.parse(res));\n this.disableSpinner();\n },\n err => {\n this._logger.error(Constant.stateLogMsg);\n }\n );\n }\n extractPhone(res: brokerInfo) {\n let phonelist: string[] = [];\n let temphone = phoneFormat(res.brokerMobile);\n let phone = `Cell : ${temphone}`;\n phonelist.push(phone);\n temphone = phoneFormat(res.brokerPhone);\n phone = `Phone : ${temphone}`;\n phonelist.push(phone);\n return phonelist;\n }\n checkListPhone() {\n if (this.iprolistphone == null || this.iprolistphone.length == 0) {\n this.getPhoneDropDown();\n }\n }\n /* Start Method - Checks key input value for call caps,restricting greater than 3 digit */\n checkCallCapValueOnInput(event: any) {\n let callCapValue = event.target.value;\n const maxLength = event.target.maxLength;\n this.setCopyBtnDisable();\n if (callCapValue.length > maxLength) {\n event.target.value = callCapValue.slice(0, maxLength);\n }\n }\n /* End Method - Checks key input value for call caps,restricting greater than 3 digit */\n\n // HELPERS\n\n startPickerChange(val: any, index: any, formType: pageMode) {\n this.compareTimevalidator(formType, '');\n }\n\n endPickerChange(val: any, index: any, formType: pageMode) {\n this.compareTimevalidator(formType, '');\n }\n\n convertTime(formType: pageMode) {\n var timeSlots;\n var startTime, endTime, group;\n if (formType == pageMode.edit) {\n timeSlots = this.editOrderForm.get('timeSlots') as FormArray;\n } else {\n timeSlots = this.copyOrderForm.get('timeSlots') as FormArray;\n }\n for (let i = 0; i < timeSlots.length; i++) {\n group = timeSlots.at(i) as FormGroup;\n startTime = group.get('Start').value;\n if (startTime !== '') {\n startTime = startTime.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n startTime = this.time24Format(startTime);\n }\n endTime = group.get('End').value;\n if (endTime !== '') {\n endTime = endTime.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n endTime = this.time24Format(endTime);\n }\n group.patchValue({ Start: startTime, End: endTime });\n }\n }\n\n validateTimePickers() {\n var timeSlots = this.editOrderForm.get('timeSlots') as FormArray;\n var tsLength = timeSlots.length;\n var i = 0;\n for (i = 0; i <= tsLength - 1; i++) {\n var group = timeSlots.at(i) as FormGroup;\n //Since the pickers are synced with the textboxes, get the textbox values to validate\n var startTextbox = group.get('Start').value;\n startTextbox = startTextbox.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n var endTextbox = group.get('End').value;\n endTextbox = endTextbox.replace(/[^A-Za-z 0-9 \\.,\\?\"\"!@#\\$%\\^&\\*\\(\\)-_=\\+;:<>\\/\\\\\\|\\}\\{\\[\\]`~]*/g, '');\n this._logger.debug('start is ' + startTextbox + ' End is ' + endTextbox);\n\n let conStart = this.militaryTimeToDate(startTextbox);\n let conEnd = this.militaryTimeToDate(endTextbox);\n\n let startInt: number = Number(conStart);\n let endInt: number = Number(conEnd);\n this._logger.debug('startInt is ' + startInt + ' end is ' + endInt);\n\n //test whether start is null and end has a value\n if (startInt == null && endInt > 0) {\n this._logger.debug('start is null & end has value');\n this.startTimeFlagErr = '';\n } else {\n this.startTimeFlagErr = '';\n }\n\n //test whether end is null\n if (startInt != null && endInt == null) {\n this._logger.debug('end is null');\n this.endTimeFlagErr = '';\n } else {\n this.endTimeFlagErr = '';\n }\n\n //Test whether start is less than end, if it's greater throw error that end time needs to be greater.\n if (startInt != null || endInt != null) {\n if (startInt <= endInt) {\n this._logger.debug('start is less than end');\n this.startTimeFlagErr = '';\n this.endTimeFlagErr = '';\n this.compareTimeErrorFlag = false;\n this.copyCompareTimeErrorFlag = false;\n } else {\n this.compareTimeErrorFlag = true;\n this.copyCompareTimeErrorFlag = true;\n this.endTimeFlagErr = '';\n }\n }\n }\n }\n\n militaryTimeToDate(input: string): Date {\n let suff = input.split(' ')[1];\n let hour = +input.split(':')[0];\n let min = suff != undefined ? input.split(':')[1].substr(0, 2) : input.split(':')[1];\n let hour24 = suff != undefined ? (suff == 'AM' ? hour : hour + 12) : hour;\n let time = `${hour24}:${min}`;\n var sampleDate = '04/12/2019 ';\n var startTimeValue = new Date(sampleDate + time);\n return startTimeValue;\n }\n\n time24Format(input: string): string {\n let suff = input.split(' ')[1];\n let hour = +input.split(':')[0];\n let min = suff != undefined ? input.split(':')[1].substr(0, 2) : input.split(':')[1];\n let hour24;\n if (suff == undefined) {\n suff = hour >= 12 ? 'PM' : 'AM';\n }\n if (suff == 'AM') {\n hour = hour == 12 ? 0 : hour;\n hour24 = hour;\n } else {\n hour24 = hour >= 12 ? hour : hour + 12;\n }\n return `${hour24}:${min}`;\n }\n\n dateToMilitaryTime(input: Date): string {\n var result = '07:45';\n var dateToConvert = input.toTimeString();\n dateToConvert = dateToConvert.substr(0, 5);\n return dateToConvert;\n }\n //Need to sync the timepickers with the text value returned from LeadCloud\n initTimePickers() {\n var timeSlots = this.editOrderForm.get('timeSlots') as FormArray;\n var tsLength = timeSlots.length;\n var i = 0;\n for (i = 0; i <= tsLength - 1; i++) {\n var group = timeSlots.at(i) as FormGroup;\n var startTime = group.get('Start').value;\n var endTime = group.get('End').value;\n var startDate = this.militaryTimeToDate(startTime);\n var endDate = this.militaryTimeToDate(endTime);\n group.patchValue({ StartPicker: startDate, Start: startTime, EndPicker: endDate, End: endTime });\n }\n }\n /////////////////////////////////\n setCountyEvent() {\n this.CountySelector$.registerOnChange((values: string[]) => {\n this.isAddCountyReady = false;\n if (values.indexOf('Select All') > -1) {\n this.isReadySend = false;\n this.isSelectAll = true;\n let items = this.countyData.map(a => a.countyName);\n this.ListCountySelected = items;\n if (values.length > 1) {\n values.forEach(k => {\n let index = this.ListCountySelected.findIndex(a => a == k);\n if (index > -1) this.ListCountySelected.splice(index, 1);\n });\n this.updatePanel(pageMode.edit);\n } else {\n this.updatePanel(pageMode.edit);\n }\n } else {\n this.isReadySend = true;\n this.isSelectAll = false;\n this.ListCountySelected = values;\n }\n });\n this.CopyCountySelector$.registerOnChange((values: string[]) => {\n this.isAddCountyReady = false;\n if (values.indexOf('Select All') > -1) {\n this.isReadySend = false;\n this.isSelectAll = true;\n let items = this.countyCopyData.map(a => a.countyName);\n this.ListCountySelected = items;\n if (values.length > 1) {\n values.forEach(k => {\n let index = this.ListCountySelected.findIndex(a => a == k);\n if (index > -1) this.ListCountySelected.splice(index, 1);\n });\n this.updatePanel(pageMode.copy);\n } else {\n this.updatePanel(pageMode.copy);\n }\n } else {\n this.isReadySend = true;\n this.isSelectAll = false;\n this.ListCountySelected = values;\n }\n });\n }\n\n private updatePanel(formType: pageMode) {\n if (formType == pageMode.edit) {\n this.CountySelector$.writeValue(this.ListCountySelected);\n this.CountySelector$.closeDropDown();\n setTimeout(() => {\n this.CountySelector$.toggleDropDown();\n this.isReadySend = true;\n }, null);\n } else {\n this.CopyCountySelector$.writeValue(this.ListCountySelected);\n this.CopyCountySelector$.closeDropDown();\n setTimeout(() => {\n this.CopyCountySelector$.toggleDropDown();\n this.isReadySend = true;\n }, null);\n }\n }\n\n private clearCountyDropDown() {\n this.ListCountySelected = [];\n this.CountySelector$.writeValue([]);\n this.CopyCountySelector$.writeValue([]);\n }\n getFormControl(formType: pageMode, name: string) {\n if (formType == pageMode.edit) {\n return this.editOrderForm.get(name);\n } else {\n return this.copyOrderForm.get(name);\n }\n }\n getFormArrayControl(formType: pageMode, name: string, arrayName: string, index: number) {\n if (formType == pageMode.edit) {\n const array = this.editOrderForm.get(arrayName) as FormArray;\n return array.at(index).get(name);\n } else {\n const array = this.copyOrderForm.get(arrayName) as FormArray;\n return array.at(index).get(name);\n }\n }\n\n isValid(formType: pageMode, name: string) {\n var e = this.getFormControl(formType, name);\n return e && e.valid;\n }\n hasError(formType: pageMode, name: string, prop?: string) {\n let submitted = formType == pageMode.edit ? this.submitted : this.copySubmitted;\n let e = this.getFormControl(formType, name);\n\n if (prop) {\n if (e.getError(prop) != null) return e && (submitted || e.dirty || e.touched) && e.getError(prop);\n else return false;\n } else {\n return e && (submitted || e.dirty || e.touched) && !e.valid;\n }\n }\n hasArrayError(formType: pageMode, arrayName: string, name: string, prop: string, index: number) {\n let submitted = formType == pageMode.edit ? this.submitted : this.copySubmitted;\n let e = this.getFormArrayControl(formType, name, arrayName, index);\n\n if (prop) {\n if (e.getError(prop) != null) return e && (submitted || e.dirty || e.touched) && e.getError(prop);\n else return false;\n } else {\n return e && (submitted || e.dirty || e.touched) && !e.valid;\n }\n }\n\n changeOrderType(orderType: string) {\n this.copyLeadSourceList = [];\n this.copyIntegrationList = [];\n this.copyLeadSources = [];\n const Leadsources = this.copyOrderForm.get('Leadsources');\n Leadsources.setValue('');\n Leadsources.setValidators([Validators.required]);\n Leadsources.updateValueAndValidity();\n if (\n (this.copyOrderTypeValueOnSelect != orderType && this.copyOrderTypeValueOnSelect != '') ||\n this.orderModel.SourceType != orderType ||\n orderType == ''\n ) {\n this.copyOrderLocationList = [];\n this.locationStateCountyZipCopyList = [];\n }\n this.copyOrderTypeValueOnSelect = orderType;\n\n if (orderType != '') {\n const productTypeControl = this.copyOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n this.enableSpinner();\n this.copyLeadSourceList = [];\n this.copyLeadSources = [];\n\n /* get productutypes when select order type */\n this._orderService.getProductTypes(orderType).subscribe(\n res => {\n this.copyProductType = JSON.parse(res.toString());\n this.disableSpinner();\n if (this.copyProductType == null) {\n this.copyProductType = [];\n this.openDialog([Constant.SERVER_ERROR]);\n }\n },\n err => {\n this._orderService.returnToErrorPage(err.error);\n this._logger.error(Constant.productTypeLogMsg);\n }\n );\n\n if (orderType == 'Calls') {\n this.isCallLead = true;\n this.HideNotification = true;\n this.hideCountyZipCodeOfCopyForm = true;\n this.resizeTableOnCopyCallTab = true;\n this.copyHideFields = false;\n this.copyHideDemographics = true;\n const MaxCallCurrencyControl = this.copyOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.copyOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators([Validators.required]);\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators([\n Validators.required,\n Validators.minLength(10),\n Validators.pattern('[0-9]|^d{3}-d{3}-d{4}$')\n ]);\n\n PhoneNumberControl.updateValueAndValidity();\n } else if (orderType == 'Leads') {\n this.isCallLead = false;\n this.hideCountyZipCodeOfCopyForm = false;\n this.resizeTableOnCopyCallTab = false;\n this.copyHideFields = true;\n this.copyHideDemographics = false;\n const MaxCallCurrencyControl = this.copyOrderForm.get('MaxCallCurrency');\n const PhoneNumberControl = this.copyOrderForm.get('PhoneNumber');\n MaxCallCurrencyControl.setValidators(null);\n MaxCallCurrencyControl.setValue('');\n MaxCallCurrencyControl.updateValueAndValidity();\n PhoneNumberControl.setValidators(null);\n PhoneNumberControl.setValue('');\n PhoneNumberControl.updateValueAndValidity();\n this.getBrokerInformation();\n } else {\n this.copyHideFields = false;\n this.copyHideDemographics = false;\n }\n this.orderTypeValue = orderType;\n } else {\n const productTypeControl = this.copyOrderForm.get('ProductType');\n productTypeControl.setValue('');\n productTypeControl.updateValueAndValidity();\n\n this.copyProductType = [];\n this.copyLeadSources = [];\n }\n this.clearCopyLocationControlValue();\n }\n}\n\n/* open lead sources class to prepare list */\n\nclass LeadSourceIntegration {\n IntegrationId: string;\n LeadSourceName: string;\n TransactionCost: string;\n TransactionPrice: string;\n}\n\n/* end lead sources class to prepare list */\nexport enum pageMode {\n edit = 1,\n copy\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { NgxPaginationModule } from 'ngx-pagination';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { OrderEditRoutingModule } from './order-edit-routing.module';\nimport { OrderEditComponent } from './order-edit.component';\nimport { Ng5SliderModule } from 'ng5-slider';\nimport { FormsModule } from '@angular/forms';\nimport { NgMultiSelectDropDownModule } from 'ng-multiselect-dropdown-angular7';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { MatDatepickerModule } from '@angular/material/datepicker';\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { NgxMaterialTimepickerModule } from 'ngx-material-timepicker';\nimport { SharedModule } from '@app/shared/shared.module';\nimport { NgZorroAntdModule, NZ_I18N, en_US } from 'ng-zorro-antd';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n TranslateModule,\n NgxPaginationModule,\n NgbModule,\n OrderEditRoutingModule,\n Ng5SliderModule,\n NgMultiSelectDropDownModule.forRoot(),\n FormsModule,\n MatTooltipModule,\n MatDatepickerModule,\n MatNativeDateModule,\n MatRippleModule,\n MatIconModule,\n NgxMaterialTimepickerModule,\n SharedModule,\n NgZorroAntdModule\n ],\n declarations: [OrderEditComponent],\n bootstrap: [OrderEditComponent]\n})\nexport class OrderEditModule {}\n","import { NgModule } from '@angular/core';\nimport { Routes, RouterModule } from '@angular/router';\n\nimport { extract } from '@app/core';\nimport { OrderSummaryComponent } from './order-summary.component';\n\nconst routes: Routes = [\n { path: 'order-summary', component: OrderSummaryComponent, data: { title: extract('order-summary') } }\n];\n\n@NgModule({\n imports: [RouterModule.forChild(routes)],\n exports: [RouterModule],\n providers: []\n})\nexport class OrderSummaryRoutingModule {}\n","export default \".alertMsg {\\n width: 240px !important;\\n font-weight: 400; }\\n\\n.warningMsg {\\n width: 429px !important;\\n display: inline-block;\\n right: 167px;\\n font-weight: 400; }\\n\\n.flex-shrink-0 {\\n overflow-x: hidden; }\\n\\n.navbar {\\n height: 60px;\\n background: #343b49; }\\n\\n.select {\\n width: 160px; }\\n\\n.heading1 {\\n background-color: #cde6f7 !important; }\\n\\nbody {\\n background-color: #f1f2f7 !important; }\\n\\n.show-error {\\n text-align: center;\\n color: red;\\n font-size: medium;\\n padding-top: 70px; }\\n\\n.show-success {\\n text-align: left;\\n color: green;\\n font-size: medium; }\\n\\n.account-balance {\\n color: #f88d01; }\\n\\n.opacity-class {\\n opacity: 0.2 !important; }\\n\\n.lead-tab {\\n color: #0074c9; }\\n\\n.bg-top {\\n background-color: #cde6f7; }\\n\\ndiv.mat-select-value {\\n max-width: none; }\\n\\na.managefund {\\n color: #1f8dde; }\\n\\n@media screen and (max-width: 700px) and (min-width: 321px) {\\n #myTab {\\n font-size: 10px; }\\n #data-lead-source-tab {\\n width: 89px; }\\n #call-lead-source-tab {\\n width: 89px; }\\n .container {\\n margin-bottom: 7px; } }\\n\\n@media screen and (max-width: 320px) and (min-width: 10px) {\\n #myTab {\\n font-size: 5px; }\\n #data-lead-source-tab {\\n width: 66px; }\\n #call-lead-source-tab {\\n width: 66px; }\\n .container {\\n font-size: 8px; }\\n .select {\\n width: 157px;\\n margin-bottom: 7px; } }\\n\\nbutton.btn.btn-outline-primary {\\n margin-left: 83%; }\\n\\n.matSelect {\\n background: #fcfcfc;\\n border: 1px solid #a6a6a6;\\n padding: 2px;\\n width: 99pt;\\n line-height: 17px;\\n float: right; }\\n\\n.matSelect:focus {\\n outline: 1px auto #0db9f0; }\\n\\n.table-width-10percent {\\n width: 10%; }\\n\\n.table-width-12percent {\\n width: 12%; }\\n\\n.table-width-13percent {\\n width: 13%; }\\n\\n.table-width-27percent {\\n width: 27%; }\\n\\n.pre-font-family {\\n font-family: sans-serif;\\n vertical-align: top;\\n position: relative;\\n top: -8px;\\n left: -73px; }\\n\\n.pre-style {\\n font-size: 13px;\\n padding: 0;\\n margin: 0;\\n height: auto;\\n display: -ms-inline-flexbox;\\n display: inline-flex;\\n vertical-align: top;\\n font-weight: 500;\\n line-height: 17px; }\\n\\ntd.no-record-message {\\n width: 50%;\\n padding: 0;\\n text-align: right; }\\n\\ntd.add-new-order-button-td {\\n width: 50%;\\n padding: 0; }\\n\\nbutton.btn.btn-outline-primary.add-new-order-button {\\n margin-left: 0;\\n float: right;\\n display: -ms-flexbox;\\n display: flex; }\\n\\ntd.mat-paginator-order-summary-td {\\n width: 41%;\\n padding: 0; }\\n\\n.mat-paginator-order-summary {\\n display: block;\\n padding: 0;\\n margin: 0; }\\n\\n.fa.fa-pencil {\\n color: #0074c8; }\\n\\n.fa.ico-exclamation-circle-ahs {\\n background-image: url(/assets/images/group-activity-summary-ahs.svg);\\n background-repeat: no-repeat;\\n color: red; }\\n\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHAvb3JkZXJzL0Q6XFxhXFwxXFxzXFxOR1RTLkxlYWRNYXJrZXQuUG9ydGFsLkNsaWVudFxcQ2xpZW50QXBwL3NyY1xcYXBwXFxvcmRlcnNcXG9yZGVyLXN1bW1hcnkuY29tcG9uZW50LnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSx1QkFBdUI7RUFDdkIsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsdUJBQXVCO0VBQ3ZCLHFCQUFxQjtFQUNyQixZQUFZO0VBQ1osZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0Usa0JBQWtCLEVBQUE7O0FBR3BCO0VBQ0UsWUFBWTtFQUNaLG1CQUFtQixFQUFBOztBQUdyQjtFQUNFLFlBQVksRUFBQTs7QUFHZDtFQUNFLG9DQUFvQyxFQUFBOztBQUd0QztFQUNFLG9DQUFvQyxFQUFBOztBQUd0QztFQUNFLGtCQUFrQjtFQUNsQixVQUFVO0VBQ1YsaUJBQWlCO0VBQ2pCLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osaUJBQWlCLEVBQUE7O0FBSW5CO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLHVCQUF1QixFQUFBOztBQUd6QjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxlQUFlLEVBQUE7O0FBR2pCO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFO0lBQ0UsZUFBZSxFQUFBO0VBR2pCO0lBQ0UsV0FBVyxFQUFBO0VBR2I7SUFDRSxXQUFXLEVBQUE7RUFHYjtJQUNFLGtCQUFrQixFQUFBLEVBQ25COztBQUdIO0VBQ0U7SUFDRSxjQUFjLEVBQUE7RUFHaEI7SUFDRSxXQUFXLEVBQUE7RUFHYjtJQUNFLFdBQVcsRUFBQTtFQUdiO0lBQ0UsY0FBYyxFQUFBO0VBR2hCO0lBQ0UsWUFBWTtJQUNaLGtCQUFrQixFQUFBLEVBQ25COztBQUdIO0VBQ0UsZ0JBQWdCLEVBQUE7O0FBR2xCO0VBQ0UsbUJBQW1CO0VBQ25CLHlCQUF5QjtFQUN6QixZQUFZO0VBQ1osV0FBVztFQUNYLGlCQUFpQjtFQUNqQixZQUFZLEVBQUE7O0FBR2Q7RUFDRSx5QkFBeUIsRUFBQTs7QUFHM0I7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSxVQUFVLEVBQUE7O0FBR1o7RUFDRSx1QkFBdUI7RUFDdkIsbUJBQW1CO0VBQ25CLGtCQUFrQjtFQUNsQixTQUFTO0VBQ1QsV0FBVyxFQUFBOztBQUdiO0VBQ0UsZUFBZTtFQUNmLFVBQVU7RUFDVixTQUFTO0VBQ1QsWUFBWTtFQUNaLDJCQUFvQjtFQUFwQixvQkFBb0I7RUFDcEIsbUJBQW1CO0VBQ25CLGdCQUFnQjtFQUNoQixpQkFBaUIsRUFBQTs7QUFHbkI7RUFDRSxVQUFVO0VBQ1YsVUFBVTtFQUNWLGlCQUFpQixFQUFBOztBQUduQjtFQUNFLFVBQVU7RUFDVixVQUFVLEVBQUE7O0FBR1o7RUFDRSxjQUFjO0VBQ2QsWUFBWTtFQUNaLG9CQUFhO0VBQWIsYUFBYSxFQUFBOztBQUdmO0VBQ0UsVUFBVTtFQUNWLFVBQVUsRUFBQTs7QUFHWjtFQUNFLGNBQWM7RUFDZCxVQUFVO0VBQ1YsU0FBUyxFQUFBOztBQUdYO0VBQ0UsY0FBYyxFQUFBOztBQUdoQjtFQUNFLG9FQUFvRTtFQUNwRSw0QkFBNEI7RUFDNUIsVUFBVSxFQUFBIiwiZmlsZSI6InNyYy9hcHAvb3JkZXJzL29yZGVyLXN1bW1hcnkuY29tcG9uZW50LnNjc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuYWxlcnRNc2cge1xuICB3aWR0aDogMjQwcHggIWltcG9ydGFudDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuLndhcm5pbmdNc2cge1xuICB3aWR0aDogNDI5cHggIWltcG9ydGFudDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICByaWdodDogMTY3cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5mbGV4LXNocmluay0wIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xufVxuXG4ubmF2YmFyIHtcbiAgaGVpZ2h0OiA2MHB4O1xuICBiYWNrZ3JvdW5kOiAjMzQzYjQ5O1xufVxuXG4uc2VsZWN0IHtcbiAgd2lkdGg6IDE2MHB4O1xufVxuXG4uaGVhZGluZzEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RlNmY3ICFpbXBvcnRhbnQ7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMmY3ICFpbXBvcnRhbnQ7XG59XG5cbi5zaG93LWVycm9yIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogcmVkO1xuICBmb250LXNpemU6IG1lZGl1bTtcbiAgcGFkZGluZy10b3A6IDcwcHg7XG59XG4vL01hbmp1ICgxMF9PY3RfMjAxOSkgLSBGb3IgYWRkaW5nIGZsYXNoIG1lc3NhZ2VzXG4uc2hvdy1zdWNjZXNzIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6IGdyZWVuO1xuICBmb250LXNpemU6IG1lZGl1bTtcbiAgLy9wYWRkaW5nLXRvcDogNzBweDtcbn1cbi8vTWFuanUgKDEwX09jdF8yMDE5KSAtIEZvciBhZGRpbmcgZmxhc2ggbWVzc2FnZXMgLSBlbmRcbi5hY2NvdW50LWJhbGFuY2Uge1xuICBjb2xvcjogI2Y4OGQwMTtcbn1cblxuLm9wYWNpdHktY2xhc3Mge1xuICBvcGFjaXR5OiAwLjIgIWltcG9ydGFudDtcbn1cblxuLmxlYWQtdGFiIHtcbiAgY29sb3I6ICMwMDc0Yzk7XG59XG5cbi5iZy10b3Age1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2RlNmY3O1xufVxuXG5kaXYubWF0LXNlbGVjdC12YWx1ZSB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxuYS5tYW5hZ2VmdW5kIHtcbiAgY29sb3I6ICMxZjhkZGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgI215VGFiIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gIH1cblxuICAjZGF0YS1sZWFkLXNvdXJjZS10YWIge1xuICAgIHdpZHRoOiA4OXB4O1xuICB9XG5cbiAgI2NhbGwtbGVhZC1zb3VyY2UtdGFiIHtcbiAgICB3aWR0aDogODlweDtcbiAgfVxuXG4gIC5jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDdweDtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkgYW5kIChtaW4td2lkdGg6IDEwcHgpIHtcbiAgI215VGFiIHtcbiAgICBmb250LXNpemU6IDVweDtcbiAgfVxuXG4gICNkYXRhLWxlYWQtc291cmNlLXRhYiB7XG4gICAgd2lkdGg6IDY2cHg7XG4gIH1cblxuICAjY2FsbC1sZWFkLXNvdXJjZS10YWIge1xuICAgIHdpZHRoOiA2NnB4O1xuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gIH1cblxuICAuc2VsZWN0IHtcbiAgICB3aWR0aDogMTU3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogN3B4O1xuICB9XG59XG5cbmJ1dHRvbi5idG4uYnRuLW91dGxpbmUtcHJpbWFyeSB7XG4gIG1hcmdpbi1sZWZ0OiA4MyU7XG59XG5cbi5tYXRTZWxlY3Qge1xuICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhNmE2O1xuICBwYWRkaW5nOiAycHg7XG4gIHdpZHRoOiA5OXB0O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ubWF0U2VsZWN0OmZvY3VzIHtcbiAgb3V0bGluZTogMXB4IGF1dG8gIzBkYjlmMDtcbn1cblxuLnRhYmxlLXdpZHRoLTEwcGVyY2VudCB7XG4gIHdpZHRoOiAxMCU7XG59XG5cbi50YWJsZS13aWR0aC0xMnBlcmNlbnQge1xuICB3aWR0aDogMTIlO1xufVxuXG4udGFibGUtd2lkdGgtMTNwZXJjZW50IHtcbiAgd2lkdGg6IDEzJTtcbn1cblxuLnRhYmxlLXdpZHRoLTI3cGVyY2VudCB7XG4gIHdpZHRoOiAyNyU7XG59XG5cbi5wcmUtZm9udC1mYW1pbHkge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC04cHg7XG4gIGxlZnQ6IC03M3B4O1xufVxuXG4ucHJlLXN0eWxlIHtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4O1xufVxuXG50ZC5uby1yZWNvcmQtbWVzc2FnZSB7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG50ZC5hZGQtbmV3LW9yZGVyLWJ1dHRvbi10ZCB7XG4gIHdpZHRoOiA1MCU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbi5idG4uYnRuLW91dGxpbmUtcHJpbWFyeS5hZGQtbmV3LW9yZGVyLWJ1dHRvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbnRkLm1hdC1wYWdpbmF0b3Itb3JkZXItc3VtbWFyeS10ZCB7XG4gIHdpZHRoOiA0MSU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi5tYXQtcGFnaW5hdG9yLW9yZGVyLXN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xufVxuXG4uZmEuZmEtcGVuY2lsIHtcbiAgY29sb3I6ICMwMDc0Yzg7XG59XG5cbi5mYS5pY28tZXhjbGFtYXRpb24tY2lyY2xlLWFocyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvYXNzZXRzL2ltYWdlcy9ncm91cC1hY3Rpdml0eS1zdW1tYXJ5LWFocy5zdmcpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBjb2xvcjogcmVkO1xufVxuIl19 */\"","import {\n Component,\n OnInit,\n AfterViewInit,\n ViewChild,\n Output,\n EventEmitter,\n ViewEncapsulation,\n TemplateRef\n} from '@angular/core';\nimport { Router, ActivatedRoute } from '@angular/router';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport { OrderService } from './order.service';\nimport { MatSort } from '@angular/material/sort';\nimport { MatTableDataSource, MatTable } from '@angular/material/table';\nimport { MatPaginator } from '@angular/material/paginator';\nimport { MatSlideToggleModule, MatSlideToggleChange } from '@angular/material/slide-toggle';\nimport * as Constant from '../../constants/api';\nimport { ErrorService } from '../error-page/error.service';\nimport { CustomService } from '../services/custom.service';\nimport { interval } from 'rxjs';\nimport { I18nContext } from '@angular/compiler/src/render3/view/i18n/context';\nimport { MatPaginatorIntl } from '@angular/material';\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\nimport { ContentRef } from 'ngx-bootstrap';\n\n@Component({\n selector: 'app-order-summary',\n templateUrl: './order-summary.component.html',\n styleUrls: ['./order-summary.component.scss'],\n preserveWhitespaces: false,\n //show Records Per Page -Monika\n providers: [{ provide: MatPaginatorIntl, useValue: CustomPaginator() }]\n //show Records Per Page -Monika\n})\nexport class OrderSummaryComponent implements OnInit, AfterViewInit {\n disableStatusFlag = false;\n statusToggle: string = 'Leads';\n orderList: any;\n accessToken: string;\n orderListData: any;\n showLoadingIndicator = true;\n mainDiv = false;\n showError = false;\n errorMessage: any;\n currentpage: any;\n page: any;\n noRecord: any;\n checkActveData: any;\n activeList = [Constant.SHOW_ALL_STATUS, Constant.SHOW_ACTIVE_STATUS];\n public selected = this.activeList[0];\n changeStatus: any;\n successMessage: any;\n deliveryDataMessage: any;\n leadActiveInactiveFlag: string;\n balance: any;\n dateFormat: any = Constant.DATE_DISPLAY_FORMAT;\n /* open table header names for order summary */\n displayedColumns: string[] = [\n 'OrderName',\n 'LeadSourcesNames',\n 'SourceType',\n 'LastModifiedDate',\n 'CreatedDate',\n 'EndDate',\n 'LeadType',\n 'AverageLeads',\n 'Status',\n 'Edit'\n ];\n\n /* end table header names for order summary */\n\n public dataSource = new MatTableDataSource();\n showMsg: boolean;\n showDeliveryWarning: boolean = false;\n message: string;\n class: 'show-error';\n updateTable: {}[];\n row: any;\n fundAlert: { type: string; message: string };\n isHideAlert: boolean;\n isAllstateMA: boolean = false;\n\n constructor(private _orderService: OrderService, private _service: CustomService) {}\n\n ngAfterViewInit() {\n this.dataSource.sort = this.sort;\n this.dataSource.paginator = this.paginator;\n this.dataSource.sortingDataAccessor = (data: any, sortHeaderId: string): string => {\n if (typeof data[sortHeaderId] === 'string') {\n return data[sortHeaderId].toLocaleLowerCase();\n }\n return data[sortHeaderId];\n };\n }\n filterOptionFocus() {\n document.getElementById('filterOption').style.backgroundColor = '#f1f1f1 !important';\n }\n filterOptionBlur() {\n document.getElementById('filterOption').style.backgroundColor = '#fcfcfc !important';\n }\n ngOnInit() {\n this.accessToken = this._orderService.getAccessTokenFromStorage();\n console.log(this.accessToken);\n if (this.accessToken == null) {\n this._orderService.returnToErrorPage(Constant.TOKEN_MISSING_ERROR_MSG);\n }\n this.isAllstateMA = localStorage.getItem('isAllstateMA') == 'true';\n\n this._service.setcopyOrderData('');\n this.leadActiveInactiveFlag = 'InActive';\n this.getAccountBalance();\n if (typeof this._service.getLeadType() === 'undefined') {\n this.refreshOrder('Leads', 'Active');\n this.LeadType('Leads');\n } else {\n this.refreshOrder(this._service.getLeadType(), 'Active');\n this.LeadType(this._service.getLeadType());\n }\n }\n\n removeSuccessMessage() {\n this._service.setSuccessMessage('');\n this._service.setDeliveryMessage('');\n //interval(6000).subscribe(x => this.service.setSuccessMessage(''));\n }\n\n activeButton: any;\n LeadType(event: any) {\n if (event == 'Leads') {\n this.activeButton = 1;\n } else if (event == 'Calls') {\n this.activeButton = 2;\n } else {\n this.activeButton = 1;\n }\n this._service.setLeadType(event);\n this.checkNoOfRecord(event);\n\n this.statusToggle = event;\n /* open filter data lead data */\n\n this.dataSource.data = this.orderListData.filter(function(order: any) {\n return order.SourceType == event;\n });\n\n /* end filter data lead data */\n }\n\n /* open set no record error message */\n\n checkNoOfRecord(type: string) {\n var orderStatus = this.leadActiveInactiveFlag;\n if (this.leadActiveInactiveFlag === 'Active') {\n this.checkActveData = this.orderListData.filter(function(order: any) {\n return order.SourceType == type && order.Status == orderStatus;\n });\n } else {\n this.checkActveData = this.orderListData.filter(function(order: any) {\n return order.SourceType == type;\n });\n }\n\n if (this.checkActveData == 0) {\n this.noRecord = Constant.NORECORDSTODISPLAY;\n } else {\n this.noRecord = '';\n }\n }\n onManageFund() {\n this.isHideAlert = true;\n this.fundAlert = { type: 'warning', message: Constant.Manage_Funds_Message };\n }\n closeAlert() {\n this.isHideAlert = false;\n }\n /* end set no record error message */\n\n /* open get account balance*/\n getAccountBalance() {\n this._orderService.getAccountFundingBalance().subscribe((data: any) => {\n if (data != null) {\n this.balance = data;\n } else {\n this.balance = '0';\n }\n });\n }\n /* end get account balance*/\n\n /* open apply filter on status */\n\n applyFilter(filterValue: string) {\n if (filterValue === Constant.SHOW_ACTIVE_STATUS) {\n this.leadActiveInactiveFlag = 'Active';\n this.changeStatus = '';\n } else {\n this.leadActiveInactiveFlag = 'Paused';\n this.changeStatus = 'Paused';\n }\n if (typeof this._service.getLeadType() === 'undefined') {\n this.refreshOrder(this.statusToggle, this.changeStatus);\n this.LeadType(this.statusToggle);\n } else {\n this.refreshOrder(this._service.getLeadType(), this.changeStatus);\n this.LeadType(this._service.getLeadType());\n }\n\n if (filterValue === Constant.SHOW_ACTIVE_STATUS) {\n this.dataSource.filter = 'Active';\n } else {\n this.dataSource.filter = '';\n this.noRecord = '';\n }\n }\n /* end apply filter on status */\n // Updating status in datatable -Monika\n onStatusChange(event: MatSlideToggleChange, orderId: any, rowElement: any) {\n var status = null;\n if (event.checked) {\n status = 'Active';\n this._orderService.updateOrderStatus(status, orderId).subscribe(\n (data: any) => {\n const row = this.dataSource.data;\n for (let i = 0; i <= row.length; i++) {\n if (row[i]['OrderId'] == orderId) {\n row[i]['Status'] = 'Active';\n }\n }\n // Updating status in datatable -Monika\n },\n (err: any) => {}\n );\n } else {\n status = 'Paused';\n var filterValue = (document.getElementById('filterOption') as HTMLSelectElement).innerText;\n this._orderService.updateOrderStatus(status, orderId).subscribe(\n (data: any) => {\n const row = this.dataSource.data;\n if (filterValue.trim() === Constant.SHOW_ACTIVE_STATUS) {\n this.dataSource.data = this.dataSource.data.filter(i => i !== rowElement);\n }\n for (let i = 0; i <= row.length; i++) {\n if (row[i]['OrderId'] == orderId) {\n row[i]['Status'] = 'Paused';\n }\n }\n // Updating status in datatable -Monika\n },\n (err: any) => {}\n );\n }\n }\n refreshOrder(leadType: string, statusType: string) {\n this.accessToken = this._orderService.getAccessTokenFromStorage();\n if (this.accessToken) {\n this._orderService.getLeadOrder(this.accessToken).subscribe(\n data => {\n this.showLoadingIndicator = false;\n this.mainDiv = true;\n\n /* open get current success message */\n\n this._service.currentSuccessMessage.subscribe(data => {\n this.message = data;\n if (this.message != '') {\n this.showMsg = true;\n } else {\n this.showMsg = false;\n }\n });\n\n /* end get current success message */\n this._service.currentDeliveryMessage.subscribe(data => {\n this.deliveryDataMessage = data;\n if (this.deliveryDataMessage != '') {\n this.showDeliveryWarning = true;\n } else {\n this.showDeliveryWarning = false;\n }\n });\n\n setTimeout(() => this.removeSuccessMessage(), 10000);\n\n this.orderListData = data as string[];\n if (data == '') {\n this.noRecord = Constant.NORECORDSTODISPLAY;\n }\n\n this.dataSource.data = this.orderListData.filter(function(order: any) {\n return order.SourceType == leadType;\n });\n\n this.checkNoOfRecord(leadType);\n if (this.orderListData.length != 0) {\n if (this.orderListData[0]['Error'] != 'Success') {\n this.showError = true;\n this.errorMessage = this.orderListData[0]['Error'];\n this.mainDiv = false;\n }\n }\n },\n (err: HttpErrorResponse) => {\n this._orderService.returnToErrorPage(err.error);\n }\n );\n } else {\n this.mainDiv = false;\n this.showLoadingIndicator = false;\n this.showError = true;\n this.errorMessage = Constant.TOKEN_MISSING_ERROR_MSG;\n }\n }\n\n @ViewChild(MatSort, { static: true }) sort: MatSort;\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\n}\n//show Records Per Page -Monika\nexport function CustomPaginator() {\n const customPaginatorIntl = new MatPaginatorIntl();\n\n customPaginatorIntl.itemsPerPageLabel = Constant.RECORD_PER_PAGE;\n\n return customPaginatorIntl;\n}\n//show Records Per Page -Monika\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { TranslateModule } from '@ngx-translate/core';\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\nimport { OrderSummaryRoutingModule } from './order-summary-routing.module';\nimport { OrderSummaryComponent } from './order-summary.component';\nimport { MatTableModule } from '@angular/material/table';\nimport { MatSortModule } from '@angular/material/sort';\nimport { MatPaginatorModule, MatFormFieldModule, MatToolbarModule } from '@angular/material';\nimport { MatSelectModule } from '@angular/material/select';\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\nimport { FormsModule } from '@angular/forms';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\nimport { SharedModule } from '@app/shared/shared.module';\n\n@NgModule({\n imports: [\n CommonModule,\n ReactiveFormsModule,\n MatToolbarModule,\n MatSortModule,\n MatIconModule,\n FormsModule,\n MatPaginatorModule,\n TranslateModule,\n BrowserAnimationsModule,\n NgbModule,\n MatSlideToggleModule,\n MatSelectModule,\n MatFormFieldModule,\n MatTableModule,\n OrderSummaryRoutingModule,\n MatTooltipModule,\n SharedModule\n ],\n declarations: [OrderSummaryComponent]\n})\nexport class OrderSummaryModule {}\n","import { Injectable } from '@angular/core';\nimport { Router, ActivatedRoute, NavigationExtras } from '@angular/router';\nimport { HttpClient, HttpParams } from '@angular/common/http';\nimport { HttpErrorResponse } from '@angular/common/http';\nimport * as Constant from '../../constants/api';\nimport { EnvironmentService } from '@app/environment.service';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class OrderService {\n accessToken: any;\n leadsource: any;\n locationlist: any;\n ROOT_URL: any = EnvironmentService.config.apiUrl;\n\n constructor(private httpService: HttpClient, private router: Router) {}\n\n /* open get Account funding balance */\n\n public getAccountFundingBalance() {\n this.accessToken = localStorage.getItem('accessToken');\n return this.httpService.get(this.ROOT_URL + Constant.ACCOUNT_BALANCE_URL + this.accessToken);\n }\n\n /* end get Account funding balance */\n\n /* open get order summary data */\n public getLeadOrder(accessToken: string) {\n this.accessToken = localStorage.getItem('accessToken');\n return this.httpService.get(this.ROOT_URL + Constant.ORDER_SUMMARY_URL + this.accessToken);\n }\n /* end get order summary data */\n\n /* open get lead sources data */\n\n public getOrderTypes(userToken: any) {\n return this.httpService.get(this.ROOT_URL + Constant.GetOrderType + localStorage.getItem('accessToken'));\n }\n\n /* end get lead sources data */\n\n /* open get location data */\n\n public getLocationData(isCallLead: boolean = false) {\n return this.httpService.get(\n this.ROOT_URL + Constant.LOCATIONDATA + localStorage.getItem('accessToken') + '/' + isCallLead\n );\n }\n public getBrokerInformation() {\n return this.httpService.get(this.ROOT_URL + Constant.ACCOUNT_PHONE_URL + localStorage.getItem('accessToken'), {\n responseType: 'text'\n });\n }\n /* end get location data */\n\n /* open update order status*/\n\n public updateOrderStatus(status: string, orderId: any) {\n this.accessToken = localStorage.getItem('accessToken');\n let orderStatusData = {\n Status: status,\n OrderId: orderId,\n AccessToken: this.accessToken\n };\n return this.httpService.post(this.ROOT_URL + Constant.UPDATESTATUS, JSON.stringify(orderStatusData), {\n headers: { 'Content-Type': 'application/json; charset=utf-8' }\n });\n }\n /* end update order status*/\n\n /* open create order data */\n\n public createOrder(orderData: any, leadSource: any, locationList: any, locationDetail: any) {\n this.leadsource = leadSource.join(',');\n return this.httpService.post(\n this.ROOT_URL + Constant.SAVEORDER,\n JSON.stringify({\n orderJson: orderData.getRawValue(),\n LeadSources: this.leadsource,\n LeadLocationList: JSON.stringify(locationList),\n accessToken: this.getAccessTokenFromStorage(),\n locationDetail: locationDetail\n }),\n {\n headers: { 'Content-Type': 'application/json; charset=utf-8' }\n }\n );\n }\n\n /* end create order data */\n\n /* open get order by id data */\n\n public getOrderById(userToken: any, orderId: string) {\n return this.httpService.get(this.ROOT_URL + Constant.ORDERGETBYID + '/' + userToken + '/' + orderId, {\n responseType: 'text'\n });\n }\n\n /* end get order by id data */\n public getAccessTokenFromStorage() {\n return (this.accessToken = localStorage.getItem('accessToken'));\n }\n\n /* end get county data */\n public getCountyData(state: any) {\n return this.httpService.get(this.ROOT_URL + Constant.GETCOUNTY + state + '/' + localStorage.getItem('accessToken'));\n }\n /* end get county data */\n public getZipData(county: string, state: string) {\n return this.httpService.post(\n this.ROOT_URL + Constant.GETZIP + this.getAccessTokenFromStorage(),\n JSON.stringify({\n CountyName: county,\n State: state,\n ZipCode: null\n }),\n {\n headers: { 'Content-Type': 'application/json; charset=utf-8' }\n }\n );\n }\n\n /* open get statecounty data */\n\n public getStateCountyData(zipCode: any) {\n return this.httpService.get(this.ROOT_URL + Constant.GETSTATECOUNTY + zipCode);\n }\n /* end get statecounty data */\n\n /* open get lead sources data */\n public returnToErrorPage(error: any) {\n let navigationExtras: NavigationExtras = {\n queryParams: { error: error }\n };\n this.router.navigate(['/error-page'], navigationExtras);\n return false;\n }\n\n public getProductTypes(orderType: string) {\n return this.httpService.get(\n this.ROOT_URL + Constant.GETPRODUCTTYPE + localStorage.getItem('accessToken') + '/' + orderType,\n {\n responseType: 'text'\n }\n );\n }\n public getFilteredLeadSources(accessToken: string, orderType: string, productType: string) {\n return this.httpService.get(\n this.ROOT_URL + Constant.GetFilteredLeadSources + accessToken + '/' + orderType + '/' + productType,\n {\n responseType: 'text'\n }\n );\n }\n public getLeadSources(userToken: any) {\n return this.httpService.get(this.ROOT_URL + Constant.LEADSOURCES + userToken);\n }\n public authentication() {\n return this.httpService.get(this.ROOT_URL + Constant.AUTHENTICATETOKEN + localStorage.getItem('accessToken'));\n }\n public isIEBrowser() {\n return /msie\\s|trident\\/|edge\\//i.test(window.navigator.userAgent);\n }\n public getClietLogo() {\n if (localStorage.getItem('accessToken')) {\n return this.httpService.get(this.ROOT_URL + Constant.GETCLIENTLOGO + localStorage.getItem('accessToken'));\n }\n }\n\n public GetLoadingLogo() {\n if (localStorage.getItem('accessToken')) {\n return this.httpService.get(this.ROOT_URL + Constant.GETLOADINGLOGO + localStorage.getItem('accessToken'));\n }\n }\n\n public IsAllstateMasterAccount() {\n if (localStorage.getItem('accessToken')) {\n return this.httpService.get(\n this.ROOT_URL + Constant.ISALLSTATEMASTERACCOUNT + localStorage.getItem('accessToken')\n );\n }\n }\n\n public getPhoneDropDown(userToken: any) {\n return this.httpService.get(this.ROOT_URL + Constant.ACCOUNT_PHONE_URL + userToken, {\n responseType: 'text'\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { BehaviorSubject } from 'rxjs';\nimport * as Constant from '../../constants/api';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class CustomService {\n //