{"version":3,"sources":["webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/$_lazy_route_resource lazy namespace object","webpack:///./src/app_dev/admin-upload/admin-upload.component.css","webpack:///./src/app_dev/admin-upload/admin-upload.component.html","webpack:///./src/app_dev/admin-upload/admin-upload.component.ts","webpack:///./src/app_dev/app.component.css","webpack:///./src/app_dev/app.component.html","webpack:///./src/app_dev/app.component.ts","webpack:///./src/app_dev/app.module.ts","webpack:///./src/app_dev/auth/auth.guard.ts","webpack:///./src/app_dev/auth/role.guard.ts","webpack:///./src/app_dev/changepassword/changepassword.component.css","webpack:///./src/app_dev/changepassword/changepassword.component.html","webpack:///./src/app_dev/changepassword/changepassword.component.ts","webpack:///./src/app_dev/common/Directives/alpha-and-space-only.directive.ts","webpack:///./src/app_dev/common/Directives/alpha-numeric-only.directive.ts","webpack:///./src/app_dev/common/Directives/cut-copy-paste-block.directive.ts","webpack:///./src/app_dev/common/Directives/disable-control.directive.ts","webpack:///./src/app_dev/common/Directives/number-only.directive.ts","webpack:///./src/app_dev/common/Directives/percnumberonly.directive.ts","webpack:///./src/app_dev/common/Directives/pos-numberonly.directive.ts","webpack:///./src/app_dev/common/Directives/show-hide.directive.ts","webpack:///./src/app_dev/common/Directives/tooltip.directive.ts","webpack:///./src/app_dev/common/Directives/useridpattern.directive.ts","webpack:///./src/app_dev/common/Validators/error-message/error-message.component.css","webpack:///./src/app_dev/common/Validators/error-message/error-message.component.html","webpack:///./src/app_dev/common/Validators/error-message/error-message.component.ts","webpack:///./src/app_dev/common/Validators/mandatoryfield.service.ts","webpack:///./src/app_dev/common/common.module.ts","webpack:///./src/app_dev/create-tieup/create-tieup.component.css","webpack:///./src/app_dev/create-tieup/create-tieup.component.html","webpack:///./src/app_dev/create-tieup/create-tieup.component.ts","webpack:///./src/app_dev/demo-transactionid/demo-transactionid.component.css","webpack:///./src/app_dev/demo-transactionid/demo-transactionid.component.html","webpack:///./src/app_dev/demo-transactionid/demo-transactionid.component.ts","webpack:///./src/app_dev/district-wise-form/district-wise-form.component.css","webpack:///./src/app_dev/district-wise-form/district-wise-form.component.html","webpack:///./src/app_dev/district-wise-form/district-wise-form.component.ts","webpack:///./src/app_dev/enablereport/enablereport.component.css","webpack:///./src/app_dev/enablereport/enablereport.component.html","webpack:///./src/app_dev/enablereport/enablereport.component.ts","webpack:///./src/app_dev/error-interceptor.ts","webpack:///./src/app_dev/file-data-warning/file-data-warning.component.css","webpack:///./src/app_dev/file-data-warning/file-data-warning.component.html","webpack:///./src/app_dev/file-data-warning/file-data-warning.component.ts","webpack:///./src/app_dev/file-upload-warnings/file-upload-warnings.component.css","webpack:///./src/app_dev/file-upload-warnings/file-upload-warnings.component.html","webpack:///./src/app_dev/file-upload-warnings/file-upload-warnings.component.ts","webpack:///./src/app_dev/finalloadingconfig/finalloadingconfig.component.css","webpack:///./src/app_dev/finalloadingconfig/finalloadingconfig.component.html","webpack:///./src/app_dev/finalloadingconfig/finalloadingconfig.component.ts","webpack:///./src/app_dev/global-defaults/global-defaults.component.css","webpack:///./src/app_dev/global-defaults/global-defaults.component.html","webpack:///./src/app_dev/global-defaults/global-defaults.component.ts","webpack:///./src/app_dev/header/header.component.css","webpack:///./src/app_dev/header/header.component.html","webpack:///./src/app_dev/header/header.component.ts","webpack:///./src/app_dev/loading-discount/loading-discount.component.css","webpack:///./src/app_dev/loading-discount/loading-discount.component.html","webpack:///./src/app_dev/loading-discount/loading-discount.component.ts","webpack:///./src/app_dev/log-in/log-in.component.css","webpack:///./src/app_dev/log-in/log-in.component.html","webpack:///./src/app_dev/log-in/log-in.component.ts","webpack:///./src/app_dev/manage-state-district/manage-state-district.component.css","webpack:///./src/app_dev/manage-state-district/manage-state-district.component.html","webpack:///./src/app_dev/manage-state-district/manage-state-district.component.ts","webpack:///./src/app_dev/parametersetting/parametersetting.component.css","webpack:///./src/app_dev/parametersetting/parametersetting.component.html","webpack:///./src/app_dev/parametersetting/parametersetting.component.ts","webpack:///./src/app_dev/previousyear/previousyear.component.css","webpack:///./src/app_dev/previousyear/previousyear.component.html","webpack:///./src/app_dev/previousyear/previousyear.component.ts","webpack:///./src/app_dev/rategeneration/choose-transaction/choose-transaction.component.css","webpack:///./src/app_dev/rategeneration/choose-transaction/choose-transaction.component.html","webpack:///./src/app_dev/rategeneration/choose-transaction/choose-transaction.component.ts","webpack:///./src/app_dev/rategeneration/choosecombination/choosecombination.component.css","webpack:///./src/app_dev/rategeneration/choosecombination/choosecombination.component.html","webpack:///./src/app_dev/rategeneration/choosecombination/choosecombination.component.ts","webpack:///./src/app_dev/rategeneration/choosedetails/choosedetails.component.css","webpack:///./src/app_dev/rategeneration/choosedetails/choosedetails.component.html","webpack:///./src/app_dev/rategeneration/choosedetails/choosedetails.component.ts","webpack:///./src/app_dev/rategeneration/rate-list/rate-list.component.css","webpack:///./src/app_dev/rategeneration/rate-list/rate-list.component.html","webpack:///./src/app_dev/rategeneration/rate-list/rate-list.component.ts","webpack:///./src/app_dev/rategeneration/rategenerate/rategenerate.component.css","webpack:///./src/app_dev/rategeneration/rategenerate/rategenerate.component.html","webpack:///./src/app_dev/rategeneration/rategenerate/rategenerate.component.ts","webpack:///./src/app_dev/rategeneration/rategeneration.module.ts","webpack:///./src/app_dev/rategeneration/uploadfiles/uploadfiles.component.css","webpack:///./src/app_dev/rategeneration/uploadfiles/uploadfiles.component.html","webpack:///./src/app_dev/rategeneration/uploadfiles/uploadfiles.component.ts","webpack:///./src/app_dev/roles/roles.component.css","webpack:///./src/app_dev/roles/roles.component.html","webpack:///./src/app_dev/roles/roles.component.ts","webpack:///./src/app_dev/services/alert.service.ts","webpack:///./src/app_dev/services/apiservices.service.ts","webpack:///./src/app_dev/services/authentication.service.ts","webpack:///./src/app_dev/services/commonfunctions.service.ts","webpack:///./src/app_dev/tie-up-mapping/tie-up-mapping.component.css","webpack:///./src/app_dev/tie-up-mapping/tie-up-mapping.component.html","webpack:///./src/app_dev/tie-up-mapping/tie-up-mapping.component.ts","webpack:///./src/app_dev/tieupmain/tieupmain.component.css","webpack:///./src/app_dev/tieupmain/tieupmain.component.html","webpack:///./src/app_dev/tieupmain/tieupmain.component.ts","webpack:///./src/app_dev/trackingactivity/trackingactivity.component.css","webpack:///./src/app_dev/trackingactivity/trackingactivity.component.html","webpack:///./src/app_dev/trackingactivity/trackingactivity.component.ts","webpack:///./src/app_dev/user-creation/user-creation.component.css","webpack:///./src/app_dev/user-creation/user-creation.component.html","webpack:///./src/app_dev/user-creation/user-creation.component.ts","webpack:///./src/app_dev/userlist-download/userlist-download.component.css","webpack:///./src/app_dev/userlist-download/userlist-download.component.html","webpack:///./src/app_dev/userlist-download/userlist-download.component.ts","webpack:///./src/app_dev/viewreport/viewreport.component.css","webpack:///./src/app_dev/viewreport/viewreport.component.html","webpack:///./src/app_dev/viewreport/viewreport.component.ts","webpack:///./src/environments/environment.ts","webpack:///./src/main.ts","webpack:///fs (ignored)","webpack:///crypto (ignored)","webpack:///stream (ignored)"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;A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","file":"main.js","sourcesContent":["var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.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-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-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.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\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.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-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.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\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.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-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.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\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.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\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.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-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.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 ^\\\\.\\\\/.*$\";","function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./src/$$_lazy_route_resource lazy recursive\";","module.exports = \"\\r\\n:host, :host:after, :host:before {\\r\\n\\t-ms-box-sizing: border-box;\\r\\n\\tbox-sizing: border-box;\\r\\n}\\r\\n:host .upload-area {\\r\\n position: relative;\\r\\n padding: 5px\\r\\n}\\r\\n:host .upload-progress-message {\\r\\n background-color: #ffffffbd;\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n z-index: 100;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\nsvg{\\r\\n\\twidth: 100px;\\r\\n\\theight: 100px;\\r\\n\\ttransform: rotate(-90deg);\\r\\n\\toverflow: initial;\\r\\n}\\r\\ncircle{\\r\\n\\tstroke-width:20px;\\r\\n\\tfill:none;\\r\\n}\\r\\ncircle:nth-child(1){ stroke: #eee }\\r\\ncircle:nth-child(2){\\r\\n\\tstroke: #175788;\\r\\n\\tposition: relative;\\r\\n\\tz-index: 1;\\r\\n}\\r\\n.circle_box:nth-child(1) circle:nth-child(2){\\r\\n\\tstroke-dashoffset:calc(100 * 6);\\r\\n\\tstroke-dasharray:calc(100 * 6);\\r\\n\\t/* stroke-dashoffset:calc((100 * 6) - ((100 * 6) * 90) / 100); */\\r\\n\\tstroke-position: inside;\\r\\n}\\r\\n.circle_box{\\r\\n\\tfont-size: 13px;\\r\\n\\tcolor: #000;\\r\\n\\ttext-align: center;\\r\\n}\\r\\n.circle_box div{\\r\\n\\tposition: relative;\\r\\n}\\r\\n.circle_box span{\\r\\n\\tposition: absolute;\\r\\n\\tleft: 50%;\\r\\n\\ttop:40%;\\r\\n\\ttransform: translate(-50%,-50%);\\r\\n\\tcolor: #000;\\r\\n\\tfont-size: 13px;\\r\\n font-weight: bold;\\r\\n}\\r\\n.dashbox {\\r\\n border: 2px dashed rgba(47, 45, 45, 0.582);\\r\\n padding: 10px;\\r\\n border-radius: 10px;\\r\\n width: 100%;\\r\\n font-size: 16px;\\r\\n}\\r\\n/*** stepper***/\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\r\\n}\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788;\\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 1450px) and (min-width: 1200px)\\r\\n{\\r\\n\\t.filedrop-align{\\r\\n\\t\\twidth:63% !important;\\r\\n\\t\\theight:63% !important;\\r\\n\\t}\\r\\n\\t.file-drop{\\r\\n\\t\\theight: 13em ;\\r\\n\\t\\twidth: 12em;\\r\\n\\t\\tmargin-top: 12em ;\\r\\n\\t\\tpadding-top: 0em ;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n/*\\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n@media only screen\\r\\n and (min-width: 1025px)\\r\\n and (max-width: 1368px){\\r\\n .file-drop{\\r\\n\\t\\theight: 23em!important;\\r\\n\\t }\\r\\n\\t .card-block{\\r\\n\\t\\tmin-height: 188px!important;\\r\\n\\t\\tmax-height: 188px!important;\\r\\n\\t }\\r\\n\\t .textShadeColor{\\r\\n\\t\\tfont-size:18px !important;\\r\\n\\t}\\r\\n}\\r\\n@media only screen\\r\\n and (min-width: 1281px)\\r\\n and (max-width: 1368px){\\r\\n\\t.container-body{\\r\\n\\t\\tmax-height:37.9rem;\\r\\n\\t }\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 223px;\\r\\n\\t}\\r\\n }\\r\\n@media only screen\\r\\n and (min-width: 1369px){\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 314px;\\r\\n\\t}\\r\\n }\\r\\n.file-drop{\\r\\n\\tmargin-top: 96px!important;\\r\\n\\theight: 18em ;\\r\\n width: 17em;\\r\\n margin-top: 12em ;\\r\\n padding-top: 3em ;\\r\\n}\\r\\n.filedrop{\\r\\n\\theight: 16em;\\r\\n width: 19em;\\r\\n margin-top: 14em;\\r\\n padding-top: 2em;\\r\\n}\\r\\n.line{\\r\\n\\tposition: relative;\\r\\n\\tborder-left: 1px solid grey;\\r\\n height: 340px;\\r\\n right: 27px;\\r\\n margin-top: 40px;\\r\\n}\\r\\n.lineHide{\\r\\n\\tz-index:1;\\r\\n}\\r\\n.lead{\\r\\n\\tfont-weight:600 !important;\\r\\n\\tfont-size:16px !important;\\r\\n}\\r\\n.border{\\r\\n\\tborder-color:#d9d9d9 !important;\\r\\n}\\r\\n.textShadeColor,.fa-upload{\\r\\n\\tcolor: #000000 !important;\\r\\n\\tfont-size: 20px;\\r\\n}\\r\\n.btnFile{\\r\\n display: none;\\r\\n}\\r\\n.cursorPointer{\\r\\n\\tcursor:pointer;\\r\\n}\\r\\n.card {\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n.card-block {\\r\\n flex: 1 1 auto;\\r\\n padding: 1.25rem;\\r\\n padding: 1.25rem;\\r\\n min-height: 270px;\\r\\n max-height: 270px;\\r\\n}\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none;\\r\\n overflow: -moz-scrollbars-none;\\r\\n}\\r\\n.scroll-container::-webkit-scrollbar {\\r\\n display: none;\\r\\n}\\r\\n.file-text{\\r\\n\\tfont-size: 17px;\\r\\n\\tfont-family: \\\"Roboto-Regular\\\";\\r\\n\\tcolor: #175788!important;\\r\\n }\\r\\n.loadingtext {\\r\\n\\tz-index: 2000;\\r\\n\\tposition: absolute;\\r\\n\\tcolor: #04518b;\\r\\n\\tfont-weight: bolder;\\r\\n\\tfont-size: 20px;\\r\\n\\tleft: 0;\\r\\n\\tright: 0;\\r\\n\\ttext-align: center;\\r\\n\\ttop: calc(50% + 25px);\\r\\n }\\r\\n.line-design{\\r\\n\\theight: 12px;\\r\\n margin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border-bottom: 1px solid rgba(0,0,0,.1);\\r\\n text-align: center;\\r\\n}\\r\\n.centerAlignLoading {\\r\\n\\ttop: 470px;\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n@media (max-width:425px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 455px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:426px) and (max-width:767px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 430px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:768px) and (max-width:1023px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 420px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:1024px) and (max-width:1170px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 410px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:1171px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 460px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2FkbWluLXVwbG9hZC9hZG1pbi11cGxvYWQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7Q0FHQywyQkFBMkI7Q0FDM0IsdUJBQXVCO0NBQ3ZCO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtDQUNiO0FBRUQ7RUFDRSw0QkFBNEI7RUFDNUIsbUJBQW1CO0VBQ25CLGFBQWE7RUFDYixPQUFPO0VBQ1AsUUFBUTtFQUNSLFlBQVk7RUFDWixhQUFhO0VBQ2IsY0FBYztFQUNkLG9CQUFvQjtFQUNwQix3QkFBd0I7Q0FDekI7QUFFRDtDQUNDLGFBQWE7Q0FDYixjQUFjO0NBQ2QsMEJBQTBCO0NBQzFCLGtCQUFrQjtDQUNsQjtBQUVEO0NBQ0Msa0JBQWtCO0NBQ2xCLFVBQVU7Q0FDVjtBQUNELHFCQUFxQixZQUFZLEVBQUU7QUFDbkM7Q0FDQyxnQkFBZ0I7Q0FDaEIsbUJBQW1CO0NBQ25CLFdBQVc7Q0FDWDtBQUNEO0NBQ0MsZ0NBQWdDO0NBQ2hDLCtCQUErQjtDQUMvQixpRUFBaUU7Q0FDakUsd0JBQXdCO0NBQ3hCO0FBR0Q7Q0FDQyxnQkFBZ0I7Q0FDaEIsWUFBWTtDQUNaLG1CQUFtQjtDQUNuQjtBQUNEO0NBQ0MsbUJBQW1CO0NBQ25CO0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsVUFBVTtDQUNWLFFBQVE7Q0FDUixnQ0FBZ0M7Q0FDaEMsWUFBWTtDQUNaLGdCQUFnQjtFQUNmLGtCQUFrQjtDQUNuQjtBQUVEO0VBQ0UsMkNBQTJDO0VBQzNDLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjtBQUVELGdCQUFnQjtBQUNoQjtDQUNDLFVBQVU7Q0FDVixnQkFBZ0I7Q0FDaEIsOEJBQThCO0NBQzlCLGtCQUFrQjtDQUNsQiwyQkFBMkI7Q0FDM0I7QUFFRDtDQUNDLFdBQVc7Q0FDWCxnQkFBZ0I7Q0FDaEIsVUFBVTtDQUNWLHFCQUFxQjs7Q0FFckI7QUFDRDtDQUNDLGFBQWE7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O0NBQ1o7QUFDRDtDQUNDO0VBQ0MsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1o7Q0FDRDtBQUVEO0NBQ0M7RUFDQyxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWjtDQUNEO0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7QUFDRDtDQUNDO0VBQ0MsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1o7Q0FDRDtBQUVEO0NBQ0M7RUFDQyxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWjtDQUNEIiwiZmlsZSI6InNyYy9hcHBfZGV2L2FkbWluLXVwbG9hZC9hZG1pbi11cGxvYWQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG46aG9zdCwgOmhvc3Q6YWZ0ZXIsIDpob3N0OmJlZm9yZSB7XHJcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5cdC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHQtbXMtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcbjpob3N0IC51cGxvYWQtYXJlYSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDVweFxyXG59XHJcblxyXG46aG9zdCAudXBsb2FkLXByb2dyZXNzLW1lc3NhZ2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmZiZDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcbnN2Z3tcclxuXHR3aWR0aDogMTAwcHg7XHJcblx0aGVpZ2h0OiAxMDBweDtcclxuXHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdG92ZXJmbG93OiBpbml0aWFsO1xyXG59XHJcblxyXG5jaXJjbGV7XHJcblx0c3Ryb2tlLXdpZHRoOjIwcHg7XHJcblx0ZmlsbDpub25lO1xyXG59XHJcbmNpcmNsZTpudGgtY2hpbGQoMSl7IHN0cm9rZTogI2VlZSB9XHJcbmNpcmNsZTpudGgtY2hpbGQoMil7XHJcblx0c3Ryb2tlOiAjMTc1Nzg4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiAxO1xyXG59XHJcbi5jaXJjbGVfYm94Om50aC1jaGlsZCgxKSBjaXJjbGU6bnRoLWNoaWxkKDIpe1xyXG5cdHN0cm9rZS1kYXNob2Zmc2V0OmNhbGMoMTAwICogNik7XHJcblx0c3Ryb2tlLWRhc2hhcnJheTpjYWxjKDEwMCAqIDYpO1xyXG5cdC8qIHN0cm9rZS1kYXNob2Zmc2V0OmNhbGMoKDEwMCAqIDYpIC0gKCgxMDAgKiA2KSAqIDkwKSAvIDEwMCk7ICovXHJcblx0c3Ryb2tlLXBvc2l0aW9uOiBpbnNpZGU7XHJcbn1cclxuXHJcblxyXG4uY2lyY2xlX2JveHtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcblx0Y29sb3I6ICMwMDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcbi5jaXJjbGVfYm94IGRpdntcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmNpcmNsZV9ib3ggc3BhbntcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRvcDo0MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuXHRjb2xvcjogIzAwMDtcclxuXHRmb250LXNpemU6IDEzcHg7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbn1cclxuXHJcbi5kYXNoYm94IHtcclxuICBib3JkZXI6IDJweCBkYXNoZWQgcmdiYSg0NywgNDUsIDQ1LCAwLjU4Mik7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxufVxyXG5cclxuLyoqKiBzdGVwcGVyKioqL1xyXG4uc3RlcHBlcl9yb3d7XHJcblx0d2lkdGg6ODUlO1xyXG5cdG1hcmdpbi10b3A6MTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpe1xyXG5cdGZsb2F0OmxlZnQ7XHJcblx0bGlzdC1zdHlsZTpub25lO1xyXG5cdHdpZHRoOjI1JTtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHJcbn1cclxuLnNwYW5fY29sb3Ige1xyXG5cdG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogM3B4O1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5cdGNvbG9yOiAjQ0FDQUNBO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpIHNwYW57XHJcblx0d2lkdGg6NTBweDtcclxuXHRoZWlnaHQ6NTBweDtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRib3JkZXI6MnB4IHNvbGlkICNDQUNBQ0E7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgei1pbmRleDoyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpLmFjdGl2ZSBzcGFue1xyXG5cdC8qIGJhY2tncm91bmQ6I0QxMTI0MTsgKi9cclxuXHRjb2xvcjojMTc1Nzg4O1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGUgc3BhbntcclxuXHRiYWNrZ3JvdW5kOiMxNzU3ODg7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHRib3JkZXI6MnB4IHNvbGlkICMxNzU3ODg7XHJcbn1cclxuLnN0ZXBwZXJfcm93IGxpLmNvbXBsZXRlOmFmdGVye1xyXG4gICAgYm9yZGVyLWJvdHRvbToycHggc29saWQgIzE3NTc4OCFpbXBvcnRhbnQ7XHJcbn1cclxuLnN0ZXBwZXJfcm93IGxpOmFmdGVye1xyXG5cdFx0Y29udGVudDonJztcclxuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToycHggc29saWQgI0NBQ0FDQTtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdGJvdHRvbTozNHB4O1xyXG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGk6bGFzdC1jaGlsZDphZnRlcntcclxuXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDo4MDBweCl7XHJcblx0LnN0ZXBwZXJfcm93IGxpIHNwYW57XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdGZvbnQtc2l6ZTogMTRweDtcclxuXHR9XHJcblx0LnN0ZXBwZXJfcm93IGxpOmFmdGVye1xyXG5cdFx0Ym90dG9tOjI4cHg7XHJcblx0fVxyXG5cdC5zdGVwcGVyX3Jvd3tcclxuXHRcdHdpZHRoOjkwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTQ1MHB4KSBhbmQgKG1pbi13aWR0aDogMTIwMHB4KVxyXG57XHJcblx0LmZpbGVkcm9wLWFsaWdue1xyXG5cdFx0d2lkdGg6NjMlICFpbXBvcnRhbnQ7XHJcblx0XHRoZWlnaHQ6NjMlICFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdC5maWxlLWRyb3B7XHJcblx0XHRoZWlnaHQ6IDEzZW0gO1xyXG5cdFx0d2lkdGg6IDEyZW07XHJcblx0XHRtYXJnaW4tdG9wOiAxMmVtIDtcclxuXHRcdHBhZGRpbmctdG9wOiAwZW0gO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuXHJcbiAgYW5kIChtaW4td2lkdGg6IDEwMjVweClcclxuICBhbmQgKG1heC13aWR0aDogMTM2OHB4KXtcclxuICAgIC5maWxlLWRyb3B7XHJcblx0XHRoZWlnaHQ6IDIzZW0haW1wb3J0YW50O1xyXG5cdCAgfVxyXG5cdCAgLmNhcmQtYmxvY2t7XHJcblx0XHRtaW4taGVpZ2h0OiAxODhweCFpbXBvcnRhbnQ7XHJcblx0XHRtYXgtaGVpZ2h0OiAxODhweCFpbXBvcnRhbnQ7XHJcblx0ICB9XHJcblx0ICAudGV4dFNoYWRlQ29sb3J7XHJcblx0XHRmb250LXNpemU6MThweCAhaW1wb3J0YW50O1xyXG5cdH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW5cclxuICBhbmQgKG1pbi13aWR0aDogMTI4MXB4KVxyXG4gIGFuZCAobWF4LXdpZHRoOiAxMzY4cHgpe1xyXG5cdC5jb250YWluZXItYm9keXtcclxuXHRcdG1heC1oZWlnaHQ6MzcuOXJlbTtcclxuXHQgIH1cclxuXHQgIC5maXhlZC1oaWdodHtcclxuXHRcdG1pbi1oZWlnaHQ6IDIyM3B4O1xyXG5cdH1cclxuICB9XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuXHJcbiAgYW5kIChtaW4td2lkdGg6IDEzNjlweCl7XHJcblx0ICAuZml4ZWQtaGlnaHR7XHJcblx0XHRtaW4taGVpZ2h0OiAzMTRweDtcclxuXHR9XHJcbiAgfVxyXG4uZmlsZS1kcm9we1xyXG5cdG1hcmdpbi10b3A6IDk2cHghaW1wb3J0YW50O1xyXG5cdGhlaWdodDogMThlbSA7XHJcbiAgICB3aWR0aDogMTdlbTtcclxuICAgIG1hcmdpbi10b3A6IDEyZW0gO1xyXG4gICAgcGFkZGluZy10b3A6IDNlbSA7XHJcbn1cclxuLmZpbGVkcm9we1xyXG5cdGhlaWdodDogMTZlbTtcclxuICAgIHdpZHRoOiAxOWVtO1xyXG4gICAgbWFyZ2luLXRvcDogMTRlbTtcclxuICAgIHBhZGRpbmctdG9wOiAyZW07XHJcbn1cclxuLmxpbmV7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGJvcmRlci1sZWZ0OiAxcHggc29saWQgZ3JleTtcclxuICAgIGhlaWdodDogMzQwcHg7XHJcbiAgICByaWdodDogMjdweDtcclxuICAgIG1hcmdpbi10b3A6IDQwcHg7XHJcbn1cclxuLmxpbmVIaWRle1xyXG5cdHotaW5kZXg6MTtcclxufVxyXG4ubGVhZHtcclxuXHRmb250LXdlaWdodDo2MDAgIWltcG9ydGFudDtcclxuXHRmb250LXNpemU6MTZweCAhaW1wb3J0YW50O1xyXG59XHJcbi5ib3JkZXJ7XHJcblx0Ym9yZGVyLWNvbG9yOiNkOWQ5ZDkgIWltcG9ydGFudDtcclxufVxyXG4udGV4dFNoYWRlQ29sb3IsLmZhLXVwbG9hZHtcclxuXHRjb2xvcjogIzAwMDAwMCAhaW1wb3J0YW50O1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG4uYnRuRmlsZXtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuLmN1cnNvclBvaW50ZXJ7XHJcblx0Y3Vyc29yOnBvaW50ZXI7XHJcbn1cclxuLmNhcmQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNyFpbXBvcnRhbnQ7XHJcbn1cclxuLmNhcmQtYmxvY2sge1xyXG4gICAgZmxleDogMSAxIGF1dG87XHJcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xyXG4gICAgcGFkZGluZzogMS4yNXJlbTtcclxuICAgIG1pbi1oZWlnaHQ6IDI3MHB4O1xyXG4gICAgbWF4LWhlaWdodDogMjcwcHg7XHJcbn1cclxuLmJyb3dzZS1idG57XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMTI1KTtcclxuICAgIGJvcmRlci1yYWRpdXM6IDBweDtcclxuICAgIGNvbG9yOiBibGFjaztcclxuICAgIGJhY2tncm91bmQ6ICNlZmVkZWQ7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG59XHJcbi5zY3JvbGwtY29udGFpbmVye1xyXG4gICAgbWF4LWhlaWdodDo3MDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbi5zY3JvbGwtY29udGFpbmVyIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcclxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTtcclxufVxyXG4uc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uZmlsZS10ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMTdweDtcclxuXHRmb250LWZhbWlseTogXCJSb2JvdG8tUmVndWxhclwiO1xyXG5cdGNvbG9yOiAjMTc1Nzg4IWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5sb2FkaW5ndGV4dCB7XHJcblx0ei1pbmRleDogMjAwMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Y29sb3I6ICMwNDUxOGI7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dG9wOiBjYWxjKDUwJSArIDI1cHgpO1xyXG4gIH1cclxuLmxpbmUtZGVzaWdue1xyXG5cdGhlaWdodDogMTJweDtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHR0b3A6IDQ3MHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDo0MjVweCkge1xyXG5cdC5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdFx0dG9wOiA0NTVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6NDI2cHgpIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQzMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQyMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCkgYW5kIChtYXgtd2lkdGg6MTE3MHB4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQxMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDoxMTcxcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDYwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuIl19 */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

Yield Data Upload

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n {{completePercentage}}%
Completed
\\r\\n
\\r\\n
\\r\\n
File upload is in progress for the selected state
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n

\\r\\n Template File Name: \\r\\n \\r\\n \\r\\n \\r\\n Template.csv\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n {{loadingtext}}\\r\\n
\\r\\n\\r\\n\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n \\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n

Drag & Drop File or

\\r\\n
\\r\\n
\\r\\n \\r\\n \\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 year file: \\r\\n \\r\\n \\r\\n \\r\\n Recent.csv\\r\\n \\r\\n

\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { UploadEvent, UploadFile, FileSystemFileEntry, FileSystemDirectoryEntry } from 'ngx-file-drop';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\nimport Swal from 'sweetalert2';\r\nimport * as XLSX from 'xlsx';\r\nimport { a, D } from '@angular/core/src/render3';\r\n\r\n@Component({\r\n selector: 'app-admin-upload',\r\n templateUrl: './admin-upload.component.html',\r\n styleUrls: ['./admin-upload.component.css']\r\n})\r\nexport class AdminUploadComponent implements OnInit, OnDestroy {\r\n\r\n fileList: any;\r\n fileName: any;\r\n loading = 0;\r\n selectedState: any;\r\n stateDistrictData: any[] = []\r\n stateData: any[] = []\r\n showUpload: boolean = true;\r\n showclientWarn: boolean = false;\r\n showDbWarn: boolean = false;\r\n excelJsonData: any[] = [];\r\n years: any[] = [];\r\n mismatchedYieldDatas: any[] = [];\r\n warnings: any[] = [];\r\n validatedFileName: any;\r\n yearErrorData: any[] = [];\r\n mismatchedCurrentYearYieldDatas: any[] = [];\r\n transactionId: any;\r\n inProgress = false;\r\n completePercentage: any = 0;\r\n progressInterval: any = null;\r\n lastYieldData: any;\r\n zeroWarningYield = new FormData();\r\n blankWarningYield = new FormData();\r\n outliersWarningYield = new FormData();\r\n warningYield: any;\r\n\r\n constructor(private alert: AlertService,private apiData: ApiService, private commonfunctions: CommonfunctionsService, private validate: MandatoryfieldService, public alertService: AlertService,) {\r\n const tenantId = this.alert.getUserDetails(\"getTenant\")\r\n this.zeroWarningYield.append(\"tenantId\", tenantId+'');\r\n this.zeroWarningYield.append(\"year\", '2022');\r\n this.zeroWarningYield.append(\"state\", \"\");\r\n\r\n this.blankWarningYield.append(\"tenantId\", tenantId+'');\r\n this.blankWarningYield.append(\"year\", '2022');\r\n this.blankWarningYield.append(\"state\", \"\");\r\n\r\n this.outliersWarningYield.append(\"tenantId\", tenantId+'');\r\n this.outliersWarningYield.append(\"year\", '2022');\r\n this.outliersWarningYield.append(\"state\", \"\");\r\n\r\n\r\n }\r\n\r\n\r\n ngOnInit() {\r\n this.getStateDistrictData();\r\n }\r\n\r\n getStateDistrictData() {\r\n this.loading++;\r\n this.apiData\r\n .getStateDistrictWiseData()\r\n .then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.stateDistrictData = res.data || [];\r\n }\r\n if (this.stateDistrictData && this.stateDistrictData.length) {\r\n this.stateData = Array.from(\r\n new Set(this.stateDistrictData.map((data: any) => data.state))\r\n ).map((data) => ({ state: data }));\r\n }\r\n this.loading--;\r\n })\r\n .catch((err) => {\r\n this.loading--;\r\n });\r\n }\r\n\r\n onStateChange(event: any) {\r\n this.zeroWarningYield.delete(\"state\")\r\n this.zeroWarningYield.append(\"state\", event);\r\n this.zeroWarningYield.delete(\"zeroWarningYieldRecords\")\r\n this.zeroWarningYield.delete(\"noOfRecords\")\r\n this.zeroWarningYield.delete(\"previousYears\")\r\n\r\n\r\n this.blankWarningYield.delete(\"state\")\r\n this.blankWarningYield.append(\"state\", event);\r\n this.blankWarningYield.delete(\"blankWarningYieldRecords\");\r\n this.blankWarningYield.delete(\"noOfRecords\")\r\n this.blankWarningYield.delete(\"previousYears\")\r\n\r\n this.outliersWarningYield.delete(\"state\")\r\n this.outliersWarningYield.append(\"state\", event);\r\n this.outliersWarningYield.delete(\"outlierWarningYieldRecords\");\r\n this.outliersWarningYield.delete(\"noOfRecords\")\r\n this.outliersWarningYield.delete(\"previousYears\")\r\n\r\n this.years = [];\r\n this.yearErrorData = [];\r\n this.excelJsonData = [];\r\n this.warningYield = null;\r\n\r\n this.clearProgressInterval();\r\n this.lastYieldData = null;\r\n if (event) {\r\n this.getStateProgress(event);\r\n this.getLastYieldData(event);\r\n }\r\n\r\n }\r\n\r\n clearProgressInterval() {\r\n if (this.progressInterval) {\r\n clearInterval(this.progressInterval);\r\n this.progressInterval = null;\r\n }\r\n }\r\n\r\n getStateProgress(event) {\r\n this.clearProgressInterval();\r\n this.apiData.masterUploadGetLastYieldDataUploadStatus(event).then((response: any) => {\r\n if(response && response.status == 'InProgress') {\r\n this.inProgress = true;\r\n this.completePercentage = Math.floor((response.totalUploadedRecords*100) / response.totalRecords)\r\n this.progressInterval = setInterval(() => {this.getStateProgress(event)}, 15*1e3)\r\n } else {\r\n this.inProgress = false;\r\n this.completePercentage = 0;\r\n this.getLastYieldWarning(event)\r\n }\r\n }).catch(() => {})\r\n }\r\n getLastYieldData(event) {\r\n this.apiData.getLastYieldData(event).then((response: any) => {\r\n if (response && response.status == 1) {\r\n this.lastYieldData = response.data;\r\n }\r\n }).catch(() => {})\r\n }\r\n\r\n getLastYieldWarning(event: any) {\r\n this.loading++;\r\n this.apiData.masterUploadgetAgreeDatasetWarnings(2022,event).then((response: any) => {\r\n if (response.status == 1) {\r\n let years = [];\r\n let yearErrorData = [];\r\n let excelBlankJsonData = [];\r\n let excelZeroJsonData = [];\r\n if (!response.data.reva_BlankWarningYields && !response.data.reva_OutliersWarningYields && !response.data.reva_ZeroWarningYields){\r\n } else {\r\n this.warningYield = response.data;\r\n }\r\n // let {reva_BlankWarningYields,reva_ZeroWarningYields,reva_OutliersWarningYields} = response.data;\r\n // reva_BlankWarningYields = reva_BlankWarningYields ? reva_BlankWarningYields[0].blankWarningYieldRecords || [] : [];\r\n // reva_ZeroWarningYields = reva_ZeroWarningYields ? reva_ZeroWarningYields[0].zeroWarningYieldRecords || [] : [];\r\n // reva_OutliersWarningYields =reva_OutliersWarningYields ? reva_OutliersWarningYields[0].outlierWarningYieldRecords || [] : [];\r\n // if (reva_BlankWarningYields||reva_ZeroWarningYields||reva_OutliersWarningYields) {\r\n // const avaliableData = reva_BlankWarningYields.find(() => true) || reva_ZeroWarningYields.find(() => true) || reva_OutliersWarningYields.find(() => true)\r\n // if (avaliableData.prevYearsYieldData) {\r\n // years = avaliableData.prevYearsYieldData.map((d: any) => d.previousYear).sort((a,b) => a-b);\r\n // }\r\n // if (reva_BlankWarningYields) {\r\n // excelBlankJsonData = reva_BlankWarningYields.map(d => {\r\n // for(let i=0; i< d.prevYearsYieldData.length; i++) {\r\n // const yearData = d.prevYearsYieldData[i]\r\n // d[yearData.previousYear] = yearData.previousYearYield;\r\n // }\r\n // d['blankError'] = true;\r\n // d['lineNo'] = d.csvRowNumber;\r\n // return d;\r\n // })\r\n // }\r\n // if (reva_ZeroWarningYields) {\r\n // excelZeroJsonData = reva_ZeroWarningYields.map(d => {\r\n // for(let i=0; i< d.prevYearsYieldData.length; i++) {\r\n // const yearData = d.prevYearsYieldData[i]\r\n // d[yearData.previousYear] = yearData.previousYearYield;\r\n // }\r\n // d['zeroError'] = true;\r\n // d['lineNo'] = d.csvRowNumber;\r\n // return d;\r\n // })\r\n // }\r\n // if (reva_OutliersWarningYields) {\r\n // yearErrorData = reva_OutliersWarningYields.map(d => {\r\n // for(let i=0; i< d.prevYearsYieldData.length; i++) {\r\n // const yearData = d.prevYearsYieldData[i]\r\n // d[yearData.previousYear] = yearData.previousYearYield;\r\n // }\r\n // d['max_50'] = d.plusFifty;\r\n // d['min_50'] = d.minusFifty;\r\n // d['average'] = d['avaerage'];\r\n // return d;\r\n // })\r\n // }\r\n // this.years = years;\r\n // this.yearErrorData = yearErrorData;\r\n // this.excelJsonData = [...excelBlankJsonData, ...excelZeroJsonData]\r\n // }\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n this.loading--;\r\n console.log(err)\r\n })\r\n }\r\n\r\n public dropped(event: UploadEvent) {\r\n this.years = [];\r\n this.yearErrorData = [];\r\n this.excelJsonData = [];\r\n this.warningYield = null;\r\n this.fileName = '';\r\n let getFile = event.files;\r\n\t\tlet array = getFile[0].relativePath.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n\t\t\tfor (const droppedFile of event.files) {\r\n\t\t\t\tif (droppedFile.fileEntry.isFile) {\r\n\t\t\t\t\tconst fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n\t\t\t\t\tfileEntry.file((file: File) => {\r\n\t\t\t\t\t\tconsole.log(droppedFile.relativePath, file);\r\n\t\t\t\t\t\tthis.fileList = file;\r\n\t\t\t\t\t\tthis.fileName = droppedFile.relativePath;\r\n const reader: FileReader = new FileReader();\r\n reader.onload = this.generateDataFromExcel;\r\n reader.readAsBinaryString(this.fileList);\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n }\r\n\r\n onFileChange(event): void {\r\n this.years = [];\r\n this.yearErrorData = [];\r\n this.excelJsonData = [];\r\n this.warningYield = null;\r\n this.fileName = '';\r\n let getFile = event.target.files;\r\n\t\tlet array = getFile[0].name.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n\t\t\tthis.fileList = getFile[0];\r\n\t\t\tthis.fileName = this.fileList.name;\r\n const reader: FileReader = new FileReader();\r\n reader.onload = this.generateDataFromExcel;\r\n reader.readAsBinaryString(this.fileList);\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n }\r\n\r\n downloadSample() {\r\n\t\tthis.loading++;\r\n\t\tthis.apiData.rateGenerationApi.downloadSampleCsv(res => {\r\n\t\t\tthis.loading--;\r\n\t\t\tthis.commonfunctions.csvDownloadFromServer(res);\r\n\t\t}, err => {\r\n\t\t\tthis.loading--;\r\n\t\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t\t})\r\n\t}\r\n\r\n downloadLastYieldFile() {\r\n if (this.lastYieldData && this.lastYieldData.azureFilePath) {\r\n const anchor = document.createElement('a');\r\n anchor.target = \"download\";\r\n anchor.href = this.lastYieldData.azureFilePath;\r\n\r\n anchor.click();\r\n anchor.remove();\r\n // this.apiData.downloadLastYieldFile(this.lastYieldData.azureFilePath)\r\n // .then(response => {\r\n // this.commonfunctions.csvDownloadFromServer(response);\r\n // })\r\n // .catch(err => {\r\n // this.commonfunctions.serviceErrorHandling(err);\r\n // })\r\n }\r\n }\r\n\r\n formFileRequest() {\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append(\"tenantId\", this.alertService.getUserDetails('getTenant'));\r\n\t\tformData.append(\"state\", this.selectedState);\r\n\t\tformData.append(\"updatedBy\", this.alertService.getUserDetails('getid'));\r\n\t\tformData.append(\"userFileName\",this.fileName);\r\n\t\tformData.append('file', this.fileList, this.fileName);\r\n\t\treturn formData\r\n\t}\r\n\r\n varifyYiedData() {\r\n const request = this.formFileRequest();\r\n this.loading++\r\n this.apiData.masterUploadYielVarifyYiedData(request).then((res: any) => {\r\n if (res && res.status == 1 && res.result) {\r\n const result = res.result\r\n this.validatedFileName = result.validatedFileName;\r\n this.warnings = result.warnings;\r\n this.mismatchedYieldDatas = result.mismatchedYieldDatas;\r\n this.mismatchedCurrentYearYieldDatas = result.mismatchedCurrentYearYieldDatas;\r\n this.transactionId = result.transactionId\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading--\r\n this.uploadWarnings();\r\n\r\n }).catch(err => {\r\n this.loading--\r\n this.validate.popUpAlert(\"Something went wrong\", \"\", \"error\");\r\n })\r\n }\r\n\r\n goto(process) {\r\n if (process == \"next\") {\r\n const request = {fileName: this.validatedFileName, state: this.selectedState, transactionId: this.transactionId}\r\n this.loading++\r\n this.apiData.masterUploadValidatedYieldDataUpload(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.fileList = null;\r\n this.fileName = null;\r\n this.showUpload = true;\r\n this.showDbWarn = false;\r\n this.showclientWarn = false;\r\n this.excelJsonData = [];\r\n this.yearErrorData = [];\r\n this.years = [];\r\n this.mismatchedCurrentYearYieldDatas = [];\r\n this.mismatchedYieldDatas = [];\r\n this.warnings = [];\r\n this.onStateChange(this.selectedState);\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"success\");\r\n }\r\n this.loading--\r\n }).catch(err => {\r\n this.loading--\r\n this.validate.popUpAlert(\"Something went wrong\", \"\", \"error\");\r\n })\r\n } else if(process == \"client_warning\") {\r\n this.varifyYiedData();\r\n this.showUpload = false;\r\n this.showDbWarn = false;\r\n this.showclientWarn = true;\r\n } else if(process == \"client-yes\") {\r\n this.showUpload = false;\r\n this.showDbWarn = true;\r\n this.showclientWarn = false;\r\n } else if(process == \"client-no\") {\r\n this.showUpload = true;\r\n this.showDbWarn = false;\r\n this.showclientWarn = false;\r\n }\r\n }\r\n\r\n uploadWarnings() {\r\n this.loading++\r\n const yieldWarningPromise = Promise.all([this.apiData.masterUploadaddBlankWarningYieldFile(this.blankWarningYield),\r\n this.apiData.masterUploadaddZeroWarningYieldFile(this.zeroWarningYield),\r\n this.apiData.masterUploadaddOutliersWarningYieldFile(this.outliersWarningYield)]);\r\n yieldWarningPromise.then((responses: any) => {\r\n if (responses.every(d => d.status == 1)) {\r\n this.goto('next');\r\n } else {\r\n const error = responses.find(d => d.status != 1);\r\n const message = error.data || error.message;\r\n this.validate.popUpAlert(message, \"Error\", \"error\");\r\n }\r\n this.loading--\r\n }).catch(err => {\r\n this.validate.popUpAlert(\"Something went wrong\", \"Error\", \"error\");\r\n this.loading--\r\n })\r\n return false;\r\n }\r\n\r\n showWarnings(res) {\r\n\t\tvar span = document.createElement(\"span\");\r\n\t\tfor (var i = 0; i < res.warnings.length; i++) {\r\n\t\t\tspan.innerHTML += \"
\" + (i + 1) + \". \" + res.warnings[i].warning + \". \" + \"
\";\r\n\t\t}\r\n\t\tSwal({\r\n\t\t\ttitle: \"Warnings\",\r\n\t\t\thtml: span,\r\n\t\t\ttype: \"warning\",\r\n\t\t\tconfirmButtonColor: \"#175788\",\r\n\t\t\ttimer: parseFloat('120000')\r\n\t\t})\r\n\t}\r\n\r\n generateDataFromExcel = (e) => {\r\n this.loading++;\r\n setTimeout(() => {\r\n /* read workbook */\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n\r\n /* grab first sheet */\r\n const wsname: string = wb.SheetNames[0];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n\r\n /* sheet data */\r\n const tableData = (XLSX.utils.sheet_to_json(ws, { header: 1 }));\r\n\r\n if (tableData && tableData.length > 1) {\r\n const header: any = tableData[0];\r\n const headerContains = [\r\n \"year\",\r\n \"season\",\r\n \"crop\",\r\n \"management\",\r\n \"admin1\",\r\n \"admin2\",\r\n \"admin3\",\r\n \"admin4\",\r\n \"admin5\",\r\n \"calamity1\",\r\n \"calamity2\",\r\n \"cluster_num\",\r\n \"cov_level\",\r\n \"area_sown\",\r\n \"value_per_crop_ha\",\r\n \"sum_insured\",\r\n \"admin2_shp\",\r\n \"admin3_shp\",\r\n // \"2008\",\r\n // \"2009\"\r\n ]\r\n\r\n\r\n if (!headerContains.every((head, index) => head && head.trim().toLowerCase() == header[index].trim().toLowerCase())) {\r\n for (let i = 0; i < headerContains.length; i++) {\r\n const head = headerContains[i];\r\n if (head.trim().toLowerCase() != header[i].trim().toLowerCase()) {\r\n debugger\r\n console.log(head.trim().toLowerCase() , header[i])\r\n }\r\n }\r\n this.validate.popUpAlert(\"Invalid CSV File\", \"\", \"error\");\r\n return;\r\n }\r\n this.years = header.filter((d,i) => i > 17)\r\n const jsonHeader = [\r\n \"year\",\r\n \"season\",\r\n \"crop\",\r\n \"management\",\r\n \"admin1\",\r\n \"admin2\",\r\n \"admin3\",\r\n \"admin4\",\r\n \"admin5\",\r\n \"calamity1\",\r\n \"calamity2\",\r\n \"cluster_num\",\r\n \"cov_level\",\r\n \"area_sown\",\r\n \"value_per_crop_ha\",\r\n \"sum_insured\",\r\n \"admin2_shp\",\r\n \"admin3_shp\",\r\n ...this.years\r\n ]\r\n const jsonData = [];\r\n const keys = [];\r\n const groupData = []\r\n const yearErrorData = [];\r\n for (let index = 1; index < tableData.length; index++) {\r\n const rowData: any = tableData[index];\r\n const json: any = {lineNo: index+1, blankError: 0, zeroError: 0}\r\n for (let rowIndex = 0; rowIndex < jsonHeader.length; rowIndex++) {\r\n let data = rowData[rowIndex];\r\n if (this.years.includes(jsonHeader[rowIndex]) && (!data || data == 0)) {\r\n json['blankError'] += ['',undefined,null].includes(data) ? 1 : 0;\r\n json['zeroError'] += data === 0 ? 1 : 0;\r\n }\r\n json[jsonHeader[rowIndex]] = data;\r\n }\r\n\r\n const key = `${json.year}-${json.season}-${json.crop}-${json.admin1}-${json.cluster_num}-${json.admin2}`;\r\n let group = {lineNo: index+1, key, repeat: 1}\r\n if (keys.includes(key)) {\r\n group = groupData.find(data => data.key == key);\r\n group.repeat += 1;\r\n for (let yindx = 0; yindx < this.years.length; yindx++) {\r\n const k = this.years[yindx];\r\n group[k] += json[k] || 0;\r\n }\r\n } else {\r\n for (let hindex = 0; hindex < jsonHeader.length; hindex++) {\r\n const k = jsonHeader[hindex];\r\n if (this.years.includes(k) && !json[k]) {\r\n group[k] = 0;\r\n } else {\r\n group[k] = json[k];\r\n }\r\n }\r\n keys.push(key)\r\n groupData.push(group)\r\n }\r\n jsonData.push(json)\r\n }\r\n this.excelJsonData = jsonData;\r\n if (this.excelJsonData && this.excelJsonData.length) {\r\n const zeroWarningYieldRecords: any[] = [];\r\n const blankWarningYieldRecords: any[] = [];\r\n for (let index = 0; index < this.excelJsonData.length; index++) {\r\n const json = this.excelJsonData[index];\r\n if (json.zeroError || json.blankError) {\r\n const yearData = {};\r\n this.years.forEach((d: any) => {\r\n yearData[`${d} `] = json[d];\r\n })\r\n const warningData = {\r\n \"year\": json.year,\r\n \"season\": json.season,\r\n \"crop\": json.crop,\r\n \"management\": json.management,\r\n \"admin1\": json.admin1,\r\n \"admin2\": json.admin2,\r\n \"admin3\": json.admin3,\r\n \"admin4\": json.admin4,\r\n \"admin5\": json.admin5,\r\n \"cluster_num\": json.cluster_num,\r\n \"cov_level\": json.cov_level,\r\n \"area_sown\": json.area_sown,\r\n \"value_per_crop_ha\": json.value_per_crop_ha,\r\n \"sum_insured\": json.sum_insured,\r\n \"calamity1\": json.calamity1,\r\n \"calamity2\": json.calamity2,\r\n \"csvRowNumber\": json.lineNo,\r\n \"isGiveWarning\": true,\r\n ...yearData\r\n }\r\n\r\n if (json.zeroError) {\r\n zeroWarningYieldRecords.push(warningData)\r\n } else {\r\n blankWarningYieldRecords.push(warningData)\r\n }\r\n }\r\n }\r\n this.zeroWarningYield.append(\"noOfRecords\", zeroWarningYieldRecords.length.toString())\r\n this.blankWarningYield.append(\"noOfRecords\", blankWarningYieldRecords.length.toString())\r\n\r\n this.blankWarningYield.append(\"previousYears\", this.years.join())\r\n this.zeroWarningYield.append(\"previousYears\", this.years.join())\r\n\r\n this.zeroWarningYield.append(\"zeroWarningYieldRecords\", this.jsonToBlob(zeroWarningYieldRecords))\r\n this.blankWarningYield.append(\"blankWarningYieldRecords\", this.jsonToBlob(blankWarningYieldRecords))\r\n }\r\n for (let index = 0; index < groupData.length; index++) {\r\n const json = JSON.parse(JSON.stringify(groupData[index]));\r\n for (let yr = 0; yr < this.years.length; yr++) {\r\n const year = this.years[yr];\r\n json[year] = json[year] / json.repeat;\r\n }\r\n const average = Math.round(this.years.map(d => +(json[d] || 0)).reduce((a: any, b: any) => a+b, 0) / this.years.length);\r\n const max_50 = average * 1.5;\r\n const min_50 = average * 0.5;\r\n let isOutlier = false;\r\n let count = 0;\r\n // const lastYear = +(json[this.years[this.years.length - 1]]);\r\n // const lastsndYear = +(json[this.years[this.years.length -2]])\r\n // const diff = ((lastsndYear - lastYear) / lastsndYear) *100;\r\n for (let yr = 0; yr < this.years.length; yr++) {\r\n const year = this.years[yr];\r\n json[year] = json[year] > min_50 && json[year] < max_50 ? '' : Math.round(json[year]);\r\n if (!isOutlier && json[year]) {\r\n isOutlier = true;\r\n }\r\n if(json[year] || json[year] === 0) {\r\n count++;\r\n }\r\n }\r\n json['average'] = average;\r\n json['max_50'] = max_50;\r\n json['min_50'] = min_50;\r\n json['count'] = count;\r\n // if ( diff > 50 || diff < -50) {\r\n // json['yearValueError'] = true;\r\n // json['previousValue'] = +((lastsndYear || 0).toFixed(2));\r\n // json['currentValue'] = +((lastYear || 0).toFixed(2));\r\n // json['difference'] = lastsndYear == 0 ? 0 : (diff).toFixed(0) + '%';\r\n // }\r\n if(isOutlier) {\r\n yearErrorData.push(json);\r\n }\r\n }\r\n this.yearErrorData = yearErrorData.sort((a,b) => a.sum_insured - b.sum_insured);\r\n const outlierWarningYieldRecords: any[] = []\r\n for (let index = 0; index < this.yearErrorData.length; index++) {\r\n const json = this.yearErrorData[index];\r\n const yearData = {};\r\n this.years.forEach((d: any) => {\r\n yearData[`${d} `] = json[d];\r\n })\r\n const warningData = {\r\n \"year\": json.year || null,\r\n \"season\": json.season || null,\r\n \"crop\": json.crop || null,\r\n \"management\": json.management || null,\r\n \"admin1\": json.admin1 || null,\r\n \"admin2\": json.admin2 || null,\r\n \"admin3\": json.admin3 || null,\r\n \"admin4\": json.admin4 || null,\r\n \"admin5\": json.admin5 || null,\r\n \"average\": json.average || null,\r\n \"plusFifty\": json.max_50 || null,\r\n \"minusFifty\": json.min_50 || null,\r\n \"count\": json.count,\r\n \"csvRowNumber\": json.lineNo,\r\n \"isGiveWarning\": true,\r\n ...yearData\r\n }\r\n // \"prevYearsYieldData\": this.years.map(d => ({previousYear: d, previousYearYield: json[d] || 0, isBlank: false})),\r\n outlierWarningYieldRecords.push(warningData)\r\n }\r\n this.outliersWarningYield.append('noOfRecords', outlierWarningYieldRecords.length.toString())\r\n this.outliersWarningYield.append(\"previousYears\", this.years.join())\r\n this.outliersWarningYield.append('outlierWarningYieldRecords', this.jsonToBlob(outlierWarningYieldRecords))\r\n }\r\n this.loading--;\r\n }, 1000)\r\n}\r\n\r\nonClientAction(process) {\r\n this.goto(process)\r\n}\r\n\r\njsonToBlob(obj: any): any {\r\n obj = obj || []; // obj is the array of objects with non-english characters\r\n const length = obj.length;\r\n if (length) {\r\n // const str = JSON.stringify(obj);\r\n const data = this.jsonToCSV( obj );\r\n\r\n const blob = new Blob( [ data ], {\r\n type: \"text/csv\"\r\n });\r\nreturn blob\r\n}\r\n return null\r\n}\r\n\r\nencode (s) {\r\n const out: any[] = [];\r\n for ( let i = 0; i < s.length; i++ ) {\r\n out[i] = s.charCodeAt(i);\r\n }\r\n return new Uint8Array(out);\r\n}\r\n\r\njsonToCSV(obj) {\r\n if (obj && obj.length) {\r\n const headers = Object.keys(obj[0]);\r\n return headers.join(',') + '\\n' + obj.map((d: any) => headers.map((k: string) => {\r\n let value = d[k] === undefined ? '' : d[k];\r\n if (value && typeof value === 'string') {\r\n if (value.includes('\\n')) {\r\n value = value.split('\\n').join(' ')\r\n }\r\n if (value.includes('\\t')) {\r\n value = value.split('\\t').join(' ')\r\n }\r\n }\r\n return value\r\n }).join(',')).join('\\n')\r\n }\r\n return \"\";\r\n}\r\n\r\n\r\n\r\nonCancel() {\r\n this.fileList = null;\r\n this.fileName = null;\r\n this.showUpload = true;\r\n this.showDbWarn = false;\r\n this.showclientWarn = false;\r\n this.excelJsonData = [];\r\n this.yearErrorData = [];\r\n this.years = [];\r\n this.mismatchedCurrentYearYieldDatas = [];\r\n this.mismatchedYieldDatas = [];\r\n this.warnings = [];\r\n this.zeroWarningYield = new FormData();\r\n this.blankWarningYield = new FormData();\r\n this.outliersWarningYield = new FormData();\r\n this.clearProgressInterval()\r\n this.selectedState = '';\r\n}\r\n\r\nngOnDestroy(): void {\r\n this.clearProgressInterval();\r\n}\r\n\r\n}\r\n","module.exports = \"@media (max-width: 767px) {\\r\\n /* On small screens, the nav menu spans the full width of the screen. Leave a space for it. */\\r\\n .body-content {\\r\\n padding-top: 50px;\\r\\n }\\r\\n \\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2FwcC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0VBQ0UsOEZBQThGO0VBQzlGO0lBQ0Usa0JBQWtCO0dBQ25COztDQUVGIiwiZmlsZSI6InNyYy9hcHBfZGV2L2FwcC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgLyogT24gc21hbGwgc2NyZWVucywgdGhlIG5hdiBtZW51IHNwYW5zIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBzY3JlZW4uIExlYXZlIGEgc3BhY2UgZm9yIGl0LiAqL1xyXG4gIC5ib2R5LWNvbnRlbnQge1xyXG4gICAgcGFkZGluZy10b3A6IDUwcHg7XHJcbiAgfVxyXG4gIFxyXG59XHJcbiJdfQ== */\"","module.exports = \"\\r\\n\\r\\n\\r\\n\"","import { Component, HostListener } from '@angular/core';\r\nimport { RouterModule, Router, NavigationEnd } from '@angular/router';\r\nimport { PlatformLocation } from '@angular/common';\r\nimport { AuthenticationService } from './services/authentication.service';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.css']\r\n})\r\nexport class AppComponent {\r\n title = 'app';\r\n header: boolean;\r\n appParticles: boolean;\r\n /*** for navigation active***/\r\n tieupAcive: boolean = false;\r\n userAcive: boolean = false;\r\n reportAcive: boolean = false;\r\n parametersettingAcive: boolean = false;\r\n userlistActive: boolean = false;\r\n loadingdiscActive: boolean = false;\r\n rolesActive: boolean = false;\r\n trackingActive: boolean = false;\r\n rateActive: boolean = false;\r\n reportlistActive: boolean = false;\r\n rateDownloadActive: boolean = false;\r\n previousyearActive: boolean = false;\r\n finalloadingconfigActive: boolean = false;\r\n demoTransIdActive: boolean = false;\r\n /*** nav -end****/\r\n\r\n constructor(private router: Router, private location: PlatformLocation, private authenticationService: AuthenticationService) {\r\n location.onPopState(() => {\r\n history.forward();\r\n });\r\n this.router.events.subscribe((e) => {\r\n this.appParticles = false;\r\n if (e instanceof NavigationEnd) {\r\n console.log(\"page:::\" + e.url);\r\n if (((e.url) === '/change-password') || ((e.url) === '/login')) {\r\n this.header = false;\r\n this.appParticles = true;\r\n } /*** for navigation active***/\r\n else if ((e.url) === '/tie-up') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url) === '/create-tie-up') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url).startsWith('/update-tie-up')) {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url) === '/district-wise') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n }\r\n else if ((e.url) === '/global-defaults') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n }\r\n else if ((e.url) === '/tieup-mapping') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url) === '/manage-state-district') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url) === '/yield-data-upload') {\r\n this.resetall();\r\n this.header = true;\r\n this.tieupAcive = true;\r\n this.userlistActive = false;\r\n } else if ((e.url) == \"/user\" || (e.url) == \"/user/create\") {\r\n this.resetall();\r\n this.header = true;\r\n this.userAcive = true;\r\n }\r\n else if ((e.url) == '/report') {\r\n this.resetall();\r\n this.header = true;\r\n this.reportAcive = true;\r\n }\r\n else if ((e.url) == '/parameter-setting') {\r\n this.resetall();\r\n this.header = true;\r\n this.parametersettingAcive = true;\r\n } else if ((e.url) == '/user-list-download') {\r\n this.resetall();\r\n this.header = true;\r\n this.userlistActive = true;\r\n } else if ((e.url) == '/configurator') {\r\n this.resetall();\r\n this.header = true;\r\n this.loadingdiscActive = true;\r\n } else if ((e.url) == '/roles') {\r\n this.resetall();\r\n this.header = true;\r\n this.rolesActive = true;\r\n } else if ((e.url) == '/activity-tracking') {\r\n this.resetall();\r\n this.header = true;\r\n this.trackingActive = true;\r\n } else if ((e.url) == '/input-combination'|| (e.url) == '/file-upload' || (e.url) == '/rate-generate' || (e.url) == '/choose-transaction' || (e.url.startsWith('/rate-generate'))) {\r\n this.resetall();\r\n this.header = true;\r\n this.rateActive = true;\r\n } else if ((e.url) == '/report-list') {\r\n this.resetall();\r\n this.header = true;\r\n this.reportlistActive = true;\r\n } else if ((e.url) == '/rate-download') {\r\n this.resetall();\r\n this.header = true;\r\n this.rateDownloadActive = true;\r\n } else if ((e.url) == '/previous-year') {\r\n this.resetall();\r\n this.header = true;\r\n this.previousyearActive = true;\r\n } else if ((e.url) == '/finalloading-config') {\r\n this.resetall();\r\n this.header = true;\r\n this.finalloadingconfigActive = true;\r\n } else if ((e.url) == '/demo-transId') {\r\n this.resetall();\r\n this.header = true;\r\n this.demoTransIdActive = true;\r\n }\r\n }\r\n });\r\n\r\n }\r\n private resetall() {\r\n this.tieupAcive = false;\r\n this.userAcive = false;\r\n this.reportAcive = false;\r\n this.parametersettingAcive = false;\r\n this.userlistActive = false;\r\n this.loadingdiscActive = false;\r\n this.rolesActive = false;\r\n this.trackingActive = false;\r\n this.rateActive = false;\r\n this.reportlistActive = false;\r\n this.rateDownloadActive = false;\r\n this.previousyearActive = false;\r\n this.finalloadingconfigActive=false;\r\n }\r\n ngOnInit() {\r\n }\r\n\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, Component, ErrorHandler } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { HttpModule } from '@angular/http';\r\n\r\nimport { NgxSelectModule, INgxSelectOptions } from 'ngx-select-ex';\r\nimport { MyDatePickerModule } from 'mydatepicker';\r\nimport { AngularFontAwesomeModule } from 'angular-font-awesome';\r\nimport { NgxLoadingModule, ngxLoadingAnimationTypes } from 'ngx-loading';\r\nimport { NgDragDropModule } from 'ng-drag-drop';\r\nimport { FileDropModule } from 'ngx-file-drop';\r\nimport { TooltipModule } from \"ngx-tooltip\";\r\nimport { NvD3Module } from 'ngx-nvd3';\r\n\r\nimport { AppComponent } from './app.component';\r\nimport { LogInComponent } from './log-in/log-in.component';\r\nimport { UserCreationComponent } from './user-creation/user-creation.component';\r\nimport { CommonModules } from './common/common.module';\r\nimport { RategenerationModule } from './rategeneration/rategeneration.module';\r\n\r\nimport { ApiService } from './services/apiservices.service';\r\nimport { AuthenticationService } from './services/authentication.service';\r\nimport { AlertService } from './services/alert.service';\r\nimport { CommonfunctionsService } from './services/commonfunctions.service';\r\nimport { CustomErrorHandler } from './error-interceptor';\r\nimport { HttpErrorInterceptor } from './error-interceptor';\r\n\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { TieupmainComponent } from './tieupmain/tieupmain.component';\r\nimport { AuthGuard } from './auth/auth.guard';\r\nimport { RoleGuard } from './auth/role.guard';\r\nimport { ParametersettingComponent } from './parametersetting/parametersetting.component';\r\nimport { EnablereportComponent } from './enablereport/enablereport.component';\r\nimport { ChangepasswordComponent } from './changepassword/changepassword.component';\r\nimport { UserlistDownloadComponent } from './userlist-download/userlist-download.component';\r\nimport { LoadingDiscountComponent } from './loading-discount/loading-discount.component';\r\nimport { RolesComponent } from './roles/roles.component';\r\nimport { TrackingactivityComponent } from './trackingactivity/trackingactivity.component';\r\nimport { ViewreportComponent } from './viewreport/viewreport.component';\r\nimport { PreviousyearComponent } from './previousyear/previousyear.component';\r\nimport { FinalloadingconfigComponent } from './finalloadingconfig/finalloadingconfig.component';\r\nimport { DemoTransactionidComponent } from './demo-transactionid/demo-transactionid.component';\r\nimport { CreateTieupComponent } from './create-tieup/create-tieup.component';\r\nimport { DistrictWiseFormComponent } from './district-wise-form/district-wise-form.component';\r\nimport { GlobalDefaultsComponent } from './global-defaults/global-defaults.component';\r\nimport { TieUpMappingComponent } from './tie-up-mapping/tie-up-mapping.component';\r\nimport { AdminUploadComponent } from './admin-upload/admin-upload.component';\r\nimport { FileUploadWarningsComponent } from './file-upload-warnings/file-upload-warnings.component';\r\nimport { FileDataWarningComponent } from './file-data-warning/file-data-warning.component';\r\nimport { ManageStateDistrictComponent } from './manage-state-district/manage-state-district.component';\r\n\r\nconst routes: Routes = [\r\n { path: 'login', component: LogInComponent },\r\n {\r\n path: 'user', component: UserCreationComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Admin', expectedRole2: 'MR-Super Admin'\r\n }\r\n }, {\r\n path: 'user/:term', component: UserCreationComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Admin', expectedRole2: 'MR-Super Admin'\r\n }\r\n },\r\n {\r\n path: 'report', component: EnablereportComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'parameter-setting', component: ParametersettingComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'tie-up', component: TieupmainComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'create-tie-up', component: CreateTieupComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: '', mode: 'create'\r\n }\r\n },\r\n {\r\n path: 'update-tie-up/:id', component: CreateTieupComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: '', mode: 'edit'\r\n }\r\n },\r\n {\r\n path: 'district-wise', component: DistrictWiseFormComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'global-defaults', component: GlobalDefaultsComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'tieup-mapping', component: TieUpMappingComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'manage-state-district', component: ManageStateDistrictComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'yield-data-upload', component: AdminUploadComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },\r\n {\r\n path: 'user-list-download', component: UserlistDownloadComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: 'Tie-Up Admin'\r\n }\r\n },\r\n {\r\n path: 'configurator', component: LoadingDiscountComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'roles', component: RolesComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'activity-tracking', component: TrackingactivityComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'report-list', component: ViewreportComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: 'Tie-Up Sub User'\r\n }\r\n }, {\r\n path: 'previous-year', component: PreviousyearComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'finalloading-config', component: FinalloadingconfigComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'MR-Super Admin', expectedRole2: ''\r\n }\r\n },{\r\n path: 'demo-transId', component: DemoTransactionidComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n },\r\n { path: 'change-password', component: ChangepasswordComponent },\r\n { path: '', component: LogInComponent },\r\n { path: '**', component: LogInComponent }\r\n];\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LogInComponent,\r\n UserCreationComponent,\r\n HeaderComponent,\r\n TieupmainComponent,\r\n ParametersettingComponent,\r\n EnablereportComponent,\r\n ChangepasswordComponent,\r\n UserlistDownloadComponent,\r\n LoadingDiscountComponent,\r\n RolesComponent,\r\n TrackingactivityComponent,\r\n ViewreportComponent,\r\n PreviousyearComponent,\r\n FinalloadingconfigComponent,\r\n DemoTransactionidComponent,\r\n CreateTieupComponent,\r\n DistrictWiseFormComponent,\r\n GlobalDefaultsComponent,\r\n TieUpMappingComponent,\r\n AdminUploadComponent,\r\n FileUploadWarningsComponent,\r\n FileDataWarningComponent,\r\n ManageStateDistrictComponent,\r\n ],\r\n imports: [\r\n BrowserModule.withServerTransition({ appId: 'ng-cli-universal' }),\r\n HttpClientModule,\r\n HttpModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModules,\r\n RategenerationModule,\r\n NgxSelectModule,\r\n AngularFontAwesomeModule,\r\n MyDatePickerModule,\r\n FileDropModule,\r\n TooltipModule,\r\n NvD3Module,\r\n NgDragDropModule.forRoot(),\r\n NgxLoadingModule.forRoot({\r\n animationType: ngxLoadingAnimationTypes.threeBounce,\r\n backdropBackgroundColour: 'rgba(0, 0, 0, 0.1)',\r\n backdropBorderRadius: '10px',\r\n primaryColour: '#175788',\r\n secondaryColour: '#1b4a6e',\r\n tertiaryColour: '#054f88',\r\n fullScreenBackdrop: true\r\n }),\r\n RouterModule.forRoot(routes)\r\n ],\r\n providers: [ApiService, AuthenticationService, AlertService, CommonfunctionsService, AuthGuard, RoleGuard, UserCreationComponent, {\r\n provide: ErrorHandler,\r\n useClass: CustomErrorHandler\r\n }, { provide: HTTP_INTERCEPTORS, useClass: HttpErrorInterceptor, multi: true }],\r\n bootstrap: [AppComponent]\r\n})\r\n\r\nexport class AppModuleDev { }\r\n\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class AuthGuard implements CanActivate {\r\n constructor(private router: Router,private auth:AuthenticationService) { }\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n if (localStorage.getItem('userToken') != null) {\r\n return true;\r\n }\r\n else{\r\n this.auth.logoutService();\r\n }\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs/Observable';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\n\r\n@Injectable()\r\nexport class RoleGuard implements CanActivate {\r\n constructor(private alert:AlertService , private router: Router,private auth:AuthenticationService) {}\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean {\r\n const expectedRole = next.data.expectedRole;\r\n const expectedRole2 = next.data.expectedRole2;\r\n let user = this.alert.getUserDetails(\"getUsertype\");\r\n if (user !== expectedRole && user !== expectedRole2) {\r\n this.auth.logoutService();\r\n return false;\r\n }\r\n \r\n return true;\r\n }\r\n}\r\n","module.exports = \"\\r\\n.loginDIV\\r\\n{\\r\\n\\tmargin-bottom: 1.5em!important;\\r\\n\\tmargin-top: 1.5em!important;\\r\\n\\tmax-height: 35px;\\r\\n\\twidth:100%;\\r\\n}\\r\\n.formgroup label {\\r\\n margin-bottom: unset;\\r\\n font-size: 12px;\\r\\n color: #757575;\\r\\n}\\r\\nhr {\\r\\n\\tmargin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border: 0;\\r\\n border-top: 1px solid #175788;\\r\\n width: 20px;\\r\\n }\\r\\n.sign-btn-style{\\r\\n font-size: 16px!important;\\r\\n cursor: pointer;\\r\\n\\tbackground-color: #175788;\\r\\n\\tcolor: #fff;\\r\\n\\tborder:none!important;\\r\\n\\tbox-shadow: 1px 1px 10px 2px #d4edff;\\r\\n\\tborder-radius: 30px;\\r\\n\\tline-height: 6px !important;\\r\\n\\tpadding: 21px 0;\\r\\n\\ttext-transform: inherit;\\r\\n}\\r\\ninput[type=email]:not(.browser-default),input[type=password]:not(.browser-default),input[type=text]:not(.browser-default){\\r\\n\\twidth: 100%!important;\\r\\n height: 38px!important;\\r\\n padding: 0px 7px!important;\\r\\n\\tfloat: left;\\r\\n\\tborder: none;\\r\\n border-bottom: 1px solid rgba(219, 219, 219, 0.4117647058823529);\\r\\n color: #313030;\\r\\n font-weight: 400;\\r\\n}\\r\\ninput:focus {\\r\\n outline:none;\\r\\n}\\r\\n@media only screen and (min-width: 700px) \\r\\n{\\r\\n\\t.loginDIV{\\r\\n\\t\\t/* width: max-content!important; */\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n\\t\\t\\r\\n}\\r\\n@media only screen and (max-width: 700px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\tpadding:7.9%;\\r\\n\\t\\tmax-height: 490px;\\r\\n\\t}\\r\\n\\t.container-body-create{\\r\\n\\t\\ttop: 7rem;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 1300px){\\r\\n\\t.container-body-create{\\r\\n\\t\\ttop: 7rem!important;\\r\\n\\t}\\r\\n}\\r\\n/* Extra small devices (phones, 320px) */\\r\\n@media only screen and (width: 320px) \\r\\n{\\r\\n\\t.loginDIV{\\r\\n\\t\\t/* width: max-content!important; */\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\t\\r\\n}\\r\\n@media only screen and (max-width: 600px) \\r\\n{\\r\\n\\tinput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (width: 320px) \\r\\n{\\r\\n\\tinput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n}\\r\\ninput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\twidth: 100%;\\r\\n}\\r\\n.container-body-create{\\r\\n padding: 40px 40px 40px 40px;\\r\\n width: 65%;\\r\\n top: 10rem;\\r\\n background-color: #fff;\\r\\n display: block;\\r\\n background-color: white;\\r\\n width: 390px !important;\\r\\n border-radius: 25px;\\r\\n box-shadow: 0px 0px 45px -10px #b6b6b6;\\r\\n min-height: 480px;\\r\\n\\theight: 480px;\\r\\n\\tz-index: 1000;\\r\\n}\\r\\ninput[type=tel] {\\r\\n\\tmargin: 0 15px 0 0;\\r\\n text-align: center;\\r\\n line-height: 40px;\\r\\n font-size: 19px; \\r\\n border: solid 1px #ccc;\\r\\n box-shadow: 0 0 5px #ccc inset;\\r\\n outline: none;\\r\\n transition: all 0.2s ease-in-out;\\r\\n border-radius: 3px;\\r\\n}\\r\\ninput[type=tel]:focus {\\r\\n\\tborder-color: #175788;\\r\\n\\tbox-shadow: 0 0 5px #175788 inset;\\r\\n }\\r\\n/*****************pop up***********/\\r\\n.bg_container{\\r\\n\\tbackground: rgba(0,0,0,0.5);\\r\\n\\tposition:fixed;\\r\\n\\ttop:0px;\\r\\n\\tleft:0px;\\r\\n\\tright:0px;\\r\\n\\tbottom:0px;\\r\\n\\toverflow: auto;\\r\\n\\tz-index:1111;\\r\\n\\t\\r\\n}\\r\\n.add-on-btn {\\r\\n height: 38px;\\r\\n width: 30px;\\r\\n display: inline-block;\\r\\n background: #fff;\\r\\n\\tfont-size: 23px;\\r\\n\\tborder: none;\\r\\n border-bottom: 1px solid rgba(219, 219, 219, 0.4117647058823529);\\r\\n\\tborder-left: none;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n.container_inner{\\r\\n margin: 0 auto;\\r\\n width: 70%;\\r\\n}\\r\\n.bgColor {\\r\\n\\tbackground-color: #f1f1f1!important;\\r\\n\\tborder-radius: 10px;\\r\\n}\\r\\n.border{\\r\\n\\tborder-radius: 10px;\\r\\n}\\r\\n.headerFont{\\r\\n\\tfont-size: 28px;\\r\\n}\\r\\n.header{\\r\\n\\tcolor: #313030;\\r\\n\\tfont-size: larger;\\r\\n}\\r\\n.popup_close{\\r\\n\\tposition: absolute;\\r\\n top: 45px;\\r\\n right: 25px;\\r\\n cursor: pointer;\\r\\n}\\r\\n.form-input::-moz-placeholder {\\r\\n\\t/* Chrome, Firefox, Opera, Safari 10.1+ */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::placeholder {\\r\\n\\t/* Chrome, Firefox, Opera, Safari 10.1+ */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::-ms-input-placeholder {\\r\\n\\t/* Internet Explorer 10-11 */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::-ms-input-placeholder {\\r\\n\\t/* Microsoft Edge */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n/* @media (min-width: 481px) and (max-width: 767px) {\\r\\n \\r\\n .container-body-create,.container_inner{\\r\\n width: 100%!important;\\r\\n }\\r\\n } */\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body-create,.container_inner{\\r\\n width: 100%!important;\\r\\n }\\r\\n }\\r\\n.password-hint{\\r\\n\\tfont-size: 12px;\\r\\n /* color: #ddd; */\\r\\n border: 1px solid #d94343;\\r\\n padding: 12px;\\r\\n background-color: #ecbfbf;\\r\\n border-radius: 4px;\\r\\n font-weight: 700;\\r\\n }\\r\\n.strong { background-color: #060; border-color: #0F0;}\\r\\n.initial { border-color: rgba(219, 219, 219, 0.4117647058823529);}\\r\\n.weak { border-color: #F00!important;}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2NoYW5nZXBhc3N3b3JkL2NoYW5nZXBhc3N3b3JkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBOztDQUVDLCtCQUErQjtDQUMvQiw0QkFBNEI7Q0FDNUIsaUJBQWlCO0NBQ2pCLFdBQVc7Q0FDWDtBQUNEO0lBQ0kscUJBQXFCO0lBQ3JCLGdCQUFnQjtJQUNoQixlQUFlO0NBQ2xCO0FBQ0Q7Q0FDQyxpQkFBaUI7SUFDZCxvQkFBb0I7SUFDcEIsVUFBVTtJQUNWLDhCQUE4QjtJQUM5QixZQUFZO0dBQ2I7QUFFSDtJQUNJLDBCQUEwQjtJQUMxQixnQkFBZ0I7Q0FDbkIsMEJBQTBCO0NBQzFCLFlBQVk7Q0FDWixzQkFBc0I7Q0FDdEIscUNBQXFDO0NBQ3JDLG9CQUFvQjtDQUNwQiw0QkFBNEI7Q0FDNUIsZ0JBQWdCO0NBQ2hCLHdCQUF3QjtDQUN4QjtBQUNEO0NBQ0Msc0JBQXNCO0lBQ25CLHVCQUF1QjtJQUN2QiwyQkFBMkI7Q0FDOUIsWUFBWTtDQUNaLGFBQWE7SUFDVixpRUFBaUU7SUFDakUsZUFBZTtJQUNmLGlCQUFpQjtDQUNwQjtBQUNEO0lBQ0ksYUFBYTtDQUNoQjtBQUVEOztDQUVDO0VBQ0MsbUNBQW1DO0VBQ25DLHNCQUFzQjtFQUN0Qjs7Q0FFRDtBQUNEO0NBQ0M7RUFDQyxhQUFhO0VBQ2Isa0JBQWtCO0VBQ2xCO0NBQ0Q7RUFDQyxVQUFVO0VBQ1Y7Q0FDRDtBQUVEO0NBQ0M7RUFDQyxvQkFBb0I7RUFDcEI7Q0FDRDtBQUVELHlDQUF5QztBQUN6Qzs7Q0FFQztFQUNDLG1DQUFtQztFQUNuQyxzQkFBc0I7RUFDdEI7Q0FDRDtBQUVEOztDQUVDO0VBQ0Msc0JBQXNCO0VBQ3RCO0NBQ0Q7QUFFRDs7Q0FFQztFQUNDLHNCQUFzQjtFQUN0QjtDQUNEO0FBRUQ7Q0FDQyxZQUFZO0NBQ1o7QUFFRDtJQUNJLDZCQUE2QjtJQUM3QixXQUFXO0lBQ1gsV0FBVztJQUNYLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2Ysd0JBQXdCO0lBQ3hCLHdCQUF3QjtJQUN4QixvQkFBb0I7SUFFcEIsdUNBQXVDO0lBQ3ZDLGtCQUFrQjtDQUNyQixjQUFjO0NBQ2QsY0FBYztDQUNkO0FBRUQ7Q0FDQyxtQkFBbUI7SUFDaEIsbUJBQW1CO0lBQ25CLGtCQUFrQjtJQUNsQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBRXZCLCtCQUErQjtJQUMvQixjQUFjO0lBRWQsaUNBQWlDO0lBQ2pDLG1CQUFtQjtDQUN0QjtBQUNEO0NBQ0Msc0JBQXNCO0NBQ3RCLGtDQUFrQztHQUNoQztBQUVILG9DQUFvQztBQUNwQztDQUNDLDRCQUE0QjtDQUM1QixlQUFlO0NBQ2YsUUFBUTtDQUNSLFNBQVM7Q0FDVCxVQUFVO0NBQ1YsV0FBVztDQUNYLGVBQWU7Q0FDZixhQUFhOztDQUViO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsWUFBWTtJQUNaLHNCQUFzQjtJQUN0QixpQkFBaUI7Q0FDcEIsZ0JBQWdCO0NBQ2hCLGFBQWE7SUFDVixpRUFBaUU7Q0FDcEUsa0JBQWtCO0NBQ2xCLGdCQUFnQjtDQUNoQjtBQUNEO0lBQ0ksZUFBZTtJQUNmLFdBQVc7Q0FDZDtBQUNEO0NBQ0Msb0NBQW9DO0NBQ3BDLG9CQUFvQjtDQUNwQjtBQUNEO0NBQ0Msb0JBQW9CO0NBQ3BCO0FBQ0Q7Q0FDQyxnQkFBZ0I7Q0FDaEI7QUFDRDtDQUNDLGVBQWU7Q0FDZixrQkFBa0I7Q0FDbEI7QUFFRDtDQUNDLG1CQUFtQjtJQUNoQixVQUFVO0lBQ1YsWUFBWTtJQUNaLGdCQUFnQjtDQUNuQjtBQUNEO0NBQ0MsMENBQTBDO0NBQzFDLDJCQUEyQjtDQUMzQixxQ0FBcUM7Q0FDckMsNEJBQTRCO0dBQzFCO0FBTEg7Q0FDQywwQ0FBMEM7Q0FDMUMsMkJBQTJCO0NBQzNCLHFDQUFxQztDQUNyQyw0QkFBNEI7R0FDMUI7QUFFRDtDQUNELDZCQUE2QjtDQUM3QiwyQkFBMkI7Q0FDM0IscUNBQXFDO0NBQ3JDLDRCQUE0QjtHQUMxQjtBQUVEO0NBQ0Qsb0JBQW9CO0NBQ3BCLDJCQUEyQjtDQUMzQixxQ0FBcUM7Q0FDckMsNEJBQTRCO0dBQzFCO0FBRUQ7Ozs7O01BS0k7QUFFSjs7O0lBR0U7QUFFRjtJQUNFO1FBQ0ksc0JBQXNCO0tBQ3pCO0dBQ0Y7QUFDRDtDQUNELGdCQUFnQjtJQUNiLGtCQUFrQjtJQUNsQiwwQkFBMEI7SUFDMUIsY0FBYztJQUNkLDBCQUEwQjtJQUMxQixtQkFBbUI7SUFDbkIsaUJBQWlCO0dBQ2xCO0FBQ0QsWUFBWSx1QkFBdUIsQ0FBQyxtQkFBbUIsQ0FBQztBQUN4RCxhQUFhLHNEQUFzRCxDQUFDO0FBQ3BFLFlBQVksNkJBQTZCLENBQUMiLCJmaWxlIjoic3JjL2FwcF9kZXYvY2hhbmdlcGFzc3dvcmQvY2hhbmdlcGFzc3dvcmQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4ubG9naW5ESVZcclxue1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNWVtIWltcG9ydGFudDtcclxuXHRtYXJnaW4tdG9wOiAxLjVlbSFpbXBvcnRhbnQ7XHJcblx0bWF4LWhlaWdodDogMzVweDtcclxuXHR3aWR0aDoxMDAlO1xyXG59XHJcbi5mb3JtZ3JvdXAgbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogIzc1NzU3NTtcclxufVxyXG5ociB7XHJcblx0bWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgIzE3NTc4ODtcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gIH1cclxuXHJcbi5zaWduLWJ0bi1zdHlsZXtcclxuICAgIGZvbnQtc2l6ZTogMTZweCFpbXBvcnRhbnQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzE3NTc4ODtcclxuXHRjb2xvcjogI2ZmZjtcclxuXHRib3JkZXI6bm9uZSFpbXBvcnRhbnQ7XHJcblx0Ym94LXNoYWRvdzogMXB4IDFweCAxMHB4IDJweCAjZDRlZGZmO1xyXG5cdGJvcmRlci1yYWRpdXM6IDMwcHg7XHJcblx0bGluZS1oZWlnaHQ6IDZweCAhaW1wb3J0YW50O1xyXG5cdHBhZGRpbmc6IDIxcHggMDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcclxufVxyXG5pbnB1dFt0eXBlPWVtYWlsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT1wYXNzd29yZF06bm90KC5icm93c2VyLWRlZmF1bHQpLGlucHV0W3R5cGU9dGV4dF06bm90KC5icm93c2VyLWRlZmF1bHQpe1xyXG5cdHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMzhweCFpbXBvcnRhbnQ7XHJcbiAgICBwYWRkaW5nOiAwcHggN3B4IWltcG9ydGFudDtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTksIDIxOSwgMjE5LCAwLjQxMTc2NDcwNTg4MjM1MjkpO1xyXG4gICAgY29sb3I6ICMzMTMwMzA7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcbmlucHV0OmZvY3VzIHtcclxuICAgIG91dGxpbmU6bm9uZTtcclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3MDBweCkgXHJcbntcclxuXHQubG9naW5ESVZ7XHJcblx0XHQvKiB3aWR0aDogbWF4LWNvbnRlbnQhaW1wb3J0YW50OyAqL1xyXG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRcdFxyXG59IFxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDcwMHB4KSAge1xyXG5cdC5iZy10YWd7XHJcblx0XHRwYWRkaW5nOjcuOSU7XHJcblx0XHRtYXgtaGVpZ2h0OiA0OTBweDtcclxuXHR9XHJcblx0LmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuXHRcdHRvcDogN3JlbTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTMwMHB4KXtcclxuXHQuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG5cdFx0dG9wOiA3cmVtIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8qIEV4dHJhIHNtYWxsIGRldmljZXMgKHBob25lcywgMzIwcHgpICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHdpZHRoOiAzMjBweCkgXHJcbntcclxuXHQubG9naW5ESVZ7XHJcblx0XHQvKiB3aWR0aDogbWF4LWNvbnRlbnQhaW1wb3J0YW50OyAqL1xyXG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG5cdH1cdFxyXG59IFxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkgXHJcbntcclxuXHRpbnB1dFt0eXBlPWVtYWlsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT10ZXh0XTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT1wYXNzd29yZF06bm90KC5icm93c2VyLWRlZmF1bHQpe1xyXG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG5cdH1cclxufSBcclxuXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKHdpZHRoOiAzMjBweCkgXHJcbntcclxuXHRpbnB1dFt0eXBlPWVtYWlsXTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT10ZXh0XTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT1wYXNzd29yZF06bm90KC5icm93c2VyLWRlZmF1bHQpe1xyXG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG5cdH1cclxufSBcclxuXHJcbmlucHV0W3R5cGU9ZW1haWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXRleHRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoLmJyb3dzZXItZGVmYXVsdCl7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggNDBweCA0MHB4O1xyXG4gICAgd2lkdGg6IDY1JTtcclxuICAgIHRvcDogMTByZW07XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcclxuICAgIHdpZHRoOiAzOTBweCAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMHB4IDBweCA0NXB4IC0xMHB4ICNiNmI2YjY7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDQ1cHggLTEwcHggI2I2YjZiNjtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4MHB4O1xyXG5cdGhlaWdodDogNDgwcHg7XHJcblx0ei1pbmRleDogMTAwMDtcclxufVxyXG5cclxuaW5wdXRbdHlwZT10ZWxdIHtcclxuXHRtYXJnaW46IDAgMTVweCAwIDA7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgIGZvbnQtc2l6ZTogMTlweDsgXHJcbiAgICBib3JkZXI6IHNvbGlkIDFweCAjY2NjO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgNXB4ICNjY2MgaW5zZXQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICNjY2MgaW5zZXQ7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG59XHJcbmlucHV0W3R5cGU9dGVsXTpmb2N1cyB7XHJcblx0Ym9yZGVyLWNvbG9yOiAjMTc1Nzg4O1xyXG5cdGJveC1zaGFkb3c6IDAgMCA1cHggIzE3NTc4OCBpbnNldDtcclxuICB9XHJcblxyXG4vKioqKioqKioqKioqKioqKipwb3AgdXAqKioqKioqKioqKi9cclxuLmJnX2NvbnRhaW5lcntcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNSk7XHJcblx0cG9zaXRpb246Zml4ZWQ7XHJcblx0dG9wOjBweDtcclxuXHRsZWZ0OjBweDtcclxuXHRyaWdodDowcHg7XHJcblx0Ym90dG9tOjBweDtcclxuXHRvdmVyZmxvdzogYXV0bztcclxuXHR6LWluZGV4OjExMTE7XHJcblx0XHJcbn1cclxuLmFkZC1vbi1idG4ge1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGZvbnQtc2l6ZTogMjNweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTksIDIxOSwgMjE5LCAwLjQxMTc2NDcwNTg4MjM1MjkpO1xyXG5cdGJvcmRlci1sZWZ0OiBub25lO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4uY29udGFpbmVyX2lubmVye1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICB3aWR0aDogNzAlO1xyXG59XHJcbi5iZ0NvbG9yIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxIWltcG9ydGFudDtcclxuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xyXG59XHJcbi5ib3JkZXJ7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxufVxyXG4uaGVhZGVyRm9udHtcclxuXHRmb250LXNpemU6IDI4cHg7XHJcbn1cclxuLmhlYWRlcntcclxuXHRjb2xvcjogIzMxMzAzMDtcclxuXHRmb250LXNpemU6IGxhcmdlcjtcclxufVxyXG5cclxuLnBvcHVwX2Nsb3Nle1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNDVweDtcclxuICAgIHJpZ2h0OiAyNXB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbi5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcblx0LyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXHJcblx0Zm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6IHJnYigxMTIsIDExMiwgMTEyKSAhaW1wb3J0YW50O1xyXG5cdGZvbnQtZmFtaWx5OiBcIlJvYm90by1MaWdodFwiO1xyXG4gIH1cclxuICBcclxuICAuZm9ybS1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHQvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xyXG5cdGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiByZ2IoMTEyLCAxMTIsIDExMikgIWltcG9ydGFudDtcclxuXHRmb250LWZhbWlseTogXCJSb2JvdG8tTGlnaHRcIjtcclxuICB9XHJcbiAgXHJcbiAgLmZvcm0taW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0LyogTWljcm9zb2Z0IEVkZ2UgKi9cclxuXHRmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcclxuXHRjb2xvcjogcmdiKDExMiwgMTEyLCAxMTIpICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvLUxpZ2h0XCI7XHJcbiAgfVxyXG5cclxuICAvKiBAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICBcclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGUsLmNvbnRhaW5lcl9pbm5lcntcclxuICAgICAgICB3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfSAqL1xyXG4gIFxyXG4gIC8qIFxyXG4gICAgIyNEZXZpY2UgPSBNb3N0IG9mIHRoZSBTbWFydHBob25lcyBNb2JpbGVzIChQb3J0cmFpdClcclxuICAgICMjU2NyZWVuID0gQi93IDMyMHB4IHRvIDQ3OXB4XHJcbiAgKi9cclxuICBcclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZSwuY29udGFpbmVyX2lubmVye1xyXG4gICAgICAgIHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgLnBhc3N3b3JkLWhpbnR7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG4gICAgLyogY29sb3I6ICNkZGQ7ICovXHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZDk0MzQzO1xyXG4gICAgcGFkZGluZzogMTJweDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2JmYmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiA0cHg7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gIH1cclxuICAuc3Ryb25nICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiAjMDYwOyBib3JkZXItY29sb3I6ICMwRjA7fVxyXG4gIC5pbml0aWFsICAgeyBib3JkZXItY29sb3I6IHJnYmEoMjE5LCAyMTksIDIxOSwgMC40MTE3NjQ3MDU4ODIzNTI5KTt9XHJcbiAgLndlYWsgICAgIHsgYm9yZGVyLWNvbG9yOiAjRjAwIWltcG9ydGFudDt9XHJcbiJdfQ== */\"","module.exports = \"
\\r\\n
\\r\\n
\\r\\n

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

\\r\\n
\\r\\n
\\r\\n FORGOT PASSWORD\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n
\\r\\n
\\r\\n \\r\\n\\r\\n
\\r\\n
\\r\\n CHANGE PASSWORD\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n
\\r\\n \\r\\n \\r\\n
  • \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n {{tooltiptext}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \"","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { first } from \"rxjs/operators\";\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { AuthenticationService } from '../services/authentication.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { TooltipDirective } from '../common/Directives/tooltip.directive';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\nimport { TooltipModule } from \"ngx-tooltip\";\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-changepassword',\r\n templateUrl: './changepassword.component.html',\r\n styleUrls: ['./changepassword.component.css'],\r\n})\r\nexport class ChangepasswordComponent implements OnInit {\r\n @ViewChild('codeone') codeone: ElementRef;\r\n @ViewChild('codetwo') codetwo: ElementRef;\r\n @ViewChild('codethree') codethree: ElementRef;\r\n @ViewChild('codefour') codefour: ElementRef;\r\n @ViewChild('codefive') codefive: ElementRef;\r\n @ViewChild('codesix') codesix: ElementRef;\r\n\r\n model: any = {};\r\n reqId: any;\r\n new_pass: string = \"\";\r\n sendMailForm: FormGroup;\r\n resetPasswordForm: FormGroup;\r\n\r\n verify_mail: boolean = false;\r\n verify_code: boolean = false;\r\n loading: boolean = false;\r\n verificationText: boolean = false;\r\n matched: boolean = true;\r\n correctpwd: boolean = true;\r\n flag_passwordlength: boolean = true;\r\n retypePassword: boolean = true;\r\n resetPasswordstrength: any = \"\";\r\n retypePasswordStrength: any = \"\";\r\n tooltiptext: any = \"Password must be atleast 8 characters along with one number,one upper and lower case letter and special characters *$-+_=!{}\";\r\n\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private el: ElementRef,\r\n public authenticationService: AuthenticationService, private alertService: AlertService, private apiData: ApiService, private commonfunctions: CommonfunctionsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.sendMailForm = this.formBuilder.group({\r\n fEmailID: [\"\", Validators.email]\r\n });\r\n this.authenticationService.forget_password = true;\r\n this.verify_mail = true;\r\n this.resetPasswordForm = this.createResetForm();\r\n\r\n }\r\n get resetpasswordControl() {\r\n return this.resetPasswordForm.controls;\r\n }\r\n get sendMailControl() {\r\n return this.sendMailForm.controls;\r\n }\r\n goBack() {\r\n if (!this.authenticationService.changePwdReq) {\r\n this.sendMailForm.reset();\r\n this.authenticationService.loginForm.reset();\r\n this.authenticationService.forget_password = true;\r\n this.verify_mail = true;\r\n this.verify_code = false;\r\n }\r\n this.resetPasswordForm.reset();\r\n this.authenticationService.new_password = false;\r\n this.authenticationService.showModal = false;\r\n this.matched = true;\r\n this.correctpwd = true;\r\n this.flag_passwordlength = true;\r\n this.resetPasswordstrength = \"initial\";\r\n this.retypePasswordStrength = \"initial\";\r\n this.model = {};\r\n }\r\n setFocus(currField, nextField, event, previousField) {\r\n if (event.key === \"Backspace\") {\r\n this[previousField].nativeElement.focus();\r\n } else {\r\n if (!this.validate.isUndefined(this.model[currField]))\r\n this[nextField].nativeElement.focus();\r\n }\r\n this.verificationText = false;\r\n }\r\n /*********************************************************************************\r\n *Start:Added For Reset password by sending verification code to mail\r\n *By Aravind:21-11-2018\r\n *********************************************************************************/\r\n sendMail() {\r\n let requestData: any;\r\n if (this.validate.submitDetails(this.sendMailForm)) {\r\n this.loading = true;\r\n requestData = {\r\n \"EmailId\": this.sendMailControl.fEmailID.value,\r\n \"TenantId\": \"root\",\r\n \"activityType\": \"Forgot Password\",\r\n \"createdBy\": this.alertService.getUserDetails(\"getid\")\r\n };\r\n this.authenticationService\r\n .changePasswordApi(\"sendverification\", requestData)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data.status == 1) {\r\n this.validate.popUpAlert(\"Verification Code has been sent to the Email-ID\", \"\", \"success\");\r\n this.reqId = data.data;\r\n this.verify_mail = false;\r\n this.verify_code = true;\r\n } else {\r\n this.validate.popUpAlert(\"Email-ID does not exists\", \"\", \"error\");\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(error);\r\n }\r\n );\r\n }\r\n }\r\n verifyCode() {\r\n let requestData: any;\r\n this.model.fVerifyCode = this.validate.makeCode(this.model);\r\n if (!this.validate.isUndefined(this.model.fVerifyCode)) {\r\n this.verificationText = false;\r\n requestData = {\r\n \"Id\": this.reqId,\r\n \"VerificationCodeByUser\": this.model.fVerifyCode,\r\n \"TenantId\": \"root\",\r\n \"createdBy\": this.alertService.getUserDetails(\"getid\")\r\n };\r\n this.loading = true;\r\n this.authenticationService\r\n .changePasswordApi(\"verifycode\", requestData)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loading = false;\r\n if (data.status == 1) {\r\n this.authenticationService.new_password = true;\r\n this.authenticationService.forget_password = false;\r\n this.verify_code = false;\r\n } else {\r\n this.validate.popUpAlert(\"Invalid Verification Code\", \"\", \"error\");\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(error);\r\n }\r\n );\r\n } else {\r\n this.verificationText = true;\r\n }\r\n }\r\n\r\n createResetForm() {\r\n return this.formBuilder.group({\r\n newPass: [\"\", [Validators.compose([Validators.required, Validators.minLength(8), Validators.pattern(this.validate.passwordPattern)])]\r\n ],\r\n newPassRe: [\"\", Validators.required]\r\n });\r\n }\r\n changedPassword() {\r\n let requestData;\r\n let mail;\r\n let id;\r\n let length = this.validate.isUndefined(this.resetpasswordControl.newPass.value) ? 0 : this.resetpasswordControl.newPass.value.length;\r\n if (length >= 8) {\r\n if (this.resetpasswordControl.newPass.status == \"VALID\") {\r\n this.matched = this.validate.checkPasswords(this.resetPasswordForm);\r\n if (this.matched) {\r\n this.loading = true;\r\n if (this.alertService.first) { // for first time login \r\n mail = this.alertService.getUserDetails(\"getuserEmailID\");\r\n id = this.alertService.getUserDetails(\"getchangepasswordID\");\r\n } else if (this.authenticationService.changePwdReq) {\r\n mail = this.alertService.getUserDetails(\"getuserEmailID\");\r\n id = this.alertService.changePasswordId.get();\r\n } else {\r\n mail = this.sendMailControl.fEmailID.value;\r\n id = this.reqId;\r\n }\r\n requestData = {\r\n \"changepassword_id\": id,\r\n \"emailId\": mail,\r\n \"password\": this.authenticationService.enCryptText(this.resetpasswordControl.newPass.value)\r\n };\r\n this.authenticationService\r\n .changePasswordApi(\"setpassword\", requestData)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loading = false;\r\n this.resetPasswordForm.reset();\r\n if (data.status == 1) {\r\n this.model = {};\r\n this.authenticationService.forget_password = false;\r\n this.authenticationService.new_password = false;\r\n this.goBack();\r\n this.validate.popUpAlert(\"Password reset successfully\", \"\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(data.message, \"\", \"error\");\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(error);\r\n }\r\n );\r\n } else {\r\n this.retypePasswordStrength = \"weak\";\r\n if (this.validate.isUndefined(this.resetpasswordControl.newPassRe.value)) {\r\n this.retypePassword = false;\r\n }\r\n }\r\n } else {\r\n this.correctpwd = false;\r\n this.resetPasswordstrength = \"weak\";\r\n }\r\n } else {\r\n this.flag_passwordlength = false;\r\n this.resetPasswordstrength = \"weak\";\r\n }\r\n }\r\n /**********************************************************************\r\n * End Reset password\r\n **********************************************************************/\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAlphaAndSpaceOnly]'\r\n})\r\nexport class AlphaAndSpaceOnlyDirective {\r\n\r\n //Added By Aravind: Allow Alphabets and space and ' only\r\n private regex: RegExp = new RegExp(/^[a-zA-Z. ']*$/);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete', 'Arrows','space'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let pos = this.el.nativeElement.selectionEnd;\r\n let next: string = current;\r\n // restrict start with space and allow single space only between the words\r\n if ((pos == 0 && event.key == \" \") || (current[pos - 1] == \" \" && current[pos - 1] == event.key)) {\r\n event.preventDefault();\r\n } else {\r\n next = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n }\r\n}","import { Directive, ElementRef, HostListener, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appAlphaNumericOnly]'\r\n})\r\nexport class AlphaNumericOnlyDirective {\r\n private regex: RegExp = new RegExp(/^([a-zA-Z0-9 ]+)$/g);\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete', 'Arrows','Shift'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n // let current: string = this.el.nativeElement.value;\r\n // let next: string = current.concat(event.key);\r\n // if (next && !String(next).match(this.regex)) {\r\n // event.preventDefault();\r\n // }\r\n let current: string = this.el.nativeElement.value;\r\n let pos = this.el.nativeElement.selectionEnd;\r\n let next: string = current;\r\n // restrict start with space and allow single space only between the words\r\n if ((pos == 0 && event.key == \" \") || (current[pos - 1] == \" \" && current[pos - 1] == event.key)) {\r\n event.preventDefault();\r\n } else {\r\n next = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostListener } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appCutCopyPasteBlock]'\r\n})\r\nexport class CutCopyPasteBlockDirective {\r\n\r\n constructor() { }\r\n\r\n @HostListener('paste', ['$event']) blockPaste(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('copy', ['$event']) blockCopy(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n @HostListener('cut', ['$event']) blockCut(e: KeyboardEvent) {\r\n e.preventDefault();\r\n }\r\n\r\n}\r\n","import { Directive,Input } from '@angular/core';\r\nimport { NgControl } from '@angular/forms';\r\n\r\n@Directive({\r\n selector: '[appDisableControl]'\r\n})\r\nexport class DisableControlDirective {\r\n\r\n @Input() set disableControl( condition : boolean ) {\r\n const action = condition ? 'disable' : 'enable';\r\n this.ngControl.control[action]();\r\n }\r\n\r\n constructor( private ngControl : NgControl ) {\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appNumberOnly]'\r\n})\r\nexport class NumberOnlyDirective {\r\n\r\n // Allow decimal numbers and negative values\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete','Arrows'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n\r\n // Do not use event.keycode this is deprecated.\r\n // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode\r\n let current: string = this.el.nativeElement.value;\r\n // We need this because the current value on the DOM element\r\n // is not yet updated with the value from this event\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appPercnumberonly]'\r\n})\r\nexport class PercnumberonlyDirective {\r\n// Allow decimal numbers and negative values\r\nprivate regex: RegExp = new RegExp(/^([0-9.-]+)$/g);\r\n// Allow key codes for special events. Reflect :\r\n// Backspace, tab, end, home\r\nprivate specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete','Arrows'];\r\n\r\nconstructor(private el: ElementRef) {\r\n}\r\n\r\n@HostListener('keydown', ['$event'])\r\nonKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n \r\n let current: string = this.el.nativeElement.value;\r\n let pos = this.el.nativeElement.selectionEnd;\r\n let next: string = current.concat(event.key);\r\n if ((pos != 0 && event.key == \"-\")) {\r\n event.preventDefault();\r\n }\r\n if(pos == 0 && event.key == \".\"){\r\n event.preventDefault();\r\n }\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n}\r\n\r\n}\r\n","import { Directive,HostListener,ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appPosNumberonly]'\r\n})\r\nexport class PosNumberonlyDirective {\r\n\r\n private regex: RegExp = new RegExp(/^-?[0-9]+(\\.[0-9]*){0,1}$/g);\r\n // Allow key codes for special events. Reflect :\r\n // Backspace, tab, end, home\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete','Arrows'];\r\n \r\n constructor(private el: ElementRef) {\r\n }\r\n \r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n // Allow Backspace, tab, end, and home keys\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let pos = this.el.nativeElement.selectionEnd;\r\n let next: string = current;\r\n // Do not use event.keycode this is deprecated.\r\n // We need this because the current value on the DOM element\r\n // is not yet updated with the value from this event\r\n if ((pos == 0 && event.key == \"0\")) {\r\n event.preventDefault();\r\n } else {\r\n next = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n\r\n}\r\n","import { Directive, HostBinding } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appShowHide]'\r\n})\r\nexport class ShowHideDirective {\r\n @HostBinding() type: string;\r\n constructor() {\r\n this.type = 'password';\r\n }\r\n changeType(type: string): void {\r\n this.type = type;\r\n }\r\n}\r\n","import { Directive, Input, ElementRef, HostListener, Renderer2 } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appTooltip]'\r\n})\r\nexport class TooltipDirective {\r\n @Input('appTooltip') tooltipTitle: string;\r\n @Input() placement: string;\r\n @Input() delay: string;\r\n tooltip: HTMLElement;\r\n offset = 10;\r\n\r\n constructor(private el: ElementRef, private renderer: Renderer2) { }\r\n\r\n @HostListener('mouseenter') onMouseEnter() {\r\n if (!this.tooltip) { this.show(); }\r\n }\r\n\r\n @HostListener('mouseleave') onMouseLeave() {\r\n if (this.tooltip) { this.hide(); }\r\n }\r\n\r\n show() {\r\n this.create();\r\n this.setPosition();\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip-show');\r\n }\r\n\r\n hide() {\r\n this.renderer.removeClass(this.tooltip, 'ng-tooltip-show');\r\n window.setTimeout(() => {\r\n this.renderer.removeChild(document.body, this.tooltip);\r\n this.tooltip = null;\r\n }, this.delay);\r\n }\r\n\r\n create() {\r\n this.tooltip = this.renderer.createElement('span');\r\n\r\n this.renderer.appendChild(\r\n this.tooltip,\r\n this.renderer.createText(this.tooltipTitle) // textNode\r\n );\r\n\r\n this.renderer.appendChild(document.body, this.tooltip);\r\n // this.renderer.appendChild(this.el.nativeElement, this.tooltip);\r\n\r\n this.renderer.addClass(this.tooltip, 'ng-tooltip');\r\n this.renderer.addClass(this.tooltip, `ng-tooltip-${this.placement}`);\r\n\r\n this.renderer.setStyle(this.tooltip, '-webkit-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-moz-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, '-o-transition', `opacity ${this.delay}ms`);\r\n this.renderer.setStyle(this.tooltip, 'transition', `opacity ${this.delay}ms`);\r\n }\r\n\r\n setPosition() {\r\n const hostPos = this.el.nativeElement.getBoundingClientRect();\r\n const tooltipPos = this.tooltip.getBoundingClientRect();\r\n\r\n\r\n const scrollPos = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\r\n\r\n let top, left;\r\n\r\n if (this.placement === 'top') {\r\n top = hostPos.top - tooltipPos.height - this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'bottom') {\r\n top = hostPos.bottom + this.offset;\r\n left = hostPos.left + (hostPos.width - tooltipPos.width) / 2;\r\n }\r\n\r\n if (this.placement === 'left') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.left - tooltipPos.width - this.offset;\r\n }\r\n\r\n if (this.placement === 'right') {\r\n top = hostPos.top + (hostPos.height - tooltipPos.height) / 2;\r\n left = hostPos.right + this.offset;\r\n }\r\n this.renderer.setStyle(this.tooltip, 'top', `${top + scrollPos}px`);\r\n this.renderer.setStyle(this.tooltip, 'left', `${left}px`);\r\n }\r\n\r\n}\r\n","import { Directive, ElementRef, HostListener, HostBinding, Input } from '@angular/core';\r\n\r\n@Directive({\r\n selector: '[appUseridpattern]'\r\n})\r\nexport class UseridpatternDirective {\r\n\r\n private regex: RegExp = new RegExp(/^([a-zA-Z0-9!#$%&'*+\\/=?^_`{|}~.-@()]+)$/g);\r\n private specialKeys: Array = ['Backspace', 'Tab', 'End', 'Home', 'Delete', 'Arrows','Shift'];\r\n\r\n constructor(private el: ElementRef) {\r\n }\r\n\r\n @HostListener('keydown', ['$event'])\r\n onKeyDown(event: KeyboardEvent) {\r\n if (this.specialKeys.indexOf(event.key) !== -1) {\r\n return;\r\n }\r\n let current: string = this.el.nativeElement.value;\r\n let next: string = current.concat(event.key);\r\n if (next && !String(next).match(this.regex)) {\r\n event.preventDefault();\r\n }\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwX2Rldi9jb21tb24vVmFsaWRhdG9ycy9lcnJvci1tZXNzYWdlL2Vycm9yLW1lc3NhZ2UuY29tcG9uZW50LmNzcyJ9 */\"","module.exports = \"{{errorMessage}}\\r\\n\"","import { Component, OnInit ,Input } from '@angular/core';\r\nimport { FormGroup, FormControl } from '@angular/forms';\r\nimport { MandatoryfieldService } from '../mandatoryfield.service';\r\n\r\n@Component({\r\n selector: 'app-error-message',\r\n templateUrl: './error-message.component.html',\r\n styleUrls: ['./error-message.component.css']\r\n})\r\nexport class ErrorMessageComponent implements OnInit {\r\n\r\n @Input() control: FormControl;\r\n constructor(private validationService:MandatoryfieldService) { }\r\n\tget errorMessage() {\r\n\t\tfor (let propertyName in this.control.errors) {\r\n\t\t\tif(propertyName == \"pattern\"){\r\n\t\t\t\treturn MandatoryfieldService.patternMatch(this.control.errors);\r\n\t\t\t}\r\n\t\t\telse if (this.control.errors.hasOwnProperty(propertyName) && this.control.touched) {\r\n\t\t\t\treturn MandatoryfieldService.getValidatorErrorMessage(propertyName, this.control.errors[propertyName]);\r\n\t\t\t}\r\n\t\t}\r\n \r\n\t\treturn null;\r\n\t}\r\n\r\n ngOnInit() {\r\n }\r\n}\r\n","import { Injectable,ViewChild, ElementRef } from '@angular/core';\r\nimport { FormBuilder, FormArray, Validators, FormControl, FormGroup } from '@angular/forms';\r\nimport Swal from 'sweetalert2';\r\nimport { Router } from '@angular/router';\r\n\r\n@Injectable()\r\nexport class MandatoryfieldService {\r\n //passwordPattern = /^(?=.*[A-Za-z])(?=.*\\d)(?=.*[@$!%*#?&])[A-Za-z\\d@$!%*#?&]{8,}$/;\r\n passwordPattern = \"^(?=[a-zA-Z0-9$*-+_=!{}]{8,}$)(?=.*?[a-z])(?=.*?[A-Z])(?=.*?[0-9])(?=.*?[$*-+_=!{}]).*\";\r\n trigger:boolean = false;\r\n @ViewChild('name') name: ElementRef;\r\n @ViewChild('tieupID') tieupID: ElementRef;\r\n @ViewChild('phoneNumber') phoneNumber: ElementRef;\r\n @ViewChild('emailID') emailID: ElementRef;\r\n @ViewChild('country') country: ElementRef;\r\n constructor(private router: Router) { }\r\n\r\n static getValidatorErrorMessage(validatorName: string, validatorValue?: any) {\r\n let config = {\r\n 'required': 'Required',\r\n 'invalidEmailAddress': 'Invalid email address',\r\n 'email': 'Kindly provide the valid Email ID',\r\n 'minlength': `Minimum length ${validatorValue.requiredLength}`,\r\n };\r\n\r\n return config[validatorName];\r\n }\r\n\r\n\r\n static emailValidator(control) {\r\n if (control.value.match(/^[a-z0-9!#$%&'*+\\/=?^_`{|}~.-]+@[a-z0-9]([a-z0-9-]*[a-z0-9])?(\\.[a-z0-9]([a-z0-9-]*[a-z0-9])?)*$/i)) {\r\n return null;\r\n } else {\r\n return { 'invalidEmailAddress': true };\r\n }\r\n }\r\n\r\n static patternMatch(control) {\r\n if (control.pattern.actualValue.match(control.pattern.requiredPattern)) {\r\n return null;\r\n } else\r\n return 'Alphanumeric with special character';\r\n }\r\n\r\n\r\n submitDetails(currentForm) {\r\n this.validateAllFormFields(currentForm);\r\n if (currentForm.status == \"VALID\") {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n validateAllFormFields(formGroup: FormGroup) {\r\n Object.keys(formGroup.controls).forEach(field => {\r\n const control = formGroup.get(field);\r\n if (control instanceof FormControl) {\r\n control.markAsTouched({ onlySelf: true });\r\n } else if (control instanceof FormGroup) {\r\n this.validateAllFormFields(control);\r\n }\r\n });\r\n }\r\n\r\n checkPasswords(group: FormGroup) { // here we have the 'passwords' group\r\n let pass = group.controls.newPass.value;\r\n let confirmPass = group.controls.newPassRe.value;\r\n return pass === confirmPass ? true : false;\r\n }\r\n\r\n popUpAlert(msg, title, type) {\r\n Swal({\r\n title: title,\r\n text: msg,\r\n type: type,\r\n confirmButtonColor: \"#175788\",\r\n timer: parseFloat('60000')\r\n });\r\n\t//callback();\r\n }\r\n\r\n isUndefined(value) {\r\n if (value == undefined || value == \"\" || value == null || value == NaN) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n makeCode(model) {\r\n let finalcode = \"\";\r\n if (!this.isUndefined(model[\"codeone\"]) && !this.isUndefined(model[\"codetwo\"]) &&\r\n !this.isUndefined(model[\"codethree\"]) && !this.isUndefined(model[\"codefour\"]) &&\r\n !this.isUndefined(model[\"codefive\"]) && !this.isUndefined(model[\"codesix\"])) {\r\n finalcode = model[\"codeone\"] + model[\"codetwo\"] + model[\"codethree\"];\r\n finalcode += model[\"codefour\"] + model[\"codefive\"] + model[\"codesix\"];\r\n return finalcode;\r\n }\r\n return finalcode;\r\n }\r\n\r\n convertDate(utcDate: any)\r\n {\r\n if(utcDate!=null && utcDate!='')\r\n {\r\n var strDate=utcDate.toString();\r\n\r\n //with TZ\r\n //present date\r\n if(strDate.indexOf('+')!=-1)\r\n {\r\n var cDateTime=strDate.split('T')[1];\r\n var spHrs=cDateTime.split(':')[0];\r\n var spMins=cDateTime.split(':')[1];\r\n var spSec=cDateTime.split(':')[2];\r\n //day start (2019-05-10T00:00:00+05:30)\r\n //no conversion\r\n if(parseInt(spHrs)==0 && parseInt(spMins)==0 && parseInt(spSec)==0)\r\n {\r\n var cDate=strDate.split('T')[0];\r\n var cDateTime=(strDate.split('T')[1]).split('+')[0];\r\n return cDate+' '+cDateTime;\r\n }\r\n }\r\n else if(strDate.indexOf('+')==-1) //future date, present date with time\r\n {\r\n var cDateTime=strDate.split('T')[1];\r\n var spHrs=cDateTime.split(':')[0];\r\n var spMins=cDateTime.split(':')[1];\r\n var spSec=cDateTime.split(':')[2];\r\n //day start (2019-05-10T00:00:00)\r\n //no conversion\r\n if(parseInt(spHrs)==0 && parseInt(spMins)==0 && parseInt(spSec)==0)\r\n {\r\n var cDate=strDate.split('T')[0];\r\n var cDateTime=strDate.split('T')[1];\r\n return cDate+' '+cDateTime;\r\n }\r\n else{\r\n //(2019-05-10T17:21:08.1062663)\r\n utcDate=utcDate+'Z';\r\n }\r\n }\r\n \r\n var localDate = new Date(utcDate); \r\n var monthsort=(1+localDate.getMonth()).toString().length==1 ? ('0'+(1+localDate.getMonth())) : (1+localDate.getMonth());\r\n var daysort=localDate.getDate().toString().length==1 ? ('0' + localDate.getDate()) : localDate.getDate();\r\n\r\n var HRsort=localDate.getHours().toString().length==1 ? ('0' + localDate.getHours()) : localDate.getHours();\r\n var Minssort=localDate.getMinutes().toString().length==1 ? ('0' + localDate.getMinutes()) : localDate.getMinutes();\r\n var Secondssort=localDate.getSeconds().toString().length==1 ? ('0' + localDate.getSeconds()) : localDate.getSeconds();\r\n\r\n var convertedDat=(localDate.getFullYear()+\"-\"+monthsort+\"-\" + daysort +\" \" + HRsort +\":\"+ Minssort +\":\"+Secondssort);\r\n return convertedDat; \r\n }\r\n else{\r\n return utcDate;\r\n }\r\n }\r\n}\r\n","\r\n\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\n/*Directivies*/\r\n\r\nimport { AlphaAndSpaceOnlyDirective } from './Directives/alpha-and-space-only.directive';\r\nimport { NumberOnlyDirective } from './Directives/number-only.directive';\r\nimport { MandatoryfieldService } from './Validators/mandatoryfield.service';\r\nimport { AlphaNumericOnlyDirective } from './Directives/alpha-numeric-only.directive';\r\nimport { ErrorMessageComponent } from './Validators/error-message/error-message.component';\r\nimport { DisableControlDirective } from './Directives/disable-control.directive';\r\nimport { ShowHideDirective } from './Directives/show-hide.directive';\r\nimport { TooltipDirective } from './Directives/tooltip.directive';\r\nimport { CutCopyPasteBlockDirective } from './Directives/cut-copy-paste-block.directive';\r\nimport { PosNumberonlyDirective } from './Directives/pos-numberonly.directive';\r\nimport { UseridpatternDirective } from './Directives/useridpattern.directive';\r\nimport { PercnumberonlyDirective } from './Directives/percnumberonly.directive';\r\n\r\n@NgModule({\r\n declarations: [AlphaAndSpaceOnlyDirective, NumberOnlyDirective, AlphaNumericOnlyDirective, ErrorMessageComponent,\r\n DisableControlDirective, ShowHideDirective, TooltipDirective, CutCopyPasteBlockDirective, PosNumberonlyDirective,\r\n UseridpatternDirective, PercnumberonlyDirective],\r\n imports: [\r\n BrowserModule,\r\n FormsModule,\r\n ],\r\n exports: [AlphaAndSpaceOnlyDirective, NumberOnlyDirective, AlphaNumericOnlyDirective, ErrorMessageComponent,\r\n DisableControlDirective, ShowHideDirective, TooltipDirective, CutCopyPasteBlockDirective, PosNumberonlyDirective, UseridpatternDirective,\r\n PercnumberonlyDirective],\r\n providers: [\r\n MandatoryfieldService\r\n ],\r\n\r\n})\r\nexport class CommonModules { }\r\n\r\n","module.exports = \"/* .input-style, .ngx-select__toggle {\\r\\n border: 1px solid #ff0000!important;\\r\\n }\\r\\n .ngx-select {\\r\\n border: 1px solid #ff0000!important;\\r\\n } */\\r\\n \\r\\n .ngx-select {\\r\\n border: 1px solid #ff0000!important;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2NyZWF0ZS10aWV1cC9jcmVhdGUtdGlldXAuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7TUFLTTs7RUFFSjtJQUNFLG9DQUFvQztHQUNyQyIsImZpbGUiOiJzcmMvYXBwX2Rldi9jcmVhdGUtdGlldXAvY3JlYXRlLXRpZXVwLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIvKiAuaW5wdXQtc3R5bGUsIC5uZ3gtc2VsZWN0X190b2dnbGUge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmMDAwMCFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC5uZ3gtc2VsZWN0IHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjAwMDAhaW1wb3J0YW50O1xyXG4gIH0gKi9cclxuICBcclxuICAubmd4LXNlbGVjdCB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmYwMDAwIWltcG9ydGFudDtcclxuICB9Il19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    {{mode == 'create' ? 'Create' : 'Update'}} Tie-Up

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Required\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{loadingInfo.loadingDiscountName}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_min']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_max']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Requried\\r\\n 200\\\">{{subData.title}} value should be between -50 to 200\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{data.loadingDiscountName}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n E.g. for Loading 10% for discounting -10%\\r\\n Required\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport Swal from 'sweetalert2';\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-create-tieup',\r\n templateUrl: './create-tieup.component.html',\r\n styleUrls: ['./create-tieup.component.css']\r\n})\r\nexport class CreateTieupComponent implements OnInit {\r\n\r\n loading = 0;\r\n configData: any;\r\n countryData: any[] = [];\r\n statusVal: any[] = [];\r\n permissionSaved = false;\r\n selectedCountry: any;\r\n tieUpname: any;\r\n tieUpId: any;\r\n emailId: any;\r\n status: any;\r\n loadingPermission: any[] = [];\r\n mode: any;\r\n currentTieUpId: any;\r\n currentTieUpData: any;\r\n isDeleteEnable = false;\r\n\r\n\r\n constructor(private apiData: ApiService, private validate: MandatoryfieldService, private router: Router, private activatedroute: ActivatedRoute) { }\r\n\r\n ngOnInit() {\r\n this.initLoading();\r\n }\r\n\r\n initLoading() {\r\n this.loadPermission();\r\n this.getParams()\r\n this.statusVal = this.apiData.dropdownList.status;\r\n this.getCountryList();\r\n }\r\n\r\n loadPermission() {\r\n this.loadingPermission = [\r\n {\r\n loadingDiscountName: 'Weather Forecast',\r\n loadingDiscountId: 'weather_forecast',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Farm Management',\r\n loadingDiscountId: 'farm_management_practices',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Ground Level Expertise',\r\n loadingDiscountId: 'ground_level_expertise',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Admin Loading',\r\n loadingDiscountId: 'admin_loading',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Cost of Capital Loading',\r\n loadingDiscountId: 'cost_capital_loading',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Commercial Discount',\r\n loadingDiscountId: 'commercial_discount',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'State Loading',\r\n loadingDiscountId: 'state_loading',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'De-trending',\r\n loadingDiscountId: 'detrending',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'GP Downscaling',\r\n loadingDiscountId: 'gpDownscaling',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Catastrophe Loading',\r\n loadingDiscountId: 'catastropheLoading',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Client Rating',\r\n loadingDiscountId: 'client_rating',\r\n view: false,\r\n edit: false,\r\n },\r\n {\r\n loadingDiscountName: 'Prevented Sowing Loading',\r\n loadingDiscountId: 'prevented_sowing_loading',\r\n view: false,\r\n edit: false,\r\n },\r\n ]\r\n }\r\n\r\n getParams() {\r\n this.activatedroute.data.subscribe(data => {\r\n if (data && data.mode) {\r\n this.mode = data.mode;\r\n if (this.mode == 'create') {\r\n this.fetchConfigData();\r\n } else if (this.mode == 'edit') {\r\n this.activatedroute.params.subscribe(param => {\r\n this.currentTieUpId = param.id;\r\n this.fetchUserData();\r\n })\r\n }\r\n }\r\n })\r\n }\r\n\r\n fetchConfigData() {\r\n this.loading++\r\n this.apiData.loadingApi.getloadingDiscount((res: any) => {\r\n if (res && res.status == 1) {\r\n this.configData = res.data;\r\n this.validateAllData()\r\n }\r\n this.loading--;\r\n }, err => {\r\n this.loading--;\r\n\r\n }, this.mode == 'create' ? 'allclient': this.tieUpId)\r\n }\r\n\r\n fetchUserData() {\r\n this.isDeleteEnable = false;\r\n this.loading++;\r\n this.apiData.fetchTieUpsId(this.currentTieUpId).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.currentTieUpData = res.data;\r\n this.selectedCountry = this.currentTieUpData.country;\r\n this.isDeleteEnable = this.currentTieUpData.status != 'Active' ? true : false;\r\n this.tieUpname = this.currentTieUpData.name;\r\n this.tieUpId = this.currentTieUpData.tieupID;\r\n this.emailId = this.currentTieUpData.emailID;\r\n this.emailId = this.currentTieUpData.emailID;\r\n this.status = this.currentTieUpData.status;\r\n const loadingData = this.currentTieUpData.loadingDiscountPermissions;\r\n if (Array.isArray(loadingData)) {\r\n for (let index = 0; index < loadingData.length; index++) {\r\n const load = loadingData[index];\r\n const permissionData = this.loadingPermission.find(data => data.loadingDiscountId == load.loadingDiscountId);\r\n if (permissionData) {\r\n permissionData.edit = load.edit;\r\n permissionData.view = load.view;\r\n }\r\n\r\n }\r\n }\r\n this.fetchConfigData();\r\n } else {\r\n this.validate.popUpAlert(\"Invalid Tieup Id\", \"Error\", \"error\");\r\n this.router.navigate(['/tie-up'])\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n this.validate.popUpAlert(\"Invalid Tieup Id\", \"Error\", \"error\");\r\n this.router.navigate(['/tie-up'])\r\n this.loading--;\r\n })\r\n }\r\n\r\n getCountryList() {\r\n this.loading++;\r\n this.apiData.getdropdownList.getCountry((res: any) => {\r\n if (res && res.status == 1) {\r\n this.countryData = res.data;\r\n }\r\n this.loading--;\r\n }, err => {\r\n this.loading--;\r\n\r\n });\r\n }\r\n\r\n onPerceptionValueChange(uwPerceptionData: any, subSection: any) {\r\n this.validPerceptionData(uwPerceptionData, subSection);\r\n }\r\n\r\n onStateLoadingChange(subData: any) {\r\n if (!subData.finalLoadingPercentage) {\r\n subData.finalLoadingPercentage = 0;\r\n }\r\n }\r\n\r\n onCardSave(data, indx) {\r\n if (indx == -1) {\r\n this.permissionSaved = true;\r\n }\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n for (let index = 0; index < this.configData.ldWithSubSections.length; index++) {\r\n const ldWithSubSections = this.configData.ldWithSubSections[index];\r\n ldWithSubSections.isCollapsed = true;\r\n if (indx == index) {\r\n ldWithSubSections.isDataSaved = true\r\n }\r\n }\r\n\r\n if (indx < (this.configData.ldWithSubSections.length -1)) {\r\n this.configData.ldWithSubSections[indx + 1].isCollapsed = false;\r\n this.openCard(this.configData.ldWithSubSections[indx + 1].loadingDiscountID)\r\n } else {\r\n this.closeCard(this.configData.ldWithSubSections[indx].loadingDiscountID)\r\n }\r\n }\r\n\r\n onCardToggle(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.toogleCard(loadingDiscountID)\r\n }\r\n\r\n onCardEdit(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.openCard(loadingDiscountID)\r\n }\r\n\r\n onDefaultChange(perceptionData, pindx) {\r\n for (let index = 0; index < perceptionData.length; index++) {\r\n if (index != pindx) {\r\n const element = perceptionData[index];\r\n element.defaultUWPerception = false\r\n }\r\n }\r\n }\r\n\r\n toogleCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"toggle\");\r\n }\r\n openCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"show\");\r\n }\r\n closeCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"hide\");\r\n }\r\n\r\n validateAllData() {\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n this.validPerceptionData(subSection.uwPerceptionData, subSection)\r\n }\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n // if (\r\n // [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n // ) {\r\n // errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n // break;\r\n // }\r\n }\r\n }\r\n }\r\n\r\n validPerceptionData(uwPerceptionData: any, subSection: any) {\r\n const errorMessage = {};\r\n if (Array.isArray(uwPerceptionData)) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] = \"Min value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[`${subSection.key}_${perception.text}_max`] = \"Max value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = \"Percentage value is requried\";\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] = \"Min value should be less than Max value\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] =\r\n \"Min value should be selected from given options only\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[ `${subSection.key}_${perception.text}_max`] =\r\n \"Max value should be selected from given options only\";\r\n }\r\n if ( (![null, undefined, \"\"].includes(perception.finalLoadingPercentage)) &&\r\n (![null, undefined, \"\"].includes(perception.finalLoadingPercentageMin)) &&\r\n (![null, undefined, \"\"].includes(perception.finalLoadingPercentageMax)) &&\r\n (perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Final loading value should be between min and max value\";\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = `${subSection.title}'s ${perception.text} value is requried`;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n }\r\n }\r\n perception.errorMessage = errorMessage;\r\n }\r\n }\r\n }\r\n\r\n validateCard() {\r\n const collapseId = $(\".collapse.show\").prop(\"id\");\r\n if (collapseId) {\r\n let errorMessage: any = {msg: null, eleId: null};\r\n this.configData;\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n if (Array.isArray(ldWithSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (element.loadingDiscountID == collapseId) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (subSection.uwPerceptionData && subSection.uwPerceptionData.length) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n } else {\r\n console.log(perception.text);\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value is empty`;\r\n break;\r\n } else if (perception.value < -50 || perception.value > 200) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value should be between -50 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(subSection.finalLoadingPercentage)\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value is empty`;\r\n break;\r\n } else {\r\n if (subSection.finalLoadingPercentage < -50 || subSection.finalLoadingPercentage > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value should be between -50 to 200`;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid Config Data\";\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n })\r\n swal.finally(() => {\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector('#'+errorMessage.eleId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500)\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n validateData() {\r\n let errorMessage: any = { msg: null, eleId: null, collapseId: null };\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n// this.selectedCountry\r\n// this.tieUpname\r\n// this.tieUpId\r\n// this.emailId\r\n// this.status\r\n if (!this.selectedCountry) {\r\n errorMessage.msg = \"Country is requried\";\r\n } else if (!this.tieUpname) {\r\n errorMessage.msg = \"Tie-up Name is requried\";\r\n } else if (!this.tieUpId) {\r\n errorMessage.msg = \"Tie-up ID is requried\";\r\n } else if (!this.emailId) {\r\n errorMessage.msg = \"Email ID is requried\";\r\n } else if (!this.status) {\r\n errorMessage.msg = \"Status is requried\";\r\n }\r\n\r\n if (!errorMessage.msg) {\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (subSection.uwPerceptionData) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value is empty`;\r\n break;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(subSection.finalLoadingPercentage)\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value is empty`;\r\n break;\r\n } else {\r\n if (subSection.finalLoadingPercentage < -50 || subSection.finalLoadingPercentage > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value should be between -50 to 200`;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n ) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n break;\r\n } else {\r\n if (element.loadingDiscountID !== 'commercial_discount' && (element.totalFinalLoadingPercentage < -100 || element.totalFinalLoadingPercentage > 200)) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should be between -100 to 200`;\r\n break;\r\n }\r\n if (element.loadingDiscountID === 'commercial_discount' && (element.totalFinalLoadingPercentage < -50 || element.totalFinalLoadingPercentage > 200)) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should be between -50 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid Config Data\";\r\n }\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n });\r\n swal.finally(() => {\r\n if (errorMessage.collapseId) {\r\n this.openCard(errorMessage.collapseId);\r\n }\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector(\"#\" + errorMessage.eleId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500);\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSubmit(fromData) {\r\n if (!this.validateData()) {\r\n return false;\r\n }\r\n\r\n\r\n const loadingDiscountPermissions = JSON.parse(JSON.stringify(this.loadingPermission));\r\n for (let index = 0; index < loadingDiscountPermissions.length; index++) {\r\n const element = loadingDiscountPermissions[index];\r\n delete element.loadingDiscountName\r\n }\r\n\r\n const tieUpDetails = {id: undefined, country: this.selectedCountry, name: this.tieUpname, tieupID: this.tieUpId, emailID: this.emailId, loadingDiscountPermissions, status: this.status}\r\n if (this.currentTieUpId) {\r\n tieUpDetails.id = this.currentTieUpId;\r\n }\r\n const request = this.apiData.getParam(tieUpDetails, this.mode == 'create' ? 'create-tieup' : 'edit-tieup');\r\n const promese = this.mode == 'create' ? this.apiData.tieups(request) : this.apiData.updatetieups(this.currentTieUpId, request);\r\n this.loading++\r\n promese.then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n this.updateClientDiscount(res.tieUpID)\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n console.error(err);\r\n this.validate.popUpAlert(\"Unable to Create Tie Up\", \"Error\", \"error\");\r\n this.loading--;\r\n\r\n })\r\n\r\n }\r\n\r\n updateClientDiscount(tieUpID) {\r\n const configData = JSON.parse(JSON.stringify(this.configData));\r\n const ldWithSubSections = [];\r\n const ldNoSubSections = [];\r\n if (configData) {\r\n const reqldWithSubSections = configData.ldWithSubSections;\r\n const reqldNoSubSections = configData.ldNoSubSections;\r\n if (\r\n Array.isArray(reqldWithSubSections) &&\r\n Array.isArray(ldNoSubSections)\r\n ) {\r\n for (let index = 0; index < reqldWithSubSections.length; index++) {\r\n const element = reqldWithSubSections[index];\r\n const idWithSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (subSection.uwPerceptionData) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n const reqSubSec = {\r\n key: subSection.key,\r\n weightage: subSection.weightage,\r\n title: subSection.title,\r\n seqno: subSection.seqno,\r\n uwPerception: perception.text,\r\n finalLoadingPercentage:\r\n perception.finalLoadingPercentage || perception.value,\r\n finalLoadingPercentageMin:\r\n perception.finalLoadingPercentageMin,\r\n finalLoadingPercentageMax:\r\n perception.finalLoadingPercentageMax,\r\n defaultUWPerception: perception.defaultUWPerception,\r\n finalLoadingWeightageApplied:\r\n subSection.finalLoadingWeightageApplied,\r\n };\r\n idWithSubSecObj.subSections.push(reqSubSec);\r\n }\r\n } else {\r\n const reqSubSec = {\r\n key: subSection.key,\r\n weightage: subSection.weightage,\r\n title: subSection.title,\r\n seqno: subSection.seqno,\r\n finalLoadingPercentage: subSection.finalLoadingPercentage,\r\n finalLoadingWeightageApplied:\r\n subSection.finalLoadingWeightageApplied,\r\n };\r\n idWithSubSecObj.subSections.push(reqSubSec);\r\n }\r\n }\r\n ldWithSubSections.push(idWithSubSecObj);\r\n }\r\n for (let index = 0; index < reqldNoSubSections.length; index++) {\r\n const element = reqldNoSubSections[index];\r\n const idNoSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n ldNoSubSections.push(idNoSubSecObj);\r\n }\r\n }\r\n }\r\n let request = {\r\n tieupID: this.tieUpId,\r\n tenantId: null,\r\n updatedBy: null,\r\n id: null,\r\n ldWithSubSections,\r\n ldNoSubSections,\r\n }\r\n request = this.apiData.getParam(request, 'create-tieup');\r\n this.loading++\r\n this.apiData.configureDefaultLoadingDiscount(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n if (this.currentTieUpId) {\r\n Swal({\r\n title: \"Success\",\r\n type: \"success\",\r\n confirmButtonText: \"Continue\",\r\n cancelButtonText: \"Back\",\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n }).then((result: any) => {\r\n if (result && result.value) {\r\n if (this.router.url.includes('/update-tie-up')) {\r\n this.initLoading();\r\n } else {\r\n this.router.navigate(['/update-tie-up',this.tieUpId])\r\n }\r\n } else {\r\n this.router.navigate(['/tie-up'])\r\n }\r\n });\r\n } else {\r\n this.router.navigate(['/tie-up'])\r\n }\r\n\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n this.validate.popUpAlert(\"Unable to Update Global Discount\", \"Error\", \"error\");\r\n this.loading--;\r\n\r\n })\r\n }\r\n\r\n onPermissionChange(event: any, loadingInfo: any, type: any) {\r\n if (type === 'edit' && event) {\r\n loadingInfo.view = true;\r\n return;\r\n }\r\n if (type === 'view' && !event) {\r\n loadingInfo.edit = false;\r\n return\r\n }\r\n }\r\n\r\n onDeleteClick() {\r\n Swal({\r\n title: \"Do you want to delete Tie-up?\",\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n }).then((result: any) => {\r\n if (result && result.value) {\r\n this.loading++;\r\n this.apiData.deleteTieup(this.currentTieUpId).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.router.navigate(['/tie-up'])\r\n this.validate.popUpAlert(\"Tie-up deleted successfully\", \"\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(\"Unable to delete Tie-up\", \"Error\", \"error\");\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n this.validate.popUpAlert(\"Unable to delete Tie-up\", \"Error\", \"error\");\r\n this.loading--;\r\n })\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwX2Rldi9kZW1vLXRyYW5zYWN0aW9uaWQvZGVtby10cmFuc2FjdGlvbmlkLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Search Transaction Id

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n {{row[data.field]}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    No Data Found

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    No Data Found

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { ApiService } from '../services/apiservices.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-demo-transactionid',\r\n templateUrl: './demo-transactionid.component.html',\r\n styleUrls: ['./demo-transactionid.component.css']\r\n})\r\nexport class DemoTransactionidComponent implements OnInit {\r\n\r\n public loading: Boolean = false;\r\n public selectedTenantId = new FormControl();\r\n public transactionIdData: any[] = [];\r\n public inputData: any;\r\n public outputData: any;\r\n public inputFields: any[] = [];\r\n public outputFields: any[] = [];\r\n public showTabs: Boolean = false;\r\n public activeTab: any = 2;\r\n\r\n\r\n constructor(private apiData: ApiService) { }\r\n\r\n ngOnInit() {\r\n this.getTransactionId();\r\n this.onTransactionIdChange();\r\n }\r\n\r\n getTransactionId() {\r\n this.loading = true;\r\n this.apiData.getTransactionIds().then((response: any)=> {\r\n if (response.status == 1) {\r\n this.transactionIdData = response.data || [];\r\n }\r\n this.loading = false\r\n }).catch(err => {\r\n this.loading = false\r\n })\r\n // .finally(() => this.loading = false)\r\n }\r\n\r\n onTransactionIdChange() {\r\n this.selectedTenantId.valueChanges\r\n .subscribe((csvId) => {\r\n this.showTabs = false;\r\n this.inputData = null;\r\n this.outputData = null;\r\n if (csvId) {\r\n this.loading = true\r\n Promise.all([\r\n // this.apiData.getTransactionInputInfo(csvId),\r\n this.apiData.getTransactionOutputInfo(csvId)\r\n ]).then((responses: any)=> {\r\n const [\r\n // inputData,\r\n outputData\r\n ] = responses\r\n // this.getInputData(inputData);\r\n this.getOutputData(outputData);\r\n this.showTabs = true\r\n this.loading = false\r\n }).catch(err => {\r\n this.loading = false\r\n })\r\n // .finally(() => this.loading = false)\r\n }\r\n });\r\n }\r\n\r\n\r\n getInputData(inputData) {\r\n this.inputData = inputData.status == 1 && Array.isArray(inputData.data) ? inputData.data : [];\r\n this.inputData = this.inputData.filter((data, index) => index < 50)\r\n this.inputFields = [\r\n {\r\n \"field\": \"tieupID\",\r\n \"header\": \"tieupID\"\r\n },\r\n {\r\n \"field\": \"csvTransactionID\",\r\n \"header\": \"csvTransactionID\"\r\n },\r\n {\r\n \"field\": \"year\",\r\n \"header\": \"year\"\r\n },\r\n {\r\n \"field\": \"season\",\r\n \"header\": \"season\"\r\n },\r\n {\r\n \"field\": \"crop\",\r\n \"header\": \"crop\"\r\n },\r\n {\r\n \"field\": \"management\",\r\n \"header\": \"management\"\r\n },\r\n {\r\n \"field\": \"admin1\",\r\n \"header\": \"admin1\"\r\n },\r\n {\r\n \"field\": \"admin2\",\r\n \"header\": \"admin2\"\r\n },\r\n {\r\n \"field\": \"admin3\",\r\n \"header\": \"admin3\"\r\n },\r\n {\r\n \"field\": \"admin4\",\r\n \"header\": \"admin4\"\r\n },\r\n {\r\n \"field\": \"admin5\",\r\n \"header\": \"admin5\"\r\n },\r\n {\r\n \"field\": \"cluster_num\",\r\n \"header\": \"cluster_num\"\r\n },\r\n {\r\n \"field\": \"cov_level\",\r\n \"header\": \"cov_level\"\r\n },\r\n {\r\n \"field\": \"area_sown\",\r\n \"header\": \"area_sown\"\r\n },\r\n {\r\n \"field\": \"value_per_crop_ha\",\r\n \"header\": \"value_per_crop_ha\"\r\n },\r\n {\r\n \"field\": \"sum_insured\",\r\n \"header\": \"sum_insured\"\r\n },\r\n {\r\n \"field\": \"calamity1\",\r\n \"header\": \"calamity1\"\r\n },\r\n {\r\n \"field\": \"calamity2\",\r\n \"header\": \"calamity2\"\r\n },\r\n {\r\n \"field\": \"csvRowNumber\",\r\n \"header\": \"csvRowNumber\"\r\n },\r\n {\r\n \"field\": \"isGiveWarning\",\r\n \"header\": \"isGiveWarning\"\r\n },\r\n {\r\n \"field\": \"tenantId\",\r\n \"header\": \"tenantId\"\r\n },\r\n {\r\n \"field\": \"id\",\r\n \"header\": \"id\"\r\n },\r\n {\r\n \"field\": \"type\",\r\n \"header\": \"type\"\r\n },\r\n {\r\n \"field\": \"createdAt\",\r\n \"header\": \"createdAt\"\r\n }\r\n ]\r\n }\r\n getOutputData(outputData) {\r\n this.outputData = outputData.status == 1 && Array.isArray(outputData.data) ? outputData.data : [];\r\n // this.outputData = this.outputData.filter((data, index) => index < 50)\r\n this.outputFields = [\r\n {\r\n \"field\": \"sno\",\r\n \"header\": \"sno\"\r\n },\r\n {\r\n \"field\": \"tieupid\",\r\n \"header\": \"tieupid\"\r\n },\r\n {\r\n \"field\": \"rategenerationid\",\r\n \"header\": \"rategenerationid\"\r\n },\r\n {\r\n \"field\": \"year\",\r\n \"header\": \"year\"\r\n },\r\n {\r\n \"field\": \"season\",\r\n \"header\": \"season\"\r\n },\r\n {\r\n \"field\": \"crop\",\r\n \"header\": \"crop\"\r\n },\r\n {\r\n \"field\": \"admin1\",\r\n \"header\": \"admin1\"\r\n },\r\n {\r\n \"field\": \"cluster\",\r\n \"header\": \"cluster\"\r\n },\r\n {\r\n \"field\": \"area_sown\",\r\n \"header\": \"area_sown\"\r\n },\r\n {\r\n \"field\": \"sum_insured\",\r\n \"header\": \"sum_insured\"\r\n },\r\n {\r\n \"field\": \"rate\",\r\n \"header\": \"rate\"\r\n },\r\n {\r\n \"field\": \"market_rate\",\r\n \"header\": \"market_rate\"\r\n },\r\n {\r\n \"field\": \"reva_risk_rate\",\r\n \"header\": \"reva_risk_rate\"\r\n },\r\n {\r\n \"field\": \"heterogeneity\",\r\n \"header\": \"heterogeneity\"\r\n },\r\n {\r\n \"field\": \"datainsufficiency\",\r\n \"header\": \"datainsufficiency\"\r\n },\r\n {\r\n \"field\": \"plr\",\r\n \"header\": \"plr\"\r\n },\r\n {\r\n \"field\": \"weatherforecast\",\r\n \"header\": \"weatherforecast\"\r\n },\r\n {\r\n \"field\": \"farmmgmtpractices\",\r\n \"header\": \"farmmgmtpractices\"\r\n },\r\n {\r\n \"field\": \"groundlevelexpertise\",\r\n \"header\": \"groundlevelexpertise\"\r\n },\r\n {\r\n \"field\": \"specificrisks\",\r\n \"header\": \"specificrisks\"\r\n },\r\n {\r\n \"field\": \"commercialdiscount\",\r\n \"header\": \"commercialdiscount\"\r\n },\r\n {\r\n \"field\": \"adminld\",\r\n \"header\": \"adminld\"\r\n },\r\n {\r\n \"field\": \"costcapitalld\",\r\n \"header\": \"costcapitalld\"\r\n },\r\n {\r\n \"field\": \"rateafterbasicldfactors\",\r\n \"header\": \"rateafterbasicldfactors\"\r\n },\r\n {\r\n \"field\": \"rateaftercommercialld\",\r\n \"header\": \"rateaftercommercialld\"\r\n },\r\n {\r\n \"field\": \"rateafteradmincostcapitalld\",\r\n \"header\": \"rateafteradmincostcapitalld\"\r\n },\r\n {\r\n \"field\": \"id\",\r\n \"header\": \"id\"\r\n },\r\n {\r\n \"field\": \"type\",\r\n \"header\": \"type\"\r\n }\r\n ]\r\n\r\n $(\"#outputReport\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#outputReport\").bootstrapTable({\r\n data: this.outputData,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n\r\n }\r\n\r\n\r\n\r\n}\r\n","module.exports = \"\\r\\n:host .upload-area {\\r\\n position: relative;\\r\\n padding: 5px\\r\\n}\\r\\n\\r\\n:host .upload-progress-message {\\r\\n background-color: #ffffffbd;\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n z-index: 100;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n/*** stepper***/\\r\\n\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\r\\n}\\r\\n\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788;\\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1450px) and (min-width: 1200px)\\r\\n{\\r\\n\\t.filedrop-align{\\r\\n\\t\\twidth:63% !important;\\r\\n\\t\\theight:63% !important;\\r\\n\\t}\\r\\n\\t.file-drop{\\r\\n\\t\\theight: 13em ;\\r\\n\\t\\twidth: 12em;\\r\\n\\t\\tmargin-top: 12em ;\\r\\n\\t\\tpadding-top: 0em ;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/*\\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1025px)\\r\\n and (max-width: 1368px){\\r\\n .file-drop{\\r\\n\\t\\theight: 23em!important;\\r\\n\\t }\\r\\n\\t .card-block{\\r\\n\\t\\tmin-height: 188px!important;\\r\\n\\t\\tmax-height: 188px!important;\\r\\n\\t }\\r\\n\\t .textShadeColor{\\r\\n\\t\\tfont-size:18px !important;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1281px)\\r\\n and (max-width: 1368px){\\r\\n\\t.container-body{\\r\\n\\t\\tmax-height:37.9rem;\\r\\n\\t }\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 223px;\\r\\n\\t}\\r\\n }\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1369px){\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 314px;\\r\\n\\t}\\r\\n }\\r\\n\\r\\n.file-drop{\\r\\n\\tmargin-top: 96px!important;\\r\\n\\theight: 18em ;\\r\\n width: 17em;\\r\\n margin-top: 12em ;\\r\\n padding-top: 3em ;\\r\\n}\\r\\n\\r\\n.filedrop{\\r\\n\\theight: 16em;\\r\\n width: 19em;\\r\\n margin-top: 14em;\\r\\n padding-top: 2em;\\r\\n}\\r\\n\\r\\n.line{\\r\\n\\tposition: relative;\\r\\n\\tborder-left: 1px solid grey;\\r\\n height: 340px;\\r\\n right: 27px;\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n.lineHide{\\r\\n\\tz-index:1;\\r\\n}\\r\\n\\r\\n.lead{\\r\\n\\tfont-weight:600 !important;\\r\\n\\tfont-size:16px !important;\\r\\n}\\r\\n\\r\\n.border{\\r\\n\\tborder-color:#d9d9d9 !important;\\r\\n}\\r\\n\\r\\n.textShadeColor,.fa-upload{\\r\\n\\tcolor: #000000 !important;\\r\\n\\tfont-size: 20px;\\r\\n}\\r\\n\\r\\n.btnFile{\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.cursorPointer{\\r\\n\\tcursor:pointer;\\r\\n}\\r\\n\\r\\n.card {\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n\\r\\n.card-block {\\r\\n flex: 1 1 auto;\\r\\n padding: 1.25rem;\\r\\n padding: 1.25rem;\\r\\n min-height: 270px;\\r\\n max-height: 270px;\\r\\n}\\r\\n\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none;\\r\\n overflow: -moz-scrollbars-none;\\r\\n}\\r\\n\\r\\n.scroll-container::-webkit-scrollbar {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.file-text{\\r\\n\\tfont-size: 17px;\\r\\n\\tfont-family: \\\"Roboto-Regular\\\";\\r\\n\\tcolor: #175788!important;\\r\\n }\\r\\n\\r\\n.loadingtext {\\r\\n\\tz-index: 2000;\\r\\n\\tposition: absolute;\\r\\n\\tcolor: #04518b;\\r\\n\\tfont-weight: bolder;\\r\\n\\tfont-size: 20px;\\r\\n\\tleft: 0;\\r\\n\\tright: 0;\\r\\n\\ttext-align: center;\\r\\n\\ttop: calc(50% + 25px);\\r\\n }\\r\\n\\r\\n.line-design{\\r\\n\\theight: 12px;\\r\\n margin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border-bottom: 1px solid rgba(0,0,0,.1);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.centerAlignLoading {\\r\\n\\ttop: 470px;\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n@media (max-width:425px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 455px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:426px) and (max-width:767px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 430px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:768px) and (max-width:1023px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 420px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:1024px) and (max-width:1170px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 410px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:1171px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 460px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2Rpc3RyaWN0LXdpc2UtZm9ybS9kaXN0cmljdC13aXNlLWZvcm0uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtDQUNiOztBQUVEO0VBQ0UsNEJBQTRCO0VBQzVCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsT0FBTztFQUNQLFFBQVE7RUFDUixZQUFZO0VBQ1osYUFBYTtFQUNiLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsd0JBQXdCO0NBQ3pCOztBQUdELGdCQUFnQjs7QUFDaEI7Q0FDQyxVQUFVO0NBQ1YsZ0JBQWdCO0NBQ2hCLDhCQUE4QjtDQUM5QixrQkFBa0I7Q0FDbEIsMkJBQTJCO0NBQzNCOztBQUVEO0NBQ0MsV0FBVztDQUNYLGdCQUFnQjtDQUNoQixVQUFVO0NBQ1YscUJBQXFCOztDQUVyQjs7QUFDRDtDQUNDLGFBQWE7SUFDVix3QkFBd0I7SUFDeEIsc0JBQXNCO0NBQ3pCLGVBQWU7SUFDWixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25COztBQUVEO0NBQ0MsV0FBVztDQUNYLFlBQVk7Q0FDWixxQkFBcUI7Q0FDckIsa0JBQWtCO0NBQ2xCLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtJQUNmLFVBQVU7SUFDVixjQUFjO0NBQ2pCOztBQUVEO0NBQ0MseUJBQXlCO0NBQ3pCLGNBQWM7Q0FDZCx5QkFBeUI7Q0FDekI7O0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLHlCQUF5QjtDQUN6Qjs7QUFDRDtJQUNJLDBDQUEwQztDQUM3Qzs7QUFDRDtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjs7QUFFRDtDQUNDLHdCQUF3QjtDQUN4Qjs7QUFFRDtDQUNDO0VBQ0MsWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEI7Q0FDRDtFQUNDLFlBQVk7RUFDWjtDQUNEO0VBQ0MsVUFBVTtFQUNWO0NBQ0Q7O0FBRUQ7O0NBRUM7RUFDQyxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCO0NBQ0Q7RUFDQyxjQUFjO0VBQ2QsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEI7Q0FDRDs7QUFDRDtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjs7QUFFRDs7O0lBR0U7O0FBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7O0FBQ0Q7OztJQUdFO0VBQ0YsdUJBQXVCO0lBQ3JCO0dBQ0Q7RUFDRCw0QkFBNEI7RUFDNUIsNEJBQTRCO0lBQzFCO0dBQ0Q7RUFDRCwwQkFBMEI7RUFDMUI7Q0FDRDs7QUFDRDs7O0NBR0M7RUFDQyxtQkFBbUI7SUFDakI7R0FDRDtFQUNELGtCQUFrQjtFQUNsQjtHQUNDOztBQUNEOztHQUVDO0VBQ0Qsa0JBQWtCO0VBQ2xCO0dBQ0M7O0FBQ0g7Q0FDQywyQkFBMkI7Q0FDM0IsY0FBYztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0NBQ3JCOztBQUNEO0NBQ0MsYUFBYTtJQUNWLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ3BCOztBQUNEO0NBQ0MsbUJBQW1CO0NBQ25CLDRCQUE0QjtJQUN6QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGlCQUFpQjtDQUNwQjs7QUFDRDtDQUNDLFVBQVU7Q0FDVjs7QUFDRDtDQUNDLDJCQUEyQjtDQUMzQiwwQkFBMEI7Q0FDMUI7O0FBQ0Q7Q0FDQyxnQ0FBZ0M7Q0FDaEM7O0FBQ0Q7Q0FDQywwQkFBMEI7Q0FDMUIsZ0JBQWdCO0NBQ2hCOztBQUNEO0lBQ0ksY0FBYztDQUNqQjs7QUFDRDtDQUNDLGVBQWU7Q0FDZjs7QUFDRDtJQUNJLG9DQUFvQztDQUN2Qzs7QUFDRDtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckI7O0FBQ0Q7Q0FDQyxtQ0FBbUM7SUFDaEMsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsaUJBQWlCO0NBQ3BCOztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7R0FDaEI7O0FBRUg7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0NBQ2xDOztBQUNEO0lBQ0ksY0FBYztDQUNqQjs7QUFDRDtDQUNDLGdCQUFnQjtDQUNoQiw4QkFBOEI7Q0FDOUIseUJBQXlCO0dBQ3ZCOztBQUVEO0NBQ0QsY0FBYztDQUNkLG1CQUFtQjtDQUNuQixlQUFlO0NBQ2Ysb0JBQW9CO0NBQ3BCLGdCQUFnQjtDQUNoQixRQUFRO0NBQ1IsU0FBUztDQUNULG1CQUFtQjtDQUNuQixzQkFBc0I7R0FDcEI7O0FBQ0g7Q0FDQyxhQUFhO0lBQ1YsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQix3Q0FBd0M7SUFDeEMsbUJBQW1CO0NBQ3RCOztBQUVEO0NBQ0MsV0FBVztDQUNYLG1CQUFtQjtDQUNuQixZQUFZO0NBQ1o7O0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0QiLCJmaWxlIjoic3JjL2FwcF9kZXYvZGlzdHJpY3Qtd2lzZS1mb3JtL2Rpc3RyaWN0LXdpc2UtZm9ybS5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbjpob3N0IC51cGxvYWQtYXJlYSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDVweFxyXG59XHJcblxyXG46aG9zdCAudXBsb2FkLXByb2dyZXNzLW1lc3NhZ2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmZiZDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKioqIHN0ZXBwZXIqKiovXHJcbi5zdGVwcGVyX3Jvd3tcclxuXHR3aWR0aDo4NSU7XHJcblx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGl7XHJcblx0ZmxvYXQ6bGVmdDtcclxuXHRsaXN0LXN0eWxlOm5vbmU7XHJcblx0d2lkdGg6MjUlO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cclxufVxyXG4uc3Bhbl9jb2xvciB7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAzcHg7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XHJcblx0Y29sb3I6ICNDQUNBQ0E7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHR3aWR0aDo1MHB4O1xyXG5cdGhlaWdodDo1MHB4O1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdGJvcmRlci1yYWRpdXM6NTAlO1xyXG5cdGJvcmRlcjoycHggc29saWQgI0NBQ0FDQTtcclxuXHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OjI7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGkuYWN0aXZlIHNwYW57XHJcblx0LyogYmFja2dyb3VuZDojRDExMjQxOyAqL1xyXG5cdGNvbG9yOiMxNzU3ODg7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjMTc1Nzg4O1xyXG59XHJcbi5zdGVwcGVyX3JvdyBsaS5jb21wbGV0ZSBzcGFue1xyXG5cdGJhY2tncm91bmQ6IzE3NTc4ODtcclxuXHRjb2xvcjojZmZmO1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGU6YWZ0ZXJ7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTc1Nzg4IWltcG9ydGFudDtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OicnO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Ym90dG9tOjM0cHg7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaTpsYXN0LWNoaWxkOmFmdGVye1xyXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KXtcclxuXHQuc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRib3R0b206MjhweDtcclxuXHR9XHJcblx0LnN0ZXBwZXJfcm93e1xyXG5cdFx0d2lkdGg6OTAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpXHJcbntcclxuXHQuZmlsZWRyb3AtYWxpZ257XHJcblx0XHR3aWR0aDo2MyUgIWltcG9ydGFudDtcclxuXHRcdGhlaWdodDo2MyUgIWltcG9ydGFudDtcclxuXHR9XHJcblx0LmZpbGUtZHJvcHtcclxuXHRcdGhlaWdodDogMTNlbSA7XHJcblx0XHR3aWR0aDogMTJlbTtcclxuXHRcdG1hcmdpbi10b3A6IDEyZW0gO1xyXG5cdFx0cGFkZGluZy10b3A6IDBlbSA7XHJcblx0fVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW5cclxuICBhbmQgKG1pbi13aWR0aDogMTAyNXB4KVxyXG4gIGFuZCAobWF4LXdpZHRoOiAxMzY4cHgpe1xyXG4gICAgLmZpbGUtZHJvcHtcclxuXHRcdGhlaWdodDogMjNlbSFpbXBvcnRhbnQ7XHJcblx0ICB9XHJcblx0ICAuY2FyZC1ibG9ja3tcclxuXHRcdG1pbi1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHRcdG1heC1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHQgIH1cclxuXHQgIC50ZXh0U2hhZGVDb2xvcntcclxuXHRcdGZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlblxyXG4gIGFuZCAobWluLXdpZHRoOiAxMjgxcHgpXHJcbiAgYW5kIChtYXgtd2lkdGg6IDEzNjhweCl7XHJcblx0LmNvbnRhaW5lci1ib2R5e1xyXG5cdFx0bWF4LWhlaWdodDozNy45cmVtO1xyXG5cdCAgfVxyXG5cdCAgLmZpeGVkLWhpZ2h0e1xyXG5cdFx0bWluLWhlaWdodDogMjIzcHg7XHJcblx0fVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW5cclxuICBhbmQgKG1pbi13aWR0aDogMTM2OXB4KXtcclxuXHQgIC5maXhlZC1oaWdodHtcclxuXHRcdG1pbi1oZWlnaHQ6IDMxNHB4O1xyXG5cdH1cclxuICB9XHJcbi5maWxlLWRyb3B7XHJcblx0bWFyZ2luLXRvcDogOTZweCFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiAxOGVtIDtcclxuICAgIHdpZHRoOiAxN2VtO1xyXG4gICAgbWFyZ2luLXRvcDogMTJlbSA7XHJcbiAgICBwYWRkaW5nLXRvcDogM2VtIDtcclxufVxyXG4uZmlsZWRyb3B7XHJcblx0aGVpZ2h0OiAxNmVtO1xyXG4gICAgd2lkdGg6IDE5ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxNGVtO1xyXG4gICAgcGFkZGluZy10b3A6IDJlbTtcclxufVxyXG4ubGluZXtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCBncmV5O1xyXG4gICAgaGVpZ2h0OiAzNDBweDtcclxuICAgIHJpZ2h0OiAyN3B4O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4ubGluZUhpZGV7XHJcblx0ei1pbmRleDoxO1xyXG59XHJcbi5sZWFke1xyXG5cdGZvbnQtd2VpZ2h0OjYwMCAhaW1wb3J0YW50O1xyXG5cdGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJvcmRlcntcclxuXHRib3JkZXItY29sb3I6I2Q5ZDlkOSAhaW1wb3J0YW50O1xyXG59XHJcbi50ZXh0U2hhZGVDb2xvciwuZmEtdXBsb2Fke1xyXG5cdGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG59XHJcbi5idG5GaWxle1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uY3Vyc29yUG9pbnRlcntcclxuXHRjdXJzb3I6cG9pbnRlcjtcclxufVxyXG4uY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3IWltcG9ydGFudDtcclxufVxyXG4uY2FyZC1ibG9jayB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xyXG4gICAgbWluLWhlaWdodDogMjcwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNzBweDtcclxufVxyXG4uYnJvd3NlLWJ0bntcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZDogI2VmZWRlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgICBtYXgtaGVpZ2h0OjcwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXIge1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5maWxlLXRleHR7XHJcblx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdGZvbnQtZmFtaWx5OiBcIlJvYm90by1SZWd1bGFyXCI7XHJcblx0Y29sb3I6ICMxNzU3ODghaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmxvYWRpbmd0ZXh0IHtcclxuXHR6LWluZGV4OiAyMDAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRjb2xvcjogIzA0NTE4YjtcclxuXHRmb250LXdlaWdodDogYm9sZGVyO1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0b3A6IGNhbGMoNTAlICsgMjVweCk7XHJcbiAgfVxyXG4ubGluZS1kZXNpZ257XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdHRvcDogNDcwcHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOjQyNXB4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQ1NXB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo0MjZweCkgYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDMwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDIwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KSBhbmQgKG1heC13aWR0aDoxMTcwcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDEwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjExNzFweCkge1xyXG5cdC5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdFx0dG9wOiA0NjBweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    District-wise form

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

    File upload is in progress. Please wait for few minutes\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{fileName}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    Template.csv

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

    Current.csv

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_min']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_max']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    district_default.csv

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport { UploadEvent, UploadFile, FileSystemFileEntry, FileSystemDirectoryEntry } from 'ngx-file-drop';\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { CommonfunctionsService } from \"../services/commonfunctions.service\";\r\nimport * as XLSX from 'xlsx';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-district-wise-form\",\r\n templateUrl: \"./district-wise-form.component.html\",\r\n styleUrls: [\"./district-wise-form.component.css\"],\r\n})\r\nexport class DistrictWiseFormComponent implements OnInit {\r\n fileList: any;\r\n loading = 0;\r\n configData: any;\r\n stateDistrictData: any[] = [];\r\n stateData: any[] = [];\r\n fileStateData: any[] = [];\r\n districtData: any[] = [];\r\n selectedState: any;\r\n selectedFileState: any;\r\n selectedDistrict: any;\r\n loadingPermission: any[] = [];\r\n fileName: any = '';\r\n districtActionStatus: any;\r\n actionData: any[] = [];\r\n activeTab = 1;\r\n inProgress = false;\r\n currentFilePath: any = '';\r\n readonly districtDefultHeader = `Scheme,State,District,Season,Politically Active,Constituency of Agriculture/ Chief/ Cabinet Minister,Name of Political leader,Govt Support,Farmer Awareness,% Loanee,Major insured crop 1 (Name),Major insured crop 1 (% Share),Major insured crop 2 (Name),Major insured crop 2 (% Share),Irrigation %,Type of Irrigation,Major Loss Years-1,Reason of loss,Major Loss Years-2,Reason of loss 2,Major Loss Years-3,Reason of loss 3,Major Loss Years-4,Reason of loss 4,Major Loss Years-5,Reason of loss 5,Comments/ Historical Issues,Politically Active Loading,Govt Support Loading,Farmer Awareness Loading,ENSO,IOD,Monsoon forecast,ENSO Loading,IOD Loading,Monsoon forecast Loading`;\r\n distictDefaultValues = ``;\r\n\r\n constructor(\r\n private apiData: ApiService,\r\n private validate: MandatoryfieldService,\r\n public alertService: AlertService,\r\n private commonfunctions: CommonfunctionsService,\r\n ) {\r\n this.actionData = [{text: 'Upload', value: 'upload'}, {text: 'Update', value: 'update'}]\r\n }\r\n\r\n ngOnInit() {\r\n // \"loadingDiscountPermissions\": [\r\n // {\r\n // \"loadingDiscountId\": \"string\",\r\n // \"view\": true,\r\n // \"edit\": true\r\n // }\r\n // ]\r\n this.getStateDistrictData();\r\n }\r\n\r\n fetchConfigData() {\r\n this.loading++;\r\n this.distictDefaultValues = '';\r\n this.apiData.loadingApi.getloadingDiscount(\r\n (res: any) => {\r\n if (res && res.status == 1) {\r\n this.configData = res.data;\r\n this.addCsvData(this.configData)\r\n this.validateAllData()\r\n }\r\n this.loading--;\r\n },\r\n (err) => {\r\n this.loading--;\r\n },\r\n \"district\",\r\n this.selectedState,\r\n this.selectedDistrict\r\n );\r\n }\r\n\r\n addCsvData(resData: any) {\r\n const weather_forecast = resData.ldWithSubSections.find((d:any) => d.loadingDiscountID == 'weather_forecast');\r\n const farm_management_practices = resData.ldWithSubSections.find((d:any) => d.loadingDiscountID == 'farm_management_practices');\r\n let esno_data: any = {};\r\n let iod_data: any = {};\r\n let monsoon_data: any = {};\r\n let farmer_awareness_data: any = {};\r\n let govt_support_data: any = {};\r\n let political_scenario_data: any = {};\r\n\r\n if (weather_forecast) {\r\n const esno_sub_section = weather_forecast.subSections.find(d => d.key == 'wf_ensoelninoimpact');\r\n if (esno_sub_section && esno_sub_section.uwPerceptionData && esno_sub_section.uwPerceptionData.length) {\r\n esno_data = esno_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n\r\n const iod_sub_section = weather_forecast.subSections.find(d => d.key == 'wf_iod_forecast');\r\n if (iod_sub_section && iod_sub_section.uwPerceptionData && iod_sub_section.uwPerceptionData.length) {\r\n iod_data = iod_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n\r\n const monsoon_sub_section = weather_forecast.subSections.find(d => d.key == 'wf_monsoonforecast');\r\n if (monsoon_sub_section && monsoon_sub_section.uwPerceptionData && monsoon_sub_section.uwPerceptionData.length) {\r\n monsoon_data = monsoon_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n }\r\n\r\n if (farm_management_practices) {\r\n const farmer_awareness_sub_section = farm_management_practices.subSections.find(d => d.key == 'fm_farmerawareness');\r\n if (farmer_awareness_sub_section && farmer_awareness_sub_section.uwPerceptionData && farmer_awareness_sub_section.uwPerceptionData.length) {\r\n farmer_awareness_data = farmer_awareness_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n\r\n const govt_support_sub_section = farm_management_practices.subSections.find(d => d.key == 'fm_govtsupport');\r\n if (govt_support_sub_section && govt_support_sub_section.uwPerceptionData && govt_support_sub_section.uwPerceptionData.length) {\r\n govt_support_data = govt_support_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n\r\n const political_scenario_sub_section = farm_management_practices.subSections.find(d => d.key == 'fm_politicalscenario');\r\n if (political_scenario_sub_section && political_scenario_sub_section.uwPerceptionData && political_scenario_sub_section.uwPerceptionData.length) {\r\n political_scenario_data = political_scenario_sub_section.uwPerceptionData.find((d: any) => d.defaultUWPerception) || {};\r\n }\r\n }\r\n\r\n this.distictDefaultValues = `\"\",\"${this.selectedState}\",\"${this.selectedDistrict}\",\"\",\"${political_scenario_data.text || ''}\",\"\",\"${govt_support_data.text || ''}\",\"${farmer_awareness_data.text || ''}\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"\",\"${political_scenario_data.value || 0}\",\"${govt_support_data.value || 0}\",\"${farmer_awareness_data.value || 0}\",\"${esno_data.text || ''}\",\"${iod_data.text || ''}\",\"${monsoon_data.text || ''}\",\"${esno_data.finalLoadingPercentage || 0}\",\"${iod_data.finalLoadingPercentage || 0}\",\"${monsoon_data.finalLoadingPercentage || 0}\"`;\r\n\r\n }\r\n\r\n getStateDistrictData() {\r\n this.loading++;\r\n this.apiData\r\n .getStateDistrictWiseData()\r\n .then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.stateDistrictData = res.data || [];\r\n }\r\n if (this.stateDistrictData && this.stateDistrictData.length) {\r\n this.stateData = Array.from(\r\n new Set(this.stateDistrictData.filter((data:any) => data.state !== 'All').map((data: any) => data.state))\r\n ).map((data) => ({ state: data }));\r\n this.fileStateData = Array.from(\r\n new Set(this.stateDistrictData.map((data: any) => data.state))\r\n ).map((data) => ({ state: data }));\r\n }\r\n this.loading--;\r\n })\r\n .catch((err) => {\r\n this.loading--;\r\n });\r\n }\r\n\r\n onStateChange(event) {\r\n this.configData = null;\r\n this.selectedDistrict = null;\r\n this.districtData = [];\r\n if (event) {\r\n this.districtData = this.stateDistrictData.filter(\r\n (location) => location.state == event\r\n );\r\n }\r\n }\r\n\r\n onFileStateChange(event) {\r\n this.districtActionStatus = null;\r\n this.fileList = null;\r\n this.fileName = null;\r\n this.getDistrictUploadTransaction();\r\n }\r\n\r\n getDistrictUploadTransaction() {\r\n this.currentFilePath = '';\r\n this.loading++;\r\n this.apiData.masterUploadGetDistrictUploadTransaction().then((res: any) => {\r\n if (res && res.status == 1) {\r\n const stateFilesData = res.data.filter((d: any) => d.state == this.selectedFileState);\r\n if (stateFilesData) {\r\n const recentDate = stateFilesData.map((d: any) => new Date(d.createdAt).getTime())\r\n const fileData = stateFilesData.find(d => new Date(d.createdAt).getTime() == recentDate);\r\n if (fileData) {\r\n this.currentFilePath = fileData.azureFilePath;\r\n }\r\n }\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n console.error(err)\r\n this.loading--;\r\n })\r\n }\r\n\r\n onDistrictChange() {\r\n this.configData = null;\r\n this.districtActionStatus = 'showButtons'\r\n this.fetchConfigData();\r\n }\r\n\r\n onActionChange(event: any) {\r\n if (event == 'update' && this.selectedState && this.selectedDistrict) {\r\n this.fetchConfigData();\r\n }\r\n }\r\n onPerceptionValueChange(uwPerceptionData: any, subSection: any) {\r\n this.validPerceptionData(uwPerceptionData, subSection);\r\n }\r\n\r\n onCardSave(data, indx) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n for (\r\n let index = 0;\r\n index < this.configData.ldWithSubSections.length;\r\n index++\r\n ) {\r\n const ldWithSubSections = this.configData.ldWithSubSections[index];\r\n ldWithSubSections.isCollapsed = true;\r\n if (indx == index) {\r\n ldWithSubSections.isDataSaved = true;\r\n }\r\n }\r\n\r\n if (indx < this.configData.ldWithSubSections.length - 1) {\r\n this.configData.ldWithSubSections[indx + 1].isCollapsed = false;\r\n this.openCard(\r\n this.configData.ldWithSubSections[indx + 1].loadingDiscountID\r\n );\r\n } else {\r\n this.closeCard(this.configData.ldWithSubSections[indx].loadingDiscountID);\r\n }\r\n }\r\n\r\n onCardToggle(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.toogleCard(loadingDiscountID);\r\n }\r\n\r\n onCardEdit(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.openCard(loadingDiscountID);\r\n }\r\n\r\n onDefaultChange(perceptionData, pindx) {\r\n for (let index = 0; index < perceptionData.length; index++) {\r\n if (index != pindx) {\r\n const element = perceptionData[index];\r\n element.defaultUWPerception = false;\r\n }\r\n }\r\n }\r\n\r\n toogleCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"toggle\");\r\n }\r\n openCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"show\");\r\n }\r\n closeCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"hide\");\r\n }\r\n\r\n validateAllData() {\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n this.validPerceptionData(subSection.uwPerceptionData, subSection)\r\n }\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n // if (\r\n // [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n // ) {\r\n // errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n // break;\r\n // }\r\n }\r\n }\r\n }\r\n\r\n validPerceptionData(uwPerceptionData: any, subSection: any) {\r\n const errorMessage = {};\r\n if (Array.isArray(uwPerceptionData)) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] = \"Min value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[`${subSection.key}_${perception.text}_max`] = \"Max value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = \"Percentage value is requried\";\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] = \"Min value should be less than Max value\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] =\r\n \"Min value should be selected from given options only\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[ `${subSection.key}_${perception.text}_max`] =\r\n \"Max value should be selected from given options only\";\r\n }\r\n if ( (![null, undefined, \"\"].includes(perception.finalLoadingPercentage)) &&\r\n (![null, undefined, \"\"].includes(perception.finalLoadingPercentageMin)) &&\r\n (![null, undefined, \"\"].includes(perception.finalLoadingPercentageMax)) &&\r\n (perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Final loading value should be between min and max value\";\r\n }\r\n else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Final loading value should not have decimal number\";\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = `${subSection.title}'s ${perception.text} value is requried`;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n }\r\n }\r\n perception.errorMessage = errorMessage;\r\n }\r\n }\r\n }\r\n\r\n validateCard() {\r\n const collapseId = $(\".collapse.show\").prop(\"id\");\r\n if (collapseId) {\r\n let errorMessage: any = {msg: null, eleId: null};\r\n this.configData;\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n if (Array.isArray(ldWithSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (element.loadingDiscountID == collapseId) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n } else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = 'Final loading value should not have decimal number';\r\n break;\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value is empty`;\r\n break;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid Config Data\";\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n })\r\n swal.finally(() => {\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector('#'+errorMessage.eleId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500)\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n validateData() {\r\n let errorMessage: any = {msg: null, eleId: null, collapseId: null};\r\n if (!this.selectedState) {\r\n errorMessage.eleId = 'state';\r\n errorMessage = \"State should not be empty\";\r\n }\r\n if (!this.selectedDistrict && !errorMessage) {\r\n errorMessage.eleId = 'district';\r\n errorMessage = \"District should not be empty\";\r\n }\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n } else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = 'Final loading value should not have decimal number';\r\n break;\r\n }\r\n }\r\n else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value is empty`;\r\n break;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n ) {\r\n errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n break;\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid Config Data\";\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n })\r\n swal.finally(() => {\r\n if (errorMessage.collapseId) {\r\n this.openCard(errorMessage.collapseId);\r\n }\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector('#'+errorMessage.eleId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500)\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSubmit(formData) {\r\n if (!this.validateData()) {\r\n return false;\r\n }\r\n const configData = JSON.parse(JSON.stringify(this.configData));\r\n const ldWithSubSections = [];\r\n const ldNoSubSections = [];\r\n if (configData) {\r\n const reqldWithSubSections = configData.ldWithSubSections;\r\n const reqldNoSubSections = configData.ldNoSubSections;\r\n if (\r\n Array.isArray(reqldWithSubSections) &&\r\n Array.isArray(ldNoSubSections)\r\n ) {\r\n for (let index = 0; index < reqldWithSubSections.length; index++) {\r\n const element = reqldWithSubSections[index];\r\n const idWithSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n const reqSubSec = {\r\n key: subSection.key,\r\n weightage: subSection.weightage,\r\n title: subSection.title,\r\n seqno: subSection.seqno,\r\n uwPerception: perception.text,\r\n finalLoadingPercentage:\r\n perception.finalLoadingPercentage || perception.value,\r\n finalLoadingPercentageMin: perception.finalLoadingPercentageMin,\r\n finalLoadingPercentageMax: perception.finalLoadingPercentageMax,\r\n defaultUWPerception: perception.defaultUWPerception,\r\n finalLoadingWeightageApplied:\r\n subSection.finalLoadingWeightageApplied,\r\n };\r\n idWithSubSecObj.subSections.push(reqSubSec);\r\n }\r\n }\r\n ldWithSubSections.push(idWithSubSecObj);\r\n }\r\n for (let index = 0; index < reqldNoSubSections.length; index++) {\r\n const element = reqldNoSubSections[index];\r\n const idNoSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n ldNoSubSections.push(idNoSubSecObj);\r\n }\r\n }\r\n }\r\n let request = {\r\n updatedBy: null,\r\n id: null,\r\n state: this.selectedState,\r\n district: this.selectedDistrict,\r\n ldWithSubSections,\r\n ldNoSubSections,\r\n };\r\n request = this.apiData.getParam(request, \"district-wise\");\r\n this.loading++;\r\n this.apiData\r\n .configureDefaultLoadingDiscountByDistrict(request)\r\n .then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n this.fetchConfigData();\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"success\");\r\n }\r\n this.loading--;\r\n })\r\n .catch((err) => {\r\n this.validate.popUpAlert(\r\n \"Unable to Update District Discount\",\r\n \"Error\",\r\n \"success\"\r\n );\r\n this.loading--;\r\n });\r\n console.log(request);\r\n }\r\n\r\n public async dropped(event: UploadEvent) {\r\n let getFile = event.files;\r\n\t\tlet array = getFile[0].relativePath.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n\t\t\tfor (const droppedFile of event.files) {\r\n\t\t\t\tif (droppedFile.fileEntry.isFile) {\r\n\t\t\t\t\tconst fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n\t\t\t\t\tfileEntry.file(async (file: File) => {\r\n\t\t\t\t\t\tconsole.log(droppedFile.relativePath, file);\r\n const fileData: any = await this.getExcelData(getFile[0]);\r\n if (this.validateFileData(fileData)) {\r\n this.fileList = file;\r\n this.fileName = droppedFile.relativePath;\r\n }\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n }\r\n\r\n async onFileChange (event) {\r\n let getFile = event.target.files;\r\n\t\tlet array = getFile[0].name.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n const fileData: any = await this.getExcelData(getFile[0]);\r\n if (this.validateFileData(fileData)) {\r\n this.fileList = getFile[0];\r\n this.fileName = this.fileList.name;\r\n }\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n }\r\n\r\n\r\n validateFileData(fileData) {\r\n if (!fileData || !fileData.length) {\r\n this.validate.popUpAlert('File has no data', \"Invalid file data\", \"warning\");\r\n return false;\r\n }\r\n\r\n const headers = [\"scheme\",\"state\",\"district\",\"season\",\"politically active\",\"constituency of agriculture/ chief/ cabinet minister\",\"name of political leader\",\"govt support\",\"farmer awareness\",\"% loanee\",\"major insured crop 1 (name)\",\"major insured crop 1 (% share)\",\"major insured crop 2 (name)\",\"major insured crop 2 (% share)\",\"irrigation %\",\"type of irrigation\",\"major loss years-1\",\"reason of loss\",\"major loss years-2\",\"reason of loss 2\",\"major loss years-3\",\"reason of loss 3\",\"major loss years-4\",\"reason of loss 4\",\"major loss years-5\",\"reason of loss 5\",\"comments/ historical issues\",\"politically active loading\",\"govt support loading\",\"farmer awareness loading\",\"enso\",\"iod\",\"monsoon forecast\",\"enso loading\",\"iod loading\",\"monsoon forecast loading\"];\r\n const avaliable_headers = Object.keys(fileData[0]);\r\n\r\n if (!headers.every(d => avaliable_headers.includes(d))) {\r\n this.validate.popUpAlert('Invalid file headers', \"Invalid file data\", \"warning\");\r\n return false;\r\n }\r\n let errorMsg = '';\r\n const isNumber =(val: any) => {\r\n if (val || val === 0) {\r\n if (typeof val == 'string') {\r\n return !isNaN(+val.replace('%', '').trim())\r\n } else if (typeof val == 'number') {\r\n return !isNaN(val);\r\n }\r\n }\r\n return false;\r\n }\r\n for (let i = 0; i < fileData.length; i++) {\r\n\r\n const data = fileData[i];\r\n if ((!data['state'] || this.selectedFileState.toLowerCase() != data['state'].toLowerCase()) && this.selectedFileState.toLowerCase() != 'all') {\r\n errorMsg = `Invalid state name on row no. ${i+2}`\r\n break;\r\n }\r\n\r\n if (!data['enso'] || !['Positive', 'Neutral', 'Negative'].includes(data['enso'].trim())) {\r\n errorMsg = `Invalid ENSO on row no. ${i+2}`\r\n break;\r\n }\r\n if (!isNumber(data['enso loading'])) {\r\n errorMsg = `Invalid ENSO Loading on row no. ${i+2}`\r\n break;\r\n }\r\n\r\n if (!data['iod'] || !['Positive', 'Neutral', 'Negative'].includes(data['iod'].trim())) {\r\n errorMsg = `Invalid IOD on row no. ${i+2}`\r\n break;\r\n }\r\n if (!isNumber(data['iod loading'])) {\r\n errorMsg = `Invalid IOD Loading on row no. ${i+2}`\r\n break;\r\n }\r\n\r\n if (!data['monsoon forecast'] || !['Excess', 'Normal', 'Deficit'].includes(data['monsoon forecast'].trim())) {\r\n errorMsg = `Invalid Monsoon forecast on row no. ${i+2}`\r\n break;\r\n }\r\n if (!isNumber(data['monsoon forecast loading'])) {\r\n errorMsg = `Invalid Monsoon forecast Loading on row no. ${i+2}`\r\n break;\r\n }\r\n\r\n\r\n if (!data['farmer awareness'] || !['Low', 'Medium', 'High'].includes(data['farmer awareness'].trim())) {\r\n errorMsg = `Invalid Farmer Awareness on row no. ${i+2}`\r\n break;\r\n }\r\n if (!isNumber(data['farmer awareness loading'])) {\r\n errorMsg = `Invalid farmer awareness loading on row no. ${i+2}`\r\n break;\r\n }\r\n\r\n if (!data['govt support'] || !['Low', 'Medium', 'High'].includes(data['govt support'].trim())) {\r\n errorMsg = `Invalid Govt Support on row no. ${i+1}`\r\n break;\r\n }\r\n if (!isNumber(data['govt support loading'])) {\r\n errorMsg = `Invalid Govt Support Loading on row no. ${i+1}`\r\n break;\r\n }\r\n\r\n if (!data['politically active'] || !['Positive', 'Neutral', 'Negative'].includes(data['politically active'].trim())) {\r\n errorMsg = `Invalid Politically Active on row no. ${i+1}`\r\n break;\r\n }\r\n if (!isNumber(data['politically active loading'])) {\r\n errorMsg = `Invalid Politically Active Loading on row no. ${i+1}`\r\n break;\r\n }\r\n }\r\n\r\n if (errorMsg) {\r\n this.validate.popUpAlert(errorMsg, \"Invalid file data\", \"warning\");\r\n return false\r\n }\r\n return true;\r\n }\r\n\r\n async getExcelData(file) {\r\n return await new Promise((res,rej) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n\r\n /* grab first sheet */\r\n const wsname: string = wb.SheetNames[0];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n\r\n /* sheet data */\r\n const tableData = (XLSX.utils.sheet_to_json(ws, { header: 1 }));\r\n let header: any = [];\r\n const jsonData: any = [];\r\n for (let i = 0; i < tableData.length; i++) {\r\n const row: any = tableData[i];\r\n if (i == 0) {\r\n row.forEach((d) => header.push(d.trim().toLowerCase()));\r\n } else {\r\n const data: any = {};\r\n for (let j = 0; j < header.length; j++) {\r\n const cell = ['',null,undefined].includes(row[j]) ? '' : row[j];\r\n if (cell && typeof cell == 'string') {\r\n data[header[j]] = cell.trim();\r\n } else if (typeof cell == 'number') {\r\n data[header[j]] = cell;\r\n } else {\r\n data[header[j]] = cell || '';\r\n }\r\n }\r\n jsonData.push(data);\r\n }\r\n }\r\n res(jsonData);\r\n }\r\n reader.readAsBinaryString(file);\r\n\r\n\r\n } catch(err) {\r\n rej(err);\r\n }\r\n });\r\n }\r\n\r\n\r\n formFileRequest() {\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append(\"tenantId\", this.alertService.getUserDetails('getTenant'));\r\n\t\t// formData.append(\"state\", this.selectedState);\r\n\t\tformData.append(\"updatedBy\", this.alertService.getUserDetails('getid'));\r\n\t\tformData.append(\"userFileName\",this.fileName);\r\n\t\tformData.append('file', this.fileList, this.fileName);\r\n\t\tformData.append('state', this.selectedFileState);\r\n\t\treturn formData\r\n\t}\r\n\r\n goto(process) {\r\n if (process == \"next\") {\r\n if (!this.selectedFileState) {\r\n this.validate.popUpAlert(\"Please select state first\", \"Warning\", \"warning\");\r\n return\r\n }\r\n if (!this.fileName || !this.fileList) {\r\n this.validate.popUpAlert(\"Please select csv file\", \"Warning\", \"warning\");\r\n return;\r\n }\r\n const request = this.formFileRequest();\r\n this.loading++\r\n this.apiData.masterUploadVerifyDistrictsLevelLoadingData(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n // if(res.result && res.result.warnings && res.result.warnings.length) {\r\n // this.showWarnings(res);\r\n // } else {\r\n this.validatedDistrictLoadingDataUpload(res.result.districtUploadTransactionId)\r\n // }\r\n // this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading--\r\n }).catch(err => {\r\n this.loading--\r\n this.validate.popUpAlert(\"Something went wrong\", \"\", \"error\");\r\n })\r\n }\r\n }\r\n\r\n showWarnings(res) {\r\n\t\tvar span = document.createElement(\"span\");\r\n\t\tfor (var i = 0; i < res.result.warnings.length; i++) {\r\n\t\t\tspan.innerHTML += \"
    \" + (i + 1) + \". \" + res.result.warnings[i].warning + \". \" + \"
    \";\r\n\t\t}\r\n\t\tSwal({\r\n\t\t\ttitle: \"Warnings\",\r\n\t\t\thtml: span,\r\n\t\t\ttype: \"warning\",\r\n\t\t\tconfirmButtonColor: \"#175788\",\r\n showCancelButton: true,\r\n\t\t\ttimer: parseFloat('120000')\r\n\t\t}).then((result) => {\r\n if (result && result.value) {\r\n this.validatedDistrictLoadingDataUpload(res.result.districtUploadTransactionId)\r\n }\r\n\t\t})\r\n\t}\r\n\r\n validatedDistrictLoadingDataUpload(transactionID) {\r\n const request = {transactionId: transactionID}\r\n this.loading++\r\n this.apiData.masterUploadValidatedDistrictLoadingDataUpload(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.districtActionStatus = null;\r\n this.fileList = null;\r\n this.fileName = null;\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading--\r\n }).catch(err => {\r\n this.loading--\r\n this.validate.popUpAlert(\"Something went wrong\", \"\", \"error\");\r\n })\r\n }\r\n\r\n\r\n downloadSample() {\r\n this.loading++;\r\n this.apiData.masterUploadDownloadSampleDistrictLoadingUpload().then(res => {\r\n this.loading--;\r\n this.commonfunctions.csvDownloadFromServer(res);\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n downloadCurentFile() {\r\n if (this.currentFilePath) {\r\n const link = document.createElement('a');\r\n link.href = this.currentFilePath;\r\n link.download = this.selectedFileState;\r\n link.click();\r\n link.remove()\r\n }\r\n }\r\n\r\n avoidDecimal(event: any): any | void {\r\n if (event.key == '.') {\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n\r\n downloadCSVFileFromText() {\r\n const csvData = this.districtDefultHeader +'\\n'+ this.distictDefaultValues;\r\n const textFile = new Blob([csvData], { type: 'text/plain' });\r\n const link = document.createElement('a');\r\n link.href = URL.createObjectURL(textFile);\r\n link.download = 'district_defult.csv';\r\n document.body.appendChild(link);\r\n link.click();\r\n document.body.removeChild(link);\r\n }\r\n\r\n onTabChange(tabId) {\r\n this.activeTab = tabId;\r\n if (this.activeTab == 2) {\r\n // this.inProgress = true\r\n }\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n .container-body {\\r\\n padding: 40px 40px 50px 40px;\\r\\n }\\r\\n \\r\\n .container-body{\\r\\n padding:40px 40px 40px 40px;\\r\\n }\\r\\n \\r\\n .scroll-container{\\r\\n max-height:500px;\\r\\n overflow: auto;\\r\\n }\\r\\n \\r\\n .scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n \\r\\n .scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2VuYWJsZXJlcG9ydC9lbmFibGVyZXBvcnQuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjs7RUFFRDs7O0lBR0U7O0VBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7O0VBQ0Q7SUFDRSw2QkFBNkI7R0FDOUI7O0VBRUQ7SUFDRSw0QkFBNEI7R0FDN0I7O0VBQ0Q7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtHQUNoQjs7RUFFSDtJQUNJLHlCQUF5QjtJQUN6QiwrQkFBK0I7Q0FDbEM7O0VBQ0Q7SUFDSSxjQUFjO0NBQ2pCIiwiZmlsZSI6InNyYy9hcHBfZGV2L2VuYWJsZXJlcG9ydC9lbmFibGVyZXBvcnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5jb250YWluZXItYm9keSB7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDQwcHggNTBweCA0MHB4O1xyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgcGFkZGluZzo0MHB4IDQwcHggNDBweCA0MHB4O1xyXG4gIH1cclxuICAuc2Nyb2xsLWNvbnRhaW5lcntcclxuICAgIG1heC1oZWlnaHQ6NTAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4uc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgIFxyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7IFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuXHJcblxyXG5cclxuIl19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Enable Report

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoReport NameStatus\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n RESET\\r\\n \\r\\n \\r\\n SAVE\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport {\r\n FormBuilder,\r\n FormArray,\r\n Validators,\r\n FormControl,\r\n FormGroup\r\n} from \"@angular/forms\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-enablereport',\r\n templateUrl: './enablereport.component.html',\r\n styleUrls: ['./enablereport.component.css']\r\n})\r\nexport class EnablereportComponent implements OnInit {\r\n\r\n reportForm: any;\r\n tieupID: any;//ng model\r\n ReportDetails: any;\r\n tableData: any = {};\r\n loadedStatus: any = {};\r\n resArray: any;\r\n tieuplist: any;\r\n status: any;\r\n showTable: boolean = false;\r\n loading: boolean = false;\r\n showModal: boolean = false;\r\n disablefield: boolean = true;\r\n changedList: any = [];\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.reportForm = this.formBuilder.group({\r\n tieupID: [\"\", Validators.required]\r\n });\r\n this.ReportDetails = this.loadForm();\r\n this.loadDropDown();\r\n\r\n var obj = this;\r\n var rowindex = {};\r\n\r\n $(\"#enableReport\")\r\n .off(\"click\", \".switchToggle\")\r\n .on(\"click\", \".switchToggle\", function (e) {\r\n\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n $(this.firstChild).prop('checked', !($(this.firstChild).prop('checked')))\r\n if (rowindex[\"status\"] == \"Active\") {\r\n rowindex[\"status\"] = \"DeActive\";\r\n } else {\r\n rowindex[\"status\"] = \"Active\";\r\n }\r\n rowindex[\"changed\"] = !rowindex[\"changed\"];\r\n if (obj.changedList.length != 0) {\r\n for (let i = 0; i < obj.changedList.length; i++) {\r\n if (obj.changedList[i].sno == rowindex[\"sno\"]) {\r\n obj.changedList.splice(i, 1);\r\n }\r\n }\r\n }\r\n if (rowindex[\"changed\"])\r\n obj.changedList.push(rowindex);\r\n // obj.apiData.formRequest.getRequest('', obj.resArray, 'report');\r\n });\r\n\r\n $(\"#enableReport\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n rowindex = {};\r\n rowindex = row;\r\n });\r\n }\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getTieUplist(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n getReportList() {\r\n this.changedList = [];\r\n this.loading = true;\r\n this.apiData.reportApi.getlist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n //console.log(res.trim());\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.loadedStatus = result;\r\n this.prepareJson(result);\r\n $(\"#enableReport\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#enableReport\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showTable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);;\r\n });\r\n }\r\n showtable() {\r\n if (this.validate.submitDetails(this.reportForm)) {\r\n this.apiData.reportApi.saveId(this.reportForm.value.tieupID);\r\n this.getReportList();\r\n }\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"reportName\"] = resData.data[i][\"reportName\"];\r\n resArray1[\"tieupID\"] = resData.data[i][\"tieupID\"];\r\n resArray1[\"reportID\"] = resData.data[i][\"reportID\"];\r\n resArray1[\"status\"] = resData.data[i][\"status\"];\r\n resArray1[\"sno\"] = i + 1;\r\n if (resData.data[i][\"status\"] == \"Active\") {\r\n resArray1[\"reportstatus\"] =\r\n '
    ';\r\n } else {\r\n resArray1[\"reportstatus\"] = '
    ';\r\n }\r\n resArray1[\"changed\"] = false;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n\r\n loadForm() {\r\n return this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n reportname: [\"\", Validators.required],\r\n status: [\"\", Validators.required]\r\n });\r\n }\r\n submitClick() {\r\n if (this.changedList.length != 0) {\r\n this.apiData.formRequest.getRequest('', this.changedList, 'report');\r\n this.loading = true;\r\n this.apiData.reportApi.saveReport(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.loading = false;\r\n this.validate.popUpAlert(\"Updated Successfully\", \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n this.changedList = [];\r\n } else {\r\n this.getReportList();\r\n }\r\n\r\n }\r\n}\r\n","import {\r\n HttpEvent,\r\n HttpInterceptor,\r\n HttpHandler,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpErrorResponse,\r\n HttpClient\r\n} from '@angular/common/http';\r\nimport { Observable, throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { ErrorHandler, Injectable, Injector } from '@angular/core';\r\nimport { ApiService } from './services/apiservices.service';\r\nimport { MandatoryfieldService } from './common/Validators/mandatoryfield.service';\r\nimport { Http } from '@angular/http';\r\nimport { Router } from '@angular/router';\r\n\r\nexport class HttpErrorInterceptor implements HttpInterceptor {\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n return next.handle(request)\r\n .pipe(\r\n catchError((error: HttpErrorResponse) => {\r\n let errMsg = '';\r\n // if(error instanceof HttpErrorResponse){\r\n // alert(\"serverside\");\r\n // }\r\n if (!this.isUndefined(error.error)) {\r\n if (!this.isUndefined(error.error.message))\r\n errMsg = `${error.error.message}`;\r\n else\r\n errMsg = `Error Code: ${error.status}, Message: ${error.message}`;\r\n }\r\n else {\r\n if (error.status == 504) {\r\n errMsg = `Errorcode:504`;\r\n } else {\r\n errMsg = `Error Code: ${error.status}, Message: ${error.message}`;\r\n }\r\n }\r\n return throwError(errMsg);\r\n })\r\n )\r\n }\r\n isUndefined(value) {\r\n if (value == undefined || value == \"\" || value == null || value == NaN) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n\r\n@Injectable()\r\nexport class CustomErrorHandler implements ErrorHandler {\r\n host: string = \"https://mr-reva-fe-app-dev.azurewebsites.net/\"; //Local\r\n path: string = \"api/\";\r\n url: string = this.host + this.path;\r\n tenentId: string;\r\n createdBy: string;\r\n constructor(private http: HttpClient, private injector: Injector) { }\r\n handleError(error) {\r\n //let router = this.injector.get(Router);\r\n //console.log(error + \"location:::\" + window.location.pathname); \r\n console.log(error);\r\n if(error.message!='Collapse is transitioning' && error.message.indexOf('ExpressionChangedAfterItHasBeenCheckedError')==-1){\r\n let user = JSON.parse(localStorage.getItem('userFunction'));\r\n this.tenentId = (this.isUndefined(user)) ? \"root\" : user['tenantId'];\r\n this.createdBy = (this.isUndefined(user)) ? \"\" : user['getid'];\r\n this.errorhanlingApi.generateRequestData(error.message, window.location.pathname);\r\n this.errorhanlingApi.sendError(res => {\r\n }, err => {\r\n });\r\n }\r\n return true;\r\n }\r\n /******************************\r\n * Global Error handling\r\n *****************************/\r\n public errorhanlingApi: any = {\r\n url: this.url,\r\n data: {},\r\n generateRequestData: (error, page) => {\r\n this.errorhanlingApi.data = {\r\n \"logApplication\": \"Client\",\r\n \"logModule\": page, //controller name or screen name\r\n \"logDesc\": error, // exception error message\r\n \"tenantId\": this.tenentId,//by default root or tenantId\r\n \"createdBy\": this.createdBy\r\n }\r\n },\r\n sendError: (success, err) => {\r\n this.http.post(this.errorhanlingApi.url + \"ErrorLog\", this.errorhanlingApi.data).subscribe(\r\n response => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n error => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n }\r\n }\r\n isUndefined(value) {\r\n if (value == undefined || value == \"\" || value == null || value == NaN) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}\r\n","module.exports = \".list-group-item {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-flow: row wrap;\\r\\n align-items: center;\\r\\n padding: 0.75rem 1.25rem;\\r\\n margin-bottom: -1px;\\r\\n font-size: 16px;\\r\\n background-color: #fff;\\r\\n border: 1px solid rgba(0,0,0,.125);\\r\\n}\\r\\n.table-bordered td, .table-bordered th {\\r\\n border: 1px solid #eceeef!important;\\r\\n}\\r\\n.download-excel-container {\\r\\n position: absolute;\\r\\n top: 20px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2ZpbGUtZGF0YS13YXJuaW5nL2ZpbGUtZGF0YS13YXJuaW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsY0FBYztJQUNkLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIseUJBQXlCO0lBQ3pCLG9CQUFvQjtJQUNwQixnQkFBZ0I7SUFDaEIsdUJBQXVCO0lBQ3ZCLG1DQUFtQztDQUN0QztBQUNEO0lBQ0ksb0NBQW9DO0NBQ3ZDO0FBQ0Q7RUFDRSxtQkFBbUI7RUFDbkIsVUFBVTtFQUNWLGdCQUFnQjtDQUNqQiIsImZpbGUiOiJzcmMvYXBwX2Rldi9maWxlLWRhdGEtd2FybmluZy9maWxlLWRhdGEtd2FybmluZy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDEuMjVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7XHJcbn1cclxuLnRhYmxlLWJvcmRlcmVkIHRkLCAudGFibGUtYm9yZGVyZWQgdGgge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VjZWVlZiFpbXBvcnRhbnQ7XHJcbn1cclxuLmRvd25sb2FkLWV4Y2VsLWNvbnRhaW5lciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMjBweDtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIl19 */\"","module.exports = \"
    \\r\\n \\r\\n\\r\\n
    \\r\\n \\r\\n\\r\\n
      \\r\\n \\r\\n
    • \\r\\n {{warn.warning}}\\r\\n
    • \\r\\n
      \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n No mistmatched yield data found for previous year\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n
    \\r\\n\"","import { Component, OnInit, Output, EventEmitter, Input } from '@angular/core';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-file-data-warning',\r\n templateUrl: './file-data-warning.component.html',\r\n styleUrls: ['./file-data-warning.component.css']\r\n})\r\nexport class FileDataWarningComponent implements OnInit {\r\n\r\n @Output() action: EventEmitter = new EventEmitter();\r\n @Input() mismatchedYieldDatas: any[] = [];\r\n @Input() mismatchedCurrentYearYieldDatas: any[] = [];\r\n @Input() mismatchedYieldFields: any[] = [];\r\n @Input() warnings: any[] = [];\r\n\r\n constructor(private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.mismatchedYieldFields = [\r\n {\r\n \"field\": \"rowNumber\",\r\n \"header\": \"Line No\"\r\n },\r\n {\r\n \"field\": \"district\",\r\n \"header\": \"District\"\r\n },\r\n {\r\n \"field\": \"year\",\r\n \"header\": \"Year\"\r\n },\r\n {\r\n \"field\": \"session\",\r\n \"header\": \"Season\"\r\n },\r\n // {\r\n // \"field\": \"column\",\r\n // \"header\": \"Column\"\r\n // },\r\n {\r\n \"field\": \"oldValue\",\r\n \"header\": \"Old Value\"\r\n },\r\n {\r\n \"field\": \"newValue\",\r\n \"header\": \"New Value\"\r\n },\r\n {\r\n \"field\": \"sum_insured\",\r\n \"header\": \"Sum Insured\"\r\n }\r\n ]\r\n this.refreshMismatchedTable();\r\n this.refreshMismatchedYieldTable();\r\n }\r\n\r\n goto(process) {\r\n this.action.emit(process);\r\n }\r\n\r\n refreshMismatchedTable() {\r\n $(\"#mistmatchedReport\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#mistmatchedReport\").bootstrapTable({\r\n data: this.mismatchedYieldDatas,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n }\r\n refreshMismatchedYieldTable() {\r\n $(\"#mismatchedCurrentYearYieldDatas\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#mismatchedCurrentYearYieldDatas\").bootstrapTable({\r\n data: this.mismatchedCurrentYearYieldDatas,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n }\r\n\r\n exportAsXLSX(data, fields, name): void {\r\n this.commonfunctions.downloadTableToExcel(data, fields, name);\r\n }\r\n\r\n}\r\n","module.exports = \".download-excel-container {\\r\\n position: absolute;\\r\\n top: 16px;\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2ZpbGUtdXBsb2FkLXdhcm5pbmdzL2ZpbGUtdXBsb2FkLXdhcm5pbmdzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSSxtQkFBbUI7SUFDbkIsVUFBVTtJQUNWLGdCQUFnQjtDQUNuQiIsImZpbGUiOiJzcmMvYXBwX2Rldi9maWxlLXVwbG9hZC13YXJuaW5ncy9maWxlLXVwbG9hZC13YXJuaW5ncy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLmRvd25sb2FkLWV4Y2VsLWNvbnRhaW5lciB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDE2cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIl19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n No of Blanks Records: {{noOfBlankRecords}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n No of Zeros Records: {{noOfZerosRecords}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n No of Outliers Records: {{noOfoutliersRecords}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n {{data.header}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-file-upload-warnings',\r\n templateUrl: './file-upload-warnings.component.html',\r\n styleUrls: ['./file-upload-warnings.component.css']\r\n})\r\nexport class FileUploadWarningsComponent implements OnInit {\r\n\r\n @Input() excelJsonData: any[] = [];\r\n @Input() years: any[] = [];\r\n @Output() action: EventEmitter = new EventEmitter();\r\n blankData: any[] = [];\r\n blankFields: any[] = [];\r\n @Input() yearErrorData: any[] = [];\r\n yearErrorFields: any[] = [];\r\n zeroData: any[] = [];\r\n totalOutlierCount = 0;\r\n @Input() hideTitle = false\r\n\r\n @Input() warningYield: any;\r\n\r\n blankWarningYields: any = null;\r\n zeroWarningYields: any = null;\r\n outliersWarningYields: any = null;\r\n\r\n noOfBlankRecords: any = null;\r\n noOfZerosRecords: any = null;\r\n noOfoutliersRecords: any = null;\r\n\r\n isLoadingBlank = false\r\n isLoadingZero = false\r\n isLoadingOutlier = false\r\n\r\n\r\n\r\n constructor(private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n if (this.warningYield) {\r\n this.getWarningYieldData()\r\n } else {\r\n this.getTableData(true)\r\n }\r\n }\r\n\r\n async getWarningYieldData() {\r\n this.blankWarningYields = null;\r\n this.zeroWarningYields = null;\r\n this.outliersWarningYields = null;\r\n let {reva_BlankWarningYields,reva_ZeroWarningYields,reva_OutliersWarningYields} = this.warningYield;\r\n reva_BlankWarningYields = reva_BlankWarningYields ? reva_BlankWarningYields[0] || {} : {};\r\n reva_ZeroWarningYields = reva_ZeroWarningYields ? reva_ZeroWarningYields[0] || {} : {};\r\n reva_OutliersWarningYields =reva_OutliersWarningYields ? reva_OutliersWarningYields[0] || {} : {};\r\n if (reva_BlankWarningYields||reva_ZeroWarningYields||reva_OutliersWarningYields) {\r\n this.blankWarningYields = reva_BlankWarningYields;\r\n this.zeroWarningYields = reva_ZeroWarningYields;\r\n this.outliersWarningYields = reva_OutliersWarningYields;\r\n\r\n this.noOfBlankRecords = this.blankWarningYields.noOfRecords\r\n this.noOfZerosRecords = this.zeroWarningYields.noOfRecords\r\n this.noOfoutliersRecords = this.outliersWarningYields.noOfRecords\r\n let years = reva_BlankWarningYields.previousYears||reva_ZeroWarningYields.previousYears||reva_OutliersWarningYields.previousYears;\r\n this.years = years ? years.split(',') : []\r\n const blankData = [] // await this.getJsonFromCsvUrl(reva_BlankWarningYields.azureFilePath, 'blank');\r\n const zeroData = [] // await this.getJsonFromCsvUrl(reva_ZeroWarningYields.azureFilePath, 'zero');\r\n const outliersData = [] // await this.getJsonFromCsvUrl(reva_OutliersWarningYields.azureFilePath, 'outliers');\r\n this.excelJsonData = [...blankData, ...zeroData];\r\n this.yearErrorData = outliersData;\r\n }\r\n this.getTableData();\r\n }\r\n\r\n getTableData(showNoOfRecord?: any) {\r\n const blankData = [];\r\n const zeroData = [];\r\n const yearErrorData = [];\r\n const stateCount = {};\r\n const clusterCount = {};\r\n const districtCount = {};\r\n const tehsilCount = {};\r\n const blockCount = {};\r\n this.totalOutlierCount = this.yearErrorData.map((d: any) => +d.count || 0).reduce((a: any,b: any) => a+b, 0);\r\n for (let index = 0; index < this.excelJsonData.length; index++) {\r\n const data = this.excelJsonData[index];\r\n if (data.zeroError || data.blankError) {\r\n stateCount[data['admin1']] = stateCount[data['admin1']] ? stateCount[data['admin1']] + 1 : 1;\r\n clusterCount[data['cluster_num']] = clusterCount[data['cluster_num']] ? clusterCount[data['cluster_num']] + 1 : 1;\r\n districtCount[`${data['admin1']}-${data['admin2']}`] = districtCount[`${data['admin1']}-${data['admin2']}`] ? districtCount[`${data['admin1']}-${data['admin2']}`] + 1 : 1;\r\n tehsilCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}`] = tehsilCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}`] ? tehsilCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}`] + 1 : 1;\r\n blockCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}-${data['admin4']}`] = blockCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}-${data['admin4']}`] ? blockCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}-${data['admin4']}`] + 1 : 1;\r\n if (data.zeroError) {\r\n for (let i = 0; i < data.zeroError; i++) {\r\n zeroData.push(data);\r\n }\r\n }\r\n\r\n if (data.blankError) {\r\n for (let i = 0; i < data.blankError; i++) {\r\n blankData.push(data);\r\n }\r\n }\r\n }\r\n if (data.yearValueError) {\r\n yearErrorData.push(data);\r\n }\r\n }\r\n\r\n for (let index = 0; index < blankData.length; index++) {\r\n const data = blankData[index];\r\n data.stateCount = stateCount[data['admin1']];\r\n data.clusterCount = stateCount[data['cluster_num']];\r\n data.districtCount = districtCount[`${data['admin1']}-${data['admin2']}`];\r\n data.tehsilCount = tehsilCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}`];\r\n data.blockCount = blockCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}-${data['admin4']}`];\r\n }\r\n blankData.sort((a: any, b: any) => {\r\n if (a.sum_insured == b.sum_insured) {\r\n if (a.stateCount == b.stateCount) {\r\n if (a.clusterCount == b.clusterCount) {\r\n if (a.districtCount == b.districtCount) {\r\n if (a.tehsilCount == b.tehsilCount) {\r\n return b.blockCount - a.blockCount;\r\n } else {\r\n return b.tehsilCount - a.tehsilCount;\r\n }\r\n } else {\r\n return b.districtCount - a.districtCount;\r\n }\r\n } else {\r\n return b.clusterCount - a.clusterCount;\r\n }\r\n } else {\r\n return b.stateCount - a.stateCount\r\n }\r\n } else {\r\n return a.sum_insured - b.sum_insured;\r\n }\r\n })\r\n\r\n for (let index = 0; index < zeroData.length; index++) {\r\n const data = zeroData[index];\r\n data.stateCount = stateCount[data['admin1']];\r\n data.clusterCount = stateCount[data['cluster_num']];\r\n data.districtCount = districtCount[`${data['admin1']}-${data['admin2']}`];\r\n data.tehsilCount = tehsilCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}`];\r\n data.blockCount = blockCount[`${data['admin1']}-${data['admin2']}-${data['admin3']}-${data['admin4']}`];\r\n }\r\n\r\n zeroData.sort((a: any, b: any) => {\r\n if (a.sum_insured == b.sum_insured) {\r\n if (a.stateCount == b.stateCount) {\r\n if (a.clusterCount == b.clusterCount) {\r\n if (a.districtCount == b.districtCount) {\r\n if (a.tehsilCount == b.tehsilCount) {\r\n return b.blockCount - a.blockCount;\r\n } else {\r\n return b.tehsilCount - a.tehsilCount;\r\n }\r\n } else {\r\n return b.districtCount - a.districtCount;\r\n }\r\n } else {\r\n return b.clusterCount - a.clusterCount;\r\n }\r\n } else {\r\n return b.stateCount - a.stateCount\r\n }\r\n } else {\r\n return a.sum_insured - b.sum_insured;\r\n }\r\n })\r\n this.blankData = blankData;\r\n this.zeroData = zeroData\r\n this.blankFields = [\r\n {\r\n \"field\": \"lineNo\",\r\n \"header\": \"Line No\"\r\n },\r\n {\r\n \"field\": \"crop\",\r\n \"header\": \"Crop\"\r\n },\r\n {\r\n \"field\": \"year\",\r\n \"header\": \"Previous Year\"\r\n },\r\n {\r\n \"field\": \"season\",\r\n \"header\": \"Season\"\r\n },\r\n {\r\n \"field\": \"cluster_num\",\r\n \"header\": \"Cluster\"\r\n },\r\n {\r\n \"field\": \"admin2\",\r\n \"header\": \"District\"\r\n },\r\n ...this.years.map(d => ({\r\n \"field\": d+'',\r\n \"header\": d+''\r\n })),\r\n ]\r\n\r\n this.yearErrorFields = [\r\n {\r\n \"field\": \"year\",\r\n \"header\": \"Year\"\r\n },\r\n {\r\n \"field\": \"season\",\r\n \"header\": \"Season\"\r\n },\r\n {\r\n \"field\": \"crop\",\r\n \"header\": \"Crop\"\r\n },\r\n {\r\n \"field\": \"admin1\",\r\n \"header\": \"State\"\r\n },\r\n {\r\n \"field\": \"admin2\",\r\n \"header\": \"District\"\r\n },\r\n {\r\n \"field\": \"average\",\r\n \"header\": \"Average\"\r\n },\r\n {\r\n \"field\": \"max_50\",\r\n \"header\": \"+50%\"\r\n },\r\n {\r\n \"field\": \"min_50\",\r\n \"header\": \"-50%\"\r\n },\r\n ...this.years.map(d => ({\r\n \"field\": d+'',\r\n \"header\": d+''\r\n })),\r\n {\r\n \"field\": \"count\",\r\n \"header\": \"Count\"\r\n }\r\n]\r\n\r\nif (showNoOfRecord) {\r\n this.noOfBlankRecords = this.blankData.length\r\n this.noOfZerosRecords = this.zeroData.length\r\n this.noOfoutliersRecords = this.yearErrorData.length\r\n}\r\n\r\n this.refreshBlankTable();\r\n this.refreshYearErrorTable();\r\n }\r\n\r\n\r\n refreshBlankTable() {\r\n $(\"#blankReport\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#blankReport\").bootstrapTable({\r\n data: this.blankData,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n $(\"#zeroReport\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#zeroReport\").bootstrapTable({\r\n data: this.zeroData,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n }\r\n refreshYearErrorTable() {\r\n $(\"#yearErrorReport\").bootstrapTable(\"destroy\");\r\n setTimeout(() => {\r\n $(\"#yearErrorReport\").bootstrapTable({\r\n data: this.yearErrorData,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n }\r\n\r\n goto(process) {\r\n this.action.emit(process);\r\n }\r\n\r\n exportAsXLSX(data, fields, name): void {\r\n this.commonfunctions.downloadTableToExcel(data, fields, name);\r\n }\r\n\r\n async getJsonFromCsvUrl(url: any, type) {\r\n const jsonData: any[] = [];\r\n const csvText = await fetch(url).then(res => res.text())\r\n if (csvText) {\r\n const records = csvText.split('\\n');\r\n if (records.length > 1) {\r\n const header = records[0].split(',').map(d => d.trim());\r\n for (let i = 1; i < records.length; i++) {\r\n const data = records[i].split(',');\r\n const result: any = {};\r\n header.forEach((k: any, i: any) => result[k] = data[i])\r\n result['lineNo'] = result.csvRowNumber;\r\n if (type == 'blank') {\r\n result['blankError'] = true;\r\n } else if (type == 'zero') {\r\n result['zeroError'] = true;\r\n } else if (type == 'outliers') {\r\n result['max_50'] = result.plusFifty;\r\n result['min_50'] = result.minusFifty;\r\n // result['average'] = result['avaerage'];\r\n }\r\n jsonData.push(result)\r\n }\r\n }\r\n }\r\n return jsonData;\r\n }\r\n\r\n downloadFile(data, field, name, warningYield) {\r\n if (warningYield && warningYield.azureFilePath) {\r\n const element = document.createElement('a');\r\n element.href = warningYield.azureFilePath;\r\n element.target = 'download';\r\n element.click();\r\n element.remove();\r\n } else {\r\n this.exportAsXLSX(data, field, name);\r\n }\r\n }\r\n\r\n async displayBlankData(warningYields) {\r\n this.isLoadingBlank = true;\r\n const blankData = await this.getJsonFromCsvUrl(warningYields.azureFilePath, 'blank');\r\n blankData.sort((a: any, b: any) => {\r\n if (a.sum_insured == b.sum_insured) {\r\n if (a.stateCount == b.stateCount) {\r\n if (a.clusterCount == b.clusterCount) {\r\n if (a.districtCount == b.districtCount) {\r\n if (a.tehsilCount == b.tehsilCount) {\r\n return b.blockCount - a.blockCount;\r\n } else {\r\n return b.tehsilCount - a.tehsilCount;\r\n }\r\n } else {\r\n return b.districtCount - a.districtCount;\r\n }\r\n } else {\r\n return b.clusterCount - a.clusterCount;\r\n }\r\n } else {\r\n return b.stateCount - a.stateCount\r\n }\r\n } else {\r\n return a.sum_insured - b.sum_insured;\r\n }\r\n })\r\n this.blankData = blankData\r\n this.noOfBlankRecords = this.blankData.length\r\n this.refreshBlankTable();\r\n this.isLoadingBlank = false;\r\n }\r\n async displayZeroData(warningYields) {\r\n this.isLoadingZero = true;\r\n const zeroData = await this.getJsonFromCsvUrl(warningYields.azureFilePath, 'blank');\r\n zeroData.sort((a: any, b: any) => {\r\n if (a.sum_insured == b.sum_insured) {\r\n if (a.stateCount == b.stateCount) {\r\n if (a.clusterCount == b.clusterCount) {\r\n if (a.districtCount == b.districtCount) {\r\n if (a.tehsilCount == b.tehsilCount) {\r\n return b.blockCount - a.blockCount;\r\n } else {\r\n return b.tehsilCount - a.tehsilCount;\r\n }\r\n } else {\r\n return b.districtCount - a.districtCount;\r\n }\r\n } else {\r\n return b.clusterCount - a.clusterCount;\r\n }\r\n } else {\r\n return b.stateCount - a.stateCount\r\n }\r\n } else {\r\n return a.sum_insured - b.sum_insured;\r\n }\r\n })\r\n this.zeroData = zeroData\r\n this.noOfZerosRecords = this.zeroData.length;\r\n this.refreshBlankTable();\r\n this.isLoadingZero = false;\r\n }\r\nasync displayOutliersData(warningYields) {\r\n this.isLoadingOutlier = true\r\n const outliersData = await this.getJsonFromCsvUrl(warningYields.azureFilePath, 'outliers');\r\n this.yearErrorData = outliersData;\r\n this.noOfoutliersRecords = this.yearErrorData.length;\r\n this.refreshYearErrorTable();\r\n this.isLoadingOutlier = false;\r\n}\r\n\r\n}\r\n","module.exports = \"\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.flDataborder {\\r\\n border-bottom: 1pt solid rgba(23, 87, 136, 1) !important\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2ZpbmFsbG9hZGluZ2NvbmZpZy9maW5hbGxvYWRpbmdjb25maWcuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7Q0FDQyxtQ0FBbUM7SUFDaEMsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsaUJBQWlCO0NBQ3BCOztBQUVEO0lBQ0ksd0RBQXdEO0NBQzNEIiwiZmlsZSI6InNyYy9hcHBfZGV2L2ZpbmFsbG9hZGluZ2NvbmZpZy9maW5hbGxvYWRpbmdjb25maWcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYnJvd3NlLWJ0bntcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZDogI2VmZWRlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5mbERhdGFib3JkZXIge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB0IHNvbGlkIHJnYmEoMjMsIDg3LCAxMzYsIDEpICFpbXBvcnRhbnRcclxufSJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Subsection loading/discount configurator

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

    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{'Revised Rates for ' + cursubsectionname}}
    \\r\\n
    \\r\\n
    \\r\\n The rates will be effective in 15 minutes of confirmation\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    \\r\\n

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

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    {{'Rates for ' + cursubsectionname}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoLoading/DiscountsSub SectionEffective DateView
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n \\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n \"","import { Component, OnInit } from '@angular/core';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\n@Component({\r\n selector: 'app-finalloadingconfig',\r\n templateUrl: './finalloadingconfig.component.html',\r\n styleUrls: ['./finalloadingconfig.component.css']\r\n})\r\nexport class FinalloadingconfigComponent implements OnInit {\r\n TieUpListForm: any;\r\n showModal: boolean = false;\r\n showPopup: boolean = false;\r\n showPopupGrid: boolean = false;\r\n showTable: boolean = false;\r\n tieuplist: any;\r\n countryList: any;\r\n btn_name: string = \"VIEW\";\r\n loading: boolean = false;\r\n resArray: any;\r\n tableData: any;\r\n tableDatapopup: any;\r\n ldItems=new Array();\r\n subsectionlist=new Array(); \r\n fileList: FileList;\r\n curLDname: string;\r\n cursubsectionname: string;\r\n wfEntry: boolean=false;\r\n finalLoadingData: any;\r\n \r\n finalLoadingForm : any;\r\n fileNameVal: any;\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.TieUpListForm = this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n country: [\"\", Validators.required]\r\n });\r\n \r\n this.finalLoadingForm = this.formBuilder.group({ \r\n tieupID: [\"\", Validators.required], \r\n loadingDiscountID: [\"\", Validators.required], \r\n subSectionKey: [\"\", Validators.required], \r\n fileName: [\"\"]\r\n });\r\n\r\n this.loadDropDown();\r\n\r\n var obj = this;\r\n var rowindex = {};\r\n var obj=this;\r\n $(\"#tblfinalloading\").on(\"click\", \".edit\", function (e) {\r\n var rowData=rowindex;\r\n obj.showPopupGrid = true; \r\n obj.curLDname=rowData[\"loadingDiscountName\"];\r\n obj.cursubsectionname=rowData[\"subSectionName\"];\r\n if(rowData[\"loadingDiscountID\"]=='weather_forecast')\r\n {\r\n obj.wfEntry=true;\r\n obj.finalLoadingData=rowData[\"finalLoadingWF\"];\r\n }\r\n else{obj.wfEntry=false;\r\n obj.finalLoadingData=rowData[\"finalLoadingOtherLoadings\"];\r\n } \r\n });\r\n $(\"#tblfinalloading\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n });\r\n $(\"#tblfinalloading\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getReportList();\r\n });\r\n }\r\n\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.countryList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n showTieupList() {\r\n this.showTable = false;\r\n this.showModal = false;\r\n this.tieuplist = [];\r\n this.TieUpListForm.controls.tieupID.setValue('');\r\n this.apiData.getdropdownList.selectedcountry(this.TieUpListForm.value.country);\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n this.apiData.getdropdownList.getTieUplistByCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n showtable(action) {\r\n if (action == \"VIEW\") {\r\n if (this.validate.submitDetails(this.TieUpListForm)) { \r\n this.apiData.finalloadingApi.saveId(this.TieUpListForm.value.tieupID)\r\n this.getReportList();\r\n this.showModal = true;\r\n\r\n //load ld items here \r\n this.loadldItems(); \r\n } \r\n } \r\n this.fileNameVal = \"\";\r\n }\r\n \r\n loadldItems() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getloadingItems(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.ldItems = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n showsubSectionKey() {\r\n this.setloadingdiscountName();\r\n this.subsectionlist = new Array();\r\n this.finalLoadingForm.controls.subSectionKey.setValue('');\r\n this.apiData.getdropdownList.selectedLDkey(this.finalLoadingForm.value.loadingDiscountID);\r\n this.finalLoadingForm.controls.subSectionKey.enable(true);\r\n this.apiData.getdropdownList.getsubsectionsbyLD(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.subsectionlist = result.data;\r\n this.finalLoadingForm.controls.subSectionKey.enable(true);\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n setloadingdiscountName() {\r\n for(var i=0;i {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.loading = false; \r\n this.prepareJson(result);\r\n $(\"#tblfinalloading\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#tblfinalloading\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showTable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n if (!this.validate.isUndefined(resData.data[i][\"effectiveDate\"])) {\r\n let date = resData.data[i][\"effectiveDate\"].split('T');\r\n resArray1[\"effectiveDate\"] = date[0];\r\n } else {\r\n resArray1[\"effectiveDate\"] = resData.data[i][\"effectiveDate\"];\r\n }\r\n resArray1[\"effectiveDateWithTime\"] = this.validate.convertDate(resData.data[i][\"effectiveDate\"]);\r\n resArray1[\"loadingDiscountName\"] = resData.data[i][\"loadingDiscountName\"];\r\n resArray1[\"subSectionName\"] = resData.data[i][\"subSectionName\"]; \r\n resArray1[\"loadingDiscountID\"] = resData.data[i][\"loadingDiscountID\"];\r\n resArray1[\"subSectionKey\"] = resData.data[i][\"subSectionKey\"];\r\n resArray1[\"finalLoadingData\"] = resData.data[i][\"finalLoadingData\"];\r\n resArray1[\"finalLoadingWF\"] = resData.data[i][\"finalLoadingWF\"];\r\n resArray1[\"finalLoadingOtherLoadings\"] = resData.data[i][\"finalLoadingOtherLoadings\"]; \r\n resArray1[\"sno\"] = i + 1;\r\n resArray1[\"action\"] =\r\n '
    View
    ';\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n\r\n fileChange(event): void { \r\n this.fileNameVal=\"\";\r\n let getFile = event.target.files; \r\n let array = getFile[0].name.split('.');\r\n if (array[array.length - 1] == \"csv\") {\r\n this.fileList = getFile; \r\n this.fileNameVal=this.fileList[0].name;\r\n this.finalLoadingForm.controls.fileName.setValue(this.fileList[0].name); \r\n } else { \r\n this.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n }\r\n }\r\n formRequest() {\r\n const formData = new FormData();\r\n formData.append(\"tieupID\", this.finalLoadingFormControls.tieupID.value);\r\n formData.append(\"country\", this.TieUpListForm.controls.country.value);\r\n formData.append(\"loadingDiscountID\", this.finalLoadingFormControls.loadingDiscountID.value);\r\n formData.append(\"subSectionKey\", this.finalLoadingFormControls.subSectionKey.value);\r\n formData.append(\"createdBy\", this.alertService.getUserDetails('getid'));\r\n formData.append(\"tenantId\", this.alertService.getUserDetails('getTenant'));\r\n formData.append('file', this.fileList[0], this.fileList[0].name);\r\n this.apiData.saveData.pushdata(formData);\r\n }\r\n get finalLoadingFormControls() {\r\n return this.finalLoadingForm.controls;\r\n }\r\n\r\n closeModel() { \r\n this.fileNameVal=\"\";\r\n this.finalLoadingForm.reset();\r\n } \r\n\r\n reloadTable() {\r\n this.closeModel(); \r\n this.showtable(\"VIEW\"); \r\n }\r\n\r\n viewForm() { \r\n this.finalLoadingForm.controls.tieupID.setValue(this.TieUpListForm.value.tieupID); \r\n if (this.validate.submitDetails(this.finalLoadingForm) && !this.validate.isUndefined(this.fileNameVal)) {\r\n this.loading = true;\r\n this.formRequest(); \r\n this.apiData.finalloadingApi.uploadfinalloading(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) { \r\n this.showPopup = true;\r\n this.setsubsectionName();\r\n this.setloadingdiscountName();\r\n this.finalLoadingData=result.data;\r\n } \r\n else if (result.status == 0 && result.message=='invalidfile') {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n if (this.finalLoadingForm.status == \"VALID\" && this.validate.isUndefined(this.fileNameVal)) {\r\n this.validate.popUpAlert(\"Please Upload CSV file\", \"\", \"error\");\r\n }\r\n } \r\n }\r\n\r\n saveForm() { \r\n this.finalLoadingForm.controls.tieupID.setValue(this.TieUpListForm.value.tieupID); \r\n let message = \"Final loading details saved successfully\"; \r\n if (this.validate.submitDetails(this.finalLoadingForm) && !this.validate.isUndefined(this.fileNameVal)) {\r\n this.loading = true;\r\n this.formRequest(); \r\n this.apiData.finalloadingApi.savefinalloading(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) { \r\n this.reloadTable();\r\n this.showPopup = false; \r\n this.validate.popUpAlert(message, \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n if (this.finalLoadingForm.status == \"VALID\" && this.validate.isUndefined(this.fileNameVal)) {\r\n this.validate.popUpAlert(\"Please Upload CSV file\", \"\", \"error\");\r\n }\r\n } \r\n }\r\n\r\n fnReSetFinalLoadingForm()\r\n {\r\n this.fileNameVal=\"\";\r\n this.finalLoadingForm.reset();\r\n } \r\n}\r\n","module.exports = \"\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJzcmMvYXBwX2Rldi9nbG9iYWwtZGVmYXVsdHMvZ2xvYmFsLWRlZmF1bHRzLmNvbXBvbmVudC5jc3MifQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Global defaults

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_min']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_max']}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n {{perceptionData.errorMessage[subData.key+'_'+perceptionData.text+'_percentage']}}\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n Requried\\r\\n\\r\\n 200\\\">{{subData.title}} value should be between -50 to 200\\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{data.loadingDiscountName}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n E.g. for Loading 10% for discounting -10%\\r\\n Required\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-global-defaults\",\r\n templateUrl: \"./global-defaults.component.html\",\r\n styleUrls: [\"./global-defaults.component.css\"],\r\n})\r\nexport class GlobalDefaultsComponent implements OnInit {\r\n loading = false;\r\n configData: any;\r\n math = Math;\r\n booleanOptions: any[] = [];\r\n detrending: any;\r\n gpDownscaling: any;\r\n catastropheLoading: any;\r\n prevented_sowing_loading: any;\r\n current_year: any;\r\n years: any[] = [];\r\n weightageFields = [\"weather_forecast\", \"farm_management_practices\", \"ground_level_expertise\"]\r\n\r\n constructor(\r\n private apiData: ApiService,\r\n private validate: MandatoryfieldService\r\n ) {\r\n this.booleanOptions = [\r\n {text: 'False', value: 'False'},\r\n {text: 'True', value: 'True'}\r\n ]\r\n for (let i = 2017; i <= 2030; i++) {\r\n this.years.push({text: i, value: i})\r\n }\r\n }\r\n\r\n ngOnInit() {\r\n this.fetchConfigData();\r\n }\r\n\r\n fetchConfigData() {\r\n this.loading = true;\r\n this.apiData.loadingApi.getloadingDiscount(\r\n (res: any) => {\r\n this.loading = false;\r\n if (res && res.status == 1) {\r\n this.getDefautForFinalLoading();\r\n this.configData = res.data;\r\n this.validateAllData();\r\n }\r\n },\r\n (err) => {\r\n this.loading = false;\r\n }\r\n );\r\n }\r\n\r\n getDefautForFinalLoading() {\r\n this.loading = true;\r\n this.apiData.finalLoadingDefaultLoadingByTieupId().then((res: any) => {\r\n if (res && res.status == 1) {\r\n const data = res.data || {};\r\n this.detrending = data.detrending ? 'True' : 'False';\r\n this.gpDownscaling = data.gpDownscaling ? 'True' : 'False';\r\n this.catastropheLoading = data.catastropheLoading ? 'True' : 'False';\r\n this.prevented_sowing_loading = data.preventedSowingLoading ? 'True' : 'False';\r\n this.current_year = data.currentYear;\r\n }\r\n this.loading = false\r\n }).catch(err => {\r\n this.loading = false;\r\n })\r\n\r\n }\r\n\r\n\r\n onPerceptionValueChange(uwPerceptionData: any, subSection: any) {\r\n this.validPerceptionData(uwPerceptionData, subSection);\r\n }\r\n\r\n onStateLoadingChange(subData: any) {\r\n if (!subData.finalLoadingPercentage) {\r\n subData.finalLoadingPercentage = 0;\r\n }\r\n }\r\n\r\n onCardSave(data, indx) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n for (\r\n let index = 0;\r\n index < this.configData.ldWithSubSections.length;\r\n index++\r\n ) {\r\n const ldWithSubSections = this.configData.ldWithSubSections[index];\r\n ldWithSubSections.isCollapsed = true;\r\n if (indx == index) {\r\n ldWithSubSections.isDataSaved = true;\r\n }\r\n }\r\n\r\n if (indx < this.configData.ldWithSubSections.length - 1) {\r\n this.configData.ldWithSubSections[indx + 1].isCollapsed = false;\r\n this.openCard(\r\n this.configData.ldWithSubSections[indx + 1].loadingDiscountID\r\n );\r\n } else {\r\n this.closeCard(this.configData.ldWithSubSections[indx].loadingDiscountID);\r\n }\r\n }\r\n\r\n onCardToggle(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.toogleCard(loadingDiscountID);\r\n }\r\n\r\n onCardEdit(loadingDiscountID) {\r\n if (!this.validateCard()) {\r\n return;\r\n }\r\n this.openCard(loadingDiscountID);\r\n }\r\n\r\n onDefaultChange(perceptionData, pindx) {\r\n for (let index = 0; index < perceptionData.length; index++) {\r\n if (index != pindx) {\r\n const element = perceptionData[index];\r\n element.defaultUWPerception = false;\r\n }\r\n }\r\n }\r\n\r\n toogleCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"toggle\");\r\n }\r\n openCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"show\");\r\n }\r\n closeCard(loadingDiscountID) {\r\n $(`#${loadingDiscountID}`).collapse(\"hide\");\r\n }\r\n\r\n validateAllData() {\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n this.validPerceptionData(subSection.uwPerceptionData, subSection);\r\n }\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n // if (\r\n // [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n // ) {\r\n // errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n // break;\r\n // }\r\n }\r\n }\r\n }\r\n\r\n validPerceptionData(uwPerceptionData: any, subSection: any) {\r\n const errorMessage = {};\r\n if (Array.isArray(uwPerceptionData)) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(perception.finalLoadingPercentageMin)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] =\r\n \"Min value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(perception.finalLoadingPercentageMax)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[`${subSection.key}_${perception.text}_max`] =\r\n \"Max value is requried\";\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(perception.finalLoadingPercentage)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Percentage value is requried\";\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] =\r\n \"Min value should be less than Max value\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage[`${subSection.key}_${perception.text}_min`] =\r\n \"Min value should be selected from given options only\";\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage[`${subSection.key}_${perception.text}_max`] =\r\n \"Max value should be selected from given options only\";\r\n }\r\n if (\r\n ![null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n ) &&\r\n ![null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n ) &&\r\n ![null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n ) &&\r\n (perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax)\r\n ) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Final loading value should be between min and max value\";\r\n } else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage[`${subSection.key}_${perception.text}_percentage`] =\r\n \"Final loading value should not have decimal number\";\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n // errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage[\r\n `${subSection.key}_${perception.text}_percentage`\r\n ] = `${subSection.title}'s ${perception.text}'s value is requried`;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage[\r\n `${subSection.key}_${perception.text}_percentage`\r\n ] = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n }\r\n }\r\n perception.errorMessage = errorMessage;\r\n }\r\n }\r\n }\r\n\r\n validateCard() {\r\n const collapseId = $(\".collapse.show\").prop(\"id\");\r\n if (collapseId) {\r\n let errorMessage: any = { msg: null, eleId: null };\r\n this.configData;\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n debugger\r\n if (Array.isArray(ldWithSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (element.loadingDiscountID == collapseId) {\r\n let totalFinalLoadingWeightageApplied = 0;\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (\r\n [null, undefined, \"\"].includes(\r\n subSection.finalLoadingWeightageApplied\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_weightage}`;\r\n errorMessage.msg = \"weightage value should not be empty\";\r\n break;\r\n }\r\n if (this.weightageFields.includes(element.loadingDiscountID)) {\r\n totalFinalLoadingWeightageApplied += subSection.finalLoadingWeightageApplied\r\n }\r\n if (subSection.uwPerceptionData) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) =>\r\n +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n } else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = 'Final loading value should not have decimal number';\r\n break;\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text}'s value is empty`;\r\n break;\r\n } else if (\r\n perception.value < -100 || perception.value > 200\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text} value should be between -100 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n subSection.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title}'s value is empty`;\r\n break;\r\n } else {\r\n if (subSection.finalLoadingPercentage < -50 || subSection.finalLoadingPercentage > 200) {\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value should be between -50 to 200`;\r\n break\r\n }\r\n }\r\n\r\n }\r\n }\r\n if (totalFinalLoadingWeightageApplied != 100 && !errorMessage.msg && this.weightageFields.includes(element.loadingDiscountID)) {\r\n errorMessage.msg = `Total weightages should be equal to 100`;\r\n }\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid Config Data\";\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n });\r\n swal.finally(() => {\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector(\r\n \"#\" + errorMessage.eleId\r\n );\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500);\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n validateData() {\r\n let errorMessage: any = { msg: null, eleId: null, collapseId: null };\r\n const ldWithSubSections = this.configData.ldWithSubSections;\r\n const ldNoSubSections = this.configData.ldNoSubSections;\r\n let totalSubSectionWeightage = 0;\r\n if (Array.isArray(ldWithSubSections) && Array.isArray(ldNoSubSections)) {\r\n for (let index = 0; index < ldWithSubSections.length; index++) {\r\n const element = ldWithSubSections[index];\r\n if (this.weightageFields.includes(element.loadingDiscountID)) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n element.sectionFinalLoadingWeightagePercentage\r\n )\r\n ) {\r\n errorMessage.eleId = `${element.key}_weightage}`;\r\n errorMessage.msg = \"Weightage value should not be empty\";\r\n break;\r\n }\r\n totalSubSectionWeightage += element.sectionFinalLoadingWeightagePercentage;\r\n }\r\n let totalFinalLoadingWeightageApplied = 0;\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (this.weightageFields.includes(element.loadingDiscountID)) {\r\n totalFinalLoadingWeightageApplied += subSection.finalLoadingWeightageApplied\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n subSection.finalLoadingWeightageApplied\r\n )\r\n ) {\r\n errorMessage.eleId = `${subSection.key}_weightage}`;\r\n errorMessage.msg = \"Weightage value should not be empty\";\r\n break;\r\n }\r\n if (subSection.uwPerceptionData) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n if (perception.options) {\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg = \"Max Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(\r\n perception.finalLoadingPercentage\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = \"Percentage Value should not be empty\";\r\n break;\r\n }\r\n if (\r\n +perception.finalLoadingPercentageMin >\r\n +perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg = \"Min value should be less than Max value\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMin\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_min`;\r\n errorMessage.msg =\r\n \"Min value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n !perception.options.find(\r\n (opt) => +opt.value == +perception.finalLoadingPercentageMax\r\n )\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_max`;\r\n errorMessage.msg =\r\n \"Max value should be selected from given options only\";\r\n break;\r\n }\r\n if (\r\n perception.finalLoadingPercentage <\r\n perception.finalLoadingPercentageMin ||\r\n perception.finalLoadingPercentage >\r\n perception.finalLoadingPercentageMax\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg =\r\n \"Final loading value should be between min and max value\";\r\n break;\r\n } else if ((+perception.finalLoadingPercentage % 1) != 0) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = 'Final loading value should not have decimal number';\r\n break;\r\n }\r\n } else {\r\n if ([null, undefined, \"\"].includes(perception.value)) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text}'s value is empty`;\r\n break;\r\n } else if (perception.value < -100 || perception.value > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}_${perception.text}_percentage`;\r\n errorMessage.msg = `${subSection.title}'s ${perception.text}'s value should be between -100 to 200`;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(subSection.finalLoadingPercentage)\r\n ) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title}'s value is empty`;\r\n break;\r\n } else {\r\n if (subSection.finalLoadingPercentage < -50 || subSection.finalLoadingPercentage > 200) {\r\n errorMessage.collapseId = element.loadingDiscountID;\r\n errorMessage.eleId = `${subSection.key}`;\r\n errorMessage.msg = `${subSection.title} value should be between -50 to 200`;\r\n break\r\n }\r\n }\r\n }\r\n }\r\n if (totalFinalLoadingWeightageApplied != 100 && !errorMessage.msg && this.weightageFields.includes(element.loadingDiscountID)) {\r\n errorMessage.msg = `${element.loadingDiscountName}' total weightage should equal to 100`;\r\n }\r\n }\r\n if (totalSubSectionWeightage != 100 && !errorMessage.msg) {\r\n errorMessage.msg = `Total weightages should be equal to 100`;\r\n }\r\n for (let index = 0; index < ldNoSubSections.length; index++) {\r\n const element = ldNoSubSections[index];\r\n if (errorMessage.msg) {\r\n break;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(element.totalFinalLoadingPercentage)\r\n ) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should not be empty`;\r\n break;\r\n } else {\r\n if (element.loadingDiscountID !== 'commercial_discount' && (element.totalFinalLoadingPercentage < -100 || element.totalFinalLoadingPercentage > 200)) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should be between -100 to 200`;\r\n break\r\n }\r\n if (element.loadingDiscountID === 'commercial_discount' && (element.totalFinalLoadingPercentage < -50 || element.totalFinalLoadingPercentage > 200)) {\r\n errorMessage.eleId = element.loadingDiscountID;\r\n errorMessage.msg = `${element.loadingDiscountName} value should be between -50 to 200`;\r\n break\r\n }\r\n }\r\n }\r\n } else {\r\n errorMessage.msg = \"Invalid config data\";\r\n }\r\n\r\n if (\r\n [null, undefined, \"\"].includes(this.detrending) && !errorMessage.msg\r\n ) {\r\n errorMessage.eleId = \"select-detrending\";\r\n errorMessage.msg = `De-trending value should not be empty`;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(this.gpDownscaling) && !errorMessage.msg\r\n ) {\r\n errorMessage.eleId = \"select-gpDownscaling\";\r\n errorMessage.msg = ` GP Downscaling value should not be empty`;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(this.catastropheLoading) && !errorMessage.msg\r\n ) {\r\n errorMessage.eleId = \"select-catastropheLoading\";\r\n errorMessage.msg = `Catastrophe Loading value should not be empty`;\r\n }\r\n if (\r\n [null, undefined, \"\"].includes(this.prevented_sowing_loading) && !errorMessage.msg\r\n ) {\r\n errorMessage.eleId = \"select-prevented_sowing_loading\";\r\n errorMessage.msg = `Prevented Sowing Loading value should not be empty`;\r\n }\r\n\r\n if (errorMessage.msg) {\r\n const swal: any = Swal({\r\n title: \"Required\",\r\n text: errorMessage.msg,\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n });\r\n swal.finally(() => {\r\n if (errorMessage.collapseId) {\r\n this.openCard(errorMessage.collapseId);\r\n }\r\n if (errorMessage.eleId) {\r\n const element: any = document.querySelector(\"#\" + errorMessage.eleId);\r\n if (element) {\r\n setTimeout(() => {\r\n element.scrollIntoView();\r\n element.focus();\r\n }, 500);\r\n }\r\n }\r\n });\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n onSubmit(formData) {\r\n if (!this.validateData()) {\r\n return false;\r\n }\r\n const configData = JSON.parse(JSON.stringify(this.configData));\r\n const ldWithSubSections = [];\r\n const ldNoSubSections = [];\r\n if (configData) {\r\n const reqldWithSubSections = configData.ldWithSubSections;\r\n const reqldNoSubSections = configData.ldNoSubSections;\r\n if (\r\n Array.isArray(reqldWithSubSections) &&\r\n Array.isArray(ldNoSubSections)\r\n ) {\r\n for (let index = 0; index < reqldWithSubSections.length; index++) {\r\n const element = reqldWithSubSections[index];\r\n const idWithSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n sectionFinalLoadingWeightagePercentage: element.sectionFinalLoadingWeightagePercentage,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n for (\r\n let subSecIndx = 0;\r\n subSecIndx < element.subSections.length;\r\n subSecIndx++\r\n ) {\r\n const subSection = element.subSections[subSecIndx];\r\n if (subSection.uwPerceptionData) {\r\n for (\r\n let perpIndex = 0;\r\n perpIndex < subSection.uwPerceptionData.length;\r\n perpIndex++\r\n ) {\r\n const perception = subSection.uwPerceptionData[perpIndex];\r\n const reqSubSec = {\r\n key: subSection.key,\r\n weightage: subSection.weightage,\r\n title: subSection.title,\r\n seqno: subSection.seqno,\r\n uwPerception: perception.text,\r\n finalLoadingPercentage:\r\n perception.finalLoadingPercentage || perception.value,\r\n finalLoadingPercentageMin:\r\n perception.finalLoadingPercentageMin,\r\n finalLoadingPercentageMax:\r\n perception.finalLoadingPercentageMax,\r\n defaultUWPerception: perception.defaultUWPerception,\r\n finalLoadingWeightageApplied:\r\n subSection.finalLoadingWeightageApplied,\r\n };\r\n idWithSubSecObj.subSections.push(reqSubSec);\r\n }\r\n } else {\r\n const reqSubSec = {\r\n key: subSection.key,\r\n weightage: subSection.weightage,\r\n title: subSection.title,\r\n seqno: subSection.seqno,\r\n finalLoadingPercentage: subSection.finalLoadingPercentage,\r\n finalLoadingWeightageApplied:\r\n subSection.finalLoadingWeightageApplied,\r\n };\r\n idWithSubSecObj.subSections.push(reqSubSec);\r\n }\r\n }\r\n ldWithSubSections.push(idWithSubSecObj);\r\n }\r\n for (let index = 0; index < reqldNoSubSections.length; index++) {\r\n const element = reqldNoSubSections[index];\r\n const idNoSubSecObj = {\r\n loadingDiscountID: element.loadingDiscountID,\r\n loadingDiscountName: element.loadingDiscountName,\r\n isMandatory: element.isMandatory,\r\n isActive: element.isActive,\r\n ldWeightage: element.ldWeightage,\r\n subSections: [],\r\n totalFinalLoadingPercentage: element.totalFinalLoadingPercentage,\r\n sectionTotalLoadingDiscount: element.sectionTotalLoadingDiscount,\r\n isEnable: element.isEnable,\r\n seqno: element.seqno,\r\n };\r\n ldNoSubSections.push(idNoSubSecObj);\r\n }\r\n }\r\n }\r\n let request = {\r\n tieupID: null,\r\n tenantId: null,\r\n updatedBy: null,\r\n id: null,\r\n ldWithSubSections,\r\n ldNoSubSections,\r\n detrending: this.detrending == \"True\" ? true : false,\r\n gpDownscaling: this.gpDownscaling == \"True\" ? true : false,\r\n catastropheLoading: this.catastropheLoading == \"True\" ? true : false,\r\n preventedSowingLoading: this.prevented_sowing_loading == \"True\" ? true : false,\r\n currentYear: this.current_year\r\n };\r\n request = this.apiData.getParam(request, \"global\");\r\n this.loading = true;\r\n this.apiData\r\n .configureDefaultLoadingDiscount(request)\r\n .then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n this.fetchConfigData();\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading = false;\r\n })\r\n .catch((err) => {\r\n this.validate.popUpAlert(\r\n \"Unable to update global discount\",\r\n \"Error\",\r\n \"error\"\r\n );\r\n this.loading = false;\r\n });\r\n }\r\n\r\n avoidDecimal(event: any): any | void {\r\n if (event.key == '.') {\r\n event.stopPropagation();\r\n return false;\r\n }\r\n }\r\n}\r\n","module.exports = \".navBorder {\\r\\n border-bottom-color: #e9ecef !important;\\r\\n border-bottom-style: solid !important;\\r\\n border-radius: 0px;\\r\\n /* background-color: #175788; */\\r\\n background-image: linear-gradient(#ffffff 50%,#175788 50%); \\r\\n height: 195px;\\r\\n position: absolute;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.nav-pills .nav-item.show .nav-link{\\r\\n background-color: #175788!important;\\r\\n}\\r\\n\\r\\n.navhead {\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.navbar-login {\\r\\n padding: 10px;\\r\\n padding-bottom: 0px;\\r\\n}\\r\\n\\r\\n.navbar-login-session {\\r\\n padding: 10px;\\r\\n padding-bottom: 0px;\\r\\n padding-top: 0px;\\r\\n}\\r\\n\\r\\n.icon-size {\\r\\n font-size: 87px;\\r\\n}\\r\\n\\r\\n.dropdown-menu{\\r\\n box-shadow: 0px 7px 45px -10px #b6b6b6!important;\\r\\n border:none!important;\\r\\n border-radius: 0px!important;\\r\\n}\\r\\n\\r\\n.icon-home{\\r\\n color: #dada04;cursor:pointer;\\r\\n font-size: 2.1em;\\r\\n}\\r\\n\\r\\n.in-active{\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\na.forget-link{\\r\\n\\tcolor: #175788;\\r\\n font-weight: 600;\\r\\n font-size: 12px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n\\r\\n/***********header style**************/\\r\\n\\r\\n.nav-text {\\r\\n color: #ffffff!important;\\r\\n white-space: nowrap;\\r\\n font-family: \\\"Roboto-Light\\\";\\r\\n font-size: 14px;\\r\\n}\\r\\n\\r\\n/***************************/\\r\\n\\r\\n@media only screen and (max-width: 980px) {\\r\\n\\t.nav-text{\\r\\n font-size: 0.7em!important;\\r\\n /* white-space: unset!important; */\\r\\n }\\r\\n .icon-home{\\r\\n color: #dada04;cursor:pointer;\\r\\n font-size: 2.3em;\\r\\n }\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1700px) {\\r\\n\\t.nav-text{\\r\\n font-size: 1em!important;\\r\\n /* white-space: unset!important; */\\r\\n }\\r\\n .icon-home{\\r\\n color: #dada04;cursor:pointer;\\r\\n font-size: 2em;\\r\\n }\\r\\n}\\r\\n\\r\\n.mail-text{\\r\\n font-size: 12px;\\r\\n /* word-break: break-word; */\\r\\n font-weight: 600;\\r\\n overflow: hidden;\\r\\n text-overflow: ellipsis;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n.navbar .nav > li > .dropdown-menu::before , .navigate .dropdown-menu::before{\\r\\n position: absolute;\\r\\n top: -7px;\\r\\n right: 50%;\\r\\n display: inline-block;\\r\\n border-right: 7px solid transparent;\\r\\n border-bottom: 7px solid #CCC;\\r\\n border-left: 7px solid transparent;\\r\\n border-bottom-color: rgba(0, 0, 0, 0.2);\\r\\n content: '';\\r\\n}\\r\\n\\r\\n.navbar .nav > li > .dropdown-menu::after ,.navigate .dropdown-menu::after{\\r\\n position: absolute;\\r\\n top: -6px;\\r\\n right: 50%;\\r\\n display: inline-block;\\r\\n border-right: 6px solid transparent;\\r\\n border-bottom: 6px solid white;\\r\\n border-left: 6px solid transparent;\\r\\n content: '';\\r\\n }\\r\\n\\r\\n.scroll-container{\\r\\n overflow: auto;\\r\\n}\\r\\n\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n\\r\\n.scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n\\r\\n.sm-show{\\r\\n display: none;\\r\\n}\\r\\n\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .sm-width{\\r\\n width: 50%!important;\\r\\n }\\r\\n .sm-none{\\r\\n display: none;\\r\\n }\\r\\n .sm-show{\\r\\n display: block;\\r\\n }\\r\\n}\\r\\n\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n*/\\r\\n\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .sm-width{\\r\\n width: 50%!important;\\r\\n }\\r\\n .sm-none{\\r\\n display: none;\\r\\n }\\r\\n .sm-show{\\r\\n display: block;\\r\\n }\\r\\n}\\r\\n\\r\\n.short-width{\\r\\n min-width: 160px;\\r\\n}\\r\\n\\r\\n.long-width{\\r\\n min-width: 195px;\\r\\n}\\r\\n\\r\\n.sub-title-wel{\\r\\n font-size: 12px;color: #175788!important;font-weight: 600;\\r\\n}\\r\\n\\r\\n.sub-title-user{\\r\\n color: #175788!important;font-weight: 600;font-size: 16px;white-space: nowrap;\\r\\n}\\r\\n\\r\\ndiv#nav > ul{\\r\\n padding: 20px;\\r\\n margin: 0 auto;\\r\\n padding: 0 auto;\\r\\n}\\r\\n\\r\\ndiv#nav > ul > li,\\r\\ndiv#nav > ul > li > ul > li {\\r\\n list-style-type: none;\\r\\n text-align: left;\\r\\n}\\r\\n\\r\\ndiv#nav > ul > li {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\ndiv#nav > ul > li > a,\\r\\ndiv#nav > ul > li > ul > li > a {\\r\\n text-decoration: none;\\r\\n}\\r\\n\\r\\n/****************\\r\\nLINKS STYLING AND LINKS HOVERS\\r\\n***************/\\r\\n\\r\\ndiv#nav > ul > li > a {\\r\\n padding: 10px;\\r\\n padding: 6px 7px 0px 34px;\\r\\n}\\r\\n\\r\\n/****************\\r\\nDROPDOWN \\r\\n***************/\\r\\n\\r\\ndiv#nav > ul > li > ul {\\r\\n display: none;\\r\\n margin-top: 20px;\\r\\n}\\r\\n\\r\\ndiv#nav > ul > li:hover > ul {\\r\\n display: block;\\r\\n position: absolute;\\r\\n width: 100%;\\r\\n box-sizing: border-box;\\r\\n}\\r\\n\\r\\n/* @media (min-width: 481px) and (max-width: 1160px) {\\r\\n .hide-more{\\r\\n display:none;\\r\\n }\\r\\n .show-more{\\r\\n display:block;\\r\\n }\\r\\n}\\r\\n.hide-more{\\r\\n display:block;\\r\\n}\\r\\n.show-more{\\r\\n display:none;\\r\\n} */\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2hlYWRlci9oZWFkZXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtFQUNFLHdDQUF3QztFQUN4QyxzQ0FBc0M7RUFDdEMsbUJBQW1CO0VBQ25CLGlDQUFpQztFQUNqQywyREFBMkQ7RUFDM0QsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixPQUFPO0VBQ1AsUUFBUTtFQUNSLFlBQVk7Q0FDYjs7QUFFRDtFQUNFLG9DQUFvQztDQUNyQzs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQjs7QUFHRDtFQUNFLGNBQWM7RUFDZCxvQkFBb0I7Q0FDckI7O0FBRUQ7RUFDRSxjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGdCQUFnQjtDQUNqQjs7QUFDRDtFQUNFLGlEQUFpRDtFQUNqRCxzQkFBc0I7RUFDdEIsNkJBQTZCO0NBQzlCOztBQUNEO0VBQ0UsZUFBZSxlQUFlO0VBQzlCLGlCQUFpQjtDQUNsQjs7QUFFRDtFQUNFLGlCQUFpQjtDQUNsQjs7QUFDRDtDQUNDLGVBQWU7RUFDZCxpQkFBaUI7RUFDakIsZ0JBQWdCO0NBQ2pCLGdCQUFnQjtDQUNoQjs7QUFDRCx1Q0FBdUM7O0FBQ3ZDO0VBQ0UseUJBQXlCO0VBQ3pCLG9CQUFvQjtFQUNwQiw0QkFBNEI7RUFDNUIsZ0JBQWdCO0NBQ2pCOztBQUVELDZCQUE2Qjs7QUFHN0I7Q0FDQztJQUNHLDJCQUEyQjtJQUMzQixtQ0FBbUM7R0FDcEM7RUFDRDtJQUNFLGVBQWUsZUFBZTtJQUM5QixpQkFBaUI7R0FDbEI7Q0FDRjs7QUFDRDtDQUNDO0lBQ0cseUJBQXlCO0tBQ3hCLG1DQUFtQztHQUNyQztFQUNEO0lBQ0UsZUFBZSxlQUFlO0lBQzlCLGVBQWU7R0FDaEI7Q0FDRjs7QUFFRDtFQUNFLGdCQUFnQjtFQUNoQiw2QkFBNkI7RUFDN0IsaUJBQWlCO0VBQ2pCLGlCQUFpQjtFQUNqQix3QkFBd0I7RUFDeEIsb0JBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsbUJBQW1CO0VBQ25CLFVBQVU7RUFDVixXQUFXO0VBQ1gsc0JBQXNCO0VBQ3RCLG9DQUFvQztFQUNwQyw4QkFBOEI7RUFDOUIsbUNBQW1DO0VBQ25DLHdDQUF3QztFQUN4QyxZQUFZO0NBQ2I7O0FBQ0Q7R0FDRyxtQkFBbUI7R0FDbkIsVUFBVTtHQUNWLFdBQVc7R0FDWCxzQkFBc0I7R0FDdEIsb0NBQW9DO0dBQ3BDLCtCQUErQjtHQUMvQixtQ0FBbUM7R0FDbkMsWUFBWTtFQUNiOztBQUVGO0VBQ0UsZUFBZTtDQUNoQjs7QUFFRDtFQUNFLHlCQUF5QjtFQUN6QiwrQkFBK0I7Q0FDaEM7O0FBQ0Q7RUFDRSxjQUFjO0NBQ2Y7O0FBRUQ7RUFDRSxjQUFjO0NBQ2Y7O0FBRUQ7RUFDRTtJQUNFLHFCQUFxQjtHQUN0QjtFQUNEO0lBQ0UsY0FBYztHQUNmO0VBQ0Q7SUFDRSxlQUFlO0dBQ2hCO0NBQ0Y7O0FBRUQ7OztFQUdFOztBQUVGO0VBQ0U7SUFDRSxxQkFBcUI7R0FDdEI7RUFDRDtJQUNFLGNBQWM7R0FDZjtFQUNEO0lBQ0UsZUFBZTtHQUNoQjtDQUNGOztBQUVEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUNEO0VBQ0UsaUJBQWlCO0NBQ2xCOztBQUNEO0VBQ0UsZ0JBQWdCLHlCQUF5QixpQkFBaUI7Q0FDM0Q7O0FBQ0Q7RUFDRSx5QkFBeUIsaUJBQWlCLGdCQUFnQixvQkFBb0I7Q0FDL0U7O0FBS0Q7RUFDRSxjQUFjO0VBQ2QsZUFBZTtFQUNmLGdCQUFnQjtDQUNqQjs7QUFFRDs7RUFFRSxzQkFBc0I7RUFDdEIsaUJBQWlCO0NBQ2xCOztBQUdEO0VBQ0UsbUJBQW1CO0NBQ3BCOztBQUVEOztFQUVFLHNCQUFzQjtDQUN2Qjs7QUFJRDs7Z0JBRWdCOztBQUVoQjtFQUNFLGNBQWM7RUFDZCwwQkFBMEI7Q0FDM0I7O0FBRUQ7O2dCQUVnQjs7QUFFaEI7RUFDRSxjQUFjO0VBQ2QsaUJBQWlCO0NBQ2xCOztBQUVEO0VBQ0UsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1osdUJBQXVCO0NBQ3hCOztBQUdEOzs7Ozs7Ozs7Ozs7O0lBYUkiLCJmaWxlIjoic3JjL2FwcF9kZXYvaGVhZGVyL2hlYWRlci5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLm5hdkJvcmRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2U5ZWNlZiAhaW1wb3J0YW50O1xyXG4gIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gIC8qIGJhY2tncm91bmQtY29sb3I6ICMxNzU3ODg7ICAqL1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgjZmZmZmZmIDUwJSwjMTc1Nzg4IDUwJSk7IFxyXG4gIGhlaWdodDogMTk1cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ubmF2LXBpbGxzIC5uYXYtaXRlbS5zaG93IC5uYXYtbGlua3tcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc1Nzg4IWltcG9ydGFudDtcclxufVxyXG5cclxuLm5hdmhlYWQge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuXHJcbi5uYXZiYXItbG9naW4ge1xyXG4gIHBhZGRpbmc6IDEwcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDBweDtcclxufVxyXG5cclxuLm5hdmJhci1sb2dpbi1zZXNzaW9uIHtcclxuICBwYWRkaW5nOiAxMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAwcHg7XHJcbiAgcGFkZGluZy10b3A6IDBweDtcclxufVxyXG5cclxuLmljb24tc2l6ZSB7XHJcbiAgZm9udC1zaXplOiA4N3B4O1xyXG59XHJcbi5kcm9wZG93bi1tZW51e1xyXG4gIGJveC1zaGFkb3c6IDBweCA3cHggNDVweCAtMTBweCAjYjZiNmI2IWltcG9ydGFudDtcclxuICBib3JkZXI6bm9uZSFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyLXJhZGl1czogMHB4IWltcG9ydGFudDtcclxufVxyXG4uaWNvbi1ob21le1xyXG4gIGNvbG9yOiAjZGFkYTA0O2N1cnNvcjpwb2ludGVyO1xyXG4gIGZvbnQtc2l6ZTogMi4xZW07XHJcbn1cclxuXHJcbi5pbi1hY3RpdmV7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5hLmZvcmdldC1saW5re1xyXG5cdGNvbG9yOiAjMTc1Nzg4O1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG4vKioqKioqKioqKipoZWFkZXIgc3R5bGUqKioqKioqKioqKioqKi9cclxuLm5hdi10ZXh0IHtcclxuICBjb2xvcjogI2ZmZmZmZiFpbXBvcnRhbnQ7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICBmb250LWZhbWlseTogXCJSb2JvdG8tTGlnaHRcIjtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbn1cclxuXHJcbi8qKioqKioqKioqKioqKioqKioqKioqKioqKiovXHJcblxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5ODBweCkgIHtcclxuXHQubmF2LXRleHR7XHJcbiAgICBmb250LXNpemU6IDAuN2VtIWltcG9ydGFudDtcclxuICAgIC8qIHdoaXRlLXNwYWNlOiB1bnNldCFpbXBvcnRhbnQ7ICovXHJcbiAgfVxyXG4gIC5pY29uLWhvbWV7XHJcbiAgICBjb2xvcjogI2RhZGEwNDtjdXJzb3I6cG9pbnRlcjtcclxuICAgIGZvbnQtc2l6ZTogMi4zZW07XHJcbiAgfVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTcwMHB4KSAge1xyXG5cdC5uYXYtdGV4dHtcclxuICAgIGZvbnQtc2l6ZTogMWVtIWltcG9ydGFudDtcclxuICAgICAvKiB3aGl0ZS1zcGFjZTogdW5zZXQhaW1wb3J0YW50OyAqL1xyXG4gIH1cclxuICAuaWNvbi1ob21le1xyXG4gICAgY29sb3I6ICNkYWRhMDQ7Y3Vyc29yOnBvaW50ZXI7XHJcbiAgICBmb250LXNpemU6IDJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5tYWlsLXRleHR7XHJcbiAgZm9udC1zaXplOiAxMnB4O1xyXG4gIC8qIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7ICovXHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5uYXZiYXIgLm5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnU6OmJlZm9yZSAsIC5uYXZpZ2F0ZSAuZHJvcGRvd24tbWVudTo6YmVmb3Jle1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IC03cHg7XHJcbiAgcmlnaHQ6IDUwJTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNDQ0M7XHJcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XHJcbiAgY29udGVudDogJyc7XHJcbn1cclxuLm5hdmJhciAubmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudTo6YWZ0ZXIgLC5uYXZpZ2F0ZSAuZHJvcGRvd24tbWVudTo6YWZ0ZXJ7XHJcbiAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgdG9wOiAtNnB4O1xyXG4gICByaWdodDogNTAlO1xyXG4gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgIGJvcmRlci1yaWdodDogNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICBib3JkZXItYm90dG9tOiA2cHggc29saWQgd2hpdGU7XHJcbiAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XHJcbiAgIGNvbnRlbnQ6ICcnO1xyXG4gfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbn1cclxuXHJcbi5zY3JvbGwtY29udGFpbmVyIHtcclxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxuICBvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7ICBcclxufVxyXG4uc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBcclxuICBkaXNwbGF5OiBub25lO1xyXG59IFxyXG5cclxuLnNtLXNob3d7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAuc20td2lkdGh7XHJcbiAgICB3aWR0aDogNTAlIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnNtLW5vbmV7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuc20tc2hvd3tcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLyogXHJcbiAgIyNEZXZpY2UgPSBNb3N0IG9mIHRoZSBTbWFydHBob25lcyBNb2JpbGVzIChQb3J0cmFpdClcclxuICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4qL1xyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAuc20td2lkdGh7XHJcbiAgICB3aWR0aDogNTAlIWltcG9ydGFudDtcclxuICB9XHJcbiAgLnNtLW5vbmV7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICAuc20tc2hvd3tcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLnNob3J0LXdpZHRoe1xyXG4gIG1pbi13aWR0aDogMTYwcHg7XHJcbn1cclxuLmxvbmctd2lkdGh7XHJcbiAgbWluLXdpZHRoOiAxOTVweDtcclxufVxyXG4uc3ViLXRpdGxlLXdlbHtcclxuICBmb250LXNpemU6IDEycHg7Y29sb3I6ICMxNzU3ODghaW1wb3J0YW50O2ZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuLnN1Yi10aXRsZS11c2Vye1xyXG4gIGNvbG9yOiAjMTc1Nzg4IWltcG9ydGFudDtmb250LXdlaWdodDogNjAwO2ZvbnQtc2l6ZTogMTZweDt3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5kaXYjbmF2ID4gdWx7XHJcbiAgcGFkZGluZzogMjBweDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBwYWRkaW5nOiAwIGF1dG87XHJcbn1cclxuXHJcbmRpdiNuYXYgPiB1bCA+IGxpLFxyXG5kaXYjbmF2ID4gdWwgPiBsaSA+IHVsID4gbGkge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG59XHJcblxyXG5cclxuZGl2I25hdiA+IHVsID4gbGkge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuZGl2I25hdiA+IHVsID4gbGkgPiBhLFxyXG5kaXYjbmF2ID4gdWwgPiBsaSA+IHVsID4gbGkgPiBhIHtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbn1cclxuXHJcblxyXG5cclxuLyoqKioqKioqKioqKioqKipcclxuTElOS1MgU1RZTElORyBBTkQgTElOS1MgSE9WRVJTXHJcbioqKioqKioqKioqKioqKi9cclxuXHJcbmRpdiNuYXYgPiB1bCA+IGxpID4gYSB7XHJcbiAgcGFkZGluZzogMTBweDtcclxuICBwYWRkaW5nOiA2cHggN3B4IDBweCAzNHB4O1xyXG59XHJcblxyXG4vKioqKioqKioqKioqKioqKlxyXG5EUk9QRE9XTiBcclxuKioqKioqKioqKioqKioqL1xyXG5cclxuZGl2I25hdiA+IHVsID4gbGkgPiB1bCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxuICBtYXJnaW4tdG9wOiAyMHB4O1xyXG59XHJcblxyXG5kaXYjbmF2ID4gdWwgPiBsaTpob3ZlciA+IHVsIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcclxufVxyXG5cclxuXHJcbi8qIEBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDExNjBweCkge1xyXG4gIC5oaWRlLW1vcmV7XHJcbiAgICBkaXNwbGF5Om5vbmU7XHJcbiAgfVxyXG4gIC5zaG93LW1vcmV7XHJcbiAgICBkaXNwbGF5OmJsb2NrO1xyXG4gIH1cclxufVxyXG4uaGlkZS1tb3Jle1xyXG4gIGRpc3BsYXk6YmxvY2s7XHJcbn1cclxuLnNob3ctbW9yZXtcclxuICBkaXNwbGF5Om5vbmU7XHJcbn0gKi9cclxuXHJcbiJdfQ== */\"","module.exports = \"
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit, HostListener } from \"@angular/core\";\r\nimport { Subject, timer, Subscription, Observable } from 'rxjs';\r\nimport { takeUntil, take, map, first } from 'rxjs/operators';\r\nimport { AuthenticationService } from \"../services/authentication.service\";\r\nimport { AppComponent } from \"../app.component\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-header\",\r\n templateUrl: \"./header.component.html\",\r\n styleUrls: [\"./header.component.css\"]\r\n})\r\n\r\nexport class HeaderComponent implements OnInit {\r\n userID: any = \"\";\r\n userName: any = \"\";\r\n tieup: boolean = false;\r\n user: boolean = false;\r\n management: boolean = false;\r\n userlistdownload: boolean = false;\r\n // rolerights: boolean = false;\r\n // activitytrack: boolean = false;\r\n config: boolean = false;\r\n // report: boolean = false;\r\n // parametersetting: boolean = false;\r\n // loadingconfig: boolean = false;\r\n rategen: boolean = false;\r\n reportlist: boolean = false;\r\n previousyear: boolean = false;\r\n showModal: boolean = false;\r\n loading: boolean = false;\r\n /***Session handling**/\r\n IsSessionExpired: boolean=false;\r\n eventobserved: boolean = true;\r\n @HostListener('document:keyup', ['$event'])\r\n @HostListener('document:click', ['$event'])\r\n @HostListener('document:wheel', ['$event'])\r\n resetTimerOnclick() {\r\n let page = window.location.pathname;\r\n if (page.toLocaleLowerCase() != '/login') {\r\n this.notifyUserAction();\r\n }\r\n }\r\n unsubscribe$: Subject = new Subject();\r\n timerSubscription: Subscription;\r\n endTime = parseInt(this.alertService.getUserDetails(\"getSessiontime\"));\r\n\r\n _userActionOccured: Subject = new Subject();\r\n get userActionOccured(): Observable { return this._userActionOccured.asObservable() };\r\n\r\n notifyUserAction() {\r\n if (this.eventobserved)\r\n this._userActionOccured.next();\r\n }\r\n constructor(public authenticationService: AuthenticationService, public app: AppComponent, public alertService: AlertService, private apiData: ApiService, private validate: MandatoryfieldService) { }\r\n\r\n ngOnInit() {\r\n this.userID = this.alertService.getUserDetails(\"getuserEmailID\");\r\n this.userName = this.alertService.getUserDetails(\"getUserName\")\r\n if (this.alertService.getUserDetails(\"getUsertype\") == \"MR-Super Admin\") {\r\n this.tieup = true;\r\n this.user = true;\r\n this.management = true;\r\n this.config = true;\r\n // this.report = true;\r\n // this.parametersetting = true;\r\n // this.loadingconfig = true;\r\n //this.userlistdownload = true;\r\n // this.rolerights = true;\r\n // this.activitytrack = true;\r\n //this.rategen = true;\r\n this.reportlist = true;\r\n }\r\n else if (this.alertService.getUserDetails(\"getUsertype\") == \"Tie-Up Admin\") {\r\n this.user = true;\r\n this.userlistdownload = true;\r\n } else {\r\n this.rategen = true;\r\n this.reportlist = true;\r\n this.previousyear = true;\r\n }\r\n this.resetTimer();\r\n this.userActionOccured.pipe(\r\n takeUntil(this.unsubscribe$)\r\n ).subscribe(() => {\r\n if (this.timerSubscription) {\r\n this.timerSubscription.unsubscribe();\r\n }\r\n this.resetTimer();\r\n });\r\n /******refreshtoken*******/\r\n this.authenticationService.authenticationUser();\r\n let req = {\r\n username: this.alertService.userId.get(),\r\n grant_type: \"refresh_token\"\r\n }\r\n this.authenticationService.login(req)\r\n .pipe(first())\r\n .subscribe(res => {\r\n }, err => {\r\n this.validate.popUpAlert(this.alertService.ErrorText.unauthorized, \"\", \"error\");\r\n this.Logout();\r\n });\r\n }\r\n /***Session handling**/\r\n resetTimer(endTime: number = this.endTime) {\r\n console.log('resetTimer start');\r\n const interval = 1000; //1 second = 1000 ms\r\n const duration = endTime * 2; // ex:: endtime = 900 ms(0.9s) interval =1000, 1000*(0.9)*4 => 3600 sec =>1 hour\r\n this.timerSubscription = timer(0, interval).pipe(\r\n take(duration)\r\n ).subscribe(value =>\r\n localStorage.setItem(\"Timer\", (duration - +value).toString()),\r\n err => { },\r\n () => {\r\n console.log('resetTimer end');\r\n if(this.IsSessionExpired!=true)\r\n {\r\n this.IsSessionExpired=true;\r\n alert(\"session expired !\")\r\n }\r\n this.authenticationService.logoutService();\r\n }\r\n )\r\n }\r\n clearAll() {\r\n this.alertService.rateGenerationID.remove();\r\n this.alertService.combinationId.remove();\r\n this.alertService.isFinalRate.remove();\r\n this.apiData.inputCombo.removData();\r\n this.apiData.outputCombo.removData();\r\n if (this.alertService.getUserDetails(\"getUsertype\") == \"MR-Super Admin\"){\r\n this.goTo('/tie-up')\r\n }else{\r\n this.goTo('/choose-transaction')\r\n }\r\n\r\n }\r\n goTo(page) {\r\n this.alertService.rateGenerationID.remove();\r\n this.alertService.combinationId.remove();\r\n this.alertService.isFinalRate.remove();\r\n this.apiData.inputCombo.removData();\r\n this.apiData.outputCombo.removData();\r\n this.alertService.navigateTo(page);\r\n }\r\n changePassword() {\r\n this.authenticationService.forgetOrChangePassword('loggedin');\r\n }\r\n Logout() {\r\n this.eventobserved = false;\r\n this.timerSubscription.unsubscribe();\r\n this.authenticationService.logoutService();\r\n }\r\n}\r\n","module.exports = \"\\r\\n\\r\\n.table td{\\r\\n position:relative;\\r\\n }\\r\\n\\r\\n .scroll-container{\\r\\n max-height:500px;\\r\\n overflow: auto;\\r\\n }\\r\\n\\r\\n .scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n\\r\\n .scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n\\r\\n @media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n\\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2xvYWRpbmctZGlzY291bnQvbG9hZGluZy1kaXNjb3VudC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBRUE7SUFDSSxrQkFBa0I7R0FDbkI7O0VBRUQ7SUFDRSxpQkFBaUI7SUFDakIsZUFBZTtHQUNoQjs7RUFFSDtJQUNJLHlCQUF5QjtJQUN6QiwrQkFBK0I7Q0FDbEM7O0VBQ0Q7SUFDSSxjQUFjO0NBQ2pCOztFQUVEO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGOztFQUVEOzs7SUFHRTs7RUFFRjtJQUNFO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRiIsImZpbGUiOiJzcmMvYXBwX2Rldi9sb2FkaW5nLWRpc2NvdW50L2xvYWRpbmctZGlzY291bnQuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLnRhYmxlIHRke1xyXG4gICAgcG9zaXRpb246cmVsYXRpdmU7XHJcbiAgfVxyXG5cclxuICAuc2Nyb2xsLWNvbnRhaW5lcntcclxuICAgIG1heC1oZWlnaHQ6NTAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4uc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgIFxyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7IFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFxyXG4gICAgIyNEZXZpY2UgPSBNb3N0IG9mIHRoZSBTbWFydHBob25lcyBNb2JpbGVzIChQb3J0cmFpdClcclxuICAgICMjU2NyZWVuID0gQi93IDMyMHB4IHRvIDQ3OXB4XHJcbiAgKi9cclxuICBcclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Loading/Discount Configurator

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoTitleMandatoryEffective DateStatusEdit
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { IMyDpOptions, IMyDateModel } from 'mydatepicker';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { FormBuilder, Validators,FormGroup } from '@angular/forms';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-loading-discount',\r\n templateUrl: './loading-discount.component.html',\r\n styleUrls: ['./loading-discount.component.css']\r\n})\r\nexport class LoadingDiscountComponent implements OnInit {\r\n TieUpListForm: any;\r\n editForm: FormGroup=new FormGroup({});\r\n editFormWithSubSections: FormGroup=new FormGroup({});\r\n ldWeightage: number;\r\n countryList: any;\r\n tieuplist: any;\r\n resArray: any;\r\n tableData: any;\r\n statusList: any;\r\n mandatoryList: any;\r\n\r\n showTable: boolean = false;\r\n showEdit: boolean = false;\r\n showFormWithSubsections: boolean = false;\r\n loading: boolean = false;\r\n placeholder: any = \"Select Date\"\r\n myDatePickerOptions: IMyDpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n sunHighlight: true,\r\n inline: false,\r\n selectionTxtFontSize: '16px',\r\n editableDateField: false,\r\n openSelectorOnInputClick: true,\r\n indicateInvalidDate: true,\r\n disableUntil: { year: Number(new Date().getFullYear()), month: Number(new Date().getMonth() + 1), day: Number(new Date().getDate()-1) }\r\n };\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.TieUpListForm = this.loadform();\r\n this.editForm = this.loadEditForm();\r\n this.editFormWithSubSections=this.loadEditFormWithSubSections('','');\r\n this.loadDropDown();\r\n var obj = this;\r\n var rowindex = {};\r\n $(\"#fieldTable\").on(\"click\", \".edit\", function (e) {\r\n obj.loading = true;\r\n setTimeout(() => obj.loading = false, 500);\r\n rowindex[\"country\"] = obj.TieUpListForm.value.country;\r\n rowindex[\"tieupID\"] = obj.TieUpListForm.value.tieupID;\r\n obj.apiData.editDetails.pushdata(rowindex);\r\n\t obj.showEdit=false;\r\n obj.showFormWithSubsections=false; \r\n if(obj.apiData.editDetails.data[\"subSections\"].length>0)\r\n {\r\n obj.showFormWithSubsections=true;\r\n }\r\n else{\r\n obj.showEdit = true;\r\n }\r\n \r\n obj.editForm.reset();\r\n obj.editFormWithSubSections.reset(); \r\n if(obj.apiData.editDetails.data[\"subSections\"].length>0)\r\n { \r\n var effectiveDate={}; \r\n if (!obj.validate.isUndefined(obj.apiData.editDetails.data[\"effectiveDate\"]))\r\n {\r\n obj.alertService.patchDate.changeToLocal(obj.apiData.editDetails.data[\"effectiveDate\"]); \r\n effectiveDate={\r\n date: obj.alertService.patchDate.getPatchedDate(),\r\n formatted: obj.alertService.patchDate.getPatchedDate()[\"year\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"month\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"day\"]\r\n }\r\n }\r\n obj.editFormWithSubSections = obj.loadEditFormWithSubSections(rowindex,effectiveDate);\r\n }\r\n else{\r\n obj.editForm.patchValue(obj.apiData.editDetails.popData());\r\n if (!obj.validate.isUndefined(obj.apiData.editDetails.data[\"effectiveDate\"])) {\r\n obj.alertService.patchDate.changeToLocal(obj.apiData.editDetails.data[\"effectiveDate\"]);\r\n obj.editForm.patchValue({\r\n effectiveDate: {\r\n date: obj.alertService.patchDate.getPatchedDate(),\r\n formatted: obj.alertService.patchDate.getPatchedDate()[\"year\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"month\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"day\"]\r\n }\r\n });\r\n }\r\n }\r\n });\r\n $(\"#fieldTable\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n });\r\n $(\"#fieldTable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getFieldList();\r\n });\r\n }\r\n loadform() {\r\n return this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n country: [\"\", Validators.required]\r\n });\r\n }\r\n loadEditForm() {\r\n return this.formBuilder.group({\r\n loadingDiscountName: [\"\", Validators.required],\r\n isMandatory: [\"\", Validators.required],\r\n effectiveDate: [\"\", Validators.required],\r\n isActive: [\"\", Validators.required],\r\n tenantId: [\"\"],\r\n });\r\n }\r\n\r\n loadEditFormWithSubSections(LDConfig,effectiveDate) { \r\n\r\n if(LDConfig!='')\r\n {\r\n this.ldWeightage=LDConfig.ldWeightage;\r\n var grpSubSctionsArray=this.formBuilder.array([]);\r\n for(let i=0;i {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.countryList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showTieupList() {\r\n this.showTable = false;\r\n this.showEdit = false;\r\n this.showFormWithSubsections=false;\r\n this.tieuplist = [];\r\n this.TieUpListForm.controls[\"tieupID\"].setValue('');\r\n this.apiData.getdropdownList.selectedcountry(this.TieUpListForm.value.country);\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n this.apiData.getdropdownList.getTieUplistByCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n }\r\n else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showtable() {\r\n if (this.validate.submitDetails(this.TieUpListForm)) {\r\n this.apiData.loadingApi.saveId(this.TieUpListForm.value.tieupID)\r\n this.getFieldList()\r\n }\r\n }\r\n getFieldList() {\r\n this.loading = true; \r\n this.apiData.loadingApi.getlist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.prepareJson(result);\r\n $(\"#fieldTable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#fieldTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n }\r\n this.showTable = true;\r\n this.loading = false;\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n if (!this.validate.isUndefined(resData.data[i][\"effectiveDate\"])) {\r\n let date = resData.data[i][\"effectiveDate\"].split('T');\r\n resArray1[\"effectiveDate\"] = date[0];\r\n } else {\r\n resArray1[\"effectiveDate\"] = resData.data[i][\"effectiveDate\"];\r\n }\r\n resArray1[\"loadingDiscountName\"] = resData.data[i][\"loadingDiscountName\"];\r\n resArray1[\"loadingDiscountID\"] = resData.data[i][\"loadingDiscountID\"];\r\n \r\n //cr1\r\n resArray1[\"id\"] = resData.data[i][\"id\"];\r\n resArray1[\"effectiveDateWithTime\"] = this.validate.convertDate(resData.data[i][\"effectiveDate\"]);\r\n resArray1[\"ldWeightage\"] = resData.data[i][\"ldWeightage\"];\r\n resArray1[\"subSections\"] = resData.data[i][\"subSections\"];\r\n resArray1[\"tenantId\"] = resData.data[i][\"tenantId\"];\r\n //cr1 end\r\n\r\n resArray1[\"isMandatory\"] = resData.data[i][\"isMandatory\"] ? \"Yes\" : \"No\";\r\n resArray1[\"isActive\"] = resData.data[i][\"isActive\"] ? \"Active\" : \"DeActive\";\r\n resArray1[\"action\"] =\r\n '
    ';\r\n resArray1[\"sno\"] = i + 1;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n\r\n addDetails() { \r\n var effDate=''; \r\n if (!this.validate.isUndefined(this.editFormWithSubSections.controls.effectiveDate.value)) {\r\n effDate=this.editFormWithSubSections.controls.effectiveDate.value.formatted; \r\n }\r\n\r\n if(this.showFormWithSubsections==true)\r\n {\r\n var sumOfWeightage=0; \r\n for(var i=0;i=0)\r\n {\r\n var weightage=parseFloat(this.editFormWithSubSections.controls.subSections.value[i].weightage); \r\n sumOfWeightage=sumOfWeightage+weightage;\r\n }\r\n else{ \r\n return false; \r\n }\r\n }\r\n \r\n if(sumOfWeightage!=100)\r\n {\r\n let errorText = this.alertService.ErrorText.checkError(\"weightagenot100\");\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n return false;\r\n }\r\n\r\n if (!this.validate.isUndefined(this.editFormWithSubSections.controls.effectiveDate.value)) {\r\n this.editFormWithSubSections.controls.effectiveDate.setValue(this.editFormWithSubSections.controls.effectiveDate.value.formatted);\r\n }\r\n }\r\n else {\r\n if (!this.validate.isUndefined(this.editForm.controls.effectiveDate.value)) { \r\n this.editForm.controls.effectiveDate.setValue(this.editForm.controls.effectiveDate.value.formatted);\r\n }\r\n }\r\n\r\n if ((this.validate.submitDetails(this.editForm) && this.showEdit==true) || (this.validate.submitDetails(this.editFormWithSubSections) && this.showFormWithSubsections==true)){\r\n this.loading = true;\r\n if(this.showFormWithSubsections==true)\r\n {this.apiData.formRequest.getRequest('', this.editFormWithSubSections.value, 'loadingdisc');}\r\n else{this.apiData.formRequest.getRequest('', this.editForm.value, 'loadingdisc');} \r\n this.apiData.loadingApi.createLoadingDisc(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.showEdit = false;\r\n this.showFormWithSubsections=false;\r\n this.getFieldList();\r\n this.validate.popUpAlert(\"Added Successfully\", \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n this.setEffDateControl(effDate); \r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n this.setEffDateControl(effDate);\r\n });\r\n }\r\n else{\r\n this.setEffDateControl(effDate);\r\n }\r\n }\r\n\r\n private setEffDateControl(effDate: string) {\r\n var obj=this;\r\n if (!obj.validate.isUndefined(effDate)) {\r\n obj.alertService.patchDate.changeToLocal(effDate);\r\n if (obj.showFormWithSubsections == true) {\r\n obj.editFormWithSubSections.patchValue({\r\n effectiveDate: {\r\n date: obj.alertService.patchDate.getPatchedDate(),\r\n formatted: obj.alertService.patchDate.getPatchedDate()[\"year\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"month\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"day\"]\r\n }\r\n });\r\n }\r\n else {\r\n obj.editForm.patchValue({\r\n effectiveDate: {\r\n date: obj.alertService.patchDate.getPatchedDate(),\r\n formatted: obj.alertService.patchDate.getPatchedDate()[\"year\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"month\"] + \"-\" + obj.alertService.patchDate.getPatchedDate()[\"day\"]\r\n }\r\n });\r\n }\r\n }\r\n }\r\n\r\n checkDecimal(index,controlnameNew) { \r\n controlnameNew.setValue(controlnameNew.value.replace(/[^\\d.-]/g, '')) // numbers and decimals only\r\n controlnameNew.setValue(controlnameNew.value.replace(\"-.\", '-')) //not decimal point after minus\r\n controlnameNew.setValue(controlnameNew.value.replace(/(^[-]+[\\d]{2})[\\d-]/g, '$1')) // not more than 2 digitsafter the minus \r\n controlnameNew.setValue(controlnameNew.value.replace(/(^[\\d]{2})[\\d-]/g, '$1')) // not more than 2 digits at the beginning\r\n controlnameNew.setValue(controlnameNew.value.replace(/(\\..*)\\./g, '$1')) // decimal can't exist more than once\r\n controlnameNew.setValue(controlnameNew.value.replace(/(\\.[\\d]{3})./g, '$1')); // not more than 3 digits after decimal\r\n }\r\n}\r\n","module.exports = \"\\r\\n.iconCLS\\r\\n{\\r\\n\\tfloat:none!important;\\r\\n}\\r\\nbody, html {\\r\\n height: 100%;\\r\\n margin: 0;\\r\\n}\\r\\n.bg-img{\\r\\n\\tbackground: url('/assets/images/BG.png') no-repeat center center fixed;\\r\\n\\tbackground-size: cover;\\r\\n}\\r\\n.bg-tag{\\r\\n\\tposition: absolute;\\r\\n left: 0;\\r\\n right: 0;\\r\\n top: 0;\\r\\n bottom: 0;\\r\\n\\tmargin: auto;\\r\\n\\twidth:70%;\\r\\n max-width: 100%;\\r\\n max-height: 100%;\\r\\n /* height: 635px; */\\r\\n\\tdisplay: block;\\r\\n border-radius: 25px;\\r\\n\\tbox-shadow:0px 0px 45px -10px #b6b6b6;\\r\\n\\tpadding:2%;\\r\\n\\theight: 785px;\\r\\n\\tbackground-image: url(/assets/images/BG_1.png), linear-gradient(90deg, #175788 50%, #ffffff 50%);\\r\\n background-repeat: no-repeat;\\r\\n background-position: right;\\r\\n}\\r\\n.LoginContainerClass\\r\\n{\\r\\n\\t/* \\r\\n\\tmin-height: 418px;\\r\\n\\theight: 418px;\\r\\n\\tleft:-98px; */\\r\\n\\tdisplay: block;\\r\\n\\tbackground-color: white;\\r\\n width: 390px !important;\\r\\n border-radius: 25px;\\r\\n box-shadow: 0px 0px 45px -10px #b6b6b6;\\r\\n min-height: 480px;\\r\\n height: 480px;\\r\\n\\tleft: -26%;\\r\\n}\\r\\n.header{\\r\\n\\tcolor: #313030;\\r\\n\\tfont-size: larger;\\r\\n}\\r\\nhr {\\r\\n\\tmargin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border: 0;\\r\\n border-top: 2px solid #175788;\\r\\n width: 20px;\\r\\n }\\r\\nform{\\r\\n\\tmargin: auto;\\r\\n margin-top: 2rem;\\r\\n\\tmargin-bottom: 2rem;\\r\\n\\twidth:100%;\\r\\n}\\r\\n.formgroup label{\\r\\n\\tfont-size: 12px;\\r\\n color: #757575;\\r\\n}\\r\\n.loginDIV\\r\\n{\\r\\n\\tmargin-bottom: 1.5em!important;\\r\\n\\tmargin-top: 1.5em!important;\\r\\n\\tmax-height: 35px;\\r\\n\\twidth: 100% ! important;\\r\\n}\\r\\n.add-on-btn {\\r\\n height: 38px;\\r\\n width: 30px;\\r\\n display: inline-block;\\r\\n background: #fff;\\r\\n\\tfont-size: 23px;\\r\\n\\tborder: none;\\r\\n border-bottom: 1px solid rgba(219, 219, 219, 0.4117647058823529);\\r\\n border-left: none;\\r\\n}\\r\\n.copyRight{\\r\\n\\tdisplay: inline-block;\\r\\n width: 100%;\\r\\n padding-top: 20px;\\r\\n}\\r\\n.copyRight span{\\r\\n padding: 0px 5px;\\r\\n}\\r\\ni.fa {\\r\\n color: #747477;\\r\\n font-size: 16px;\\r\\n float: left;\\r\\n padding: 3px;\\r\\n}\\r\\ninput:focus {\\r\\n outline:none;\\r\\n}\\r\\n.sign-btn-style{\\r\\n font-size: 16px!important;\\r\\n cursor: pointer;\\r\\n\\tbackground-color: #175788;\\r\\n\\tcolor: #fff;\\r\\n\\tborder:none!important;\\r\\n\\tbox-shadow: 1px 1px 10px 2px #d4edff;\\r\\n\\tborder-radius: 30px;\\r\\n\\tline-height: 6px !important;\\r\\n\\tpadding: 21px 0;\\r\\n\\ttext-transform: inherit;\\r\\n}\\r\\na.forget-link{\\r\\n\\tcolor: #175788;\\r\\n\\tfont-weight: 600;\\r\\n\\tfont-size: 13px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\ninput[type=email]:not(.browser-default),input[type=password]:not(.browser-default),input[type=text]:not(.browser-default){\\r\\n\\t/* width: 240!important; */\\r\\n\\twidth: 100%!important;\\r\\n height: 38px!important;\\r\\n padding: 0px 7px!important;\\r\\n\\tfloat: left;\\r\\n\\tborder: none;\\r\\n border-bottom: 1px solid rgba(219, 219, 219, 0.4117647058823529);\\r\\n color: #313030;\\r\\n font-weight: 400;\\r\\n}\\r\\n.formgroup label {\\r\\n margin-bottom: unset;\\r\\n}\\r\\n.view{\\r\\n\\tposition: absolute;\\r\\n\\tcursor: default;\\r\\n\\twidth: 100%;\\r\\n\\theight: 100%;\\r\\n}\\r\\n.txt-img-style{\\r\\n\\twidth:200px;\\r\\n\\ttop:8px;\\r\\n}\\r\\n.form-input::-moz-placeholder {\\r\\n\\t/* Chrome, Firefox, Opera, Safari 10.1+ */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::placeholder {\\r\\n\\t/* Chrome, Firefox, Opera, Safari 10.1+ */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::-ms-input-placeholder {\\r\\n\\t/* Internet Explorer 10-11 */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n.form-input::-ms-input-placeholder {\\r\\n\\t/* Microsoft Edge */\\r\\n\\tfont-size: 15px !important;\\r\\n\\tcolor: rgb(112, 112, 112) !important;\\r\\n\\tfont-family: \\\"Roboto-Light\\\";\\r\\n }\\r\\n@media only screen and (min-width: 700px) \\r\\n{\\r\\n\\t.loginDIV{\\r\\n\\t\\t/* width: max-content!important;*/\\r\\n\\t\\twidth: 100% !important;\\r\\n\\t}\\r\\n\\t\\t\\r\\n}\\r\\n@media only screen and (max-width: 800px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\tpadding:7%;\\r\\n\\t\\tmax-height: 100%!important;\\r\\n\\t\\tmin-height: 100%!important;\\r\\n\\t\\tborder-radius: 0px!important;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 992px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\tpadding:7%;\\r\\n\\t\\tmax-height:90%;\\r\\n\\t\\tmin-height: 90%;\\r\\n\\t}\\r\\n\\t.brand-img-style{\\r\\n\\t\\twidth:170px;\\r\\n\\t}\\r\\n\\t.txt-img-style{\\r\\n\\t\\twidth:170px;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 1150px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\twidth:100%!important;\\r\\n\\t}\\r\\n\\t\\r\\n}\\r\\n@media only screen and (max-width: 1500px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-height: 720px) {\\r\\n\\t.LoginContainerClass{\\r\\n\\t\\tmin-height: 410px;\\r\\n \\theight: 410px;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-height: 600px) and (max-width: 900px) {\\r\\n\\t.LoginContainerClass{\\r\\n\\t\\ttop:-7rem;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 480px) {\\r\\n\\t.bg-tag{\\r\\n\\t\\tpadding:8%;\\r\\n\\t\\tmax-height: 480px;\\r\\n\\t}\\r\\n\\t.LoginContainerClass{\\r\\n\\t\\tleft:0px;\\r\\n\\t}\\r\\n}\\r\\n/* Extra small devices (phones, 320px) */\\r\\n@media only screen and (width: 320px) \\r\\n{\\r\\n\\t.loginDIV{\\r\\n\\t\\t/* width: max-content!important; */\\r\\n\\t\\twidth: 100% !important;\\r\\n\\t}\\t\\r\\n}\\r\\n/* Extra small devices (phones, 600px and down) */\\r\\n@media only screen and (max-width: 600px) \\r\\n{\\r\\n\\tinput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\t\\t/* width: 240px!important; */\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (width: 320px) \\r\\n{\\r\\n\\tinput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\t\\t/* width: 200px!important; */\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n}\\r\\ninput[type=email]:not(.browser-default),input[type=text]:not(.browser-default),input[type=password]:not(.browser-default){\\r\\n\\t/* width: 270px; */\\r\\n\\twidth: 100%;\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n \\r\\n .bg-tag{\\r\\n background-image: linear-gradient(90deg, #175788 50%, #ffffff 50%);\\r\\n\\t}\\r\\n\\t.view{\\r\\n\\t\\tposition: fixed;\\r\\n\\t}\\r\\n\\t.LoginContainerClass{\\r\\n\\t\\twidth: 60%!important;\\r\\n\\t\\tleft:0%;\\r\\n\\t}\\r\\n\\t.sm-none{\\r\\n\\t\\tdisplay: none;\\r\\n\\t }\\r\\n }\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .bg-tag{\\r\\n background-image: linear-gradient(90deg, #175788 50%, #ffffff 50%);\\r\\n\\t}\\r\\n\\t.view{\\r\\n\\t\\tposition: fixed;\\r\\n\\t}\\r\\n\\t.LoginContainerClass{\\r\\n\\t\\twidth: 100%!important;\\r\\n\\t}\\r\\n\\t.sm-none{\\r\\n\\t\\tdisplay: none;\\r\\n\\t }\\r\\n }\\r\\n@media only screen and (max-height: 720px){\\r\\n\\t.bg-tag{\\r\\n background-image: linear-gradient(90deg, #175788 50%, #ffffff 50%);\\r\\n\\t}\\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L2xvZy1pbi9sb2ctaW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7O0NBRUMscUJBQXFCO0NBQ3JCO0FBQ0Q7SUFDSSxhQUFhO0lBQ2IsVUFBVTtDQUNiO0FBQ0Q7Q0FDQyx1RUFBdUU7Q0FDdkUsdUJBQXVCO0NBQ3ZCO0FBQ0Q7Q0FDQyxtQkFBbUI7SUFDaEIsUUFBUTtJQUNSLFNBQVM7SUFDVCxPQUFPO0lBQ1AsVUFBVTtDQUNiLGFBQWE7Q0FDYixVQUFVO0lBQ1AsZ0JBQWdCO0lBQ2hCLGlCQUFpQjtJQUNqQixvQkFBb0I7Q0FDdkIsZUFBZTtJQUNaLG9CQUFvQjtDQUN2QixzQ0FBc0M7Q0FDdEMsV0FBVztDQUNYLGNBQWM7Q0FDZCxpR0FBaUc7SUFDOUYsNkJBQTZCO0lBQzdCLDJCQUEyQjtDQUM5QjtBQUVEOztDQUVDOzs7ZUFHYztDQUNkLGVBQWU7Q0FDZix3QkFBd0I7SUFDckIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQix1Q0FBdUM7SUFDdkMsa0JBQWtCO0lBQ2xCLGNBQWM7Q0FDakIsV0FBVztDQUNYO0FBQ0Q7Q0FDQyxlQUFlO0NBQ2Ysa0JBQWtCO0NBQ2xCO0FBQ0Q7Q0FDQyxpQkFBaUI7SUFDZCxvQkFBb0I7SUFDcEIsVUFBVTtJQUNWLDhCQUE4QjtJQUM5QixZQUFZO0dBQ2I7QUFDSDtDQUNDLGFBQWE7SUFDVixpQkFBaUI7Q0FDcEIsb0JBQW9CO0NBQ3BCLFdBQVc7Q0FDWDtBQUNEO0NBQ0MsZ0JBQWdCO0lBQ2IsZUFBZTtDQUNsQjtBQUVEOztDQUVDLCtCQUErQjtDQUMvQiw0QkFBNEI7Q0FDNUIsaUJBQWlCO0NBQ2pCLHdCQUF3QjtDQUN4QjtBQUNEO0lBQ0ksYUFBYTtJQUNiLFlBQVk7SUFDWixzQkFBc0I7SUFDdEIsaUJBQWlCO0NBQ3BCLGdCQUFnQjtDQUNoQixhQUFhO0lBQ1YsaUVBQWlFO0lBQ2pFLGtCQUFrQjtDQUNyQjtBQUNEO0NBQ0Msc0JBQXNCO0lBQ25CLFlBQVk7SUFDWixrQkFBa0I7Q0FDckI7QUFFRDtJQUNJLGlCQUFpQjtDQUNwQjtBQUNEO0lBQ0ksZUFBZTtJQUNmLGdCQUFnQjtJQUNoQixZQUFZO0lBQ1osYUFBYTtDQUNoQjtBQUVEO0lBQ0ksYUFBYTtDQUNoQjtBQUVEO0lBQ0ksMEJBQTBCO0lBQzFCLGdCQUFnQjtDQUNuQiwwQkFBMEI7Q0FDMUIsWUFBWTtDQUNaLHNCQUFzQjtDQUN0QixxQ0FBcUM7Q0FDckMsb0JBQW9CO0NBQ3BCLDRCQUE0QjtDQUM1QixnQkFBZ0I7Q0FDaEIsd0JBQXdCO0NBQ3hCO0FBR0Q7Q0FDQyxlQUFlO0NBQ2YsaUJBQWlCO0NBQ2pCLGdCQUFnQjtDQUNoQixnQkFBZ0I7Q0FDaEI7QUFHRDtDQUNDLDJCQUEyQjtDQUMzQixzQkFBc0I7SUFDbkIsdUJBQXVCO0lBQ3ZCLDJCQUEyQjtDQUM5QixZQUFZO0NBQ1osYUFBYTtJQUNWLGlFQUFpRTtJQUNqRSxlQUFlO0lBQ2YsaUJBQWlCO0NBQ3BCO0FBQ0Q7SUFDSSxxQkFBcUI7Q0FDeEI7QUFDRDtDQUNDLG1CQUFtQjtDQUNuQixnQkFBZ0I7Q0FDaEIsWUFBWTtDQUNaLGFBQWE7Q0FDYjtBQUNEO0NBQ0MsWUFBWTtDQUNaLFFBQVE7Q0FDUjtBQUNEO0NBQ0MsMENBQTBDO0NBQzFDLDJCQUEyQjtDQUMzQixxQ0FBcUM7Q0FDckMsNEJBQTRCO0dBQzFCO0FBTEg7Q0FDQywwQ0FBMEM7Q0FDMUMsMkJBQTJCO0NBQzNCLHFDQUFxQztDQUNyQyw0QkFBNEI7R0FDMUI7QUFFRDtDQUNELDZCQUE2QjtDQUM3QiwyQkFBMkI7Q0FDM0IscUNBQXFDO0NBQ3JDLDRCQUE0QjtHQUMxQjtBQUVEO0NBQ0Qsb0JBQW9CO0NBQ3BCLDJCQUEyQjtDQUMzQixxQ0FBcUM7Q0FDckMsNEJBQTRCO0dBQzFCO0FBQ0g7O0NBRUM7RUFDQyxtQ0FBbUM7RUFDbkMsdUJBQXVCO0VBQ3ZCOztDQUVEO0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCwyQkFBMkI7RUFDM0IsMkJBQTJCO0VBQzNCLDZCQUE2QjtFQUM3QjtDQUNEO0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxlQUFlO0VBQ2YsZ0JBQWdCO0VBQ2hCO0NBQ0Q7RUFDQyxZQUFZO0VBQ1o7Q0FDRDtFQUNDLFlBQVk7RUFDWjtDQUNEO0FBQ0Q7Q0FDQztFQUNDLHFCQUFxQjtFQUNyQjs7Q0FFRDtBQUNEO0NBQ0M7RUFDQyxVQUFVO0VBQ1Y7Q0FDRDtBQUNEO0NBQ0M7RUFDQyxrQkFBa0I7S0FDZixjQUFjO0VBQ2pCO0NBQ0Q7QUFDRDtDQUNDO0VBQ0MsVUFBVTtFQUNWO0NBQ0Q7QUFFRDtDQUNDO0VBQ0MsV0FBVztFQUNYLGtCQUFrQjtFQUNsQjtDQUNEO0VBQ0MsU0FBUztFQUNUO0NBQ0Q7QUFHRCx5Q0FBeUM7QUFDekM7O0NBRUM7RUFDQyxtQ0FBbUM7RUFDbkMsdUJBQXVCO0VBQ3ZCO0NBQ0Q7QUFHRCxrREFBa0Q7QUFDbEQ7O0NBRUM7RUFDQyw2QkFBNkI7RUFDN0Isc0JBQXNCO0VBQ3RCO0NBQ0Q7QUFFRDs7Q0FFQztFQUNDLDZCQUE2QjtFQUM3QixzQkFBc0I7RUFDdEI7Q0FDRDtBQUVEO0NBQ0MsbUJBQW1CO0NBQ25CLFlBQVk7Q0FDWjtBQUVEOztJQUVJO1FBQ0ksbUVBQW1FO0VBQ3pFO0NBQ0Q7RUFDQyxnQkFBZ0I7RUFDaEI7Q0FDRDtFQUNDLHFCQUFxQjtFQUNyQixRQUFRO0VBQ1I7Q0FDRDtFQUNDLGNBQWM7SUFDWjtHQUNEO0FBRUQ7OztJQUdFO0FBRUY7SUFDRTtRQUNJLG9FQUFvRTtFQUMxRTtDQUNEO0VBQ0MsZ0JBQWdCO0VBQ2hCO0NBQ0Q7RUFDQyxzQkFBc0I7RUFDdEI7Q0FDRDtFQUNDLGNBQWM7SUFDWjtHQUNEO0FBQ0Q7Q0FDRDtRQUNPLG9FQUFvRTtFQUMxRTtHQUNDIiwiZmlsZSI6InNyYy9hcHBfZGV2L2xvZy1pbi9sb2ctaW4uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uaWNvbkNMU1xyXG57XHJcblx0ZmxvYXQ6bm9uZSFpbXBvcnRhbnQ7XHJcbn1cclxuYm9keSwgaHRtbCB7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBtYXJnaW46IDA7XHJcbn1cclxuLmJnLWltZ3tcclxuXHRiYWNrZ3JvdW5kOiB1cmwoJy9hc3NldHMvaW1hZ2VzL0JHLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyIGZpeGVkO1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbn1cclxuLmJnLXRhZ3tcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAwO1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG5cdHdpZHRoOjcwJTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAvKiBoZWlnaHQ6IDYzNXB4OyAqL1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuXHRib3gtc2hhZG93OjBweCAwcHggNDVweCAtMTBweCAjYjZiNmI2O1xyXG5cdHBhZGRpbmc6MiU7XHJcblx0aGVpZ2h0OiA3ODVweDtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL2Fzc2V0cy9pbWFnZXMvQkdfMS5wbmcpLCBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMxNzU3ODggNTAlLCAjZmZmZmZmIDUwJSk7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQ7XHJcbn1cclxuXHJcbi5Mb2dpbkNvbnRhaW5lckNsYXNzXHJcbntcclxuXHQvKiBcclxuXHRtaW4taGVpZ2h0OiA0MThweDtcclxuXHRoZWlnaHQ6IDQxOHB4O1xyXG5cdGxlZnQ6LTk4cHg7ICovXHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICB3aWR0aDogMzkwcHggIWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XHJcbiAgICBib3gtc2hhZG93OiAwcHggMHB4IDQ1cHggLTEwcHggI2I2YjZiNjtcclxuICAgIG1pbi1oZWlnaHQ6IDQ4MHB4O1xyXG4gICAgaGVpZ2h0OiA0ODBweDtcclxuXHRsZWZ0OiAtMjYlO1xyXG59XHJcbi5oZWFkZXJ7XHJcblx0Y29sb3I6ICMzMTMwMzA7XHJcblx0Zm9udC1zaXplOiBsYXJnZXI7XHJcbn1cclxuaHIge1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICMxNzU3ODg7XHJcbiAgICB3aWR0aDogMjBweDtcclxuICB9XHJcbmZvcm17XHJcblx0bWFyZ2luOiBhdXRvO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG5cdHdpZHRoOjEwMCU7XHJcbn1cclxuLmZvcm1ncm91cCBsYWJlbHtcclxuXHRmb250LXNpemU6IDEycHg7XHJcbiAgICBjb2xvcjogIzc1NzU3NTtcclxufVxyXG5cclxuLmxvZ2luRElWXHJcbntcclxuXHRtYXJnaW4tYm90dG9tOiAxLjVlbSFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLXRvcDogMS41ZW0haW1wb3J0YW50O1xyXG5cdG1heC1oZWlnaHQ6IDM1cHg7XHJcblx0d2lkdGg6IDEwMCUgISBpbXBvcnRhbnQ7XHJcbn1cclxuLmFkZC1vbi1idG4ge1xyXG4gICAgaGVpZ2h0OiAzOHB4O1xyXG4gICAgd2lkdGg6IDMwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xyXG5cdGZvbnQtc2l6ZTogMjNweDtcclxuXHRib3JkZXI6IG5vbmU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyMTksIDIxOSwgMjE5LCAwLjQxMTc2NDcwNTg4MjM1MjkpO1xyXG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XHJcbn1cclxuLmNvcHlSaWdodHtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG59XHJcblxyXG4uY29weVJpZ2h0IHNwYW57XHJcbiAgICBwYWRkaW5nOiAwcHggNXB4O1xyXG59XHJcbmkuZmEge1xyXG4gICAgY29sb3I6ICM3NDc0Nzc7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDNweDtcclxufVxyXG5cclxuaW5wdXQ6Zm9jdXMge1xyXG4gICAgb3V0bGluZTpub25lO1xyXG59XHJcblxyXG4uc2lnbi1idG4tc3R5bGV7XHJcbiAgICBmb250LXNpemU6IDE2cHghaW1wb3J0YW50O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMxNzU3ODg7XHJcblx0Y29sb3I6ICNmZmY7XHJcblx0Ym9yZGVyOm5vbmUhaW1wb3J0YW50O1xyXG5cdGJveC1zaGFkb3c6IDFweCAxcHggMTBweCAycHggI2Q0ZWRmZjtcclxuXHRib3JkZXItcmFkaXVzOiAzMHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA2cHggIWltcG9ydGFudDtcclxuXHRwYWRkaW5nOiAyMXB4IDA7XHJcblx0dGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XHJcbn1cclxuXHJcblxyXG5hLmZvcmdldC1saW5re1xyXG5cdGNvbG9yOiAjMTc1Nzg4O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuXHJcbmlucHV0W3R5cGU9ZW1haWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoLmJyb3dzZXItZGVmYXVsdCksaW5wdXRbdHlwZT10ZXh0XTpub3QoLmJyb3dzZXItZGVmYXVsdCl7XHJcblx0Lyogd2lkdGg6IDI0MCFpbXBvcnRhbnQ7ICovXHJcblx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAzOHB4IWltcG9ydGFudDtcclxuICAgIHBhZGRpbmc6IDBweCA3cHghaW1wb3J0YW50O1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIxOSwgMjE5LCAyMTksIDAuNDExNzY0NzA1ODgyMzUyOSk7XHJcbiAgICBjb2xvcjogIzMxMzAzMDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuLmZvcm1ncm91cCBsYWJlbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcclxufVxyXG4udmlld3tcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Y3Vyc29yOiBkZWZhdWx0O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxufVxyXG4udHh0LWltZy1zdHlsZXtcclxuXHR3aWR0aDoyMDBweDtcclxuXHR0b3A6OHB4O1xyXG59XHJcbi5mb3JtLWlucHV0OjpwbGFjZWhvbGRlciB7XHJcblx0LyogQ2hyb21lLCBGaXJlZm94LCBPcGVyYSwgU2FmYXJpIDEwLjErICovXHJcblx0Zm9udC1zaXplOiAxNXB4ICFpbXBvcnRhbnQ7XHJcblx0Y29sb3I6IHJnYigxMTIsIDExMiwgMTEyKSAhaW1wb3J0YW50O1xyXG5cdGZvbnQtZmFtaWx5OiBcIlJvYm90by1MaWdodFwiO1xyXG4gIH1cclxuICBcclxuICAuZm9ybS1pbnB1dDo6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcclxuXHQvKiBJbnRlcm5ldCBFeHBsb3JlciAxMC0xMSAqL1xyXG5cdGZvbnQtc2l6ZTogMTVweCAhaW1wb3J0YW50O1xyXG5cdGNvbG9yOiByZ2IoMTEyLCAxMTIsIDExMikgIWltcG9ydGFudDtcclxuXHRmb250LWZhbWlseTogXCJSb2JvdG8tTGlnaHRcIjtcclxuICB9XHJcbiAgXHJcbiAgLmZvcm0taW5wdXQ6Oi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XHJcblx0LyogTWljcm9zb2Z0IEVkZ2UgKi9cclxuXHRmb250LXNpemU6IDE1cHggIWltcG9ydGFudDtcclxuXHRjb2xvcjogcmdiKDExMiwgMTEyLCAxMTIpICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1mYW1pbHk6IFwiUm9ib3RvLUxpZ2h0XCI7XHJcbiAgfVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDcwMHB4KSBcclxue1xyXG5cdC5sb2dpbkRJVntcclxuXHRcdC8qICB3aWR0aDogbWF4LWNvbnRlbnQhaW1wb3J0YW50OyovXHJcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHRcdFxyXG59IFxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSAge1xyXG5cdC5iZy10YWd7XHJcblx0XHRwYWRkaW5nOjclO1xyXG5cdFx0bWF4LWhlaWdodDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0XHRtaW4taGVpZ2h0OiAxMDAlIWltcG9ydGFudDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDBweCFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkycHgpICB7XHJcblx0LmJnLXRhZ3tcclxuXHRcdHBhZGRpbmc6NyU7XHJcblx0XHRtYXgtaGVpZ2h0OjkwJTtcclxuXHRcdG1pbi1oZWlnaHQ6IDkwJTtcclxuXHR9XHJcblx0LmJyYW5kLWltZy1zdHlsZXtcclxuXHRcdHdpZHRoOjE3MHB4O1xyXG5cdH1cclxuXHQudHh0LWltZy1zdHlsZXtcclxuXHRcdHdpZHRoOjE3MHB4O1xyXG5cdH1cclxufVxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNTBweCkgIHtcclxuXHQuYmctdGFne1xyXG5cdFx0d2lkdGg6MTAwJSFpbXBvcnRhbnQ7XHJcblx0fVxyXG5cdFxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTUwMHB4KSAge1xyXG5cdC5iZy10YWd7XHJcblx0XHR3aWR0aDo5MCU7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcyMHB4KSAge1xyXG5cdC5Mb2dpbkNvbnRhaW5lckNsYXNze1xyXG5cdFx0bWluLWhlaWdodDogNDEwcHg7XHJcbiAgICBcdGhlaWdodDogNDEwcHg7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDYwMHB4KSBhbmQgKG1heC13aWR0aDogOTAwcHgpICB7XHJcblx0LkxvZ2luQ29udGFpbmVyQ2xhc3N7XHJcblx0XHR0b3A6LTdyZW07XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSAge1xyXG5cdC5iZy10YWd7XHJcblx0XHRwYWRkaW5nOjglO1xyXG5cdFx0bWF4LWhlaWdodDogNDgwcHg7XHJcblx0fVxyXG5cdC5Mb2dpbkNvbnRhaW5lckNsYXNze1xyXG5cdFx0bGVmdDowcHg7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyogRXh0cmEgc21hbGwgZGV2aWNlcyAocGhvbmVzLCAzMjBweCkgKi9cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAod2lkdGg6IDMyMHB4KSBcclxue1xyXG5cdC5sb2dpbkRJVntcclxuXHRcdC8qIHdpZHRoOiBtYXgtY29udGVudCFpbXBvcnRhbnQ7ICovXHJcblx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cdH1cdFxyXG59IFxyXG5cclxuXHJcbi8qIEV4dHJhIHNtYWxsIGRldmljZXMgKHBob25lcywgNjAwcHggYW5kIGRvd24pICovXHJcbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIFxyXG57XHJcblx0aW5wdXRbdHlwZT1lbWFpbF06bm90KC5icm93c2VyLWRlZmF1bHQpLGlucHV0W3R5cGU9dGV4dF06bm90KC5icm93c2VyLWRlZmF1bHQpLGlucHV0W3R5cGU9cGFzc3dvcmRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KXtcclxuXHRcdC8qIHdpZHRoOiAyNDBweCFpbXBvcnRhbnQ7ICovXHJcblx0XHR3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0fVxyXG59IFxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAod2lkdGg6IDMyMHB4KSBcclxue1xyXG5cdGlucHV0W3R5cGU9ZW1haWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXRleHRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoLmJyb3dzZXItZGVmYXVsdCl7XHJcblx0XHQvKiB3aWR0aDogMjAwcHghaW1wb3J0YW50OyAqL1xyXG5cdFx0d2lkdGg6IDEwMCUhaW1wb3J0YW50O1xyXG5cdH1cclxufSBcclxuXHJcbmlucHV0W3R5cGU9ZW1haWxdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXRleHRdOm5vdCguYnJvd3Nlci1kZWZhdWx0KSxpbnB1dFt0eXBlPXBhc3N3b3JkXTpub3QoLmJyb3dzZXItZGVmYXVsdCl7XHJcblx0Lyogd2lkdGg6IDI3MHB4OyAqL1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICBcclxuICAgIC5iZy10YWd7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTc1Nzg4IDUwJSwgI2ZmZmZmZiA1MCUpO1xyXG5cdH1cclxuXHQudmlld3tcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR9XHJcblx0LkxvZ2luQ29udGFpbmVyQ2xhc3N7XHJcblx0XHR3aWR0aDogNjAlIWltcG9ydGFudDtcclxuXHRcdGxlZnQ6MCU7XHJcblx0fVxyXG5cdC5zbS1ub25le1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHQgIH1cclxuICB9XHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuYmctdGFne1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMxNzU3ODggNTAlLCAjZmZmZmZmIDUwJSk7XHJcblx0fVxyXG5cdC52aWV3e1xyXG5cdFx0cG9zaXRpb246IGZpeGVkO1xyXG5cdH1cclxuXHQuTG9naW5Db250YWluZXJDbGFzc3tcclxuXHRcdHdpZHRoOiAxMDAlIWltcG9ydGFudDtcclxuXHR9XHJcblx0LnNtLW5vbmV7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdCAgfVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiA3MjBweCl7XHJcblx0LmJnLXRhZ3tcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMTc1Nzg4IDUwJSwgI2ZmZmZmZiA1MCUpO1xyXG5cdH1cclxuICB9XHJcblxyXG5cclxuIl19 */\"","module.exports = \"
    \\r\\n\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\\"\\\"\\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\\"\\\"\\r\\n\\t\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\\"\\\"\\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\tSIGN IN\\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\tForgot Password\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n\\t\\r\\n
    \"","import { Component, OnInit } from \"@angular/core\";\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { first } from \"rxjs/operators\";\r\n\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { AuthenticationService } from \"../services/authentication.service\";\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"app-log-in\",\r\n templateUrl: \"./log-in.component.html\",\r\n styleUrls: [\"./log-in.component.css\"]\r\n})\r\nexport class LogInComponent implements OnInit {\r\n model: any = {};\r\n scope: any = {};\r\n errorText: any;\r\n\r\n loginForm: FormGroup;\r\n\r\n showModal: boolean = false;\r\n submitted: boolean = false;\r\n loading: boolean = false;\r\n forget_password: boolean = false;\r\n new_password: boolean = false;\r\n constructor(\r\n private formBuilder: FormBuilder,\r\n public authenticationService: AuthenticationService,\r\n private alertService: AlertService,\r\n private validate: MandatoryfieldService,\r\n private apiData: ApiService,\r\n private commonfunctions: CommonfunctionsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.alertService.clearLocalstorage();\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.required],\r\n password: [\"\", Validators.required]\r\n });\r\n\r\n // reset login status\r\n //this.authenticationService.logout();\r\n }\r\n get f() {\r\n return this.loginForm.controls;\r\n }\r\n changePassword() {\r\n this.submitted = false;\r\n this.alertService.enteredMailtoForgetScreen.set(this.f.username.value);\r\n this.authenticationService.loginFormsave(this.loginForm);\r\n this.authenticationService.forgetOrChangePassword('loggedoff');\r\n }\r\n\r\n Login() {\r\n let requestData: any;\r\n this.submitted = true;\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n this.alertService.clearLocalstorage();\r\n this.alertService.tokenId.remove();\r\n requestData = {\r\n username: this.f.username.value,\r\n password: this.authenticationService.enCryptText(this.f.password.value), //hashCode.toString()\r\n scope: \"\",\r\n grant_type: \"password\"\r\n };\r\n\r\n this.loading = true;\r\n this.authenticationService\r\n .login(requestData)\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.loading = false;\r\n this.submitted = false;\r\n if (data.status == 1) {\r\n this.alertService.userId.set(requestData.username);\r\n if (this.alertService.firstTimeLogin(data, 'login')) {\r\n this.authenticationService.loginFormsave(this.loginForm);\r\n this.alertService.changePasswordId.set(data.changepassword_id);\r\n this.authenticationService.showModal = true;\r\n this.authenticationService.firstTimeLogin();\r\n this.loginForm.reset();\r\n this.validate.popUpAlert(\"Please reset the password\", \"\", \"info\");\r\n } else {\r\n this.alertService.first = false;\r\n if (data.userType == \"Tie-Up Sub User\" || data.userType == \"TieUp Sub User\") {\r\n this.alertService.navigateTo(\"/choose-transaction\");\r\n } else if (data.userType == \"MR-Super Admin\") {\r\n this.alertService.navigateTo(\"/tie-up\");\r\n } else if (data.userType == \"Tie-Up Admin\") {\r\n this.alertService.navigateTo(\"/user\");\r\n } else {\r\n this.validate.popUpAlert(\"Invalid User Type\", \"\", \"error\");\r\n }\r\n }\r\n } else {\r\n this.validate.popUpAlert(data.message, \"\", \"error\");\r\n }\r\n },\r\n error => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(error);\r\n }\r\n );\r\n }\r\n}\r\n","module.exports = \"\\r\\n:host .upload-area {\\r\\n position: relative;\\r\\n padding: 5px\\r\\n}\\r\\n\\r\\n:host .upload-progress-message {\\r\\n background-color: #ffffffbd;\\r\\n position: absolute;\\r\\n height: 100%;\\r\\n top: 0;\\r\\n left: 0;\\r\\n width: 100%;\\r\\n z-index: 100;\\r\\n display: flex;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n}\\r\\n\\r\\n/*** stepper***/\\r\\n\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\r\\n}\\r\\n\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788;\\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media only screen and (max-width: 1450px) and (min-width: 1200px)\\r\\n{\\r\\n\\t.filedrop-align{\\r\\n\\t\\twidth:63% !important;\\r\\n\\t\\theight:63% !important;\\r\\n\\t}\\r\\n\\t.file-drop{\\r\\n\\t\\theight: 13em ;\\r\\n\\t\\twidth: 12em;\\r\\n\\t\\tmargin-top: 12em ;\\r\\n\\t\\tpadding-top: 0em ;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/*\\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1025px)\\r\\n and (max-width: 1368px){\\r\\n .file-drop{\\r\\n\\t\\theight: 23em!important;\\r\\n\\t }\\r\\n\\t .card-block{\\r\\n\\t\\tmin-height: 188px!important;\\r\\n\\t\\tmax-height: 188px!important;\\r\\n\\t }\\r\\n\\t .textShadeColor{\\r\\n\\t\\tfont-size:18px !important;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1281px)\\r\\n and (max-width: 1368px){\\r\\n\\t.container-body{\\r\\n\\t\\tmax-height:37.9rem;\\r\\n\\t }\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 223px;\\r\\n\\t}\\r\\n }\\r\\n\\r\\n@media only screen\\r\\n and (min-width: 1369px){\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 314px;\\r\\n\\t}\\r\\n }\\r\\n\\r\\n.file-drop{\\r\\n\\tmargin-top: 96px!important;\\r\\n\\theight: 18em ;\\r\\n width: 17em;\\r\\n margin-top: 12em ;\\r\\n padding-top: 3em ;\\r\\n}\\r\\n\\r\\n.filedrop{\\r\\n\\theight: 16em;\\r\\n width: 19em;\\r\\n margin-top: 14em;\\r\\n padding-top: 2em;\\r\\n}\\r\\n\\r\\n.line{\\r\\n\\tposition: relative;\\r\\n\\tborder-left: 1px solid grey;\\r\\n height: 340px;\\r\\n right: 27px;\\r\\n margin-top: 40px;\\r\\n}\\r\\n\\r\\n.lineHide{\\r\\n\\tz-index:1;\\r\\n}\\r\\n\\r\\n.lead{\\r\\n\\tfont-weight:600 !important;\\r\\n\\tfont-size:16px !important;\\r\\n}\\r\\n\\r\\n.border{\\r\\n\\tborder-color:#d9d9d9 !important;\\r\\n}\\r\\n\\r\\n.textShadeColor,.fa-upload{\\r\\n\\tcolor: #000000 !important;\\r\\n\\tfont-size: 20px;\\r\\n}\\r\\n\\r\\n.btnFile{\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.cursorPointer{\\r\\n\\tcursor:pointer;\\r\\n}\\r\\n\\r\\n.card {\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n\\r\\n.card-block {\\r\\n flex: 1 1 auto;\\r\\n padding: 1.25rem;\\r\\n padding: 1.25rem;\\r\\n min-height: 270px;\\r\\n max-height: 270px;\\r\\n}\\r\\n\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none;\\r\\n overflow: -moz-scrollbars-none;\\r\\n}\\r\\n\\r\\n.scroll-container::-webkit-scrollbar {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n.file-text{\\r\\n\\tfont-size: 17px;\\r\\n\\tfont-family: \\\"Roboto-Regular\\\";\\r\\n\\tcolor: #175788!important;\\r\\n }\\r\\n\\r\\n.loadingtext {\\r\\n\\tz-index: 2000;\\r\\n\\tposition: absolute;\\r\\n\\tcolor: #04518b;\\r\\n\\tfont-weight: bolder;\\r\\n\\tfont-size: 20px;\\r\\n\\tleft: 0;\\r\\n\\tright: 0;\\r\\n\\ttext-align: center;\\r\\n\\ttop: calc(50% + 25px);\\r\\n }\\r\\n\\r\\n.line-design{\\r\\n\\theight: 12px;\\r\\n margin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border-bottom: 1px solid rgba(0,0,0,.1);\\r\\n text-align: center;\\r\\n}\\r\\n\\r\\n.centerAlignLoading {\\r\\n\\ttop: 470px;\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n\\r\\n@media (max-width:425px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 455px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:426px) and (max-width:767px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 430px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:768px) and (max-width:1023px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 420px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:1024px) and (max-width:1170px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 410px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n@media (min-width:1171px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 460px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L21hbmFnZS1zdGF0ZS1kaXN0cmljdC9tYW5hZ2Utc3RhdGUtZGlzdHJpY3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQ0E7RUFDRSxtQkFBbUI7RUFDbkIsWUFBWTtDQUNiOztBQUVEO0VBQ0UsNEJBQTRCO0VBQzVCLG1CQUFtQjtFQUNuQixhQUFhO0VBQ2IsT0FBTztFQUNQLFFBQVE7RUFDUixZQUFZO0VBQ1osYUFBYTtFQUNiLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsd0JBQXdCO0NBQ3pCOztBQUdELGdCQUFnQjs7QUFDaEI7Q0FDQyxVQUFVO0NBQ1YsZ0JBQWdCO0NBQ2hCLDhCQUE4QjtDQUM5QixrQkFBa0I7Q0FDbEIsMkJBQTJCO0NBQzNCOztBQUVEO0NBQ0MsV0FBVztDQUNYLGdCQUFnQjtDQUNoQixVQUFVO0NBQ1YscUJBQXFCOztDQUVyQjs7QUFDRDtDQUNDLGFBQWE7SUFDVix3QkFBd0I7SUFDeEIsc0JBQXNCO0NBQ3pCLGVBQWU7SUFDWixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25COztBQUVEO0NBQ0MsV0FBVztDQUNYLFlBQVk7Q0FDWixxQkFBcUI7Q0FDckIsa0JBQWtCO0NBQ2xCLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtJQUNmLFVBQVU7SUFDVixjQUFjO0NBQ2pCOztBQUVEO0NBQ0MseUJBQXlCO0NBQ3pCLGNBQWM7Q0FDZCx5QkFBeUI7Q0FDekI7O0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLHlCQUF5QjtDQUN6Qjs7QUFDRDtJQUNJLDBDQUEwQztDQUM3Qzs7QUFDRDtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjs7QUFFRDtDQUNDLHdCQUF3QjtDQUN4Qjs7QUFFRDtDQUNDO0VBQ0MsWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEI7Q0FDRDtFQUNDLFlBQVk7RUFDWjtDQUNEO0VBQ0MsVUFBVTtFQUNWO0NBQ0Q7O0FBRUQ7O0NBRUM7RUFDQyxxQkFBcUI7RUFDckIsc0JBQXNCO0VBQ3RCO0NBQ0Q7RUFDQyxjQUFjO0VBQ2QsWUFBWTtFQUNaLGtCQUFrQjtFQUNsQixrQkFBa0I7RUFDbEI7Q0FDRDs7QUFDRDtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjs7QUFFRDs7O0lBR0U7O0FBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7O0FBQ0Q7OztJQUdFO0VBQ0YsdUJBQXVCO0lBQ3JCO0dBQ0Q7RUFDRCw0QkFBNEI7RUFDNUIsNEJBQTRCO0lBQzFCO0dBQ0Q7RUFDRCwwQkFBMEI7RUFDMUI7Q0FDRDs7QUFDRDs7O0NBR0M7RUFDQyxtQkFBbUI7SUFDakI7R0FDRDtFQUNELGtCQUFrQjtFQUNsQjtHQUNDOztBQUNEOztHQUVDO0VBQ0Qsa0JBQWtCO0VBQ2xCO0dBQ0M7O0FBQ0g7Q0FDQywyQkFBMkI7Q0FDM0IsY0FBYztJQUNYLFlBQVk7SUFDWixrQkFBa0I7SUFDbEIsa0JBQWtCO0NBQ3JCOztBQUNEO0NBQ0MsYUFBYTtJQUNWLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ3BCOztBQUNEO0NBQ0MsbUJBQW1CO0NBQ25CLDRCQUE0QjtJQUN6QixjQUFjO0lBQ2QsWUFBWTtJQUNaLGlCQUFpQjtDQUNwQjs7QUFDRDtDQUNDLFVBQVU7Q0FDVjs7QUFDRDtDQUNDLDJCQUEyQjtDQUMzQiwwQkFBMEI7Q0FDMUI7O0FBQ0Q7Q0FDQyxnQ0FBZ0M7Q0FDaEM7O0FBQ0Q7Q0FDQywwQkFBMEI7Q0FDMUIsZ0JBQWdCO0NBQ2hCOztBQUNEO0lBQ0ksY0FBYztDQUNqQjs7QUFDRDtDQUNDLGVBQWU7Q0FDZjs7QUFDRDtJQUNJLG9DQUFvQztDQUN2Qzs7QUFDRDtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckI7O0FBQ0Q7Q0FDQyxtQ0FBbUM7SUFDaEMsbUJBQW1CO0lBQ25CLGFBQWE7SUFDYixvQkFBb0I7SUFDcEIsaUJBQWlCO0NBQ3BCOztBQUNEO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7R0FDaEI7O0FBRUg7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0NBQ2xDOztBQUNEO0lBQ0ksY0FBYztDQUNqQjs7QUFDRDtDQUNDLGdCQUFnQjtDQUNoQiw4QkFBOEI7Q0FDOUIseUJBQXlCO0dBQ3ZCOztBQUVEO0NBQ0QsY0FBYztDQUNkLG1CQUFtQjtDQUNuQixlQUFlO0NBQ2Ysb0JBQW9CO0NBQ3BCLGdCQUFnQjtDQUNoQixRQUFRO0NBQ1IsU0FBUztDQUNULG1CQUFtQjtDQUNuQixzQkFBc0I7R0FDcEI7O0FBQ0g7Q0FDQyxhQUFhO0lBQ1YsaUJBQWlCO0lBQ2pCLG9CQUFvQjtJQUNwQix3Q0FBd0M7SUFDeEMsbUJBQW1CO0NBQ3RCOztBQUVEO0NBQ0MsV0FBVztDQUNYLG1CQUFtQjtDQUNuQixZQUFZO0NBQ1o7O0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7O0FBRUQ7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0QiLCJmaWxlIjoic3JjL2FwcF9kZXYvbWFuYWdlLXN0YXRlLWRpc3RyaWN0L21hbmFnZS1zdGF0ZS1kaXN0cmljdC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbjpob3N0IC51cGxvYWQtYXJlYSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDVweFxyXG59XHJcblxyXG46aG9zdCAudXBsb2FkLXByb2dyZXNzLW1lc3NhZ2Uge1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmZiZDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbn1cclxuXHJcblxyXG4vKioqIHN0ZXBwZXIqKiovXHJcbi5zdGVwcGVyX3Jvd3tcclxuXHR3aWR0aDo4NSU7XHJcblx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGl7XHJcblx0ZmxvYXQ6bGVmdDtcclxuXHRsaXN0LXN0eWxlOm5vbmU7XHJcblx0d2lkdGg6MjUlO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cclxufVxyXG4uc3Bhbl9jb2xvciB7XHJcblx0bWFyZ2luOiBhdXRvO1xyXG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAzcHg7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAycHg7XHJcblx0Y29sb3I6ICNDQUNBQ0E7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAyMHB4O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHR3aWR0aDo1MHB4O1xyXG5cdGhlaWdodDo1MHB4O1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdGJvcmRlci1yYWRpdXM6NTAlO1xyXG5cdGJvcmRlcjoycHggc29saWQgI0NBQ0FDQTtcclxuXHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kOiNmZmY7XHJcblx0cG9zaXRpb246cmVsYXRpdmU7XHJcbiAgICB6LWluZGV4OjI7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGkuYWN0aXZlIHNwYW57XHJcblx0LyogYmFja2dyb3VuZDojRDExMjQxOyAqL1xyXG5cdGNvbG9yOiMxNzU3ODg7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjMTc1Nzg4O1xyXG59XHJcbi5zdGVwcGVyX3JvdyBsaS5jb21wbGV0ZSBzcGFue1xyXG5cdGJhY2tncm91bmQ6IzE3NTc4ODtcclxuXHRjb2xvcjojZmZmO1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGU6YWZ0ZXJ7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTc1Nzg4IWltcG9ydGFudDtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OicnO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Ym90dG9tOjM0cHg7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaTpsYXN0LWNoaWxkOmFmdGVye1xyXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KXtcclxuXHQuc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRib3R0b206MjhweDtcclxuXHR9XHJcblx0LnN0ZXBwZXJfcm93e1xyXG5cdFx0d2lkdGg6OTAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNDUwcHgpIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpXHJcbntcclxuXHQuZmlsZWRyb3AtYWxpZ257XHJcblx0XHR3aWR0aDo2MyUgIWltcG9ydGFudDtcclxuXHRcdGhlaWdodDo2MyUgIWltcG9ydGFudDtcclxuXHR9XHJcblx0LmZpbGUtZHJvcHtcclxuXHRcdGhlaWdodDogMTNlbSA7XHJcblx0XHR3aWR0aDogMTJlbTtcclxuXHRcdG1hcmdpbi10b3A6IDEyZW0gO1xyXG5cdFx0cGFkZGluZy10b3A6IDBlbSA7XHJcblx0fVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW5cclxuICBhbmQgKG1pbi13aWR0aDogMTAyNXB4KVxyXG4gIGFuZCAobWF4LXdpZHRoOiAxMzY4cHgpe1xyXG4gICAgLmZpbGUtZHJvcHtcclxuXHRcdGhlaWdodDogMjNlbSFpbXBvcnRhbnQ7XHJcblx0ICB9XHJcblx0ICAuY2FyZC1ibG9ja3tcclxuXHRcdG1pbi1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHRcdG1heC1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHQgIH1cclxuXHQgIC50ZXh0U2hhZGVDb2xvcntcclxuXHRcdGZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlblxyXG4gIGFuZCAobWluLXdpZHRoOiAxMjgxcHgpXHJcbiAgYW5kIChtYXgtd2lkdGg6IDEzNjhweCl7XHJcblx0LmNvbnRhaW5lci1ib2R5e1xyXG5cdFx0bWF4LWhlaWdodDozNy45cmVtO1xyXG5cdCAgfVxyXG5cdCAgLmZpeGVkLWhpZ2h0e1xyXG5cdFx0bWluLWhlaWdodDogMjIzcHg7XHJcblx0fVxyXG4gIH1cclxuICBAbWVkaWEgb25seSBzY3JlZW5cclxuICBhbmQgKG1pbi13aWR0aDogMTM2OXB4KXtcclxuXHQgIC5maXhlZC1oaWdodHtcclxuXHRcdG1pbi1oZWlnaHQ6IDMxNHB4O1xyXG5cdH1cclxuICB9XHJcbi5maWxlLWRyb3B7XHJcblx0bWFyZ2luLXRvcDogOTZweCFpbXBvcnRhbnQ7XHJcblx0aGVpZ2h0OiAxOGVtIDtcclxuICAgIHdpZHRoOiAxN2VtO1xyXG4gICAgbWFyZ2luLXRvcDogMTJlbSA7XHJcbiAgICBwYWRkaW5nLXRvcDogM2VtIDtcclxufVxyXG4uZmlsZWRyb3B7XHJcblx0aGVpZ2h0OiAxNmVtO1xyXG4gICAgd2lkdGg6IDE5ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxNGVtO1xyXG4gICAgcGFkZGluZy10b3A6IDJlbTtcclxufVxyXG4ubGluZXtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCBncmV5O1xyXG4gICAgaGVpZ2h0OiAzNDBweDtcclxuICAgIHJpZ2h0OiAyN3B4O1xyXG4gICAgbWFyZ2luLXRvcDogNDBweDtcclxufVxyXG4ubGluZUhpZGV7XHJcblx0ei1pbmRleDoxO1xyXG59XHJcbi5sZWFke1xyXG5cdGZvbnQtd2VpZ2h0OjYwMCAhaW1wb3J0YW50O1xyXG5cdGZvbnQtc2l6ZToxNnB4ICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJvcmRlcntcclxuXHRib3JkZXItY29sb3I6I2Q5ZDlkOSAhaW1wb3J0YW50O1xyXG59XHJcbi50ZXh0U2hhZGVDb2xvciwuZmEtdXBsb2Fke1xyXG5cdGNvbG9yOiAjMDAwMDAwICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1zaXplOiAyMHB4O1xyXG59XHJcbi5idG5GaWxle1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uY3Vyc29yUG9pbnRlcntcclxuXHRjdXJzb3I6cG9pbnRlcjtcclxufVxyXG4uY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3IWltcG9ydGFudDtcclxufVxyXG4uY2FyZC1ibG9jayB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBwYWRkaW5nOiAxLjI1cmVtO1xyXG4gICAgbWluLWhlaWdodDogMjcwcHg7XHJcbiAgICBtYXgtaGVpZ2h0OiAyNzBweDtcclxufVxyXG4uYnJvd3NlLWJ0bntcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZDogI2VmZWRlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgICBtYXgtaGVpZ2h0OjcwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXIge1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5maWxlLXRleHR7XHJcblx0Zm9udC1zaXplOiAxN3B4O1xyXG5cdGZvbnQtZmFtaWx5OiBcIlJvYm90by1SZWd1bGFyXCI7XHJcblx0Y29sb3I6ICMxNzU3ODghaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmxvYWRpbmd0ZXh0IHtcclxuXHR6LWluZGV4OiAyMDAwO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRjb2xvcjogIzA0NTE4YjtcclxuXHRmb250LXdlaWdodDogYm9sZGVyO1xyXG5cdGZvbnQtc2l6ZTogMjBweDtcclxuXHRsZWZ0OiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0b3A6IGNhbGMoNTAlICsgMjVweCk7XHJcbiAgfVxyXG4ubGluZS1kZXNpZ257XHJcblx0aGVpZ2h0OiAxMnB4O1xyXG4gICAgbWFyZ2luLXRvcDogMXJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMSk7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbn1cclxuXHJcbi5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdHRvcDogNDcwcHg7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcbkBtZWRpYSAobWF4LXdpZHRoOjQyNXB4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQ1NXB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo0MjZweCkgYW5kIChtYXgtd2lkdGg6NzY3cHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDMwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjc2OHB4KSBhbmQgKG1heC13aWR0aDoxMDIzcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDIwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuQG1lZGlhIChtaW4td2lkdGg6MTAyNHB4KSBhbmQgKG1heC13aWR0aDoxMTcwcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDEwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbkBtZWRpYSAobWluLXdpZHRoOjExNzFweCkge1xyXG5cdC5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdFx0dG9wOiA0NjBweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Manage State & District

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    StateDistrictSeasonCluster
    {{data.state}}{{data.season}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    File upload is in progress. Please wait for few minutes\\r\\n

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{fileName}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n

    Template.csv

    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { CommonfunctionsService } from \"../services/commonfunctions.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n selector: 'app-manage-state-district',\r\n templateUrl: './manage-state-district.component.html',\r\n styleUrls: ['./manage-state-district.component.css']\r\n})\r\nexport class ManageStateDistrictComponent implements OnInit {\r\n loading = 0;\r\n allStatesDistrict: any[] = [];\r\n allStates: any[] = [];\r\n allUploadedStates: any[] = [];\r\n rowData: any[] = [];\r\n allTieups: any[] = [];\r\n selectedFormState: any\r\n selectedUPloadState: any\r\n isSelectAll: boolean = false;\r\n activeTab = 1;\r\n fileName: any = '';\r\n inProgress = false;\r\n file: any;\r\n enableSubmit: boolean = false;\r\n\r\n constructor(private apiData: ApiService, public commonfunctions: CommonfunctionsService, private alert: AlertService,private validate: MandatoryfieldService) {}\r\n\r\n ngOnInit() {\r\n this.getAllStateDistrictData();\r\n }\r\n\r\n getAllStateDistrictData(updated?: any) {\r\n this.loading++\r\n this.apiData.parameterSettingAllStatesDistricts().then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.allStatesDistrict = res.data;\r\n this.allStates = Array.from(new Set(res.data.map(d => d.state))).map(d => ({state: d}))\r\n this.allStates.sort((a: any, b: any) => a.state.localeCompare(b.state));\r\n this.allUploadedStates = JSON.parse(JSON.stringify(this.allStates));\r\n this.allUploadedStates.unshift({state: 'All'});\r\n this.loading--;\r\n if (updated) {\r\n this.onStateChange(this.selectedFormState);\r\n }\r\n }\r\n }).catch(err => {\r\n this.loading--\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n onStateChange(event: any) {\r\n this.rowData = [];\r\n this.enableSubmit = false;\r\n if (event) {\r\n const rowData: any = [];\r\n for (let sind = 0; sind < this.allStatesDistrict.length; sind++) {\r\n const state = this.allStatesDistrict[sind];\r\n if (state.state === event) {\r\n rowData.push({id: state.id, state: state.state, cluster: state.cluster, district: state.district, season: state.season})\r\n }\r\n }\r\n this.rowData = rowData\r\n }\r\n }\r\n\r\n onUploadStateChange(event: any) {}\r\n\r\n updateAll() {\r\n this.allStates.forEach(state => {\r\n state.clusters.forEach(cluster => {\r\n cluster.checked = cluster.districts.every(district => district.checked)\r\n })\r\n state.checked = state.clusters.every(cluster => cluster.checked);\r\n })\r\n this.isSelectAll = this.allStates.every(state => state.checked);\r\n }\r\n\r\n onTabChange(tabId) {\r\n this.activeTab = tabId;\r\n }\r\n\r\n async dropped(event: any) {\r\n this.file = null;\r\n let getFile = event.target.files;\r\n if (getFile.length == 1) {\r\n this.file = getFile[0];\r\n const fileData = await this.getExcelData(getFile[0]);\r\n if (!fileData) {\r\n return;\r\n }\r\n this.fileName = this.file.name;\r\n }\r\n }\r\n\r\n async onFileChange (event) {\r\n this.file = null;\r\n let getFile = event.target.files;\r\n if (getFile.length == 1) {\r\n const fileData = await this.getExcelData(getFile[0]);\r\n if (!fileData) {\r\n return;\r\n }\r\n this.file = getFile[0];\r\n this.fileName = this.file.name;\r\n }\r\n }\r\n\r\n async getExcelData(file) {\r\n return await new Promise((res,rej) => {\r\n try {\r\n const reader = new FileReader();\r\n reader.onload = (e: any) => {\r\n const bstr: string = e.target.result;\r\n const wb: XLSX.WorkBook = XLSX.read(bstr, { type: 'binary' });\r\n\r\n /* grab first sheet */\r\n const wsname: string = wb.SheetNames[0];\r\n const ws: XLSX.WorkSheet = wb.Sheets[wsname];\r\n\r\n /* sheet data */\r\n const tableData = (XLSX.utils.sheet_to_json(ws, { header: 1 }));\r\n let header: any = [];\r\n const jsonData: any = [];\r\n const firstRow: any = tableData[0];\r\n if (!firstRow || !firstRow.length) {\r\n this.validate.popUpAlert('Invalid CSV file', \"Warning\", \"warning\");\r\n res(null);\r\n return null;\r\n } else {\r\n const headerDataTemplate = `state,district,season,cluster`\r\n const headerData = firstRow.map(d => d.trim().toLowerCase()).join();\r\n if (headerData != headerDataTemplate) {\r\n this.validate.popUpAlert('Invalid CSV file', \"Warning\", \"warning\");\r\n res(null);\r\n return null;\r\n }\r\n }\r\n for (let i = 0; i < tableData.length; i++) {\r\n const row: any = tableData[i];\r\n if (i == 0) {\r\n row.forEach((d) => header.push(d.trim().toLowerCase()));\r\n } else {\r\n const data: any = {};\r\n for (let j = 0; j < header.length; j++) {\r\n const cell = ['',null,undefined].includes(row[j]) ? '' : row[j];\r\n if (cell && typeof cell == 'string') {\r\n data[header[j]] = cell.trim();\r\n } else if (typeof cell == 'number') {\r\n data[header[j]] = cell;\r\n } else {\r\n data[header[j]] = cell || '';\r\n }\r\n }\r\n jsonData.push(data);\r\n }\r\n }\r\n res(jsonData);\r\n }\r\n reader.readAsBinaryString(file);\r\n\r\n\r\n } catch(err) {\r\n rej(err);\r\n }\r\n });\r\n }\r\n\r\n\r\n onFileUpload () {\r\n if (!this.selectedUPloadState) {\r\n this.validate.popUpAlert('Please select state first', \"Warning\", \"warning\");\r\n }\r\n if (!this.file || !this.fileName) {\r\n this.validate.popUpAlert('Please select file first', \"Warning\", \"warning\");\r\n return\r\n }\r\n const fromData = new FormData();\r\n fromData.append('file', this.file, this.fileName)\r\n fromData.append('state', this.selectedUPloadState)\r\n this.loading++\r\n this.apiData.MasterUploadClusterMapUpload(fromData).then((response: any) => {\r\n this.loading--;\r\n if (response.status === 1) {\r\n this.validate.popUpAlert(response.message, \"Success\", \"success\");\r\n this.file = null;\r\n this.fileName = null;\r\n this.getAllStateDistrictData();\r\n } else {\r\n this.validate.popUpAlert(response.message, \"Error\", \"error\");\r\n }\r\n }).catch(err => {\r\n this.loading--;\r\n console.error(err);\r\n this.validate.popUpAlert('Unable to upload file', \"Error\", \"error\");\r\n })\r\n }\r\n\r\n downloadSample() {\r\n this.loading++;\r\n this.apiData.MasterUploaddownloadSampleClusterMapping().then(res => {\r\n this.loading--;\r\n this.commonfunctions.csvDownloadFromServer(res);\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n onDisctictUpdate(data) {\r\n data.isUpdated = true;\r\n this.enableSubmit = true;\r\n }\r\n\r\n onSubmit() {\r\n this.loading++\r\n const request = this.rowData.filter((data: any) => data.isUpdated).map(data => {\r\n return { id: data.id, district: data.district, cluster: data.cluster }\r\n });\r\n this.apiData.MasterUploadUpdateClusterMapping(request).then((response: any) => {\r\n this.loading--;\r\n if (response.status === 1) {\r\n this.validate.popUpAlert(response.message, \"Success\", \"success\");\r\n this.getAllStateDistrictData(true);\r\n } else {\r\n this.validate.popUpAlert(response.message, \"Error\", \"error\");\r\n }\r\n }).catch(err => {\r\n this.loading--;\r\n console.error(err);\r\n this.validate.popUpAlert('Unable to update data', \"Error\", \"error\");\r\n })\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n\\r\\n.scroll-container{\\r\\n max-height:500px;\\r\\n overflow: auto;\\r\\n }\\r\\n\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n\\r\\n.scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3BhcmFtZXRlcnNldHRpbmcvcGFyYW1ldGVyc2V0dGluZy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQTtDQUNDLG1DQUFtQztJQUNoQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixpQkFBaUI7Q0FDcEI7O0FBRUQ7SUFDSSxpQkFBaUI7SUFDakIsZUFBZTtHQUNoQjs7QUFFSDtJQUNJLHlCQUF5QjtJQUN6QiwrQkFBK0I7Q0FDbEM7O0FBQ0Q7SUFDSSxjQUFjO0NBQ2pCOztBQUVEO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGOztBQUVEOzs7SUFHRTs7QUFFRjtJQUNFO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRiIsImZpbGUiOiJzcmMvYXBwX2Rldi9wYXJhbWV0ZXJzZXR0aW5nL3BhcmFtZXRlcnNldHRpbmcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG4uYnJvd3NlLWJ0bntcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xMjUpO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMHB4O1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgYmFja2dyb3VuZDogI2VmZWRlZDtcclxuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcbi5zY3JvbGwtY29udGFpbmVye1xyXG4gICAgbWF4LWhlaWdodDo1MDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxuXHJcbi5zY3JvbGwtY29udGFpbmVyIHtcclxuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgIFxyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lOyAgXHJcbn1cclxuLnNjcm9sbC1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuIFxyXG5cclxuXHJcbiJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Parameter Setting

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoInput ParameterEffective DateAction
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { IMyDpOptions, IMyDateModel } from 'mydatepicker';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-parametersetting',\r\n templateUrl: './parametersetting.component.html',\r\n styleUrls: ['./parametersetting.component.css']\r\n})\r\nexport class ParametersettingComponent implements OnInit {\r\n TieUpListForm: any;\r\n parameterForm: any;\r\n resArray: any;\r\n tableData: any;\r\n showTable: boolean = false;\r\n loading: boolean = false;\r\n showModal: boolean = false;\r\n inputYN: boolean = false;\r\n\r\n btn_name: string = \"VIEW\";\r\n name: string = \"\";\r\n CreateOrEdit: any;\r\n tieuplist: any;\r\n countryList: any;\r\n fileUpload: any;\r\n fileList: FileList;\r\n fieldname: any;\r\n placeholder: any = \"Select Date\"\r\n paramID: any = \"\";\r\n fileNameVal: any;\r\n myDatePickerOptions: IMyDpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n sunHighlight: true,\r\n inline: false,\r\n selectionTxtFontSize: '16px',\r\n editableDateField: false,\r\n openSelectorOnInputClick: true,\r\n indicateInvalidDate: true,\r\n disableUntil: { year: Number(new Date().getFullYear()), month: Number(new Date().getMonth() + 1), day: Number(new Date().getDate() - 1) }\r\n };\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.TieUpListForm = this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n country: [\"\", Validators.required]\r\n });\r\n this.parameterForm = this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n paramName: [\"\", Validators.required],\r\n paramEffDate: [\"\", Validators.required],\r\n data: [\"\", Validators.required],\r\n fileName: [\"\"]\r\n });\r\n this.loadDropDown();\r\n $(\"#parametertable\").on(\"click\", \".edit\", function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n obj.loading = true;\r\n setTimeout(() => obj.loading = false, 500);\r\n obj.apiData.editDetails.pushdata(rowindex);\r\n obj.showModal = true;\r\n obj.inputYN = false;\r\n obj.CreateOrEdit = \"Edit\";\r\n obj.name = \"\";\r\n obj.closeModel();\r\n if (rowindex[\"parameterID\"] == \"max_adminallowed\" || rowindex[\"parameterID\"] == \"max_subuserallowed\") {\r\n obj.inputYN = true;\r\n if (rowindex[\"parameterID\"] == \"max_adminallowed\") {\r\n obj.fieldname = \"Max. No of Admin allowed\";\r\n } else if (rowindex[\"parameterID\"] == \"max_subuserallowed\") {\r\n obj.fieldname = \"Max. No of sub-user allowed\";\r\n }\r\n }\r\n obj.parameterForm.patchValue(obj.apiData.editDetails.popData());\r\n if (!obj.validate.isUndefined(obj.apiData.editDetails.data[\"paramEffDate\"])) {\r\n obj.alertService.patchDate.changeToLocal(obj.apiData.editDetails.data[\"paramEffDate\"]);\r\n obj.dateFormat();\r\n }\r\n obj.setFormEnableDisable();\r\n });\r\n $(\"#parametertable\").on(\"click\", \".delete\", function (e) {\r\n obj.popUpYesOrNo(rowindex);\r\n console.log(\"to be deleted\" + JSON.stringify(rowindex));\r\n });\r\n var obj = this;\r\n var rowindex = {};\r\n $(\"#parametertable\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n });\r\n $(\"#parametertable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getReportList();\r\n });\r\n }\r\n popUpYesOrNo(values) {\r\n Swal({\r\n title: 'Are you sure?',\r\n text: \"You won't be able to revert this!\",\r\n type: 'warning',\r\n showCancelButton: true,\r\n confirmButtonColor: '#286914',\r\n cancelButtonColor: '#d33',\r\n confirmButtonText: 'Yes',\r\n cancelButtonText: 'No'\r\n }).then((result) => {\r\n if (result.value) {\r\n this.deleteParameter(values);\r\n }\r\n })\r\n }\r\n deleteParameter(toDelete) {\r\n // this.apiData.editDetails.pushdata(toDelete);\r\n //debugger;\r\n this.apiData.parameterApi.saveId(toDelete.id)\r\n this.apiData.parameterApi.deleteParameter(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.reloadTable();\r\n this.showModal = false;\r\n this.validate.popUpAlert(\"Parameter deleted successfully\", \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /*** DateFormat patching ***/\r\n dateFormat() {\r\n this.parameterForm.patchValue({\r\n paramEffDate: {\r\n date: this.alertService.patchDate.getPatchedDate(),\r\n formatted: this.alertService.patchDate.getPatchedDate()[\"year\"] + \"-\" + this.alertService.patchDate.getPatchedDate()[\"month\"] + \"-\" + this.alertService.patchDate.getPatchedDate()[\"day\"]\r\n }\r\n });\r\n }\r\n /*** to set field enable and disabe based on EDIT and Create parameter***/\r\n setFormEnableDisable() {\r\n if (this.inputYN) {\r\n this.parameterForm.controls.tieupID.disable(true);\r\n this.parameterForm.controls.paramName.disable(true);\r\n this.parameterForm.controls.data.enable(true);\r\n this.parameterForm.controls.fileName.disable(true);\r\n this.parameterForm.controls.paramEffDate.disable(true);\r\n }\r\n else if (this.CreateOrEdit == \"Edit\") {\r\n this.parameterForm.controls.tieupID.disable(true);\r\n this.parameterForm.controls.paramName.disable(true);\r\n this.parameterForm.controls.data.disable(true);\r\n this.parameterForm.controls.paramEffDate.enable(true);\r\n } else {\r\n this.parameterForm.controls.tieupID.enable(true);\r\n this.parameterForm.controls.paramName.enable(true);\r\n this.parameterForm.controls.data.disable(true);\r\n this.parameterForm.controls.paramEffDate.enable(true);\r\n }\r\n }\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.countryList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showTieupList() {\r\n this.showTable = false;\r\n this.showModal = false;\r\n this.tieuplist = [];\r\n this.TieUpListForm.controls.tieupID.setValue('');\r\n this.apiData.getdropdownList.selectedcountry(this.TieUpListForm.value.country);\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n this.apiData.getdropdownList.getTieUplistByCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showtable(action) {\r\n if (action == \"VIEW\") {\r\n if (this.validate.submitDetails(this.TieUpListForm)) {\r\n this.createParam();\r\n this.apiData.parameterApi.saveId(this.TieUpListForm.value.tieupID)\r\n this.getReportList();\r\n }\r\n this.showModal = false;\r\n } else if (action == \"CREATE\") {\r\n this.btn_name = \"EDIT\";\r\n this.CreateOrEdit = \"Create\";\r\n this.showTable = false;\r\n this.showModal = true;\r\n this.inputYN = false;\r\n this.name = \"\";\r\n this.parameterForm.reset();\r\n } else if (action == \"EDIT\") {\r\n this.btn_name = \"VIEW\";\r\n this.showtable(\"VIEW\");\r\n }\r\n this.fileUpload = \"\";\r\n this.fileNameVal=\"\";\r\n this.setFormEnableDisable();\r\n }\r\n getReportList() {\r\n this.btn_name = \"CREATE\";\r\n this.loading = true;\r\n this.apiData.parameterApi.getlist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.loading = false;\r\n this.prepareJson(result);\r\n $(\"#parametertable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#parametertable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showTable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n if (!this.validate.isUndefined(resData.data[i][\"paramEffDate\"])) {\r\n let date = resData.data[i][\"paramEffDate\"].split('T');\r\n resArray1[\"paramEffDate\"] = date[0];\r\n } else {\r\n resArray1[\"paramEffDate\"] = resData.data[i][\"paramEffDate\"];\r\n }\r\n resArray1[\"paramEffDatewithTime\"] = this.validate.convertDate(resData.data[i][\"paramEffDate\"]);\r\n resArray1[\"paramName\"] = resData.data[i][\"paramName\"];\r\n resArray1[\"isCustomParameter\"] = resData.data[i][\"isCustomParameter\"];\r\n let deleteoption = (resArray1[\"isCustomParameter\"]) ? '
    ' : ''\r\n resArray1[\"action\"] =\r\n '
    ' + deleteoption;\r\n resArray1[\"parameterID\"] = resData.data[i][\"parameterID\"];\r\n resArray1[\"tenantId\"] = resData.data[i][\"tenantId\"];\r\n resArray1[\"tieupID\"] = resData.data[i][\"tieupID\"];\r\n resArray1[\"data\"] = resData.data[i][\"data\"];\r\n resArray1[\"id\"] = resData.data[i][\"id\"];\r\n resArray1[\"sno\"] = i + 1;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n createParam() {\r\n if (this.validate.submitDetails(this.TieUpListForm)) {\r\n this.showModal = true;\r\n this.CreateOrEdit = 'Create';\r\n this.inputYN = false;\r\n this.closeModel();\r\n this.apiData.editDetails.removeAndAddData(this.TieUpListForm.value);\r\n this.parameterForm.patchValue(this.apiData.editDetails.popData());\r\n this.setFormEnableDisable();\r\n } else {\r\n this.validate.popUpAlert(\"Please Fill Required Fields!\", \"Required\", \"warning\");\r\n }\r\n }\r\n fileChange(event): void {\r\n this.fileNameVal=\"\";\r\n let getFile = event.target.files;\r\n let array = getFile[0].name.split('.');\r\n if (array[array.length - 1] == \"csv\") {\r\n this.fileList = getFile;\r\n this.fileNameVal=this.fileList[0].name;\r\n this.parameterForm.controls.fileName.setValue(this.fileList[0].name);\r\n } else {\r\n this.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n }\r\n }\r\n // createnew() {\r\n // if (!this.inputYN) {\r\n // this.CreateOrEdit = 'Create';\r\n // this.setFormEnableDisable();\r\n // } else {\r\n // this.showtable('CREATE');\r\n // }\r\n // this.fileUpload = \"\";\r\n // this.parameterForm.reset();\r\n // }\r\n closeModel() {\r\n this.fileUpload = \"\";\r\n this.fileNameVal=\"\";\r\n this.parameterForm.reset();\r\n }\r\n formRequest() {\r\n const formData = new FormData();\r\n formData.append(\"tieupID\", this.parameterFormControls.tieupID.value);\r\n formData.append(\"country\", this.TieUpListForm.controls.country.value);\r\n formData.append(\"paramName\", this.parameterFormControls.paramName.value);\r\n formData.append(\"paramEffDate\", this.parameterFormControls.paramEffDate.value);\r\n formData.append(\"parameterID\", this.paramID);\r\n formData.append(\"isCustomParameter\", this.apiData.editDetails.popData().isCustomParameter);\r\n formData.append(\"tenantId\", this.alertService.getUserDetails('getTenant'));\r\n formData.append(\"createdBy\", this.alertService.getUserDetails('getid'));\r\n formData.append('file', this.fileList[0], this.fileList[0].name);\r\n this.apiData.saveData.pushdata(formData);\r\n }\r\n get parameterFormControls() {\r\n return this.parameterForm.controls;\r\n }\r\n saveForm() {\r\n this.parameterForm.controls.tieupID.setValue(this.TieUpListForm.value.tieupID);\r\n if (!this.validate.isUndefined(this.parameterForm.controls.paramEffDate.value)) {\r\n this.parameterForm.controls.paramEffDate.setValue(this.parameterForm.controls.paramEffDate.value.formatted);\r\n }\r\n if (this.inputYN) {\r\n if (this.validate.submitDetails(this.parameterForm)) {\r\n this.loading = true;\r\n this.apiData.formRequest.getRequest(this.TieUpListForm.controls.country.value, this.parameterForm.value, \"parameter\");\r\n this.apiData.parameterApi.updateCount(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.closeModel();\r\n this.getReportList();\r\n this.showModal = false;\r\n this.validate.popUpAlert(\"Updated Successfully\", \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n let errorType = \"error\";\r\n if (errorText.indexOf(\"deactive\") != -1) {\r\n errorType = \"info\";\r\n }\r\n this.validate.popUpAlert(errorText, \"\", errorType);\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n if (!this.validate.isUndefined(this.parameterForm.controls.paramEffDate.value)) {\r\n this.alertService.patchDate.changeToLocal(this.parameterForm.controls.paramEffDate.value);\r\n this.dateFormat();\r\n }\r\n }\r\n\r\n } else {\r\n let message = \"\";\r\n if (this.CreateOrEdit == \"Edit\") {\r\n this.paramID = this.apiData.editDetails.data[\"parameterID\"];\r\n message = \"Updated Successfully\";\r\n } else {\r\n this.paramID = \"\";\r\n this.apiData.editDetails.pushdata({ isCustomParameter: true });\r\n message = \"Parameter Created Successfully\";\r\n }\r\n if (this.validate.submitDetails(this.parameterForm) && !this.validate.isUndefined(this.fileNameVal)) {\r\n this.loading = true;\r\n this.formRequest();\r\n this.apiData.parameterApi.createParameter(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.reloadTable();\r\n this.validate.popUpAlert(message, \"\", \"success\");\r\n } else if (result.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n if (this.parameterForm.status == \"VALID\" && this.validate.isUndefined(this.fileNameVal)) {\r\n this.validate.popUpAlert(\"Please Upload CSV file\", \"\", \"error\");\r\n }\r\n }\r\n }\r\n if (!this.validate.isUndefined(this.parameterForm.controls.paramEffDate.value)) {\r\n this.alertService.patchDate.changeToLocal(this.parameterForm.controls.paramEffDate.value);\r\n this.dateFormat();\r\n }\r\n }\r\n reloadTable() {\r\n this.closeModel();\r\n this.createParam();\r\n this.showtable(\"VIEW\");\r\n this.showModal = false;\r\n } \r\n}\r\n","module.exports = \".browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n.container-body-create\\r\\n {\\r\\n padding: 10px 40px 20px 40px;\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3ByZXZpb3VzeWVhci9wcmV2aW91c3llYXIuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtDQUNDLG1DQUFtQztJQUNoQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjtBQUVEOzs7SUFHRTtBQUVGO0lBQ0U7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGO0FBRUQ7O0lBRUUsNkJBQTZCO0dBQzlCIiwiZmlsZSI6InNyYy9hcHBfZGV2L3ByZXZpb3VzeWVhci9wcmV2aW91c3llYXIuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5icm93c2UtYnRue1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZGVkO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZVxyXG4gIHtcclxuICAgIHBhZGRpbmc6IDEwcHggNDBweCAyMHB4IDQwcHg7XHJcbiAgfSJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Previous Year Rate

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\"","import { AfterViewInit, Component, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n\r\nimport * as jsPDF from 'jspdf';\r\nimport 'jspdf-autotable';\r\n\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-previousyear',\r\n templateUrl: './previousyear.component.html',\r\n styleUrls: ['./previousyear.component.css']\r\n})\r\nexport class PreviousyearComponent implements OnInit, AfterViewInit {\r\n loading = 0;\r\n fieldsNamas: any[] = [];\r\n tableData: any;\r\n showtable = false;\r\n resArray: any[] = [];\r\n fields: any[] = [];\r\n title: any[] = [];\r\n tieupId: any\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.tieupId = this.alertService.getUserDetails(\"getTieup\");\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n this.getPreviousYearPricingResultsRpt();\r\n }\r\n\r\n getPreviousYearPricingResultsRpt() {\r\n this.loading++;\r\n this.apiData.finalReportsApi.previousYearPricingResultsRpt(this.tieupId, res => {\r\n $(\"#rateListTable\").bootstrapTable(\"destroy\");\r\n if (res && res.status == 1) {\r\n if (res.fieldname && res.fieldname.length) {\r\n res.fieldname = res.fieldname.filter((d: any) => !d.hide).sort((a: any, b: any) => a.seqno - b.seqno);\r\n }\r\n if (res.data && res.data.length) {\r\n res.data = Array.from(new Set(res.data.map(d => d.admin2 + d.crop))).map(d => res.data.find(e => (e.admin2 + e.crop) === d)).sort((a,b) => a.sno - b.sno)\r\n }\r\n this.prepareHeader(res);\r\n this.prepareJson(res);\r\n setTimeout(() => {\r\n this.tableData = $(\"#rateListTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n })\r\n this.showtable = true;\r\n }\r\n this.loading--\r\n }, err => {\r\n console.error(err);\r\n this.loading--;\r\n });\r\n }\r\n\r\n prepareHeader(resData) {\r\n this.fields = [];\r\n this.title = [];\r\n for (var i = 0; i < resData.fieldname.length; i++) {\r\n if (!resData.fieldname[i].hide) {\r\n if (resData.fieldname[i].title === 'Sum Insured') {\r\n resData.fieldname[i].title += ' (Cr)'\r\n }\r\n let resArray1 = {};\r\n this.fields.push(resData.fieldname[i][\"title\"]);\r\n this.title.push({ header: resData.fieldname[i][\"title\"], field: resData.fieldname[i][\"name\"] });\r\n var tr = $('' + resData.fieldname[i][\"title\"] + '');\r\n $(\"#rateListTable thead tr\").append(tr);\r\n }\r\n }\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n if (resData.data[i].area_sown) {\r\n resData.data[i].area_sown = +(+resData.data[i].area_sown.toFixed(0));\r\n }\r\n resData.data[i].actual_sum_insured = resData.data[i].sum_insured;\r\n resData.data[i].sum_insured = +(resData.data[i].sum_insured / 1e7).toFixed(2)\r\n let resArray1 = {actual_sum_insured: resData.data[i].actual_sum_insured};\r\n for (var j = 0; j < this.title.length; j++) {\r\n resArray1[this.title[j].header] = resData.data[i][this.title[j].field];\r\n if (![null, undefined].includes(resData.data[i][this.title[j].field]) && typeof +resArray1[this.title[j].header] == 'number' && !isNaN(+resArray1[this.title[j].header])) {\r\n resArray1[this.title[j].header] = +(+resArray1[this.title[j].header]).toFixed(2)\r\n }\r\n }\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n\r\n convertToPdf() {\r\n var pdf = new jsPDF('portrait', 'pt', 'a4');\r\n pdf.setFontSize(6);\r\n var col = [];\r\n var rowdata = [];\r\n var len = this.resArray.length;\r\n var colStyle = [];\r\n var colCount = 0;\r\n for (var i = 0; i < this.title.length; i++) {\r\n col.push({ header: this.title[i].header });\r\n colStyle.push({ [colCount++]: { cellWidth: 30, halign: 'right' } })\r\n }\r\n for (var k = 0; k < this.resArray.length; k++) {\r\n let fileddata = [];\r\n for (var i = 0; i < col.length; i++) {\r\n for (var j = 0; j < this.title.length; j++) {\r\n if (this.title[j].header == col[i].header)\r\n fileddata.push(this.resArray[k][this.title[j].header]);\r\n }\r\n }\r\n rowdata.push(fileddata);\r\n }\r\n\r\n pdf.autoTable(col, rowdata, {\r\n startY: 40,\r\n margin: {\r\n right: 20,\r\n left: 20\r\n },\r\n headStyles: {\r\n fontSize: 8,\r\n fontStyle: 'normal',\r\n textColor: \"#fff\",\r\n fillColor: \"#175788\",\r\n halign: 'center'\r\n },\r\n styles: {\r\n },\r\n tableLineWidth: 0,\r\n theme: \"striped\",\r\n bodyStyles: {\r\n fontSize: 7,\r\n halign: 'center',\r\n valign: 'middle'\r\n },\r\n }\r\n );\r\n pdf.save(\"RateData\" + '_' + this.commonfunctions.getDateTimeExt() + \".pdf\");\r\n }\r\n\r\n exportAsXLSX(): void {\r\n const fields = JSON.parse(JSON.stringify(this.fields));\r\n const data = JSON.parse(JSON.stringify(this.resArray));\r\n for (let i = 0; i < data.length; i++) {\r\n const d = data[i];\r\n d[\"Sum Insured\"] = d.actual_sum_insured;\r\n delete d[\"Sum Insured (Cr)\"];\r\n delete d.actual_sum_insured;\r\n }\r\n const sum_insured_index = fields.indexOf(\"Sum Insured (Cr)\");\r\n if (sum_insured_index >= 0 ) {\r\n fields[sum_insured_index] = \"Sum Insured\";\r\n }\r\n this.commonfunctions.exportAsExcelFile(data, fields, \"RateData\");\r\n }\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","module.exports = \".subHeaderFont-1 {\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 18px !important;\\r\\n line-height: 22px;\\r\\n text-align: center;\\r\\n color: #000000;\\r\\n margin-bottom: 75px;\\r\\n}\\r\\n\\r\\n.sub-head {\\r\\n font-style: normal;\\r\\n font-weight: 600;\\r\\n font-size: 16px;\\r\\n line-height: 19px;\\r\\n text-align: center;\\r\\n color: #000000;\\r\\n}\\r\\n\\r\\n.mb-30px {\\r\\n margin-bottom: 30px;\\r\\n}\\r\\n\\r\\n.vertical-line {\\r\\n height: 254px;\\r\\n width: 2px;\\r\\n background: #00000033;\\r\\n}\\r\\n\\r\\n.select-height {\\r\\n width: 285px !important;\\r\\n height: 50px !important;\\r\\n}\\r\\n\\r\\n.clear-text {\\r\\n font-style: normal;\\r\\n font-weight: 300;\\r\\n font-size: 14px;\\r\\n line-height: 17px;\\r\\n text-align: center;\\r\\n -webkit-text-decoration-line: underline;\\r\\n text-decoration-line: underline;\\r\\n color: #841D1D;\\r\\n}\\r\\n\\r\\n.mt-150px {\\r\\n margin-top: 50px;\\r\\n}\\r\\n\\r\\n.cursor{\\r\\n cursor: pointer;\\r\\n}\\r\\n\\r\\n.minWidth-225px {\\r\\n min-width: 225px;\\r\\n}\\r\\n\\r\\n.minWidth-400px {\\r\\n min-width: 400px;\\r\\n min-height: 290px;\\r\\n}\\r\\n\\r\\n.fileProcess{\\r\\n width: 100%;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n z-index: 10;\\r\\n}\\r\\n\\r\\n.fileProcess div {\\r\\n background-color: #ffffffba;\\r\\n width: 413px;\\r\\n padding: 50px;\\r\\n border-radius: 5px;\\r\\n text-align: center;\\r\\n font-weight: bold;\\r\\n font-size: 20px;\\r\\n box-shadow: 2px 3px 8px 4px #e3dcdc;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL2Nob29zZS10cmFuc2FjdGlvbi9jaG9vc2UtdHJhbnNhY3Rpb24uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsMkJBQTJCO0lBQzNCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtJQUNmLG9CQUFvQjtDQUN2Qjs7QUFFRDtJQUNJLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsZUFBZTtDQUNsQjs7QUFFRDtJQUNJLG9CQUFvQjtDQUN2Qjs7QUFFRDtJQUNJLGNBQWM7SUFDZCxXQUFXO0lBQ1gsc0JBQXNCO0NBQ3pCOztBQUVEO0lBQ0ksd0JBQXdCO0lBQ3hCLHdCQUF3QjtDQUMzQjs7QUFFRDtJQUNJLG1CQUFtQjtJQUNuQixpQkFBaUI7SUFDakIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixtQkFBbUI7SUFDbkIsd0NBQWdDO1lBQWhDLGdDQUFnQztJQUNoQyxlQUFlO0NBQ2xCOztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0lBQ0ksZ0JBQWdCO0NBQ25COztBQUVEO0lBQ0ksaUJBQWlCO0NBQ3BCOztBQUNEO0VBQ0UsaUJBQWlCO0VBQ2pCLGtCQUFrQjtDQUNuQjs7QUFFRDtFQUNFLFlBQVk7RUFDWixnQkFBZ0I7RUFDaEIsT0FBTztFQUNQLFFBQVE7RUFDUixhQUFhO0VBQ2IsY0FBYztFQUNkLHVCQUF1QjtFQUN2QixvQkFBb0I7RUFDcEIsd0JBQXdCO0VBQ3hCLFlBQVk7Q0FDYjs7QUFFRDtFQUNFLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2IsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixvQ0FBb0M7Q0FDckMiLCJmaWxlIjoic3JjL2FwcF9kZXYvcmF0ZWdlbmVyYXRpb24vY2hvb3NlLXRyYW5zYWN0aW9uL2Nob29zZS10cmFuc2FjdGlvbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLnN1YkhlYWRlckZvbnQtMSB7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBsaW5lLWhlaWdodDogMjJweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDtcclxufVxyXG5cclxuLnN1Yi1oZWFkIHtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTlweDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIGNvbG9yOiAjMDAwMDAwO1xyXG59XHJcblxyXG4ubWItMzBweCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG59XHJcblxyXG4udmVydGljYWwtbGluZSB7XHJcbiAgICBoZWlnaHQ6IDI1NHB4O1xyXG4gICAgd2lkdGg6IDJweDtcclxuICAgIGJhY2tncm91bmQ6ICMwMDAwMDAzMztcclxufVxyXG5cclxuLnNlbGVjdC1oZWlnaHQge1xyXG4gICAgd2lkdGg6IDI4NXB4ICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDUwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuLmNsZWFyLXRleHQge1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcclxuICAgIGNvbG9yOiAjODQxRDFEO1xyXG59XHJcblxyXG4ubXQtMTUwcHgge1xyXG4gICAgbWFyZ2luLXRvcDogNTBweDtcclxufVxyXG4uY3Vyc29ye1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4ubWluV2lkdGgtMjI1cHgge1xyXG4gICAgbWluLXdpZHRoOiAyMjVweDtcclxufVxyXG4ubWluV2lkdGgtNDAwcHgge1xyXG4gIG1pbi13aWR0aDogNDAwcHg7XHJcbiAgbWluLWhlaWdodDogMjkwcHg7XHJcbn1cclxuXHJcbi5maWxlUHJvY2Vzc3tcclxuICB3aWR0aDogMTAwJTtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gIHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uZmlsZVByb2Nlc3MgZGl2IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmYmE7XHJcbiAgd2lkdGg6IDQxM3B4O1xyXG4gIHBhZGRpbmc6IDUwcHg7XHJcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LXNpemU6IDIwcHg7XHJcbiAgYm94LXNoYWRvdzogMnB4IDNweCA4cHggNHB4ICNlM2RjZGM7XHJcbn1cclxuIl19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    New Pricing / Recent Transaction

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

    Create New Pricing

    \\r\\n

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

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

    Choose from recent transactions

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

    Clear failed transactions

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    File in progress
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\"","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ApiService } from '../../services/apiservices.service';\r\nimport { CommonfunctionsService } from '../../services/commonfunctions.service';\r\nimport { MandatoryfieldService } from '../../common/Validators/mandatoryfield.service';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport Swal from 'sweetalert2';\r\n@Component({\r\n selector: 'app-choose-transaction',\r\n templateUrl: './choose-transaction.component.html',\r\n styleUrls: ['./choose-transaction.component.css']\r\n})\r\nexport class ChooseTransactionComponent implements OnInit, OnDestroy {\r\n\r\n loading = 0;\r\n fileProcess = 0;\r\n transactionData: any[] = [];\r\n selectedTransaction: any[] = [];\r\n timer: any = null;\r\n currentYear: any;\r\n hasFailedTransaction: any = false;\r\n\r\n constructor(private apiData: ApiService,private commonfunctions: CommonfunctionsService, private validate: MandatoryfieldService, public alertservice: AlertService) { }\r\n\r\n ngOnInit() {\r\n this.getTransactonByUserId();\r\n }\r\n\r\n getTransactonByUserId() {\r\n this.hasFailedTransaction = false;\r\n this.loading++;\r\n this.apiData.rateGenerationApi.getTransactonByUserId(res => {\r\n if (res && res.status == 1 && res.data) {\r\n this.hasFailedTransaction = res.data.some(d => d.status.toLowerCase() == 'failed')\r\n let transactionData: any[] = [];\r\n res.data.sort((a,b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime()).forEach((ele: any, i) => {\r\n if (i < 5) {\r\n // const actualData = this.formatDate(new Date(new Date(ele.createdAt).getTime() + (5*60*60*1000) + (30*60*1000)))\r\n const actualData = this.formatDate(new Date(ele.createdAt));\r\n ele.label = `${ele.rateGenerationID} (${ele.stateName}) ${actualData}`;\r\n transactionData.push(ele)\r\n }\r\n });\r\n this.transactionData = transactionData;\r\n this.loading--;\r\n }\r\n },err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n onClearTransactionClick() {\r\n Swal({\r\n title: \"Do you want to clear failed transactions?\",\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n }).then((result: any) => {\r\n if (result && result.value) {\r\n this.loading++\r\n this.apiData.rateGenerationApi.deleteTransactionByUserId(res => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(\"Failed transactions are cleared\", \"\", \"success\");\r\n this.getTransactonByUserId()\r\n }\r\n this.loading--;\r\n }, err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n this.loading--;\r\n })\r\n }\r\n })\r\n\r\n }\r\n\r\n onViewTransactionClick() {\r\n const transaction = this.transactionData.find(d => d.id == this.selectedTransaction);\r\n if (transaction) {\r\n this.alertservice.mrCode.set(this.selectedTransaction);\r\n this.getTransactonByMRId();\r\n }\r\n }\r\n\r\n getTransactonByMRId() {\r\n this.loading++\r\n this.fileProcess++;\r\n this.apiData.rateGenerationApi.getTransactonByMRId(res => {\r\n if (res && res.status == 1 && res.data) {\r\n if (res.data.status === 'Completed') {\r\n this.loading--;\r\n this.fileProcess--;\r\n this.alertservice.rateGenerationID.set(res.data.rateGenerationID);\r\n this.getRateGenerationData();\r\n } else if (res.data.status === 'InProgress') {\r\n this.timer = setTimeout(() => {\r\n this.loading--;\r\n this.fileProcess--;\r\n this.getTransactonByMRId()\r\n }, 1e4)\r\n } else {\r\n this.validate.popUpAlert('Processing failed due to large data set.', \"\", \"error\");\r\n this.loading--;\r\n this.fileProcess--;\r\n }\r\n }\r\n }, err => {\r\n this.validate.popUpAlert(\"Unable to get Transaction Id\", \"\", \"error\");\r\n this.serviceError(err)\r\n this.fileProcess--;\r\n })\r\n }\r\n\r\n async getRateGenerationData() {\r\n this.loading++\r\n this.apiData.rateGenerationApi.getRateGenerationData(async (res) => {\r\n if (res && res.status == 1) {\r\n const input = res.rateGeneration.input;\r\n if (input && input.length > 0) {\r\n const state = input.find(d => d.key == 'state');\r\n const level = input.find(d => d.key == 'level');\r\n const admin = input.find(d => d.key == 'admin');\r\n let season = input.find(d => d.key == 'season');\r\n let crop = input.find(d => d.key == 'crop');\r\n season = season.value ? season.value : null;\r\n crop = crop.value ? crop.value : null;\r\n this.alertservice.combinationId.set(res.rateGeneration.id);\r\n if (!this.currentYear) {\r\n await this.getDefault()\r\n }\r\n const param = btoa(JSON.stringify([state ? state.value : null, level ? level.value : null, admin ? admin.value : null, season, crop, this.currentYear]))\r\n this.alertservice.navigateTo(\"/rate-generate\", param);\r\n }\r\n }\r\n this.loading--;\r\n\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n async getDefault() {\r\n this.loading++;\r\n const result = await this.apiData.rateGenerationDefaultLoadingDiscount().then((res: any) => {\r\n this.loading--;\r\n if (res && res.status == 1) {\r\n this.currentYear = res.data.currentYear;\r\n return res.data;\r\n }\r\n }).catch(err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n this.loading--;\r\n })\r\n return result || {}\r\n }\r\n\r\n serviceError(err) {\r\n\t\tthis.loading--;\r\n\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t}\r\n\r\n formatDate(date: any) {\r\n return (date.getDate() + '').padStart(2,'0') + '-' + (date.getMonth()+1+'').padStart(2,'0') + '-'+ date.getFullYear() + ' ' + (date.getHours() + '').padStart(2,'0') + ':' + (date.getMinutes() + '').padStart(2,'0') + ':' +(date.getSeconds() + '').padStart(2,'0')\r\n }\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.timer)\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n.dropdown-item.active, .dropdown-item:active {\\r\\n color: black!important;\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n.dropdown-item{\\r\\n padding: 0!important;\\r\\n margin-left: -30px!important;\\r\\n font-size: large!important;\\r\\n}\\r\\n.list-group-item {\\r\\n position: relative;\\r\\n display: flex;\\r\\n flex-flow: row wrap;\\r\\n align-items: center;\\r\\n padding: .75rem 1.25rem;\\r\\n margin-bottom: -1px;\\r\\n background-color: #f7f7f7;\\r\\n border:none!important;\\r\\n}\\r\\n.list-group-item-success {\\r\\n color: black!important;\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n.card {\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n.card-block {\\r\\n flex: 1 1 auto;\\r\\n padding: 1.25rem;\\r\\n min-height: 325px!important;\\r\\n max-height: 325px!important;\\r\\n\\toverflow-y: auto;\\r\\n\\t-ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n.card-block::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n.btnmapping{\\r\\n width: 60px;\\r\\n height: 30px;\\r\\n border: 1px solid #c4c4c4;\\r\\n border-radius: 25px;\\r\\n color: #fff;\\r\\n background-color: #c4c4c4;\\r\\n text-align: center;\\r\\n padding: initial;\\r\\n}\\r\\n/*** stepper***/\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\t\\r\\n}\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788; \\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n width: 40px;\\r\\n height: 40px;\\r\\n font-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\t\\r\\n }\\r\\n .stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n@media only screen \\r\\n and (min-width: 1024px) \\r\\n and (max-width: 1368px){ \\r\\n .dropdown-item{\\r\\n font-size: medium!important;\\r\\n }\\r\\n .card-block{\\r\\n min-height: 275px!important;\\r\\n max-height: 275px!important;\\r\\n }\\r\\n}\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n.scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n \\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL2Nob29zZWNvbWJpbmF0aW9uL2Nob29zZWNvbWJpbmF0aW9uLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQTtJQUNJLHVCQUF1QjtJQUN2QixvQ0FBb0M7Q0FDdkM7QUFDRDtJQUNJLHFCQUFxQjtJQUNyQiw2QkFBNkI7SUFDN0IsMkJBQTJCO0NBQzlCO0FBQ0Q7SUFDSSxtQkFBbUI7SUFHbkIsY0FBYztJQUlkLG9CQUFvQjtJQUdwQixvQkFBb0I7SUFDcEIsd0JBQXdCO0lBQ3hCLG9CQUFvQjtJQUNwQiwwQkFBMEI7S0FDekIsc0JBQXNCO0NBQzFCO0FBQ0Q7SUFDSSx1QkFBdUI7SUFDdkIsb0NBQW9DO0NBQ3ZDO0FBQ0Q7SUFDSSxvQ0FBb0M7Q0FDdkM7QUFDRDtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsNEJBQTRCO0lBQzVCLDRCQUE0QjtDQUMvQixpQkFBaUI7Q0FDakIseUJBQXlCO0lBQ3RCLCtCQUErQjtDQUNsQztBQUNEO0lBQ0ksY0FBYztDQUNqQjtBQUNEO0lBQ0ksWUFBWTtJQUNaLGFBQWE7SUFDYiwwQkFBMEI7SUFDMUIsb0JBQW9CO0lBQ3BCLFlBQVk7SUFDWiwwQkFBMEI7SUFDMUIsbUJBQW1CO0lBQ25CLGlCQUFpQjtDQUNwQjtBQUVELGdCQUFnQjtBQUNoQjtDQUNDLFVBQVU7Q0FDVixnQkFBZ0I7Q0FDaEIsOEJBQThCO0NBQzlCLGtCQUFrQjtDQUNsQiwyQkFBMkI7Q0FDM0I7QUFFRDtDQUNDLFdBQVc7Q0FDWCxnQkFBZ0I7Q0FDaEIsVUFBVTtDQUNWLHFCQUFxQjs7Q0FFckI7QUFDRDtDQUNDLGFBQWE7SUFDVix3QkFBd0I7SUFDeEIsc0JBQXNCO0NBQ3pCLGVBQWU7SUFDWixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CO0FBRUQ7Q0FDQyxXQUFXO0NBQ1gsWUFBWTtDQUNaLHFCQUFxQjtDQUNyQixrQkFBa0I7Q0FDbEIseUJBQXlCO0NBQ3pCLGtCQUFrQjtDQUNsQixnQkFBZ0I7Q0FDaEIsa0JBQWtCO0lBQ2YsVUFBVTtJQUNWLGNBQWM7Q0FDakI7QUFFRDtDQUNDLHlCQUF5QjtDQUN6QixjQUFjO0NBQ2QseUJBQXlCO0NBQ3pCO0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLHlCQUF5QjtDQUN6QjtBQUNEO0lBQ0ksMENBQTBDO0NBQzdDO0FBQ0Q7RUFDRSxXQUFXO0VBQ1gscUJBQXFCO0VBQ3JCLGdDQUFnQztFQUNoQyxXQUFXO0VBQ1gsa0JBQWtCO0VBQ2xCLFlBQVk7RUFDWixnQkFBZ0I7Q0FDakI7QUFFRDtDQUNDLHdCQUF3QjtDQUN4QjtBQUVEO0NBQ0M7UUFDTyxZQUFZO1FBQ1osYUFBYTtRQUNiLGdCQUFnQjtFQUN0QjtDQUNEO0VBQ0MsWUFBWTtLQUNUO0lBQ0Q7RUFDRixVQUFVO0VBQ1Y7Q0FDRDtBQUNEO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGO0FBRUQ7OztJQUdFO0FBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7QUFFRDs7O1FBR007WUFDSSw0QkFBNEI7U0FDL0I7UUFDRDtZQUNJLDRCQUE0QjtZQUM1Qiw0QkFBNEI7U0FDL0I7Q0FDUjtBQUdEO0lBQ0ksaUJBQWlCO0lBQ2pCLGVBQWU7R0FDaEI7QUFFSDtJQUNJLHlCQUF5QjtJQUN6QiwrQkFBK0I7Q0FDbEM7QUFDRDtJQUNJLGNBQWM7Q0FDakIiLCJmaWxlIjoic3JjL2FwcF9kZXYvcmF0ZWdlbmVyYXRpb24vY2hvb3NlY29tYmluYXRpb24vY2hvb3NlY29tYmluYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAuZHJvcGRvd24taXRlbTphY3RpdmUge1xyXG4gICAgY29sb3I6IGJsYWNrIWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3ZjchaW1wb3J0YW50O1xyXG59XHJcbi5kcm9wZG93bi1pdGVte1xyXG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XHJcbiAgICBtYXJnaW4tbGVmdDogLTMwcHghaW1wb3J0YW50O1xyXG4gICAgZm9udC1zaXplOiBsYXJnZSFpbXBvcnRhbnQ7XHJcbn1cclxuLmxpc3QtZ3JvdXAtaXRlbSB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcclxuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIC1tcy1mbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgLXdlYmtpdC1ib3gtb3JpZW50OiBob3Jpem9udGFsO1xyXG4gICAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiBub3JtYWw7XHJcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcclxuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgcGFkZGluZzogLjc1cmVtIDEuMjVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNztcclxuICAgICBib3JkZXI6bm9uZSFpbXBvcnRhbnQ7XHJcbn1cclxuLmxpc3QtZ3JvdXAtaXRlbS1zdWNjZXNzIHtcclxuICAgIGNvbG9yOiBibGFjayFpbXBvcnRhbnQ7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3IWltcG9ydGFudDtcclxufVxyXG4uY2FyZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3IWltcG9ydGFudDtcclxufVxyXG4uY2FyZC1ibG9jayB7XHJcbiAgICBmbGV4OiAxIDEgYXV0bztcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBtaW4taGVpZ2h0OiAzMjVweCFpbXBvcnRhbnQ7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMjVweCFpbXBvcnRhbnQ7XHJcblx0b3ZlcmZsb3cteTogYXV0bztcclxuXHQtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgXHJcbn1cclxuLmNhcmQtYmxvY2s6Oi13ZWJraXQtc2Nyb2xsYmFyIHsgXHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5idG5tYXBwaW5ne1xyXG4gICAgd2lkdGg6IDYwcHg7XHJcbiAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzRjNGM0O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IGluaXRpYWw7XHJcbn1cclxuXHJcbi8qKiogc3RlcHBlcioqKi9cclxuLnN0ZXBwZXJfcm93e1xyXG5cdHdpZHRoOjg1JTtcclxuXHRtYXJnaW4tdG9wOjEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaXtcclxuXHRmbG9hdDpsZWZ0O1xyXG5cdGxpc3Qtc3R5bGU6bm9uZTtcclxuXHR3aWR0aDoyNSU7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHJcbn1cclxuLnNwYW5fY29sb3Ige1xyXG5cdG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogM3B4O1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5cdGNvbG9yOiAjQ0FDQUNBO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpIHNwYW57XHJcblx0d2lkdGg6NTBweDtcclxuXHRoZWlnaHQ6NTBweDtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRib3JkZXI6MnB4IHNvbGlkICNDQUNBQ0E7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgei1pbmRleDoyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpLmFjdGl2ZSBzcGFue1xyXG5cdC8qIGJhY2tncm91bmQ6I0QxMTI0MTsgKi9cclxuXHRjb2xvcjojMTc1Nzg4O1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGUgc3BhbntcclxuXHRiYWNrZ3JvdW5kOiMxNzU3ODg7IFxyXG5cdGNvbG9yOiNmZmY7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjMTc1Nzg4O1xyXG59XHJcbi5zdGVwcGVyX3JvdyBsaS5jb21wbGV0ZTphZnRlcntcclxuICAgIGJvcmRlci1ib3R0b206MnB4IHNvbGlkICMxNzU3ODghaW1wb3J0YW50O1xyXG59XHJcbi5zdGVwcGVyX3JvdyBsaTphZnRlcntcclxuXHRcdGNvbnRlbnQ6Jyc7XHJcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdGJvcmRlci1ib3R0b206MnB4IHNvbGlkICNDQUNBQ0E7XHJcblx0XHR3aWR0aDoxMDAlO1xyXG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XHJcblx0XHRib3R0b206MzRweDtcclxuXHRcdG92ZXJmbG93OmhpZGRlbjtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpOmxhc3QtY2hpbGQ6YWZ0ZXJ7XHJcblx0ZGlzcGxheTpub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ODAwcHgpe1xyXG5cdC5zdGVwcGVyX3JvdyBsaSBzcGFue1xyXG4gICAgICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgICAgIGhlaWdodDogNDBweDtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcblx0fVxyXG5cdC5zdGVwcGVyX3JvdyBsaTphZnRlcntcclxuXHRcdGJvdHRvbToyOHB4O1x0XHJcbiAgICB9XHJcbiAgICAuc3RlcHBlcl9yb3d7XHJcblx0XHR3aWR0aDo5MCU7XHJcblx0fVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgb25seSBzY3JlZW4gICBcclxuICBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSAgIFxyXG4gIGFuZCAobWF4LXdpZHRoOiAxMzY4cHgpeyAgICBcclxuICAgICAgICAuZHJvcGRvd24taXRlbXtcclxuICAgICAgICAgICAgZm9udC1zaXplOiBtZWRpdW0haW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICAuY2FyZC1ibG9ja3tcclxuICAgICAgICAgICAgbWluLWhlaWdodDogMjc1cHghaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAyNzVweCFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG59XHJcblxyXG5cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgICBtYXgtaGVpZ2h0OjcwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXIge1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAgXHJcbiAgICBvdmVyZmxvdzogLW1vei1zY3JvbGxiYXJzLW5vbmU7ICBcclxufVxyXG4uc2Nyb2xsLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIgeyBcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuICAiXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Output Combination

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{step.id}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { IMultiSelectOption } from 'angular-2-dropdown-multiselect';\r\nimport { MandatoryfieldService } from '../../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../../services/apiservices.service';\r\n\r\n@Component({\r\n selector: 'app-choosecombination',\r\n templateUrl: './choosecombination.component.html',\r\n styleUrls: ['./choosecombination.component.css']\r\n})\r\nexport class ChoosecombinationComponent implements OnInit {\r\n droppedoutputs = [];\r\n dragEnabled = true;\r\n outputcombination: boolean = false;\r\n loading:boolean = false;\r\n outputs = [];\r\n selectedtoright = [];\r\n selectedtoleft = [];\r\n constructor(public alertService: AlertService, private validate: MandatoryfieldService, private apiData: ApiService) { }\r\n\r\n ngOnInit() {\r\n if (this.validate.isUndefined(this.alertService.outputList.length) && this.validate.isUndefined(this.apiData.outputCombo.data.length)) {\r\n this.validate.popUpAlert(\"Output combinations are not available\", \"\", \"error\");\r\n this.alertService.navigateTo(\"/choose-transaction\");\r\n } else {\r\n this.outputcombination = true;\r\n this.outputs.push(this.alertService.outputList);\r\n this.alertService.changeStepper(2);\r\n let fetchedOutput = this.apiData.outputCombo.popData();\r\n if (!this.validate.isUndefined(fetchedOutput)) {\r\n for (let i = 0; i < fetchedOutput.length; i++) {\r\n this.droppedoutputs.push(fetchedOutput[i]);\r\n }\r\n }\r\n }\r\n }\r\n select(item: any, event) {\r\n item.checked = !item.checked;\r\n if (event == \"toright\") {\r\n if (item.checked)\r\n this.selectedtoright.push(item);\r\n else {\r\n let index = this.selectedtoright.indexOf(this.selectedtoright.find(c => c.text == item.text));\r\n this.selectedtoright.splice(index, 1);\r\n }\r\n }\r\n else if (event == \"toleft\") {\r\n if (!item.checked)\r\n this.selectedtoleft.push(item);\r\n else {\r\n let index = this.selectedtoleft.indexOf(this.selectedtoleft.find(c => c.text == item.text));\r\n this.selectedtoleft.splice(index, 1);\r\n }\r\n }\r\n }\r\n swapItem(event) {\r\n if (event == \"swaptoright\") {\r\n for (let i = 0; i < this.selectedtoright.length; i++) {\r\n if (this.selectedtoright[i].checked) {\r\n this.droppedoutputs.push(this.selectedtoright[i]);\r\n let index = this.alertService.outputList.indexOf(this.alertService.outputList.find(c => c.text == this.selectedtoright[i].text));\r\n this.alertService.outputList.splice(index, 1);\r\n }\r\n }\r\n this.selectedtoright = [];\r\n } else if (event == \"swaptoleft\") {\r\n for (let i = 0; i < this.selectedtoleft.length; i++) {\r\n if (!this.selectedtoleft[i].checked) {\r\n this.alertService.outputList.push(this.selectedtoleft[i]);\r\n let index = this.droppedoutputs.indexOf(this.droppedoutputs.find(c => c.text == this.selectedtoleft[i].text));\r\n this.droppedoutputs.splice(index, 1);\r\n }\r\n }\r\n this.selectedtoleft = [];\r\n } else if (event == \"torightall\") {\r\n for (let i = 0, j = 0; i < this.alertService.outputList.length; i++ , j++) {\r\n this.alertService.outputList[i][\"checked\"] = true;\r\n this.droppedoutputs.push(this.alertService.outputList[i]);\r\n this.alertService.outputList.splice(i, 1);\r\n i--;\r\n }\r\n this.selectedtoright = [];\r\n } else if (event == \"toleftall\") {\r\n for (let i = 0; i < this.droppedoutputs.length; i++) {\r\n this.droppedoutputs[i][\"checked\"] = false;\r\n this.alertService.outputList.push(this.droppedoutputs[i]);\r\n this.droppedoutputs.splice(i, 1);\r\n i--;\r\n }\r\n this.selectedtoleft = [];\r\n }\r\n }\r\n\r\n hasValueDeep(json, firstValue, secondValue) {\r\n var result = json.filter(obj => {\r\n return obj.value == firstValue || obj.value == secondValue;\r\n });\r\n return result.length;\r\n }\r\n createRequest(output_array) {\r\n let outputs = [];\r\n output_array.forEach(function (value) {\r\n outputs.push(value.value);\r\n });\r\n return {\r\n \"output\": outputs\r\n }\r\n }\r\n goto(process) {\r\n if (process == \"back\") {\r\n this.apiData.outputCombo.removData();\r\n this.alertService.navigateTo(\"/choose-transaction\");\r\n } else {\r\n if (this.droppedoutputs.length > 0) {\r\n const hasValue = this.hasValueDeep(this.droppedoutputs, \"Rate\", \"Sum Insured\");\r\n if (hasValue == 2) {\r\n this.apiData.outputCombo.pushdata(this.droppedoutputs);\r\n this.apiData.formRequest.getRequest(\"\", this.createRequest(this.droppedoutputs), \"outputcombination\");\r\n this.loading = true;\r\n this.apiData.rateGenerationApi.saveOutput(res => {\r\n this.loading = false;\r\n if (res.status == 1) {\r\n this.alertService.navigateTo(\"/file-upload\");\r\n } else if (res.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(res.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }, err => {\r\n this.loading = false;\r\n let errorText = this.alertService.ErrorText.checkError(err);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n this.apiData.errorhanlingApi.generateRequestData(errorText, window.location.pathname);\r\n this.apiData.errorhanlingApi.sendError(res => {\r\n }, err => {\r\n });\r\n });\r\n } else {\r\n this.validate.popUpAlert(\"Select Rate & Sum Insured\", \"Required\", \"warning\");\r\n }\r\n } else {\r\n this.validate.popUpAlert(\"Please Select Output Combinations!\", \"Required\", \"warning\");\r\n }\r\n }\r\n }\r\n}\r\n","module.exports = \"\\r\\n/*** stepper***/\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\r\\n}\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788;\\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n.fileProcess{\\r\\n width: 100%;\\r\\n position: fixed;\\r\\n top: 0;\\r\\n left: 0;\\r\\n height: 100%;\\r\\n display: flex;\\r\\n flex-direction: column;\\r\\n align-items: center;\\r\\n justify-content: center;\\r\\n z-index: 10;\\r\\n}\\r\\n.fileProcess div {\\r\\n background-color: #ffffffba;\\r\\n width: 413px;\\r\\n padding: 50px;\\r\\n border-radius: 5px;\\r\\n text-align: center;\\r\\n font-weight: bold;\\r\\n font-size: 20px;\\r\\n box-shadow: 2px 3px 8px 4px #e3dcdc;\\r\\n}\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n\\t}\\r\\n\\r\\n }\\r\\n/*\\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none;\\r\\n overflow: -moz-scrollbars-none;\\r\\n}\\r\\n.scroll-container::-webkit-scrollbar {\\r\\n display: none;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL2Nob29zZWRldGFpbHMvY2hvb3NlZGV0YWlscy5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxnQkFBZ0I7QUFDaEI7Q0FDQyxVQUFVO0NBQ1YsZ0JBQWdCO0NBQ2hCLDhCQUE4QjtDQUM5QixrQkFBa0I7Q0FDbEIsMkJBQTJCO0NBQzNCO0FBRUQ7Q0FDQyxXQUFXO0NBQ1gsZ0JBQWdCO0NBQ2hCLFVBQVU7Q0FDVixxQkFBcUI7O0NBRXJCO0FBQ0Q7Q0FDQyxhQUFhO0lBQ1Ysd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUN6QixlQUFlO0lBQ1osaUJBQWlCO0lBQ2pCLGdCQUFnQjtDQUNuQjtBQUVEO0NBQ0MsV0FBVztDQUNYLFlBQVk7Q0FDWixxQkFBcUI7Q0FDckIsa0JBQWtCO0NBQ2xCLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtJQUNmLFVBQVU7SUFDVixjQUFjO0NBQ2pCO0FBRUQ7Q0FDQyx5QkFBeUI7Q0FDekIsY0FBYztDQUNkLHlCQUF5QjtDQUN6QjtBQUNEO0NBQ0MsbUJBQW1CO0NBQ25CLFdBQVc7Q0FDWCx5QkFBeUI7Q0FDekI7QUFFRDtFQUNFLFdBQVc7RUFDWCxxQkFBcUI7RUFDckIsZ0NBQWdDO0VBQ2hDLFdBQVc7RUFDWCxrQkFBa0I7RUFDbEIsWUFBWTtFQUNaLGdCQUFnQjtDQUNqQjtBQUVEO0NBQ0Msd0JBQXdCO0NBQ3hCO0FBRUQ7RUFDRSxZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLE9BQU87RUFDUCxRQUFRO0VBQ1IsYUFBYTtFQUNiLGNBQWM7RUFDZCx1QkFBdUI7RUFDdkIsb0JBQW9CO0VBQ3BCLHdCQUF3QjtFQUN4QixZQUFZO0NBQ2I7QUFFRDtFQUNFLDRCQUE0QjtFQUM1QixhQUFhO0VBQ2IsY0FBYztFQUNkLG1CQUFtQjtFQUNuQixtQkFBbUI7RUFDbkIsa0JBQWtCO0VBQ2xCLGdCQUFnQjtFQUNoQixvQ0FBb0M7Q0FDckM7QUFFRDtDQUNDO0VBQ0MsWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEI7Q0FDRDtFQUNDLFlBQVk7RUFDWjtDQUNEO0VBQ0MsVUFBVTtFQUNWO0NBQ0Q7QUFDRDtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0VBQ2xCOztHQUVDO0FBRUQ7OztJQUdFO0FBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7QUFDSDtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0dBQ2hCO0FBRUg7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0NBQ2xDO0FBQ0Q7SUFDSSxjQUFjO0NBQ2pCIiwiZmlsZSI6InNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL2Nob29zZWRldGFpbHMvY2hvb3NlZGV0YWlscy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbi8qKiogc3RlcHBlcioqKi9cclxuLnN0ZXBwZXJfcm93e1xyXG5cdHdpZHRoOjg1JTtcclxuXHRtYXJnaW4tdG9wOjEwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMHB4ICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0cGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaXtcclxuXHRmbG9hdDpsZWZ0O1xyXG5cdGxpc3Qtc3R5bGU6bm9uZTtcclxuXHR3aWR0aDoyNSU7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblxyXG59XHJcbi5zcGFuX2NvbG9yIHtcclxuXHRtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDNweDtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDJweDtcclxuXHRjb2xvcjogI0NBQ0FDQTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaSBzcGFue1xyXG5cdHdpZHRoOjUwcHg7XHJcblx0aGVpZ2h0OjUwcHg7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0Ym9yZGVyLXJhZGl1czo1MCU7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdGJhY2tncm91bmQ6I2ZmZjtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6MjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaS5hY3RpdmUgc3BhbntcclxuXHQvKiBiYWNrZ3JvdW5kOiNEMTEyNDE7ICovXHJcblx0Y29sb3I6IzE3NTc4ODtcclxuXHRib3JkZXI6MnB4IHNvbGlkICMxNzU3ODg7XHJcbn1cclxuLnN0ZXBwZXJfcm93IGxpLmNvbXBsZXRlIHNwYW57XHJcblx0YmFja2dyb3VuZDojMTc1Nzg4O1xyXG5cdGNvbG9yOiNmZmY7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjMTc1Nzg4O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OicnO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Ym90dG9tOjM0cHg7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaTpsYXN0LWNoaWxkOmFmdGVye1xyXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uZmlsZVByb2Nlc3N7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICB6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmZpbGVQcm9jZXNzIGRpdiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZmJhO1xyXG4gIHdpZHRoOiA0MTNweDtcclxuICBwYWRkaW5nOiA1MHB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgZm9udC1zaXplOiAyMHB4O1xyXG4gIGJveC1zaGFkb3c6IDJweCAzcHggOHB4IDRweCAjZTNkY2RjO1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KXtcclxuXHQuc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRib3R0b206MjhweDtcclxuXHR9XHJcblx0LnN0ZXBwZXJfcm93e1xyXG5cdFx0d2lkdGg6OTAlO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgICBtYXgtaGVpZ2h0OjcwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXIge1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Basic Input

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{step.id}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    File in progress
    \\r\\n
    \\r\\n\"","import { Component, OnInit, ViewChild, ElementRef, OnDestroy } from '@angular/core';\r\nimport { ApiService } from '../../services/apiservices.service';\r\nimport { MandatoryfieldService } from '../../common/Validators/mandatoryfield.service';\r\nimport Swal from 'sweetalert2';\r\nimport { FormBuilder, FormArray, Validators, FormControl, FormGroup } from '@angular/forms';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { CommonfunctionsService } from '../../services/commonfunctions.service';\r\n@Component({\r\n selector: 'app-choosedetails',\r\n templateUrl: './choosedetails.component.html',\r\n styleUrls: ['./choosedetails.component.css']\r\n})\r\nexport class ChoosedetailsComponent implements OnInit, OnDestroy {\r\n tieupForm: any;\r\n paramForm: any;\r\n dropdown: any = [];\r\n tieuplist: any;\r\n loading: any = 0;\r\n fileProcess: any = 0;\r\n showInputs: boolean = false;\r\n searchTieup: boolean = false;\r\n loadForm: boolean = false;\r\n parameter: any = {\r\n name: [],\r\n id: []\r\n }\r\n allList: any = {\r\n values: []\r\n }\r\n result: any = {};\r\n adminDataExist:boolean=false;\r\n permissionComponent = {\r\n 'detrending': {view: false, edit: false},\r\n 'gp_downscaling': {view: false, edit: false},\r\n 'catloading': {view: false, edit: false},\r\n 'prevented_sowing_loading': {view: false, edit: false},\r\n }\r\n combinationInputData: any;\r\n GetStatusHitCount: number;\r\n currentYear: any;\r\n timer: any = null;\r\n transactionData: any[] = [];\r\n selectedTransaction: any;\r\n constructor(private formBuilder: FormBuilder, private apiData: ApiService, private validate: MandatoryfieldService, public alertservice: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.alertservice.mrCode.remove();\r\n this.alertservice.deleteLocal(\"upload\");\r\n this.alertservice.deleteLocal(\"loading\");\r\n this.paramForm = new FormGroup({});\r\n this.alertservice.changeStepper(1);\r\n if (!this.validate.isUndefined(this.alertservice.getUserDetails(\"getTieUp\"))) {\r\n this.searchTieup = true;\r\n this.showInputs = false;\r\n this.loadDropDown();\r\n } else {\r\n this.getFieldList();\r\n this.showInputs = true;\r\n }\r\n this.getPermissions()\r\n this.getTransactonByUserId();\r\n }\r\n\r\n getTransactonByUserId() {\r\n this.loading++;\r\n this.apiData.rateGenerationApi.getTransactonByUserId(res => {\r\n if (res && res.status == 1 && res.data) {\r\n let transactionData: any[] = [];\r\n res.data.sort((a,b) => new Date(b.timestamp).getTime() - new Date(a.timestamp).getTime()).forEach((ele: any, i) => {\r\n if (i < 5) {\r\n ele.label = `${ele.rateGenerationID} (${ele.stateName})`;\r\n transactionData.push(ele)\r\n }\r\n });\r\n this.transactionData = transactionData;\r\n this.loading--;\r\n }\r\n },err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n async getRateGenerationData() {\r\n this.loading++\r\n this.apiData.rateGenerationApi.getRateGenerationData(async (res) => {\r\n if (res && res.status == 1) {\r\n const input = res.rateGeneration.input;\r\n if (input && input.length > 0) {\r\n const state = input.find(d => d.key == 'state');\r\n const level = input.find(d => d.key == 'level');\r\n const admin = input.find(d => d.key == 'admin');\r\n let season = input.find(d => d.key == 'season');\r\n let crop = input.find(d => d.key == 'crop');\r\n season = season.value ? season.value : null;\r\n crop = crop.value ? crop.value : null;\r\n this.alertservice.combinationId.set(res.rateGeneration.id);\r\n if (!this.currentYear) {\r\n await this.getDefault()\r\n }\r\n const param = btoa(JSON.stringify([state ? state.value : null, level ? level.value : null, admin ? admin.value : null, season, crop, this.currentYear]))\r\n this.alertservice.navigateTo(\"/rate-generate\", param);\r\n }\r\n }\r\n this.loading--;\r\n\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n onViewTransactionClick() {\r\n const transaction = this.transactionData.find(d => d.id == this.selectedTransaction);\r\n if (transaction) {\r\n this.alertservice.mrCode.set(this.selectedTransaction);\r\n this.getTransactonByMRId();\r\n }\r\n }\r\n\r\n onClearTransactionClick() {\r\n this.loading++\r\n this.apiData.rateGenerationApi.deleteTransactionByUserId(res => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(\"Failed transaction are cleared\", \"\", \"success\");\r\n this.getTransactonByUserId()\r\n }\r\n this.loading--;\r\n }, err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n this.loading--;\r\n })\r\n }\r\n\r\n getPermissions() {\r\n const permissions = this.alertservice.getUserDetails(\"permissions\");\r\n const permissionList = permissions ? JSON.parse(JSON.stringify(permissions)) : []\r\n if (permissionList && permissionList.length) {\r\n const detrending = permissionList.find(data => data.loadingDiscountId == 'detrending');\r\n const gp_downscaling = permissionList.find(data => data.loadingDiscountId == 'gpDownscaling');\r\n const catloading = permissionList.find(data => data.loadingDiscountId == 'catastropheLoading');\r\n const preventedSowingLoading = permissionList.find(data => data.loadingDiscountId == 'prevented_sowing_loading');\r\n if (detrending) {\r\n this.permissionComponent.detrending.view = detrending.view;\r\n this.permissionComponent.detrending.edit = detrending.edit;\r\n }\r\n if (gp_downscaling) {\r\n this.permissionComponent.gp_downscaling.view = gp_downscaling.view;\r\n this.permissionComponent.gp_downscaling.edit = gp_downscaling.edit;\r\n }\r\n if (catloading) {\r\n this.permissionComponent.catloading.view = catloading.view;\r\n this.permissionComponent.catloading.edit = catloading.edit;\r\n }\r\n if (preventedSowingLoading) {\r\n this.permissionComponent.prevented_sowing_loading.view = preventedSowingLoading.view;\r\n this.permissionComponent.prevented_sowing_loading.edit = preventedSowingLoading.edit;\r\n }\r\n }\r\n }\r\n loadDropDown() {\r\n this.loading++;\r\n this.apiData.getdropdownList.getTieUplist(res => {\r\n this.loading--;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n } else {\r\n let errorText = this.alertservice.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n async getFieldList() {\r\n this.loading++;\r\n this.apiData.getParameterAPI.getlist(async (res) => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.result = result;\r\n if (result.status == 1) {\r\n if (result.inputCombination.length > 0) {\r\n this.generateFields(result.inputCombination);\r\n this.paramForm = await this.createform();\r\n this.loadForm = true\r\n this.paramForm.patchValue(this.apiData.inputCombo.popData());\r\n if (!this.validate.isUndefined(this.apiData.inputCombo.data[\"level\"])) {\r\n this.select(\"level\");\r\n this.paramForm.controls[\"admin\"].setValue(this.apiData.inputCombo.data[\"admin\"]);\r\n }\r\n } else {\r\n this.validate.popUpAlert(\"Inputs are not available\", \"\", \"error\");\r\n }\r\n }\r\n this.loading--;\r\n }\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n generateFields(inputs) {\r\n this.parameter.name = [];\r\n for (let i = 0; i < inputs.length; i++) {\r\n this.parameter.name.push(inputs[i].paramName);\r\n this.parameter.id.push(inputs[i].parameterID.toLowerCase());\r\n this.dropdown = [];\r\n if (!this.validate.isUndefined(inputs[i].data)) {\r\n for (let j = 0; j < inputs[i].data.length; j++) {\r\n this.dropdown.push({ text: inputs[i].data[j].text, value: inputs[i].data[j].value });\r\n }\r\n }\r\n this.allList.values.push(this.dropdown);\r\n }\r\n }\r\n async createform() {\r\n const defultValues = await this.getDefault()\r\n const group = this.formBuilder.group({});\r\n for (let i = 0; i < this.parameter.id.length; i++) {\r\n if (this.parameter.id[i] == \"admin\") {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control('', Validators.required));\r\n } else {\r\n if (this.parameter.id[i] == 'detrending') {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control(defultValues.detrending ? 'True' : 'False', Validators.required));\r\n } else if (this.parameter.id[i] == 'gp_downscaling') {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control(defultValues.gpDownscaling ? 'True' : 'False', Validators.required));\r\n } else if (this.parameter.id[i] == 'catloading') {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control(defultValues.catastropheLoading ? 'True' : 'False', Validators.required));\r\n } else if (this.parameter.id[i] == 'prevented_sowing_loading') {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control(defultValues.preventedSowingLoading ? 'True' : 'False', Validators.required));\r\n } else {\r\n group.addControl(this.parameter.id[i], this.formBuilder.control('', Validators.required));\r\n }\r\n }\r\n }\r\n return group;\r\n }\r\n select(parameter) {\r\n if (parameter == \"state\" || parameter == \"level\") {\r\n this.paramForm.controls[\"admin\"].setValue('');\r\n if (!this.validate.isUndefined(this.paramForm.controls[\"state\"]) && !this.validate.isUndefined(this.paramForm.controls[\"state\"].value) && !this.validate.isUndefined(this.paramForm.controls[\"level\"].value)) {\r\n this.getLevel();\r\n }\r\n } else if (parameter == \"admin\") {\r\n this.alertservice.rateGenerationID.remove();\r\n this.alertservice.combinationId.remove();\r\n this.alertservice.isFinalRate.remove();\r\n }\r\n }\r\n clickField(clickedField, parameterList,allListindex) {\r\n for (var i = 0; i < this.parameter.id.length; i++) {\r\n if (clickedField == this.parameter.id[i] && i != 0) {\r\n let previousName = this.parameter.name[i - 1];\r\n let previousId = this.parameter.id[i - 1];\r\n if (this.validate.isUndefined(this.paramForm.controls[previousId].value)) {\r\n this.validate.popUpAlert(\"Select \" + previousName.replace('Input Parameter ', '') + \" Value\", \"Required\", \"warning\");\r\n }\r\n else if(clickedField==\"admin\")\r\n {\r\n var level_val=this.paramForm.controls[\"level\"].value;\r\n var levelddl=this.allList.values[allListindex-1];\r\n var level_name=level_val;\r\n for(var iadmin=0;iadmin {\r\n this.loading--;\r\n if (!this.validate.isUndefined(res)) {\r\n if (res.status == 1) {\r\n this.allList.values = [];\r\n this.generateFields(this.result.inputCombination)\r\n let result = res.inputCombination;\r\n let list = [];\r\n if (result.length>0 && !this.validate.isUndefined(result[0].data)) {\r\n if (request.adminOption === 'cluster') {\r\n result[0].data.sort((a:any,b:any) => {\r\n if (isNaN(a.text)) {\r\n return -1\r\n } else {\r\n return +a.text - +b.text;\r\n }\r\n });\r\n } else {\r\n result[0].data.sort((a:any,b:any) => a.text.toLowerCase().localeCompare(b.text.toLowerCase()))\r\n }\r\n\r\n if(result[0].data.length>0)\r\n {\r\n this.adminDataExist=true;\r\n }\r\n\r\n for (let j = 0; j < result[0].data.length; j++) {\r\n list.push(result[0].data[j].text);\r\n }\r\n for (var i = 0; i < this.allList.values.length; i++) {\r\n if (this.allList.values[i].length == 0) {\r\n this.allList.values[i] = list;\r\n }\r\n }\r\n }\r\n } else {\r\n let errorText = this.alertservice.ErrorText.checkError(res.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n let errorText = this.alertservice.ErrorText.checkError(err);\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n createRequest(input_array) {\r\n let objValues = Object.keys(input_array);\r\n let inputs = [];\r\n for (let i = 0; i < objValues.length; i++) {\r\n inputs.push({ \"key\": objValues[i], \"value\": input_array[objValues[i]] })\r\n }\r\n return {\r\n \"input\": inputs\r\n }\r\n }\r\n gotNext() {\r\n let isValid = this.validate.submitDetails(this.paramForm);\r\n if (isValid) {\r\n this.apiData.inputCombo.pushdata(this.paramForm.value);\r\n this.apiData.formRequest.getRequest(\"\", this.createRequest(this.paramForm.value), \"inputcombination\");\r\n this.loading++;\r\n this.apiData.rateGenerationApi.saveInputs(res => {\r\n this.loading--;\r\n if (res.status == 1) {\r\n if (this.validate.isUndefined(this.alertservice.rateGenerationID.get()))\r\n this.alertservice.rateGenerationID.set(res.data.rateGenerationID);\r\n this.alertservice.combinationId.set(res.data.id);\r\n this.alertservice.isFinalRate.set(res.data.isFinalRate)\r\n const combinationInputData = res.data.input;\r\n this.combinationInputData = combinationInputData;\r\n const state = combinationInputData.find(d => d.key == 'state');\r\n const level = combinationInputData.find(d => d.key == 'level');\r\n const admin = combinationInputData.find(d => d.key == 'admin');\r\n const param = btoa(JSON.stringify([state ? state.value : null, level ? level.value : null, admin ? admin.value : null]))\r\n const request = {rateGenerationId: res.data.id, updatedBy: res.data.createdBy};\r\n this.loading++;\r\n this.apiData.rateGenerationProcessYieldData(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.MRexecuteApi();\r\n } else {\r\n this.validate.popUpAlert(res.data, \"\", \"error\");\r\n }\r\n this.loading--;\r\n }).catch(err => {\r\n this.loading--;\r\n })\r\n } else if (res.status == 0) {\r\n let errorText = this.alertservice.ErrorText.checkError(res.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n let valid = true;\r\n Swal({\r\n title: \"Required\",\r\n text: \"Please Select Required Fields!\",\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n }).then((result) => {\r\n });\r\n }\r\n }\r\n\r\n async getDefault() {\r\n this.loading++;\r\n const result = await this.apiData.rateGenerationDefaultLoadingDiscount().then((res: any) => {\r\n this.loading--;\r\n if (res && res.status == 1) {\r\n this.currentYear = res.data.currentYear;\r\n return res.data;\r\n }\r\n }).catch(err => {\r\n this.loading--;\r\n })\r\n return result || {}\r\n }\r\n\r\n MRexecuteApi() {\r\n\r\n const combinationInputData = this.combinationInputData;\r\n const state = combinationInputData.find(d => d.key == 'state');\r\n const level = combinationInputData.find(d => d.key == 'level');\r\n const admin = combinationInputData.find(d => d.key == 'admin');\r\n let season = combinationInputData.find(d => d.key == 'season');\r\n let crop = combinationInputData.find(d => d.key == 'crop');\r\n this.loading++;\r\n this.fileProcess++;\r\n\t\tthis.apiData.rateGenerationApi.MRexecuteApiNew(res => {\r\n\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\tif (this.validate.isUndefined(res.mrcode)) {\r\n\t\t\t\t\t\tthis.loading--;\r\n this.fileProcess--;\r\n\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n return;\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.GetStatusHitCount=0;\r\n this.alertservice.mrCode.set(res.mrcode)\r\n this.getTransactonByMRId()\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0 && res.message=='INVALID_REQUEST') {\r\n\t\t\t\t\tthis.loading--;\r\n this.fileProcess--;\r\n\t\t\t\t\tthis.validate.popUpAlert(res.data, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0) {\r\n\t\t\t\t\tthis.loading--;\r\n this.fileProcess--;\r\n\t\t\t\t\tlet errorText = this.alertservice.ErrorText.checkError(res.data);\r\n\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tthis.serviceError(err);\r\n\t\t})\r\n\t}\r\n\r\n MRgetstatusApi() {\r\n this.loading++;\r\n const combinationInputData = this.combinationInputData;\r\n\t\tthis.apiData.rateGenerationApi.MRgetstatusApi(res => {\r\n\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\t\tif (res.data.toLowerCase() == \"completed\") {\r\n\t\t\t\t\t\t\tthis.loading--;\r\n this.getRateGenerationData()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (res.data.toLowerCase() == \"terminated\") {\r\n\t\t\t\t\t\t\tthis.loading = 0;\r\n\t\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n return\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//hit count increased from start\r\n\t\t\t\t\t\t\tif(this.GetStatusHitCount<5)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tsetTimeout(any=>{this.MRgetstatusApi();}, 20000);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tthis.loading--;\r\n\t\t\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n return\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0 && res.message=='INVALID_REQUEST') {\r\n\t\t\t\t\tthis.loading--;\r\n\t\t\t\t\tthis.validate.popUpAlert(res.data, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0) {\r\n\t\t\t\t\tthis.loading--;\r\n\t\t\t\t\tlet errorText = this.alertservice.ErrorText.checkError(res.data);\r\n\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tthis.serviceError(err);\r\n\t\t})\r\n\t}\r\n\r\n getTransactonByMRId() {\r\n this.loading++\r\n this.fileProcess++;\r\n this.apiData.rateGenerationApi.getTransactonByMRId(res => {\r\n if (res && res.status == 1 && res.data) {\r\n if (res.data.status === 'Completed') {\r\n this.loading--;\r\n this.fileProcess--;\r\n this.alertservice.rateGenerationID.set(res.data.rateGenerationID);\r\n this.getRateGenerationData();\r\n } else if (res.data.status === 'InProgress') {\r\n this.timer = setTimeout(() => {\r\n this.loading--;\r\n this.fileProcess--;\r\n this.getTransactonByMRId()\r\n }, 1e4)\r\n } else {\r\n this.validate.popUpAlert('Processing failed due to large data set.', \"\", \"error\");\r\n this.loading--;\r\n this.fileProcess--;\r\n }\r\n }\r\n }, err => {\r\n this.validate.popUpAlert(\"Unable to get Transaction Id\", \"\", \"error\");\r\n this.serviceError(err)\r\n this.fileProcess--;\r\n })\r\n }\r\n\r\n serviceError(err) {\r\n\t\tthis.loading--;\r\n\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t}\r\n\r\n ngOnDestroy(): void {\r\n clearTimeout(this.timer)\r\n }\r\n}\r\n","module.exports = \".container-body-rate{\\r\\n top: 9.6rem;\\r\\n position: relative;\\r\\n background-color: rgb(245, 245, 245);\\r\\n}\\r\\n.zoom{\\r\\n transition: transform .2s;\\r\\n}\\r\\n.zoom:hover { /* IE 9 */ /* Safari 3-8 */\\r\\n transform: scale(1.2); \\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL3JhdGUtbGlzdC9yYXRlLWxpc3QuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIscUNBQXFDO0NBQ3hDO0FBQ0Q7SUFDSSwwQkFBMEI7Q0FDN0I7QUFDRCxjQUMrQixVQUFVLENBQ04sZ0JBQWdCO0lBQy9DLHNCQUFzQjtHQUN2QiIsImZpbGUiOiJzcmMvYXBwX2Rldi9yYXRlZ2VuZXJhdGlvbi9yYXRlLWxpc3QvcmF0ZS1saXN0LmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIuY29udGFpbmVyLWJvZHktcmF0ZXtcclxuICAgIHRvcDogOS42cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0NSwgMjQ1LCAyNDUpO1xyXG59XHJcbi56b29te1xyXG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcclxufVxyXG4uem9vbTpob3ZlciB7XHJcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyAvKiBJRSA5ICovXHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMS4yKTsgLyogU2FmYXJpIDMtOCAqL1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyBcclxuICB9Il19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Rate Generation

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { ApiService } from '../../services/apiservices.service';\r\nimport { MandatoryfieldService } from '../../common/Validators/mandatoryfield.service';\r\nimport * as jsPDF from 'jspdf';\r\nimport 'jspdf-autotable';\r\nimport { CommonfunctionsService } from '../../services/commonfunctions.service';\r\nimport Swal from 'sweetalert2';\r\ndeclare var $: any;\r\ndeclare function escape(s: string): string;\r\n\r\n@Component({\r\n selector: 'app-rate-list',\r\n templateUrl: './rate-list.component.html',\r\n styleUrls: ['./rate-list.component.css']\r\n})\r\nexport class RateListComponent implements OnInit {\r\n loading: boolean = false;\r\n showtable: boolean = false;\r\n fields: any = [];\r\n tableData: any;\r\n resArray: any = [];\r\n title: any = [];\r\n rateGenerateId: any;\r\n constructor(private alertService: AlertService, private apiData: ApiService, private validate: MandatoryfieldService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n if (this.validate.isUndefined(this.alertService.combinationId.get()) || this.validate.isUndefined(this.alertService.getLocal(\"loading\"))) {\r\n this.alertService.navigateTo(\"/choose-transaction\");\r\n } else {\r\n this.getRateList();\r\n this.alertService.deleteLocal(\"upload\");\r\n var obj = this;\r\n $(\"#rateListTable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getRateList();\r\n });\r\n }\r\n }\r\n goto(page) {\r\n this.alertService.rateGenerationID.remove();\r\n this.alertService.combinationId.remove();\r\n this.alertService.isFinalRate.remove();\r\n this.alertService.mrCode.remove();\r\n this.apiData.inputCombo.removData();\r\n this.apiData.outputCombo.removData();\r\n this.alertService.deleteLocal(\"loading\");\r\n this.alertService.navigateTo(page);\r\n }\r\n getRateList() {\r\n this.loading = true;\r\n this.apiData.rateGenerationApi.viewRateData(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.rateGenerateId = result.data[0].rategenerationid;\r\n this.validate.popUpAlert(\"Rate Generated Successfully\", \"Transaction ID: \" + result.data[0].rategenerationid, \"success\");\r\n $(\"#rateListTable\").bootstrapTable(\"destroy\");\r\n this.prepareHeader(result);\r\n this.prepareJson(result);\r\n this.tableData = $(\"#rateListTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showtable = true;\r\n }\r\n else {\r\n let errorText = this.alertService.ErrorText.checkError(res.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n prepareHeader(resData) {\r\n this.fields = [];\r\n this.title = [];\r\n for (var i = 0; i < resData.fieldname.length; i++) {\r\n if (!resData.fieldname[i].hide) {\r\n if (resData.fieldname[i].title === 'Sum Insured') {\r\n resData.fieldname[i].title += ' (Cr)'\r\n }\r\n let resArray1 = {};\r\n this.fields.push(resData.fieldname[i][\"title\"]);\r\n this.title.push({ header: resData.fieldname[i][\"title\"], field: resData.fieldname[i][\"name\"] });\r\n var tr = $('' + resData.fieldname[i][\"title\"] + '');\r\n $(\"#rateListTable thead tr\").append(tr);\r\n }\r\n }\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n if (resData.data[i].area_sown) {\r\n resData.data[i].area_sown = +(+resData.data[i].area_sown.toFixed(0));\r\n }\r\n resData.data[i].actual_sum_insured = resData.data[i].sum_insured;\r\n resData.data[i].sum_insured = +(resData.data[i].sum_insured / 1e7).toFixed(2)\r\n let resArray1 = {actual_sum_insured: resData.data[i].actual_sum_insured};\r\n for (var j = 0; j < this.title.length; j++) {\r\n resArray1[this.title[j].header] = resData.data[i][this.title[j].field];\r\n if (typeof +resArray1[this.title[j].header] == 'number' && !isNaN(+resArray1[this.title[j].header])) {\r\n resArray1[this.title[j].header] = +(+resArray1[this.title[j].header]).toFixed(2)\r\n }\r\n }\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n exportAsXLSX(): void {\r\n const fields = JSON.parse(JSON.stringify(this.fields));\r\n const data = JSON.parse(JSON.stringify(this.resArray));\r\n for (let i = 0; i < data.length; i++) {\r\n const d = data[i];\r\n d[\"Sum Insured\"] = d.actual_sum_insured;\r\n delete d[\"Sum Insured (Cr)\"];\r\n delete d.actual_sum_insured;\r\n }\r\n const sum_insured_index = fields.indexOf(\"Sum Insured (Cr)\");\r\n if (sum_insured_index >= 0 ) {\r\n fields[sum_insured_index] = \"Sum Insured\";\r\n }\r\n this.commonfunctions.exportAsExcelFile(data, fields, \"RateData\");\r\n }\r\n checkColumns(columname) {\r\n if (columname == \"weatherforecast\") {\r\n return false;\r\n } else if (columname == \"agroclimatezone\") {\r\n return false;\r\n } else if (columname == \"specificrisks\") {\r\n return false;\r\n } else if (columname == \"irrigationfacilities\") {\r\n return false;\r\n } else if (columname == \"farmmgmtpractices\") {\r\n return false;\r\n } else if (columname == \"groundlevelexpertise\") {\r\n return false;\r\n } else if (columname == \"commercialdiscount\") {\r\n return false;\r\n } else if (columname == \"adminld\") {\r\n return false;\r\n } else if (columname == \"year\") {\r\n return false;\r\n } else if (columname == \"costcapitalld\") {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n convertToPdf() {\r\n var pdf = new jsPDF('portrait', 'pt', 'a4');\r\n pdf.setFontSize(6);\r\n var col = [];\r\n var rowdata = [];\r\n var len = this.resArray.length;\r\n var colStyle = [];\r\n var colCount = 0;\r\n for (var i = 0; i < this.title.length; i++) {\r\n if (this.checkColumns(this.title[i].field)) {\r\n col.push({ header: this.title[i].header });\r\n colStyle.push({ [colCount++]: { cellWidth: 30, halign: 'right' } })\r\n }\r\n }\r\n for (var k = 0; k < this.resArray.length; k++) {\r\n let fileddata = [];\r\n for (var i = 0; i < col.length; i++) {\r\n for (var j = 0; j < this.title.length; j++) {\r\n if (this.title[j].header == col[i].header)\r\n fileddata.push(this.resArray[k][this.title[j].header]);\r\n }\r\n }\r\n rowdata.push(fileddata);\r\n }\r\n\r\n pdf.autoTable(col, rowdata, {\r\n startY: 40,\r\n margin: {\r\n right: 20,\r\n left: 20\r\n },\r\n headStyles: {\r\n fontSize: 8,\r\n fontStyle: 'normal',\r\n textColor: \"#fff\",\r\n fillColor: \"#175788\",\r\n halign: 'center'\r\n },\r\n styles: {\r\n cellWidth: 30\r\n },\r\n tableLineWidth: 0,\r\n theme: \"striped\",\r\n bodyStyles: {\r\n fontSize: 7,\r\n halign: 'center',\r\n valign: 'middle'\r\n },\r\n }\r\n );\r\n pdf.save(\"RateData\" + '_' + this.commonfunctions.getDateTimeExt() + \".pdf\");\r\n }\r\n ratedataDownloadapi() {\r\n this.loading = true;\r\n this.apiData.rateGenerationApi.downloadRateData(res => {\r\n this.loading = false;\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n confirmMessage() {\r\n Swal({\r\n title: \"Do you want to replace this as final pricing?\",\r\n text: \"\",\r\n type: \"question\",\r\n confirmButtonColor: \"#175788\",\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n }).then((result: any) => {\r\n if (result && result.value) {\r\n this.apiData.rateGenerationLocakPrice(this.rateGenerateId).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"error\");\r\n }\r\n this.loading = false;\r\n })\r\n .catch((err) => {\r\n this.validate.popUpAlert(\r\n \"Unable to Update Final Loading\",\r\n \"Error\",\r\n \"error\"\r\n );\r\n this.loading = false;\r\n });\r\n }\r\n });\r\n }\r\n\r\n}\r\n","module.exports = \"\\r\\n\\r\\n/*** stepper***/\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\r\\n}\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788;\\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n\\t}\\r\\n\\t.btnSection {\\r\\n\\t\\tcolor: #025aa5;\\r\\n\\t\\tfont-size:0.5rem;\\r\\n\\t}\\r\\n\\t.sectionTotal{font-size:0.5rem;}\\r\\n }\\r\\n/*\\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n\\t}\\r\\n\\t.btnSection {\\r\\n\\t\\tcolor: #025aa5;\\r\\n\\t\\tfont-size:0.5rem;\\r\\n\\t}\\r\\n }\\r\\n.formgroup label {\\r\\n margin-bottom: unset;\\r\\n}\\r\\n.scroll-container{\\r\\n max-height:600px;\\r\\n overflow: auto;\\r\\n }\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none;\\r\\n overflow: -moz-scrollbars-none;\\r\\n}\\r\\n.scroll-container::-webkit-scrollbar {\\r\\n display: none;\\r\\n}\\r\\n.txt-download{\\r\\n\\tfont-family: 'Roboto-dark';\\r\\n\\tfont-stretch: condensed;\\r\\n\\tcolor: black;\\r\\n\\tfont-size: 14px;\\r\\n\\tcursor: pointer;\\r\\n}\\r\\n.card-header\\r\\n{\\r\\n\\tborder-bottom: 0;\\r\\n}\\r\\n.hdrSection {\\r\\nborder-bottom: 1pt solid #025aa5 !important;\\r\\n}\\r\\n.footSection {\\r\\n\\tborder-bottom: 1pt solid #025aa5 !important;\\r\\n\\tborder-top: 1pt solid #025aa5 !important;\\r\\n}\\r\\n.btnSection:focus {\\r\\n\\tbox-shadow: none;\\r\\n\\ttext-decoration: underline;\\r\\n}\\r\\n.btnSection {\\r\\n\\tcolor: #025aa5;\\r\\n\\tfont-size:1.20rem;\\r\\n}\\r\\n.saveSection,.editSection{\\r\\n\\tbackground-color: #175788;\\r\\n}\\r\\n.form-group.required .control-label:after,.formgroup.required .control-label:after {\\r\\n\\tcontent:\\\"*\\\";\\r\\n\\tcolor:#d9534f!important;\\r\\n\\tfont-weight: 700!important;\\r\\n}\\r\\n.invalid-district {\\r\\n width: 100%;\\r\\n margin-top: 0.25rem;\\r\\n font-size: 13px;\\r\\n color: #df0d0d;\\r\\n padding: 0px 0px !important;\\r\\n font-weight: 600;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL3JhdGVnZW5lcmF0ZS9yYXRlZ2VuZXJhdGUuY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUVBLGdCQUFnQjtBQUNoQjtDQUNDLFVBQVU7Q0FDVixnQkFBZ0I7Q0FDaEIsOEJBQThCO0NBQzlCLGtCQUFrQjtDQUNsQiwyQkFBMkI7Q0FDM0I7QUFFRDtDQUNDLFdBQVc7Q0FDWCxnQkFBZ0I7Q0FDaEIsVUFBVTtDQUNWLHFCQUFxQjs7Q0FFckI7QUFDRDtDQUNDLGFBQWE7SUFDVix3QkFBd0I7SUFDeEIsc0JBQXNCO0NBQ3pCLGVBQWU7SUFDWixpQkFBaUI7SUFDakIsZ0JBQWdCO0NBQ25CO0FBRUQ7Q0FDQyxXQUFXO0NBQ1gsWUFBWTtDQUNaLHFCQUFxQjtDQUNyQixrQkFBa0I7Q0FDbEIseUJBQXlCO0NBQ3pCLGtCQUFrQjtDQUNsQixnQkFBZ0I7Q0FDaEIsa0JBQWtCO0lBQ2YsVUFBVTtJQUNWLGNBQWM7Q0FDakI7QUFFRDtDQUNDLHlCQUF5QjtDQUN6QixjQUFjO0NBQ2QseUJBQXlCO0NBQ3pCO0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsV0FBVztDQUNYLHlCQUF5QjtDQUN6QjtBQUNEO0VBQ0UsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixnQ0FBZ0M7RUFDaEMsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osZ0JBQWdCO0NBQ2pCO0FBRUQ7Q0FDQyx3QkFBd0I7Q0FDeEI7QUFDRDtJQUNJLDBDQUEwQztDQUM3QztBQUNEO0NBQ0M7RUFDQyxZQUFZO0VBQ1osYUFBYTtFQUNiLGdCQUFnQjtFQUNoQjtDQUNEO0VBQ0MsWUFBWTtFQUNaO0NBQ0Q7RUFDQyxVQUFVO0VBQ1Y7Q0FDRDtBQUNEO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7RUFDbEI7Q0FDRDtFQUNDLGVBQWU7RUFDZixpQkFBaUI7RUFDakI7Q0FDRCxjQUFjLGlCQUFpQixDQUFDO0dBQzlCO0FBRUQ7OztJQUdFO0FBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtFQUNsQjtDQUNEO0VBQ0MsZUFBZTtFQUNmLGlCQUFpQjtFQUNqQjtHQUNDO0FBRUg7SUFDSSxxQkFBcUI7Q0FDeEI7QUFDRDtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0dBQ2hCO0FBRUg7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0NBQ2xDO0FBQ0Q7SUFDSSxjQUFjO0NBQ2pCO0FBQ0Q7Q0FDQywyQkFBMkI7Q0FDM0Isd0JBQXdCO0NBQ3hCLGFBQWE7Q0FDYixnQkFBZ0I7Q0FDaEIsZ0JBQWdCO0NBQ2hCO0FBRUQ7O0NBRUMsaUJBQWlCO0NBQ2pCO0FBQ0Q7QUFDQSw2Q0FBNkM7Q0FDNUM7QUFDRDtDQUNDLDRDQUE0QztDQUM1Qyx5Q0FBeUM7Q0FDekM7QUFFRDtDQUNDLGlCQUFpQjtDQUNqQiwyQkFBMkI7Q0FDM0I7QUFFRDtDQUNDLGVBQWU7Q0FDZixrQkFBa0I7Q0FDbEI7QUFFRDtDQUNDLDBCQUEwQjtDQUMxQjtBQUVEO0NBQ0MsWUFBWTtDQUNaLHdCQUF3QjtDQUN4QiwyQkFBMkI7Q0FDM0I7QUFFRDtFQUNFLFlBQVk7RUFDWixvQkFBb0I7RUFDcEIsZ0JBQWdCO0VBQ2hCLGVBQWU7RUFDZiw0QkFBNEI7RUFDNUIsaUJBQWlCO0NBQ2xCIiwiZmlsZSI6InNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL3JhdGVnZW5lcmF0ZS9yYXRlZ2VuZXJhdGUuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIlxyXG5cclxuLyoqKiBzdGVwcGVyKioqL1xyXG4uc3RlcHBlcl9yb3d7XHJcblx0d2lkdGg6ODUlO1xyXG5cdG1hcmdpbi10b3A6MTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcclxuXHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpe1xyXG5cdGZsb2F0OmxlZnQ7XHJcblx0bGlzdC1zdHlsZTpub25lO1xyXG5cdHdpZHRoOjI1JTtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHJcbn1cclxuLnNwYW5fY29sb3Ige1xyXG5cdG1hcmdpbjogYXV0bztcclxuICAgIGJvcmRlci1yaWdodC13aWR0aDogM3B4O1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMnB4O1xyXG5cdGNvbG9yOiAjQ0FDQUNBO1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGZvbnQtc2l6ZTogMjBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpIHNwYW57XHJcblx0d2lkdGg6NTBweDtcclxuXHRoZWlnaHQ6NTBweDtcclxuXHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRib3JkZXItcmFkaXVzOjUwJTtcclxuXHRib3JkZXI6MnB4IHNvbGlkICNDQUNBQ0E7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcblx0YmFja2dyb3VuZDojZmZmO1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG4gICAgei1pbmRleDoyO1xyXG4gICAgcGFkZGluZzogMTBweDtcclxufVxyXG5cclxuLnN0ZXBwZXJfcm93IGxpLmFjdGl2ZSBzcGFue1xyXG5cdC8qIGJhY2tncm91bmQ6I0QxMTI0MTsgKi9cclxuXHRjb2xvcjojMTc1Nzg4O1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGUgc3BhbntcclxuXHRiYWNrZ3JvdW5kOiMxNzU3ODg7XHJcblx0Y29sb3I6I2ZmZjtcclxuXHRib3JkZXI6MnB4IHNvbGlkICMxNzU3ODg7XHJcbn1cclxuLnN0ZXBwZXJfcm93IGxpOmFmdGVye1xyXG5cdFx0Y29udGVudDonJztcclxuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbToycHggc29saWQgI0NBQ0FDQTtcclxuXHRcdHdpZHRoOjEwMCU7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdGJvdHRvbTozNHB4O1xyXG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGk6bGFzdC1jaGlsZDphZnRlcntcclxuXHRkaXNwbGF5Om5vbmUgIWltcG9ydGFudDtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGU6YWZ0ZXJ7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTc1Nzg4IWltcG9ydGFudDtcclxufVxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KXtcclxuXHQuc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRib3R0b206MjhweDtcclxuXHR9XHJcblx0LnN0ZXBwZXJfcm93e1xyXG5cdFx0d2lkdGg6OTAlO1xyXG5cdH1cclxufVxyXG5AbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHR9XHJcblx0LmJ0blNlY3Rpb24ge1xyXG5cdFx0Y29sb3I6ICMwMjVhYTU7XHJcblx0XHRmb250LXNpemU6MC41cmVtO1xyXG5cdH1cclxuXHQuc2VjdGlvblRvdGFse2ZvbnQtc2l6ZTowLjVyZW07fVxyXG4gIH1cclxuXHJcbiAgLypcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcblxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQuYnRuU2VjdGlvbiB7XHJcblx0XHRjb2xvcjogIzAyNWFhNTtcclxuXHRcdGZvbnQtc2l6ZTowLjVyZW07XHJcblx0fVxyXG4gIH1cclxuXHJcbi5mb3JtZ3JvdXAgbGFiZWwge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XHJcbn1cclxuLnNjcm9sbC1jb250YWluZXJ7XHJcbiAgICBtYXgtaGVpZ2h0OjYwMHB4O1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgfVxyXG5cclxuLnNjcm9sbC1jb250YWluZXIge1xyXG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lO1xyXG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi50eHQtZG93bmxvYWR7XHJcblx0Zm9udC1mYW1pbHk6ICdSb2JvdG8tZGFyayc7XHJcblx0Zm9udC1zdHJldGNoOiBjb25kZW5zZWQ7XHJcblx0Y29sb3I6IGJsYWNrO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5jYXJkLWhlYWRlclxyXG57XHJcblx0Ym9yZGVyLWJvdHRvbTogMDtcclxufVxyXG4uaGRyU2VjdGlvbiB7XHJcbmJvcmRlci1ib3R0b206IDFwdCBzb2xpZCAgIzAyNWFhNSAhaW1wb3J0YW50O1xyXG59XHJcbi5mb290U2VjdGlvbiB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB0IHNvbGlkICMwMjVhYTUgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOiAxcHQgc29saWQgIzAyNWFhNSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uYnRuU2VjdGlvbjpmb2N1cyB7XHJcblx0Ym94LXNoYWRvdzogbm9uZTtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLmJ0blNlY3Rpb24ge1xyXG5cdGNvbG9yOiAjMDI1YWE1O1xyXG5cdGZvbnQtc2l6ZToxLjIwcmVtO1xyXG59XHJcblxyXG4uc2F2ZVNlY3Rpb24sLmVkaXRTZWN0aW9ue1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICMxNzU3ODg7XHJcbn1cclxuXHJcbi5mb3JtLWdyb3VwLnJlcXVpcmVkIC5jb250cm9sLWxhYmVsOmFmdGVyLC5mb3JtZ3JvdXAucmVxdWlyZWQgLmNvbnRyb2wtbGFiZWw6YWZ0ZXIge1xyXG5cdGNvbnRlbnQ6XCIqXCI7XHJcblx0Y29sb3I6I2Q5NTM0ZiFpbXBvcnRhbnQ7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMCFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5pbnZhbGlkLWRpc3RyaWN0IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG4gIGZvbnQtc2l6ZTogMTNweDtcclxuICBjb2xvcjogI2RmMGQwZDtcclxuICBwYWRkaW5nOiAwcHggMHB4ICFpbXBvcnRhbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Rate Generation

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n {{step.id}}\\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n Weightage : {{loadingDiscounts.sectionFinalLoadingWeightagePercentage | number : '1.0-2'}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Final Loading Percentage: {{loadingDiscounts.avgFinalLoadingPercentage | number : '1.0-2' }} \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    {{loadingDiscounts.loadingDiscountName}}
    \\r\\n
    \\r\\n {{loadingDiscounts.loadingDiscountID==\\\"specific_risks\\\" ? \\\"% Area Irrigated\\\" : \\\"Underwriter's\\r\\n Perception\\\"}}
    \\r\\n
    Final Loading
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{subSections.title}}\\r\\n
    \\r\\n Weightage : {{subSections.finalLoadingWeightageApplied}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{subSections.finalLoadingPercentage + '%'}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    Sum Insured * : \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n Final Loading Percentage: {{district.totalFinalLoadingPercentage | number : '1.0-2'}} %\\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    District Weightage : {{district.district_weightage_text | number : '1.0-2'}}\\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n\\r\\n
    \\r\\n
    {{district.loadingDiscountName}}\\r\\n
    \\r\\n
    \\r\\n {{district.loadingDiscountID==\\\"specific_risks\\\" ? \\\"% Area Irrigated\\\" : \\\"Underwriter's\\r\\n Perception\\\"}}
    \\r\\n
    Final Loading
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n {{subSections.title}}\\r\\n
    \\r\\n Weightage : {{subSections.finalLoadingWeightageApplied}}\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{subSections.finalLoadingPercentage + '%'}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Loading...

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Required\\r\\n 250 \\\">Comments should be minimum 25 to maximum 250 characters\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    Loading...

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    {{\\\"Total Loading/Discount: \\\"+ totalLoadingDiscount +'%'}}
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n E.g. for Loading 10% for discounting -10%\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n Required\\r\\n 250 \\\">Comments should be minimum 25 to maximum 250 characters\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","import { Component, OnInit, Inject } from \"@angular/core\";\r\nimport { AlertService } from \"../../services/alert.service\";\r\nimport { MandatoryfieldService } from \"../../common/Validators/mandatoryfield.service\";\r\nimport { ApiService } from \"../../services/apiservices.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport {\r\n FormBuilder,\r\n FormArray,\r\n Validators,\r\n FormControl,\r\n FormGroup,\r\n} from \"@angular/forms\";\r\nimport { CommonfunctionsService } from \"../../services/commonfunctions.service\";\r\nimport { ActivatedRoute } from \"@angular/router\";\r\ndeclare var $: any;\r\n@Component({\r\n selector: \"app-rategenerate\",\r\n templateUrl: \"./rategenerate.component.html\",\r\n styleUrls: [\"./rategenerate.component.css\"],\r\n})\r\nexport class RategenerateComponent implements OnInit {\r\n result: any = {};\r\n paramForm: any;\r\n paramFormWithSubSections = new FormGroup({});\r\n paramFormNoSubSections = new FormGroup({});\r\n FinalLoadingWF = new Array();\r\n clusterDistrictOptions: any = {};\r\n sectionControlDisable = new Array();\r\n sectiontotalFinalloadingpercent = new Array();\r\n totalLoadingDiscount = 0;\r\n parameter: any = {\r\n name: [],\r\n };\r\n comments: any = \"\";\r\n loading: boolean = false;\r\n emptyComment: boolean = false;\r\n loadingDiscountData: any;\r\n ldNoSubSections: any;\r\n wf_ensoelninoimpact: [{ text: \"0\"; value: \"0\" }];\r\n wf_iod_forecast: [{ text: \"0\"; value: \"0\" }];\r\n wf_monsoonforecast: [{ text: \"0\"; value: \"0\" }];\r\n isPreFinalRate: Boolean;\r\n finalRate: Boolean = false;\r\n loadingPermission: any[] = [];\r\n totalSumInsured: any;\r\n yearData: any[] = [];\r\n paramData: any[] = [];\r\n showClusterLabel = false;\r\n timer: any;\r\n sum_insured_errorMessage = '';\r\n\r\n constructor(\r\n public alertService: AlertService,\r\n private validate: MandatoryfieldService,\r\n private apiData: ApiService,\r\n private formBuilder: FormBuilder,\r\n private commonfunctions: CommonfunctionsService,\r\n private activeRoute: ActivatedRoute\r\n ) {\r\n this.paramFormNoSubSections = this.createparamFormNoSubSections();\r\n }\r\n\r\n ngOnInit() {\r\n this.getParam();\r\n }\r\n\r\n getParam() {\r\n this.activeRoute.params.subscribe((data) => {\r\n if (\r\n !(data && data.param)\r\n ) {\r\n this.alertService.navigateTo(\"/choose-transaction\");\r\n } else {\r\n this.paramData = JSON.parse(atob(data.param));\r\n if (this.paramData[1] && this.paramData[1] == \"cluster\") {\r\n this.showClusterLabel = true;\r\n }\r\n this.alertService.changeStepper(3);\r\n this.isPreFinalRate =\r\n this.alertService.isFinalRate.get() == 1 ? true : false;\r\n this.getFieldList(data.param);\r\n }\r\n });\r\n }\r\n async getFieldList(param: any) {\r\n this.loading = true;\r\n await this.getSumInsuredDetails(param);\r\n this.apiData.getParameterAPI.getLoadongDiscount(\r\n (res) => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.result = result;\r\n if (result.status == 1) {\r\n this.loadingDiscountData = result.data.ldWithSubSections;\r\n this.ldNoSubSections = result.data.ldNoSubSections;\r\n for (let ldi = 0; ldi < result.data.ldWithSubSections.length; ldi++) {\r\n const subSection = result.data.ldWithSubSections[ldi];\r\n if (subSection.loadingDistricts && subSection.loadingDistricts.length) {\r\n subSection.loadingDistricts.sort((a: any,b: any) => {\r\n if (this.paramData[1] === 'cluster'){\r\n if (a.cluster != b.cluster) {\r\n return +a.cluster - +b.cluster\r\n } else {\r\n return a.district.localeCompare(b.district);\r\n }\r\n } else {\r\n return a.district.localeCompare(b.district);\r\n }\r\n })\r\n }\r\n }\r\n this.loadingPermission = result.data.loadingDiscountPermissions;\r\n this.setFinalLoadingArray(this.loadingDiscountData);\r\n this.paramFormNoSubSections = this.createparamFormNoSubSections();\r\n for (\r\n let withIndex = 0;\r\n withIndex < this.loadingDiscountData.length;\r\n withIndex++\r\n ) {\r\n const section = this.loadingDiscountData[withIndex];\r\n for (\r\n let loadingIndex = 0;\r\n loadingIndex < this.loadingPermission.length;\r\n loadingIndex++\r\n ) {\r\n const permission = this.loadingPermission[loadingIndex];\r\n if (permission.loadingDiscountId == section.loadingDiscountID) {\r\n section.view = permission.view;\r\n section.edit = permission.edit;\r\n }\r\n }\r\n if (section.subSections && section.subSections.length) {\r\n for (\r\n let subInex = 0;\r\n subInex < section.subSections.length;\r\n subInex++\r\n ) {\r\n const subSection = section.subSections[subInex];\r\n const defaultVal = subSection.uwPerceptionData.find(\r\n (d) => d.defaultUWPerception\r\n );\r\n if (defaultVal) {\r\n subSection.uwPerception = defaultVal.text;\r\n this.getFinalLoading(\r\n subSection.uwPerceptionData,\r\n subSection.uwPerception,\r\n withIndex,\r\n subInex\r\n );\r\n subSection.finalLoadingPercentage = defaultVal.options\r\n ? Math.round(defaultVal.finalLoadingPercentage)\r\n : defaultVal.value;\r\n const FinalLoadingWF =\r\n this.FinalLoadingWF[withIndex][subInex] || [];\r\n subSection.isReadonly = !FinalLoadingWF.map(\r\n (d) => d.value\r\n ).includes(subSection.finalLoadingPercentage);\r\n $(\"#fl_percentip_\" + withIndex + \"\" + subInex).val(\r\n subSection.finalLoadingPercentage\r\n );\r\n }\r\n const finalLoadingWithWeightageInDecimal =\r\n (parseFloat(subSection.finalLoadingPercentage) / 100) *\r\n (parseFloat(subSection.weightage) / 100);\r\n }\r\n\r\n let totalFinalLoadinginDecimal = 0;\r\n for (let i = 0; i < section.subSections.length; i++) {\r\n const subsection = section.subSections[i];\r\n totalFinalLoadinginDecimal +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n section.avgFinalLoadingPercentage =\r\n (section.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalFinalLoadinginDecimal;\r\n section.totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.sectiontotalFinalloadingpercent[withIndex] =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.totalLoadingDiscount =\r\n +this.totalLoadingDiscount.toFixed(2);\r\n console.log(\"002\");\r\n }\r\n if (section.loadingDistricts && section.loadingDistricts.length) {\r\n let totalDistrictFinalLoading = 0;\r\n let totalLoadedDistrict = 0;\r\n for (\r\n let dIndx = 0;\r\n dIndx < section.loadingDistricts.length;\r\n dIndx++\r\n ) {\r\n const district = section.loadingDistricts[dIndx];\r\n district.totalYeildData = 0;\r\n for (let yindx = 0; yindx < this.yearData.length; yindx++) {\r\n const yieldData = this.yearData[yindx];\r\n if (\r\n yieldData.admin2 &&\r\n district.district &&\r\n yieldData.admin2.toLowerCase() ==\r\n district.district.toLowerCase()\r\n ) {\r\n district.totalYeildData += yieldData.sum_insured || 0;\r\n }\r\n }\r\n district.yeildDataPercentage =\r\n this.totalSumInsured == 0\r\n ? 0\r\n : district.totalYeildData / this.totalSumInsured;\r\n district.sum_insured_text = district.totalYeildData\r\n ? +district.totalYeildData.toFixed(2)\r\n : 0;\r\n district.district_weightage_text =\r\n district.yeildDataPercentage\r\n ? +(district.yeildDataPercentage * 100).toFixed(2)\r\n : 0;\r\n if (district.subSections && district.subSections.length) {\r\n for (\r\n let subInex = 0;\r\n subInex < district.subSections.length;\r\n subInex++\r\n ) {\r\n const subSection = district.subSections[subInex];\r\n const defaultVal = subSection.uwPerceptionData.find(\r\n (d) => d.defaultUWPerception\r\n );\r\n if (defaultVal) {\r\n subSection.uwPerception = defaultVal.text;\r\n this.setClusterDistrictFinalLoadingOPtion(\r\n withIndex,\r\n dIndx,\r\n subInex,\r\n subSection.uwPerceptionData,\r\n subSection.uwPerception\r\n );\r\n subSection.finalLoadingPercentage = defaultVal.options\r\n ? Math.round(defaultVal.finalLoadingPercentage)\r\n : defaultVal.value;\r\n const clusterPercentageOption =\r\n this.clusterDistrictOptions[\r\n `${withIndex}${dIndx}${subInex}`\r\n ] || [];\r\n subSection.isReadonly = !clusterPercentageOption\r\n .map((d) => d.value)\r\n .includes(subSection.finalLoadingPercentage);\r\n $(\"#fl_percentip_\" + withIndex + \"\" + subInex).val(\r\n subSection.finalLoadingPercentage\r\n );\r\n }\r\n }\r\n\r\n let totalFinalLoadinginDecimala = 0;\r\n for (let i = 0; i < district.subSections.length; i++) {\r\n const subsection = district.subSections[i];\r\n totalFinalLoadinginDecimala +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n totalFinalLoadinginDecimala =\r\n totalFinalLoadinginDecimala *\r\n district.yeildDataPercentage;\r\n district.avgFinalLoadingPercentage =\r\n (district.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalFinalLoadinginDecimala;\r\n district.totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimala;\r\n totalDistrictFinalLoading +=\r\n district.totalFinalLoadingPercentage;\r\n totalLoadedDistrict++;\r\n }\r\n }\r\n this.sectiontotalFinalloadingpercent[withIndex] =\r\n +totalDistrictFinalLoading.toFixed(2);\r\n section.totalFinalLoadingPercentage = totalDistrictFinalLoading;\r\n section.avgFinalLoadingPercentage =\r\n (section.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalDistrictFinalLoading;\r\n console.log(\"003\");\r\n }\r\n section.updatestatus = \"done\";\r\n }\r\n for (\r\n let withoutIndx = 0;\r\n withoutIndx < this.ldNoSubSections.length;\r\n withoutIndx++\r\n ) {\r\n const section = this.ldNoSubSections[withoutIndx];\r\n for (\r\n let loadingIndex = 0;\r\n loadingIndex < this.loadingPermission.length;\r\n loadingIndex++\r\n ) {\r\n const permission = this.loadingPermission[loadingIndex];\r\n if (permission.loadingDiscountId == section.loadingDiscountID) {\r\n section.view = permission.view;\r\n section.edit = permission.edit;\r\n }\r\n }\r\n }\r\n this.updateTotalLoadingDiscountVal();\r\n this.loading = false;\r\n }\r\n }\r\n console.log(this.loadingDiscountData);\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n },\r\n param\r\n );\r\n }\r\n\r\n async getSumInsuredDetails(param: any) {\r\n const paramData = JSON.parse(atob(param));\r\n const state = paramData[0];\r\n const year = paramData[5];\r\n await this.apiData\r\n .rateGenerationGetYieldData(state, year)\r\n .then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.yearData = (res.data || []).filter((d) => {\r\n if (\r\n ((this.paramData[3] || \"\").toLowerCase() == \"all\" ||\r\n (d.season || \"\").toLowerCase() ==\r\n (this.paramData[3] || \"\").toLowerCase()) &&\r\n ((this.paramData[4] || \"\").toLowerCase() == \"all\" ||\r\n (this.paramData[4] || \"\").toLowerCase() == \"all_individual\" ||\r\n (d.crop || \"\").toLowerCase() ==\r\n (this.paramData[4] || \"\").toLowerCase())\r\n ) {\r\n if ((this.paramData[2] || \"\").toLowerCase() == \"all\") {\r\n return true;\r\n } else if (this.paramData[1] == \"cluster\") {\r\n return d.cluster_num == this.paramData[2];\r\n } else {\r\n return d.admin2 == this.paramData[2];\r\n }\r\n } else {\r\n return false;\r\n }\r\n });\r\n this.totalSumInsured = this.yearData\r\n .map((d) => d.sum_insured)\r\n .reduce((a, b) => a + b, 0);\r\n this.totalSumInsured = +this.totalSumInsured.toFixed(2);\r\n } else {\r\n console.error(\"No Yield Data\");\r\n }\r\n })\r\n .catch((err) => {\r\n console.error(\"No Yield Data\");\r\n });\r\n }\r\n\r\n goto(process) {\r\n if (process == \"next\") {\r\n let isvalid = this.validateLoadinDiscount();\r\n if (isvalid) {\r\n if (this.sum_insured_errorMessage) {\r\n Swal({\r\n title: 'Sum insured value of some of the districts is zero. Do you want to continue?',\r\n showConfirmButton: true,\r\n showCancelButton: true,\r\n }).then((result: any) => {\r\n if (result && result.value) {\r\n this.MRgetstatusApi();\r\n this.sum_insured_errorMessage = '';\r\n }\r\n });\r\n } else {\r\n this.MRgetstatusApi();\r\n }\r\n }\r\n }\r\n }\r\n\r\n saveRateGeneration() {\r\n var loadingDiscountDataSave = JSON.parse(\r\n JSON.stringify(this.loadingDiscountData)\r\n );\r\n var noloadingDiscountDataSave = JSON.parse(\r\n JSON.stringify(this.ldNoSubSections)\r\n );\r\n for (var i = 0; i < loadingDiscountDataSave.length; i++) {\r\n if (\r\n loadingDiscountDataSave[i].loadingDistricts &&\r\n loadingDiscountDataSave[i].loadingDistricts.length\r\n ) {\r\n loadingDiscountDataSave[i].sectionTotalLoadingDiscount = loadingDiscountDataSave[i].avgFinalLoadingPercentage;\r\n } else {\r\n loadingDiscountDataSave[i].sectionTotalLoadingDiscount =\r\n loadingDiscountDataSave[i].avgFinalLoadingPercentage;\r\n }\r\n for (var j = 0; j < loadingDiscountDataSave[i].subSections.length; j++) {\r\n loadingDiscountDataSave[i].subSections[j].uwPerceptionData =\r\n new Array();\r\n }\r\n }\r\n\r\n for (let i = 0; i < noloadingDiscountDataSave.length; i++) {\r\n const element = noloadingDiscountDataSave[i];\r\n element.sectionTotalLoadingDiscount = element.totalFinalLoadingPercentage;\r\n }\r\n\r\n var data = {\r\n ldWithSubSections: loadingDiscountDataSave,\r\n ldNoSubSections: noloadingDiscountDataSave,\r\n isFinalRate: this.finalRate,\r\n };\r\n\r\n\r\n this.apiData.formRequest.getRequest(\"\", data, \"rateloadingdisc\");\r\n this.loading = true;\r\n this.apiData.rateGenerationApi.saveLoadingDisc(\r\n (res) => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n if (res.status == 1) {\r\n this.comments = \"\";\r\n this.alertService.createLocal(\"loading\", \"true\");\r\n this.apiData.rateGenerationApi.markTransactionRateGenerated(res => {\r\n if (!res || !res.data || res.data.status != 'RateGenerated') {\r\n this.validate.popUpAlert('Unable to update status', \"\", \"error\");\r\n }else {\r\n this.alertService.navigateTo(\"/rate-download\");\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n this.validate.popUpAlert('Unable to update status', \"\", \"error\");\r\n })\r\n } else if (res.status == 0) {\r\n let errorText = this.alertService.ErrorText.checkError(res.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n },\r\n (err) => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n }\r\n );\r\n }\r\n\r\n setFinalLoadingArray(loadingDiscounts: any) {\r\n this.sectionControlDisable = new Array(loadingDiscounts.length);\r\n this.sectiontotalFinalloadingpercent = new Array(loadingDiscounts.length);\r\n this.FinalLoadingWF = new Array(loadingDiscounts.length);\r\n for (var i = 0; i < loadingDiscounts.length; i++) {\r\n this.sectionControlDisable[i] = false;\r\n this.sectiontotalFinalloadingpercent[i] = 0;\r\n this.FinalLoadingWF[i] = new Array(\r\n loadingDiscounts[i].subSections.length\r\n );\r\n }\r\n }\r\n\r\n createparamFormNoSubSections() {\r\n if (this.validate.isUndefined(this.ldNoSubSections)) {\r\n var group = this.formBuilder.group({});\r\n group.addControl(\r\n \"totalFinalLoadingPercentage\",\r\n this.formBuilder.control({ value: \"00.00\", disabled: true })\r\n );\r\n group.addControl(\r\n \"ldComments\",\r\n this.formBuilder.control({ value: \"\", disabled: true })\r\n );\r\n\r\n var groupArray = this.formBuilder.array([]);\r\n groupArray.push(group);\r\n\r\n var groupall = this.formBuilder.group({\r\n ldSections: groupArray,\r\n });\r\n\r\n return groupall;\r\n } else {\r\n var groupArray = this.formBuilder.array([]);\r\n\r\n for (let i = 0; i < this.ldNoSubSections.length; i++) {\r\n var group = this.formBuilder.group({});\r\n if (this.ldNoSubSections[i][\"isActive\"]) {\r\n if (!this.ldNoSubSections[i][\"isMandatory\"]) {\r\n group.addControl(\r\n \"totalFinalLoadingPercentage\",\r\n this.formBuilder.control(\"\")\r\n );\r\n group.addControl(\"ldComments\", this.formBuilder.control(\"\"));\r\n } else {\r\n group.addControl(\r\n \"totalFinalLoadingPercentage\",\r\n this.formBuilder.control(\"\", Validators.required)\r\n );\r\n group.addControl(\r\n \"ldComments\",\r\n this.formBuilder.control(\"\", Validators.required)\r\n );\r\n }\r\n } else {\r\n group.addControl(\r\n \"totalFinalLoadingPercentage\",\r\n this.formBuilder.control({ value: \"00.00\", disabled: true })\r\n );\r\n group.addControl(\r\n \"ldComments\",\r\n this.formBuilder.control({ value: \"\", disabled: true })\r\n );\r\n }\r\n\r\n groupArray.push(group);\r\n }\r\n\r\n var groupall = this.formBuilder.group({\r\n ldSections: groupArray,\r\n });\r\n\r\n return groupall;\r\n }\r\n }\r\n\r\n //done\r\n getFinalLoading(uwPerceptionData, cur_event, sectionIndex, subSectionsIndex) {\r\n if (this.loadingDiscountData[sectionIndex].updatestatus == \"add\") {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n }\r\n\r\n $(\"#fl_uwperceptionval_\" + sectionIndex + \"\" + subSectionsIndex).hide();\r\n $(\"#fl_uwperceptionval_\" + sectionIndex + \"\" + subSectionsIndex).text(\"\");\r\n var curUWPerceptionval =\r\n this.loadingDiscountData[sectionIndex].subSections[subSectionsIndex]\r\n .uwPerception;\r\n\r\n for (var i = 0; i < uwPerceptionData.length; i++) {\r\n if (uwPerceptionData[i].text == cur_event) {\r\n if (\r\n this.loadingDiscountData[sectionIndex].subSections[subSectionsIndex]\r\n .key == \"wf_ensoelninoimpact\"\r\n ) {\r\n this.FinalLoadingWF[sectionIndex][subSectionsIndex] =\r\n uwPerceptionData[i].options;\r\n } else if (\r\n this.loadingDiscountData[sectionIndex].subSections[subSectionsIndex]\r\n .key == \"wf_iod_forecast\"\r\n ) {\r\n this.FinalLoadingWF[sectionIndex][subSectionsIndex] =\r\n uwPerceptionData[i].options;\r\n } else if (\r\n this.loadingDiscountData[sectionIndex].subSections[subSectionsIndex]\r\n .key == \"wf_monsoonforecast\"\r\n ) {\r\n this.FinalLoadingWF[sectionIndex][subSectionsIndex] =\r\n uwPerceptionData[i].options;\r\n } else {\r\n this.loadingDiscountData[sectionIndex].subSections[\r\n subSectionsIndex\r\n ].finalLoadingPercentage = uwPerceptionData[i].value;\r\n }\r\n break;\r\n }\r\n }\r\n\r\n this.loadingDiscountData[sectionIndex].subSections[\r\n subSectionsIndex\r\n ].uwPerception = cur_event;\r\n\r\n if (\r\n this.loadingDiscountData[sectionIndex].loadingDiscountID !=\r\n \"weather_forecast\"\r\n ) {\r\n var totalFinalLoadinginDecimal = 0;\r\n for (\r\n var i = 0;\r\n i < this.loadingDiscountData[sectionIndex].subSections.length;\r\n i++\r\n ) {\r\n const subsection =\r\n this.loadingDiscountData[sectionIndex].subSections[i];\r\n totalFinalLoadinginDecimal +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n\r\n this.loadingDiscountData[sectionIndex].avgFinalLoadingPercentage =\r\n (this.loadingDiscountData[sectionIndex]\r\n .sectionFinalLoadingWeightagePercentage /\r\n 100) *\r\n totalFinalLoadinginDecimal;\r\n this.loadingDiscountData[sectionIndex].totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.sectiontotalFinalloadingpercent[sectionIndex] =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n console.log(\"004\");\r\n var sectionTotalLoadingDiscountDecimal =\r\n totalFinalLoadinginDecimal *\r\n (parseFloat(this.loadingDiscountData[sectionIndex].ldWeightage) / 100) *\r\n 100;\r\n this.loadingDiscountData[sectionIndex].sectionTotalLoadingDiscount =\r\n sectionTotalLoadingDiscountDecimal;\r\n } else if (\r\n this.loadingDiscountData[sectionIndex].loadingDiscountID ==\r\n \"weather_forecast\"\r\n ) {\r\n var cur_finaloadingval = $(\r\n \"#fl_percentip_\" + sectionIndex + \"\" + subSectionsIndex\r\n ).val();\r\n var NotsameFinalloading = true;\r\n for (var iFl = 0; iFl < uwPerceptionData[i].options.length; iFl++) {\r\n if (cur_finaloadingval == uwPerceptionData[i].options[iFl].value) {\r\n NotsameFinalloading = false;\r\n break;\r\n }\r\n }\r\n\r\n //not same UW perception and not same finalloading value\r\n if (curUWPerceptionval != cur_event && NotsameFinalloading) {\r\n $(\"#fl_percentip_\" + sectionIndex + \"\" + subSectionsIndex).val(\"\");\r\n this.loadingDiscountData[sectionIndex].subSections[\r\n subSectionsIndex\r\n ].finalLoadingPercentage = 0;\r\n\r\n var totalFinalLoadinginDecimal = 0;\r\n for (\r\n var i = 0;\r\n i < this.loadingDiscountData[sectionIndex].subSections.length;\r\n i++\r\n ) {\r\n const subsection =\r\n this.loadingDiscountData[sectionIndex].subSections[i];\r\n totalFinalLoadinginDecimal +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n this.loadingDiscountData[sectionIndex].avgFinalLoadingPercentage =\r\n (this.loadingDiscountData[sectionIndex]\r\n .sectionFinalLoadingWeightagePercentage /\r\n 100) *\r\n totalFinalLoadinginDecimal;\r\n this.loadingDiscountData[sectionIndex].totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.sectiontotalFinalloadingpercent[sectionIndex] =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n console.log(\"005\");\r\n var sectionTotalLoadingDiscountDecimal =\r\n totalFinalLoadinginDecimal *\r\n (parseFloat(this.loadingDiscountData[sectionIndex].ldWeightage) /\r\n 100) *\r\n 100;\r\n this.loadingDiscountData[sectionIndex].sectionTotalLoadingDiscount =\r\n sectionTotalLoadingDiscountDecimal;\r\n }\r\n }\r\n\r\n if (this.loadingDiscountData[sectionIndex].edit) {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n }\r\n }\r\n\r\n //done\r\n getFinalLoadingWF(cur_event, sectionIndex, subSectionsIndex) {\r\n if (this.loadingDiscountData[sectionIndex].updatestatus == \"add\") {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n }\r\n\r\n $(\"#fl_percentval_\" + sectionIndex + \"\" + subSectionsIndex).hide();\r\n $(\"#fl_percentval_\" + sectionIndex + \"\" + subSectionsIndex).text(\"\");\r\n\r\n $(\"#fl_percentip_\" + sectionIndex + \"\" + subSectionsIndex).val(cur_event);\r\n\r\n this.loadingDiscountData[sectionIndex].subSections[\r\n subSectionsIndex\r\n ].finalLoadingPercentage = cur_event;\r\n\r\n var totalFinalLoadinginDecimal = 0;\r\n for (\r\n var i = 0;\r\n i < this.loadingDiscountData[sectionIndex].subSections.length;\r\n i++\r\n ) {\r\n const subsection = this.loadingDiscountData[sectionIndex].subSections[i];\r\n totalFinalLoadinginDecimal +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n this.loadingDiscountData[sectionIndex].avgFinalLoadingPercentage =\r\n (this.loadingDiscountData[sectionIndex]\r\n .sectionFinalLoadingWeightagePercentage /\r\n 100) *\r\n totalFinalLoadinginDecimal;\r\n this.loadingDiscountData[sectionIndex].totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.sectiontotalFinalloadingpercent[sectionIndex] =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n console.log(\"006\");\r\n var sectionTotalLoadingDiscountDecimal =\r\n totalFinalLoadinginDecimal *\r\n (parseFloat(this.loadingDiscountData[sectionIndex].ldWeightage) / 100) *\r\n 100;\r\n this.loadingDiscountData[sectionIndex].sectionTotalLoadingDiscount =\r\n sectionTotalLoadingDiscountDecimal;\r\n\r\n if (this.loadingDiscountData[sectionIndex].edit) {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n }\r\n }\r\n\r\n getDistrictFinalLoading(\r\n uwPerceptionData,\r\n event,\r\n subSection,\r\n index,\r\n districts,\r\n dIndx,\r\n subIndx\r\n ) {\r\n const perception = uwPerceptionData.find((data) => data.text == event);\r\n subSection.finalLoadingPercentage = null;\r\n if (perception) {\r\n subSection.finalLoadingPercentage =\r\n perception.finalLoadingPercentage || perception.value;\r\n if (perception.options) {\r\n this.setClusterDistrictFinalLoadingOPtion(\r\n index,\r\n dIndx,\r\n subIndx,\r\n subSection.uwPerceptionData,\r\n subSection.uwPerception\r\n );\r\n }\r\n }\r\n\r\n const finalLoadingWithWeightageInDecimal =\r\n (parseFloat(subSection.finalLoadingPercentage || 0) / 100) *\r\n (parseFloat(subSection.weightage || 0) / 100);\r\n this.updateClusterDistrictFinalLoadingPercentage(index, districts);\r\n\r\n if (this.loadingDiscountData[index].edit) {\r\n this.loadingDiscountData[index].updatestatus = \"edit\";\r\n }\r\n }\r\n\r\n getDistrictFinalLoadingDW(\r\n uwPerceptionData,\r\n event,\r\n subSection,\r\n index,\r\n districts\r\n ) {\r\n const finalLoadingWithWeightageInDecimal =\r\n (parseFloat(subSection.finalLoadingPercentage || 0) / 100) *\r\n (parseFloat(subSection.weightage || 0) / 100);\r\n this.updateFinalLoading()\r\n if (this.loadingDiscountData[index].edit) {\r\n this.loadingDiscountData[index].updatestatus = \"edit\";\r\n }\r\n }\r\n\r\n updateClusterDistrictFinalLoadingPercentage(index, districts) {\r\n if (districts && districts.length) {\r\n let totalDistrictFinalLoading = 0;\r\n let totalLoadedDistrict = 0;\r\n for (let dIndx = 0; dIndx < districts.length; dIndx++) {\r\n const district = districts[dIndx];\r\n let totalFinalLoadinginDecimala = 0;\r\n if (district.subSections && district.subSections.length) {\r\n for (\r\n let subInex = 0;\r\n subInex < district.subSections.length;\r\n subInex++\r\n ) {\r\n const subsection = district.subSections[subInex];\r\n totalFinalLoadinginDecimala +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n\r\n totalFinalLoadinginDecimala =\r\n totalFinalLoadinginDecimala * district.yeildDataPercentage;\r\n district.avgFinalLoadingPercentage =\r\n (district.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalFinalLoadinginDecimala;\r\n district.totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimala.toFixed(1);\r\n totalDistrictFinalLoading += district.totalFinalLoadingPercentage;\r\n totalLoadedDistrict++;\r\n }\r\n }\r\n this.sectiontotalFinalloadingpercent[index] =\r\n +totalDistrictFinalLoading.toFixed(2);\r\n console.log(\"001\");\r\n }\r\n }\r\n\r\n setClusterDistrictFinalLoadingOPtion(\r\n index,\r\n districtIndex,\r\n subInex,\r\n perceptionData,\r\n event\r\n ) {\r\n this.clusterDistrictOptions[`${index}${districtIndex}${subInex}`] = [];\r\n const perception = perceptionData.find((data) => data.text == event);\r\n if (perception) {\r\n this.clusterDistrictOptions[`${index}${districtIndex}${subInex}`] =\r\n perception.options;\r\n }\r\n }\r\n\r\n //done\r\n setComments(sectionIndex) {\r\n if (this.loadingDiscountData[sectionIndex].edit) {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n }\r\n\r\n var cmts_value = $(\"#cmts_\" + sectionIndex).val();\r\n $(\"#cmtsval_\" + sectionIndex).text(\"\");\r\n $(\"#cmtsval_\" + sectionIndex).hide();\r\n if (\r\n cmts_value.length == 0 &&\r\n this.loadingDiscountData[sectionIndex].isMandatory == true\r\n ) {\r\n $(\"#cmtsval_\" + sectionIndex).show();\r\n $(\"#cmtsval_\" + sectionIndex).text(\"Required\");\r\n } else if (\r\n (cmts_value.length < 25 || cmts_value.length > 250) &&\r\n this.loadingDiscountData[sectionIndex].isMandatory == true\r\n ) {\r\n $(\"#cmtsval_\" + sectionIndex).show();\r\n $(\"#cmtsval_\" + sectionIndex).text(\r\n \"Comments should be minimum 25 to maximum 250 characters\"\r\n );\r\n }\r\n\r\n this.loadingDiscountData[sectionIndex].ldComments = cmts_value;\r\n }\r\n\r\n //done\r\n setTotFlPercentValLdOthers(sectionIndex, loadingID) {\r\n var ctrlId = \"totFlPercentLdOthers_\" + loadingID;\r\n if (loadingID == 'state_loading' && !this.ldNoSubSections[sectionIndex].totalFinalLoadingPercentage) {\r\n this.ldNoSubSections[sectionIndex].totalFinalLoadingPercentage = '0';\r\n $(\"#\" + ctrlId).val(this.ldNoSubSections[sectionIndex].totalFinalLoadingPercentage);\r\n }\r\n var totalFinaloadingPercentage_value = $(\"#\" + ctrlId).val();\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).hide();\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).text(\"\");\r\n if (totalFinaloadingPercentage_value.length == 0) {\r\n this.ldNoSubSections[sectionIndex].totalFinalLoadingPercentage = 0;\r\n this.ldNoSubSections[sectionIndex].sectionTotalLoadingDiscount = 0;\r\n } else {\r\n this.ldNoSubSections[sectionIndex].totalFinalLoadingPercentage =\r\n totalFinaloadingPercentage_value;\r\n this.ldNoSubSections[sectionIndex].sectionTotalLoadingDiscount =\r\n totalFinaloadingPercentage_value;\r\n }\r\n\r\n if (\r\n $(\"#\" + ctrlId).val().length == 0 &&\r\n this.ldNoSubSections[sectionIndex].isActive == true\r\n ) {\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).show();\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).text(\"Required\");\r\n } else {\r\n const value = +$(\"#\" + ctrlId).val()\r\n if (!['commercial_discount', 'state_loading'].includes(loadingID) && (value < -100 || value > 200)) {\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).show();\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).text(\"Value should be between -100 to 200\");\r\n }\r\n if (['commercial_discount', 'state_loading'].includes(loadingID) && (value < -50 || value > 200)) {\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).show();\r\n $(\"#totFlPercentLdOthersval_\" + loadingID).text(\"Value should be between -50 to 200\");\r\n }\r\n }\r\n }\r\n\r\n //done\r\n setCommentsLdOthers(sectionIndex) {\r\n var cmts_value = $(\"#cmtsLdOthers_\" + sectionIndex).val();\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).hide();\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).text(\"\");\r\n if (\r\n cmts_value.length == 0 &&\r\n this.ldNoSubSections[sectionIndex].isMandatory == true\r\n ) {\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).show();\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).text(\"Required\");\r\n } else if (\r\n (cmts_value.length < 25 || cmts_value.length > 250) &&\r\n this.ldNoSubSections[sectionIndex].isMandatory == true\r\n ) {\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).show();\r\n $(\"#cmtsLdOthersval_\" + sectionIndex).text(\r\n \"Comments should be minimum 25 to maximum 250 characters\"\r\n );\r\n }\r\n\r\n this.ldNoSubSections[sectionIndex].ldComments = cmts_value;\r\n }\r\n\r\n checkDecimalNoSubSections(ctrltocheck) {\r\n ctrltocheck.setValue(ctrltocheck.value.replace(/[^\\d.-]/g, \"\")); // numbers and decimals only\r\n ctrltocheck.setValue(ctrltocheck.value.replace(\"-.\", \"-\")); //not decimal point after minus\r\n ctrltocheck.setValue(\r\n ctrltocheck.value.replace(/(^[-]+[\\d]{2})[\\d-]/g, \"$1\")\r\n ); // not more than 2 digitsafter the minus\r\n ctrltocheck.setValue(ctrltocheck.value.replace(/(^[\\d]{2})[\\d-]/g, \"$1\")); // not more than 2 digits at the beginning\r\n ctrltocheck.setValue(ctrltocheck.value.replace(/(\\..*)\\./g, \"$1\")); // decimal can't exist more than once\r\n ctrltocheck.setValue(ctrltocheck.value.replace(/(\\.[\\d]{3})./g, \"$1\")); // not more than 3 digits after decimal\r\n }\r\n\r\n validateLoadinDiscount() {\r\n this.sum_insured_errorMessage = '';\r\n $(\".invalid-feedback\").hide();\r\n $(\".invalid-feedback\").text(\"\");\r\n\r\n var isvalid = true;\r\n let errorMessage = '';\r\n for (var i = 0; i < this.loadingDiscountData.length; i++) {\r\n if (\r\n this.loadingDiscountData[i].isActive == true &&\r\n this.loadingDiscountData[i].view == true\r\n ) {\r\n if (this.loadingDiscountData[i].updatestatus == \"edit\") {\r\n this.validate.popUpAlert(\r\n \"Save \" +\r\n this.loadingDiscountData[i].loadingDiscountName +\r\n \" details and continue\",\r\n \"\",\r\n \"error\"\r\n );\r\n isvalid = false;\r\n return false;\r\n }\r\n\r\n if (this.loadingDiscountData[i].isMandatory == true) {\r\n if (this.loadingDiscountData[i].updatestatus != \"done\") {\r\n this.validate.popUpAlert(\r\n \"Provide \" +\r\n this.loadingDiscountData[i].loadingDiscountName +\r\n \" details and continue\",\r\n \"\",\r\n \"error\"\r\n );\r\n isvalid = false;\r\n return false;\r\n }\r\n\r\n for (\r\n var j = 0;\r\n j < this.loadingDiscountData[i].subSections.length;\r\n j++\r\n ) {\r\n if (\r\n this.validate.isUndefined(\r\n this.loadingDiscountData[i].subSections[j].uwPerception\r\n )\r\n ) {\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).show();\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).text(\"Required\");\r\n isvalid = false;\r\n }\r\n\r\n if (\r\n this.loadingDiscountData[i].loadingDiscountID ==\r\n \"weather_forecast\"\r\n ) {\r\n var flpercentVal = $(\"#fl_percentip_\" + i + \"\" + j).val();\r\n if (\r\n this.loadingDiscountData[i].subSections[j]\r\n .finalLoadingPercentage.length == 0\r\n ) {\r\n $(\"#fl_percentval_\" + i + \"\" + j).show();\r\n $(\"#fl_percentval_\" + i + \"\" + j).text(\"Required\");\r\n isvalid = false;\r\n }\r\n }\r\n }\r\n\r\n if (\r\n this.loadingDiscountData[i].loadingDistricts &&\r\n this.loadingDiscountData[i].loadingDistricts.length\r\n ) {\r\n let total_district_weightage = 0;\r\n for (\r\n var dIndx = 0;\r\n dIndx < this.loadingDiscountData[i].loadingDistricts.length;\r\n dIndx++\r\n ) {\r\n const district =\r\n this.loadingDiscountData[i].loadingDistricts[dIndx];\r\n if (!district.sum_insured_text && district.sum_insured_text != '0') {\r\n isvalid = false\r\n errorMessage = `${district.district}'s sum insured is missing`;\r\n }\r\n if (district.sum_insured_text == 0) {\r\n this.sum_insured_errorMessage = `Sum insured value of some of the districts is empty`;\r\n }\r\n if (district.subSections && district.subSections.length) {\r\n for (\r\n let subIndex = 0;\r\n subIndex < district.subSections.length;\r\n subIndex++\r\n ) {\r\n const subSections = district.subSections[subIndex];\r\n if (this.validate.isUndefined(subSections.uwPerception)) {\r\n isvalid = false;\r\n }\r\n if (\r\n [undefined, null].includes(\r\n subSections.finalLoadingPercentage\r\n )\r\n ) {\r\n isvalid = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.loadingDiscountData[i].edit) {\r\n if (\r\n this.validate.isUndefined(this.loadingDiscountData[i].ldComments)\r\n ) {\r\n isvalid = false;\r\n errorMessage = `${this.loadingDiscountData[i].loadingDiscountName}'s comment is missing.`\r\n } else if (\r\n this.loadingDiscountData[i].ldComments.length < 25 ||\r\n this.loadingDiscountData[i].ldComments.length > 250\r\n ) {\r\n isvalid = false;\r\n errorMessage = `${this.loadingDiscountData[i].loadingDiscountName}'s comment is missing.`\r\n }\r\n }\r\n } else {\r\n if (this.loadingDiscountData[i].ldComments.length == 0) {\r\n this.loadingDiscountData[i].ldComments = \"\";\r\n }\r\n }\r\n }\r\n }\r\n\r\n for (var i = 0; i < this.ldNoSubSections.length; i++) {\r\n if (\r\n this.ldNoSubSections[i].isActive == true &&\r\n this.ldNoSubSections[i].view == true\r\n ) {\r\n var ctrlId =\r\n \"totFlPercentLdOthers_\" + this.ldNoSubSections[i].loadingDiscountID;\r\n if (this.ldNoSubSections[i].isMandatory == true) {\r\n\r\n if (\r\n this.validate.isUndefined(\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage\r\n ) &&\r\n $(\"#\" + ctrlId).val().length != 0 &&\r\n parseFloat(this.ldNoSubSections[i].totalFinalLoadingPercentage) !=\r\n parseFloat($(\"#\" + ctrlId).val())\r\n ) {\r\n var totalFinaloadingPercentage_value = $(\"#\" + ctrlId).val();\r\n if (totalFinaloadingPercentage_value.length == 0) {\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage = 0;\r\n this.ldNoSubSections[i].sectionTotalLoadingDiscount = 0;\r\n } else {\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage =\r\n totalFinaloadingPercentage_value;\r\n this.ldNoSubSections[i].sectionTotalLoadingDiscount =\r\n totalFinaloadingPercentage_value;\r\n }\r\n }\r\n\r\n if (\r\n $(\"#\" + ctrlId).val().length == 0 ||\r\n (this.validate.isUndefined(\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage\r\n ) &&\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage != 0)\r\n ) {\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).show();\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).text(\"Required\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName}'s value is missing.`\r\n } else {\r\n const val = $(\"#\" + ctrlId).val();\r\n if ((!['commercial_discount', 'state_loading'].includes(this.ldNoSubSections[i].loadingDiscountID)) && val < -100 || val > 200) {\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).show();\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).text(\"value should be between -100 to 200\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName} value should be between -100 to 200.`\r\n }\r\n if (['commercial_discount', 'state_loading'].includes(this.ldNoSubSections[i].loadingDiscountID) && (val < -50 || val > 200)) {\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).show();\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).text(\"value should be between -50 to 200\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName} value should be between -50 to 200.`\r\n }\r\n }\r\n\r\n if (this.ldNoSubSections[i].edit) {\r\n if (\r\n this.validate.isUndefined(this.ldNoSubSections[i].ldComments) ||\r\n $(\"#cmtsLdOthers_\" + i).val().length == 0\r\n ) {\r\n $(\"#cmtsLdOthersval_\" + i).show();\r\n $(\"#cmtsLdOthersval_\" + i).text(\"Required\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName}'s comment is missing.`\r\n } else if (\r\n this.ldNoSubSections[i].ldComments.length < 25 ||\r\n this.ldNoSubSections[i].ldComments.length > 250\r\n ) {\r\n $(\"#cmtsLdOthersval_\" + i).show();\r\n $(\"#cmtsLdOthersval_\" + i).text(\r\n \"Comments should be minimum 25 to maximum 250 characters\"\r\n );\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName}'s comment must be more than 25 and less than 250 characters.`\r\n }\r\n }\r\n } else {\r\n const val = $(\"#\" + ctrlId).val();\r\n if ((!['commercial_discount', 'state_loading'].includes(this.ldNoSubSections[i].loadingDiscountID)) && val < -100 || val > 200) {\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).show();\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).text(\"value should be between -100 to 200\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName} value should be between -100 to 200.`\r\n }\r\n if (['commercial_discount', 'state_loading'].includes(this.ldNoSubSections[i].loadingDiscountID) && (val < -50 || val > 200)) {\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).show();\r\n $(\r\n \"#totFlPercentLdOthersval_\" +\r\n this.ldNoSubSections[i].loadingDiscountID\r\n ).text(\"value should be between -50 to 200\");\r\n isvalid = false;\r\n errorMessage = `${this.ldNoSubSections[i].loadingDiscountName} value should be between -50 to 200.`\r\n }\r\n var ctrlId =\r\n \"totFlPercentLdOthers_\" + this.ldNoSubSections[i].loadingDiscountID;\r\n if ($(\"#\" + ctrlId).val().length == 0) {\r\n this.ldNoSubSections[i].totalFinalLoadingPercentage = 0;\r\n this.ldNoSubSections[i].sectionTotalLoadingDiscount = 0;\r\n }\r\n\r\n if (this.ldNoSubSections[i].edit) {\r\n if ($(\"#cmtsLdOthers_\" + i).val().length == 0) {\r\n this.ldNoSubSections[i].ldComments = \"\";\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (!isvalid) {\r\n this.validate.popUpAlert(errorMessage || \"Provide required fields\", \"\", \"error\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n onDistrictWeightageChange(event: any, district: any, loadingDiscounts: any) {\r\n const errorEle = $(`.district_weightage_text[data-district=\"${district.district}\"]`)\r\n errorEle.text('');\r\n district.yeildDataPercentage = 0;\r\n district.district_weightage_text = event.target.value;\r\n if (event.target.value) {\r\n district.yeildDataPercentage = +event.target.value / 100;\r\n event.target.value = (+event.target.value).toFixed(2)\r\n district.district_weightage_text = +event.target.value;\r\n } else {\r\n errorEle.text('Requried.');\r\n }\r\n this.updateFinalLoading()\r\n this.updateTotalLoadingDiscountVal();\r\n }\r\n\r\n onsumInsuredChange(event: any, district: any, loadingDiscounts: any) {\r\n const errorEle = $(`.district_weightage_text[data-district=\"${district.district}\"]`)\r\n errorEle.text('');\r\n district.totalYeildData = 0;\r\n district.sum_insured_text = event.target.value;\r\n if (event.target.value) {\r\n district.totalYeildData = +event.target.value;\r\n event.target.value = (+event.target.value).toFixed(2)\r\n district.sum_insured_text = event.target.value;\r\n } else {\r\n errorEle.text('Requried.');\r\n }\r\n\r\n const district_yield_data_map = new Map();\r\n const district_sum_insured_map = new Map();\r\n const district_weightage_map = new Map();\r\n const district_weightage_text_map = new Map();\r\n\r\n this.totalSumInsured = loadingDiscounts.loadingDistricts.map(d => d.totalYeildData).reduce((a,b) => a+b)\r\n\r\n if (loadingDiscounts.loadingDistricts && loadingDiscounts.loadingDistricts.length) {\r\n for (let di = 0; di < loadingDiscounts.loadingDistricts.length; di++) {\r\n const district_data = loadingDiscounts.loadingDistricts[di];\r\n district_data.yeildDataPercentage = this.totalSumInsured == 0 ? 0 : district_data.totalYeildData / this.totalSumInsured;\r\n if (district_data.district == district.district) {\r\n district_data.sum_insured_text = event.target.value;\r\n } else {\r\n district_data.sum_insured_text = district_data.totalYeildData ? (district_data.totalYeildData).toFixed(2) : '0';\r\n }\r\n district_data.district_weightage_text = district_data.yeildDataPercentage ? +(district_data.yeildDataPercentage * 100).toFixed(2) : '0';\r\n\r\n district_yield_data_map.set(district_data.district, district_data.totalYeildData);\r\n district_sum_insured_map.set(district_data.district, district_data.sum_insured_text);\r\n district_weightage_map.set(district_data.district, district_data.yeildDataPercentage);\r\n district_weightage_text_map.set(district_data.district, district_data.district_weightage_text);\r\n\r\n }\r\n }\r\n for (let i = 0; i < this.loadingDiscountData.length; i++) {\r\n const loadingDiscountData = this.loadingDiscountData[i];\r\n if (loadingDiscountData.loadingDistricts && loadingDiscountData.loadingDistricts.length) {\r\n for (let di = 0; di < loadingDiscountData.loadingDistricts.length; di++) {\r\n const district_data = loadingDiscountData.loadingDistricts[di];\r\n district_data.totalYeildData = district_yield_data_map.get(district_data.district)\r\n district_data.sum_insured_text = district_sum_insured_map.get(district_data.district)\r\n district_data.yeildDataPercentage = district_weightage_map.get(district_data.district);\r\n district_data.district_weightage_text = district_weightage_text_map.get(district_data.district);\r\n }\r\n }\r\n }\r\n this.updateFinalLoading()\r\n this.updateTotalLoadingDiscountVal();\r\n }\r\n\r\n updateFinalLoading() {\r\n for (\r\n let withIndex = 0;\r\n withIndex < this.loadingDiscountData.length;\r\n withIndex++\r\n ) {\r\n const section = this.loadingDiscountData[withIndex];\r\n if (section.subSections && section.subSections.length) {\r\n let totalFinalLoadinginDecimal = 0;\r\n for (let i = 0; i < section.subSections.length; i++) {\r\n const subsection = section.subSections[i];\r\n totalFinalLoadinginDecimal +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n section.avgFinalLoadingPercentage =\r\n (section.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalFinalLoadinginDecimal;\r\n section.totalFinalLoadingPercentage =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.sectiontotalFinalloadingpercent[withIndex] =\r\n +totalFinalLoadinginDecimal.toFixed(1);\r\n this.totalLoadingDiscount = +this.totalLoadingDiscount.toFixed(2);\r\n }\r\n if (section.loadingDistricts && section.loadingDistricts.length) {\r\n let totalDistrictFinalLoading = 0;\r\n let totalLoadedDistrict = 0;\r\n for (let dIndx = 0; dIndx < section.loadingDistricts.length; dIndx++) {\r\n const district = section.loadingDistricts[dIndx];\r\n if (district.subSections && district.subSections.length) {\r\n let totalFinalLoadinginDecimala = 0;\r\n for (let i = 0; i < district.subSections.length; i++) {\r\n const subsection = district.subSections[i];\r\n totalFinalLoadinginDecimala +=\r\n (subsection.finalLoadingPercentage / 100) *\r\n (subsection.finalLoadingWeightageApplied / 100) *\r\n 100;\r\n }\r\n totalFinalLoadinginDecimala =\r\n totalFinalLoadinginDecimala * district.yeildDataPercentage;\r\n district.avgFinalLoadingPercentage =\r\n (district.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalFinalLoadinginDecimala;\r\n district.totalFinalLoadingPercentage = +totalFinalLoadinginDecimala;\r\n totalDistrictFinalLoading += district.totalFinalLoadingPercentage;\r\n totalLoadedDistrict++;\r\n }\r\n }\r\n this.sectiontotalFinalloadingpercent[withIndex] =\r\n +totalDistrictFinalLoading.toFixed(2);\r\n section.totalFinalLoadingPercentage = totalDistrictFinalLoading;\r\n section.avgFinalLoadingPercentage =\r\n (section.sectionFinalLoadingWeightagePercentage / 100) *\r\n totalDistrictFinalLoading;\r\n }\r\n }\r\n }\r\n\r\n fnToggleSection(sectionIndex) {\r\n if (this.loadingDiscountData[sectionIndex].isActive) {\r\n var unSavedEntry = false;\r\n for (var i = 0; i < this.loadingDiscountData.length; i++) {\r\n if (this.loadingDiscountData[i].updatestatus == \"edit\") {\r\n unSavedEntry = true;\r\n this.validate.popUpAlert(\r\n \"Save \" +\r\n this.loadingDiscountData[i].loadingDiscountName +\r\n \" details and continue\",\r\n \"\",\r\n \"warning\"\r\n );\r\n break;\r\n }\r\n }\r\n\r\n if (unSavedEntry) {\r\n return false;\r\n }\r\n\r\n $(\"#\" + sectionIndex).collapse(\"toggle\");\r\n }\r\n }\r\n\r\n accordionToggle(collapseId: any) {\r\n $(\"#\" + collapseId).collapse(\"toggle\");\r\n }\r\n\r\n fnEditSection(sectionIndex) {\r\n //not show add status - done\r\n //1.change status - done\r\n //2.validate previous un saved section here - done\r\n //3.enable all controls here - done\r\n if (\r\n this.loadingDiscountData[sectionIndex].isActive &&\r\n this.loadingDiscountData[sectionIndex].updatestatus == \"done\"\r\n ) {\r\n var unSavedEntry = false;\r\n for (var i = 0; i < this.loadingDiscountData.length; i++) {\r\n if (\r\n i != sectionIndex &&\r\n this.loadingDiscountData[i].updatestatus == \"edit\"\r\n ) {\r\n unSavedEntry = true;\r\n this.validate.popUpAlert(\r\n \"Save \" +\r\n this.loadingDiscountData[i].loadingDiscountName +\r\n \" details and continue.\",\r\n \"\",\r\n \"warning\"\r\n );\r\n break;\r\n }\r\n }\r\n\r\n if (unSavedEntry) {\r\n return false;\r\n }\r\n\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"edit\";\r\n this.sectionControlDisable[sectionIndex] = false;\r\n $(\"#\" + sectionIndex).collapse(\"show\");\r\n }\r\n }\r\n\r\n fnSaveSection(sectionIndex) {\r\n //disable once saved\r\n //1.change status - done\r\n //2.validate section here - done\r\n //3.disable all controls here - done\r\n //4.calculate total loading/discount here - done\r\n if (this.validateLoadingDiscountBySections(sectionIndex)) {\r\n this.loadingDiscountData[sectionIndex].updatestatus = \"done\";\r\n this.sectionControlDisable[sectionIndex] = true;\r\n\r\n var totalLoadingDiscounttemp = 0;\r\n for (var i = 0; i < this.loadingDiscountData.length; i++) {\r\n totalLoadingDiscounttemp =\r\n totalLoadingDiscounttemp +\r\n this.loadingDiscountData[i].sectionTotalLoadingDiscount;\r\n }\r\n this.totalLoadingDiscount = this.loadingDiscountData\r\n .map((d: any, i) => {\r\n if (d.loadingDistricts && d.loadingDistricts.length) {\r\n return (\r\n this.sectiontotalFinalloadingpercent[i] *\r\n (d.sectionFinalLoadingWeightagePercentage / 100)\r\n );\r\n }\r\n return (\r\n this.sectiontotalFinalloadingpercent[i] *\r\n (d.sectionFinalLoadingWeightagePercentage / 100)\r\n );\r\n })\r\n .reduce((a: any, b: any) => a + b, 0);\r\n this.totalLoadingDiscount = +this.totalLoadingDiscount.toFixed(2);\r\n\r\n $(\"#\" + sectionIndex).collapse(\"toggle\");\r\n }\r\n }\r\n\r\n updateTotalLoadingDiscountVal() {\r\n this.totalLoadingDiscount = this.loadingDiscountData\r\n .map((d: any, i) => {\r\n if (d.loadingDistricts && d.loadingDistricts.length) {\r\n return (\r\n this.sectiontotalFinalloadingpercent[i] *\r\n (d.sectionFinalLoadingWeightagePercentage / 100)\r\n );\r\n }\r\n return (\r\n this.sectiontotalFinalloadingpercent[i] *\r\n (d.sectionFinalLoadingWeightagePercentage / 100)\r\n );\r\n })\r\n .reduce((a: any, b: any) => a + b, 0);\r\n this.totalLoadingDiscount = +this.totalLoadingDiscount.toFixed(2);\r\n console.log(\"007\");\r\n }\r\n\r\n validateLoadingDiscountBySections(i) {\r\n var isvalid = true;\r\n let errorMessage = '';\r\n if (this.loadingDiscountData[i].isActive == true) {\r\n if (this.loadingDiscountData[i].isMandatory == true) {\r\n for (\r\n var j = 0;\r\n j < this.loadingDiscountData[i].subSections.length;\r\n j++\r\n ) {\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).hide();\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).text(\"\");\r\n $(\"#fl_percentval_\" + i + \"\" + j).hide();\r\n $(\"#fl_percentval_\" + i + \"\" + j).text(\"\");\r\n\r\n if (\r\n this.validate.isUndefined(\r\n this.loadingDiscountData[i].subSections[j].uwPerception\r\n )\r\n ) {\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).show();\r\n $(\"#fl_uwperceptionval_\" + i + \"\" + j).text(\"Required\");\r\n isvalid = false;\r\n }\r\n if (\r\n this.loadingDiscountData[i].loadingDiscountID == \"weather_forecast\"\r\n ) {\r\n var flpercentVal = $(\"#fl_percentip_\" + i + \"\" + j).val();\r\n if (\r\n this.loadingDiscountData[i].subSections[j].finalLoadingPercentage\r\n .length == 0 ||\r\n this.validate.isUndefined(flpercentVal)\r\n ) {\r\n $(\"#fl_percentval_\" + i + \"\" + j).show();\r\n $(\"#fl_percentval_\" + i + \"\" + j).text(\"Required\");\r\n isvalid = false;\r\n }\r\n }\r\n }\r\n\r\n if (\r\n this.loadingDiscountData[i].loadingDistricts &&\r\n this.loadingDiscountData[i].loadingDistricts.length\r\n ) {\r\n for (\r\n var dIndx = 0;\r\n dIndx < this.loadingDiscountData[i].loadingDistricts.length;\r\n dIndx++\r\n ) {\r\n const district =\r\n this.loadingDiscountData[i].loadingDistricts[dIndx];\r\n if (!district.sum_insured_text && district.sum_insured_text !== 0) {\r\n $(`.district_weightage_text[data-district=\"${district.district}\"]`).text(\"Requried.\")\r\n isvalid = false;\r\n errorMessage = this.loadingDiscountData[i].loadingDistricts[dIndx].district + ' value is empty'\r\n }\r\n if (district.subSections && district.subSections.length) {\r\n for (\r\n let subIndex = 0;\r\n subIndex < district.subSections.length;\r\n subIndex++\r\n ) {\r\n const subSections = district.subSections[subIndex];\r\n if (this.validate.isUndefined(subSections.uwPerception)) {\r\n isvalid = false;\r\n }\r\n if (\r\n [undefined, null].includes(subSections.finalLoadingPercentage)\r\n ) {\r\n isvalid = false;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (this.loadingDiscountData[i].edit) {\r\n $(\"#cmtsval_\" + i).hide();\r\n $(\"#cmtsval_\" + i).text(\"\");\r\n\r\n if (\r\n this.validate.isUndefined(this.loadingDiscountData[i].ldComments)\r\n ) {\r\n $(\"#cmtsval_\" + i).show();\r\n $(\"#cmtsval_\" + i).text(\"Required\");\r\n isvalid = false;\r\n errorMessage =\"Comments should not be empty\"\r\n } else if (\r\n this.loadingDiscountData[i].ldComments.length < 25 ||\r\n this.loadingDiscountData[i].ldComments.length > 250\r\n ) {\r\n $(\"#cmtsval_\" + i).show();\r\n $(\"#cmtsval_\" + i).text(\r\n \"Comments should be minimum 25 to maximum 250 characters\"\r\n );\r\n isvalid = false;\r\n errorMessage = \"Comments should be minimum 25 to maximum 250 characters\";\r\n }\r\n }\r\n } else {\r\n if ($(\"#cmts_\" + i).val().length == 0) {\r\n this.loadingDiscountData[i].ldComments = \"\";\r\n }\r\n }\r\n }\r\n\r\n if (!isvalid) {\r\n this.validate.popUpAlert(errorMessage || \"Provide required fields\", \"\", \"error\");\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n }\r\n\r\n localDenominateSign(numString) {\r\n if (numString) {\r\n let numeric = parseInt(numString);\r\n let absNumeric = Math.abs(numeric);\r\n let absStringLength = absNumeric.toString().length;\r\n let parsedDenomination;\r\n switch (true) {\r\n case absStringLength >= 8:\r\n parsedDenomination = `${(absNumeric / 10000000).toFixed(1)} Cr`;\r\n if (numeric >= 0) return parsedDenomination;\r\n else return `-${parsedDenomination}`;\r\n case absStringLength == 6 || absStringLength == 7:\r\n parsedDenomination = `${(absNumeric / 100000).toFixed(1)} L`;\r\n if (numeric >= 0) return parsedDenomination;\r\n else return `-${parsedDenomination}`;\r\n case absStringLength == 5:\r\n parsedDenomination = `${absNumeric\r\n .toString()\r\n .slice(0, 2)},${absNumeric.toString().slice(2, 5)}`;\r\n if (numeric >= 0) return parsedDenomination;\r\n else return `-${parsedDenomination}`;\r\n case absStringLength == 4:\r\n parsedDenomination = `${absNumeric\r\n .toString()\r\n .slice(0, 1)},${absNumeric.toString().slice(1, 4)}`;\r\n if (numeric >= 0) return parsedDenomination;\r\n else return `-${parsedDenomination}`;\r\n default:\r\n return numeric;\r\n }\r\n } else return 0;\r\n }\r\n\r\n FnToggle() {\r\n $(\".collapse\").collapse(\"toggle\");\r\n }\r\n\r\n FnShow() {\r\n $(\".collapse\").collapse(\"show\");\r\n }\r\n\r\n FnHide() {\r\n $(\".collapse\").collapse(\"hide\");\r\n }\r\n test() {\r\n this.loadingDiscountData;\r\n }\r\n\r\n MRgetstatusApi() {\r\n this.loading = true\r\n\t\tthis.apiData.rateGenerationApi.MRgetstatusApi(res => {\r\n\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\t\tif (res.data.toLowerCase() == \"completed\") {\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.saveRateGeneration()\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (res.data.toLowerCase() == \"terminated\") {\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n return\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0 && res.message=='INVALID_REQUEST') {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tthis.validate.popUpAlert(res.data, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0) {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tlet errorText = this.alertService.ErrorText.checkError(res.data);\r\n\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tthis.serviceError(err);\r\n\t\t})\r\n\t}\r\n\r\n getTransactonByMRId() {\r\n this.loading = true\r\n this.apiData.rateGenerationApi.getTransactonByMRId(res => {\r\n if (res && res.status == 1 && res.data) {\r\n if (res.data.status === 'Completed') {\r\n this.loading = false\r\n this.MRgetstatusApi();\r\n } else if (res.data.status === 'InProgress') {\r\n this.timer = setTimeout(() => this.getTransactonByMRId(), 1e4)\r\n } else {\r\n this.validate.popUpAlert(res.message, \"\", \"error\");\r\n this.loading = false\r\n }\r\n }\r\n }, err => {\r\n this.validate.popUpAlert(\"Unable to get Transaction Id\", \"\", \"error\");\r\n this.serviceError(err)\r\n })\r\n }\r\n\r\n serviceError(err) {\r\n\t\tthis.loading = false;\r\n\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t}\r\n\r\n clearTimer() {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n this.timer = null;\r\n }\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { NgxSelectModule, INgxSelectOptions } from 'ngx-select-ex';\r\nimport { NgxLoadingModule, ngxLoadingAnimationTypes } from 'ngx-loading';\r\nimport { MultiselectDropdownModule } from 'angular-2-dropdown-multiselect';\r\nimport { NgDragDropModule } from 'ng-drag-drop';\r\nimport { FileDropModule } from 'ngx-file-drop';\r\n\r\n\r\nimport { ChoosedetailsComponent } from './choosedetails/choosedetails.component';\r\nimport { ChoosecombinationComponent } from './choosecombination/choosecombination.component';\r\nimport { UploadfilesComponent } from './uploadfiles/uploadfiles.component';\r\nimport { AuthGuard } from '../auth/auth.guard';\r\nimport { RoleGuard } from '../auth/role.guard';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { CommonModules } from '../common/common.module';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\nimport { RategenerateComponent } from './rategenerate/rategenerate.component';\r\nimport { RateListComponent } from './rate-list/rate-list.component';\r\nimport { ChooseTransactionComponent } from './choose-transaction/choose-transaction.component';\r\n\r\n// {\r\n// path: 'output-combination', component: ChoosecombinationComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n// expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n// }\r\n// }\r\nconst routes: Routes = [\r\n {\r\n path: 'input-combination', component: ChoosedetailsComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n },{\r\n path: 'choose-transaction', component: ChooseTransactionComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'file-upload', component: UploadfilesComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n }, {\r\n path: 'rate-generate', component: RategenerateComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n },\r\n },{\r\n path: 'rate-generate/:param', component: RategenerateComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n },\r\n }, {\r\n path: 'rate-download', component: RateListComponent, canActivate: [AuthGuard, RoleGuard], data: {\r\n expectedRole: 'Tie-Up Sub User', expectedRole2: ''\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n CommonModules,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n NgxSelectModule,\r\n NgxLoadingModule.forRoot({\r\n animationType: ngxLoadingAnimationTypes.threeBounce,\r\n backdropBackgroundColour: 'rgba(0, 0, 0, 0.3)',\r\n backdropBorderRadius: '10px',\r\n primaryColour: '#ffffff',\r\n secondaryColour: '#ffffff',\r\n tertiaryColour: '#ffffff',\r\n fullScreenBackdrop: true\r\n }),\r\n MultiselectDropdownModule,\r\n FileDropModule,\r\n NgDragDropModule.forRoot(),\r\n RouterModule.forRoot(routes)\r\n ],\r\n providers: [AuthGuard, RoleGuard, CommonfunctionsService],\r\n declarations: [ChoosedetailsComponent, ChoosecombinationComponent, UploadfilesComponent, RategenerateComponent, RateListComponent, ChooseTransactionComponent]\r\n})\r\nexport class RategenerationModule { }\r\n","module.exports = \"\\r\\n\\r\\n/*** stepper***/\\r\\n.stepper_row{\\r\\n\\twidth:85%;\\r\\n\\tmargin-top:10px;\\r\\n\\tmargin-bottom: 0px !important;\\r\\n\\tmargin-left: auto;\\r\\n\\tpadding-left: 0 !important;\\r\\n}\\r\\n.stepper_row li{\\r\\n\\tfloat:left;\\r\\n\\tlist-style:none;\\r\\n\\twidth:25%;\\r\\n\\tdisplay:inline-block;\\r\\n\\t\\r\\n}\\r\\n.span_color {\\r\\n\\tmargin: auto;\\r\\n border-right-width: 3px;\\r\\n border-top-width: 2px;\\r\\n\\tcolor: #CACACA;\\r\\n font-weight: 600;\\r\\n font-size: 20px;\\r\\n}\\r\\n.stepper_row li span{\\r\\n\\twidth:50px;\\r\\n\\theight:50px;\\r\\n\\tdisplay:inline-block;\\r\\n\\tborder-radius:50%;\\r\\n\\tborder:2px solid #CACACA;\\r\\n\\ttext-align:center;\\r\\n\\tbackground:#fff;\\r\\n\\tposition:relative;\\r\\n z-index:2;\\r\\n padding: 10px;\\r\\n}\\r\\n.stepper_row li.active span{\\r\\n\\t/* background:#D11241; */\\r\\n\\tcolor:#175788;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete span{\\r\\n\\tbackground:#175788; \\r\\n\\tcolor:#fff;\\r\\n\\tborder:2px solid #175788;\\r\\n}\\r\\n.stepper_row li.complete:after{\\r\\n border-bottom:2px solid #175788!important;\\r\\n}\\r\\n.stepper_row li:after{\\r\\n\\t\\tcontent:'';\\r\\n\\t\\tdisplay:inline-block;\\r\\n\\t\\tborder-bottom:2px solid #CACACA;\\r\\n\\t\\twidth:100%;\\r\\n\\t\\tposition:relative;\\r\\n\\t\\tbottom:34px;\\r\\n\\t\\toverflow:hidden;\\r\\n}\\r\\n.stepper_row li:last-child:after{\\r\\n\\tdisplay:none !important;\\r\\n}\\r\\n@media screen and (max-width:800px){\\r\\n\\t.stepper_row li span{\\r\\n\\t\\twidth: 40px;\\r\\n\\t\\theight: 40px;\\r\\n\\t\\tfont-size: 14px;\\r\\n\\t}\\r\\n\\t.stepper_row li:after{\\r\\n\\t\\tbottom:28px;\\t\\r\\n\\t}\\r\\n\\t.stepper_row{\\r\\n\\t\\twidth:90%;\\r\\n\\t}\\r\\n}\\r\\n@media only screen and (max-width: 1450px) and (min-width: 1200px)\\r\\n{\\r\\n\\t.filedrop-align{\\r\\n\\t\\twidth:63% !important;\\r\\n\\t\\theight:63% !important;\\r\\n\\t}\\r\\n\\t.file-drop{\\r\\n\\t\\theight: 13em ;\\r\\n\\t\\twidth: 12em;\\r\\n\\t\\tmargin-top: 12em ;\\r\\n\\t\\tpadding-top: 0em ;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n/* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n@media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n@media only screen \\r\\n and (min-width: 1025px) \\r\\n and (max-width: 1368px){ \\r\\n .file-drop{\\r\\n\\t\\theight: 23em!important;\\r\\n\\t }\\r\\n\\t .card-block{\\r\\n\\t\\tmin-height: 188px!important;\\r\\n\\t\\tmax-height: 188px!important;\\r\\n\\t }\\r\\n\\t .textShadeColor{\\r\\n\\t\\tfont-size:18px !important;\\r\\n\\t}\\r\\n}\\r\\n@media only screen \\r\\n and (min-width: 1281px) \\r\\n and (max-width: 1368px){ \\r\\n\\t.container-body{\\r\\n\\t\\tmax-height:37.9rem;\\r\\n\\t }\\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 223px;\\r\\n\\t}\\r\\n }\\r\\n@media only screen \\r\\n and (min-width: 1369px){ \\r\\n\\t .fixed-hight{\\r\\n\\t\\tmin-height: 314px;\\r\\n\\t}\\r\\n }\\r\\n.file-drop{\\r\\n\\tmargin-top: 96px!important;\\r\\n\\theight: 18em ;\\r\\n width: 17em;\\r\\n margin-top: 12em ;\\r\\n padding-top: 3em ;\\r\\n}\\r\\n.filedrop{\\r\\n\\theight: 16em;\\r\\n width: 19em;\\r\\n margin-top: 14em;\\r\\n padding-top: 2em;\\r\\n}\\r\\n.line{\\r\\n\\tposition: relative;\\r\\n\\tborder-left: 1px solid grey;\\r\\n height: 340px;\\r\\n right: 27px;\\r\\n margin-top: 40px;\\r\\n}\\r\\n.lineHide{\\r\\n\\tz-index:1;\\r\\n}\\r\\n.lead{\\r\\n\\tfont-weight:600 !important;\\r\\n\\tfont-size:16px !important;\\r\\n}\\r\\n.border{\\r\\n\\tborder-color:#d9d9d9 !important;\\r\\n}\\r\\n.textShadeColor,.fa-upload{\\r\\n\\tcolor: #000000 !important;\\r\\n\\tfont-size: 20px;\\r\\n}\\r\\n.btnFile{\\r\\n display: none;\\r\\n}\\r\\n.cursorPointer{\\r\\n\\tcursor:pointer;\\r\\n}\\r\\n.card {\\r\\n background-color: #f7f7f7!important;\\r\\n}\\r\\n.card-block {\\r\\n flex: 1 1 auto;\\r\\n padding: 1.25rem;\\r\\n padding: 1.25rem;\\r\\n min-height: 270px;\\r\\n max-height: 270px;\\r\\n}\\r\\n.browse-btn{\\r\\n\\tborder: 1px solid rgba(0,0,0,.125);\\r\\n border-radius: 0px;\\r\\n color: black;\\r\\n background: #efeded;\\r\\n font-weight: 700;\\r\\n}\\r\\n.scroll-container{\\r\\n max-height:700px;\\r\\n overflow: auto;\\r\\n }\\r\\n.scroll-container {\\r\\n -ms-overflow-style: none; \\r\\n overflow: -moz-scrollbars-none; \\r\\n}\\r\\n.scroll-container::-webkit-scrollbar { \\r\\n display: none;\\r\\n}\\r\\n.file-text{\\r\\n\\tfont-size: 17px;\\r\\n\\tfont-family: \\\"Roboto-Regular\\\";\\r\\n\\tcolor: #175788!important;\\r\\n }\\r\\n.loadingtext {\\r\\n\\tz-index: 2000;\\r\\n\\tposition: absolute;\\r\\n\\tcolor: #04518b;\\r\\n\\tfont-weight: bolder;\\r\\n\\tfont-size: 20px;\\r\\n\\tleft: 0;\\r\\n\\tright: 0;\\r\\n\\ttext-align: center;\\r\\n\\ttop: calc(50% + 25px);\\r\\n }\\r\\n.line-design{\\r\\n\\theight: 12px;\\r\\n margin-top: 1rem;\\r\\n margin-bottom: 1rem;\\r\\n border-bottom: 1px solid rgba(0,0,0,.1);\\r\\n text-align: center;\\r\\n}\\r\\n.centerAlignLoading {\\r\\n\\ttop: 470px;\\r\\n\\tposition: absolute;\\r\\n\\twidth: 100%;\\r\\n}\\r\\n@media (max-width:425px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 455px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:426px) and (max-width:767px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 430px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:768px) and (max-width:1023px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 420px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:1024px) and (max-width:1170px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 410px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n@media (min-width:1171px) {\\r\\n\\t.centerAlignLoading {\\r\\n\\t\\ttop: 460px;\\r\\n\\t\\tposition: absolute;\\r\\n\\t\\twidth: 100%;\\r\\n\\t}\\r\\n}\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JhdGVnZW5lcmF0aW9uL3VwbG9hZGZpbGVzL3VwbG9hZGZpbGVzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFFQSxnQkFBZ0I7QUFDaEI7Q0FDQyxVQUFVO0NBQ1YsZ0JBQWdCO0NBQ2hCLDhCQUE4QjtDQUM5QixrQkFBa0I7Q0FDbEIsMkJBQTJCO0NBQzNCO0FBRUQ7Q0FDQyxXQUFXO0NBQ1gsZ0JBQWdCO0NBQ2hCLFVBQVU7Q0FDVixxQkFBcUI7O0NBRXJCO0FBQ0Q7Q0FDQyxhQUFhO0lBQ1Ysd0JBQXdCO0lBQ3hCLHNCQUFzQjtDQUN6QixlQUFlO0lBQ1osaUJBQWlCO0lBQ2pCLGdCQUFnQjtDQUNuQjtBQUVEO0NBQ0MsV0FBVztDQUNYLFlBQVk7Q0FDWixxQkFBcUI7Q0FDckIsa0JBQWtCO0NBQ2xCLHlCQUF5QjtDQUN6QixrQkFBa0I7Q0FDbEIsZ0JBQWdCO0NBQ2hCLGtCQUFrQjtJQUNmLFVBQVU7SUFDVixjQUFjO0NBQ2pCO0FBRUQ7Q0FDQyx5QkFBeUI7Q0FDekIsY0FBYztDQUNkLHlCQUF5QjtDQUN6QjtBQUNEO0NBQ0MsbUJBQW1CO0NBQ25CLFdBQVc7Q0FDWCx5QkFBeUI7Q0FDekI7QUFDRDtJQUNJLDBDQUEwQztDQUM3QztBQUNEO0VBQ0UsV0FBVztFQUNYLHFCQUFxQjtFQUNyQixnQ0FBZ0M7RUFDaEMsV0FBVztFQUNYLGtCQUFrQjtFQUNsQixZQUFZO0VBQ1osZ0JBQWdCO0NBQ2pCO0FBRUQ7Q0FDQyx3QkFBd0I7Q0FDeEI7QUFFRDtDQUNDO0VBQ0MsWUFBWTtFQUNaLGFBQWE7RUFDYixnQkFBZ0I7RUFDaEI7Q0FDRDtFQUNDLFlBQVk7RUFDWjtDQUNEO0VBQ0MsVUFBVTtFQUNWO0NBQ0Q7QUFFRDs7Q0FFQztFQUNDLHFCQUFxQjtFQUNyQixzQkFBc0I7RUFDdEI7Q0FDRDtFQUNDLGNBQWM7RUFDZCxZQUFZO0VBQ1osa0JBQWtCO0VBQ2xCLGtCQUFrQjtFQUNsQjtDQUNEO0FBQ0Q7SUFDSTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7QUFFRDs7O0lBR0U7QUFFRjtJQUNFO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjtBQUNEOzs7SUFHRTtFQUNGLHVCQUF1QjtJQUNyQjtHQUNEO0VBQ0QsNEJBQTRCO0VBQzVCLDRCQUE0QjtJQUMxQjtHQUNEO0VBQ0QsMEJBQTBCO0VBQzFCO0NBQ0Q7QUFDRDs7O0NBR0M7RUFDQyxtQkFBbUI7SUFDakI7R0FDRDtFQUNELGtCQUFrQjtFQUNsQjtHQUNDO0FBQ0Q7O0dBRUM7RUFDRCxrQkFBa0I7RUFDbEI7R0FDQztBQUNIO0NBQ0MsMkJBQTJCO0NBQzNCLGNBQWM7SUFDWCxZQUFZO0lBQ1osa0JBQWtCO0lBQ2xCLGtCQUFrQjtDQUNyQjtBQUNEO0NBQ0MsYUFBYTtJQUNWLFlBQVk7SUFDWixpQkFBaUI7SUFDakIsaUJBQWlCO0NBQ3BCO0FBQ0Q7Q0FDQyxtQkFBbUI7Q0FDbkIsNEJBQTRCO0lBQ3pCLGNBQWM7SUFDZCxZQUFZO0lBQ1osaUJBQWlCO0NBQ3BCO0FBQ0Q7Q0FDQyxVQUFVO0NBQ1Y7QUFDRDtDQUNDLDJCQUEyQjtDQUMzQiwwQkFBMEI7Q0FDMUI7QUFDRDtDQUNDLGdDQUFnQztDQUNoQztBQUNEO0NBQ0MsMEJBQTBCO0NBQzFCLGdCQUFnQjtDQUNoQjtBQUNEO0lBQ0ksY0FBYztDQUNqQjtBQUNEO0NBQ0MsZUFBZTtDQUNmO0FBQ0Q7SUFDSSxvQ0FBb0M7Q0FDdkM7QUFDRDtJQUNJLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsaUJBQWlCO0lBQ2pCLGtCQUFrQjtJQUNsQixrQkFBa0I7Q0FDckI7QUFDRDtDQUNDLG1DQUFtQztJQUNoQyxtQkFBbUI7SUFDbkIsYUFBYTtJQUNiLG9CQUFvQjtJQUNwQixpQkFBaUI7Q0FDcEI7QUFDRDtJQUNJLGlCQUFpQjtJQUNqQixlQUFlO0dBQ2hCO0FBRUg7SUFDSSx5QkFBeUI7SUFDekIsK0JBQStCO0NBQ2xDO0FBQ0Q7SUFDSSxjQUFjO0NBQ2pCO0FBQ0Q7Q0FDQyxnQkFBZ0I7Q0FDaEIsOEJBQThCO0NBQzlCLHlCQUF5QjtHQUN2QjtBQUVEO0NBQ0QsY0FBYztDQUNkLG1CQUFtQjtDQUNuQixlQUFlO0NBQ2Ysb0JBQW9CO0NBQ3BCLGdCQUFnQjtDQUNoQixRQUFRO0NBQ1IsU0FBUztDQUNULG1CQUFtQjtDQUNuQixzQkFBc0I7R0FDcEI7QUFDSDtDQUNDLGFBQWE7SUFDVixpQkFBaUI7SUFDakIsb0JBQW9CO0lBQ3BCLHdDQUF3QztJQUN4QyxtQkFBbUI7Q0FDdEI7QUFFRDtDQUNDLFdBQVc7Q0FDWCxtQkFBbUI7Q0FDbkIsWUFBWTtDQUNaO0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7QUFFRDtDQUNDO0VBQ0MsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1o7Q0FDRDtBQUVEO0NBQ0M7RUFDQyxXQUFXO0VBQ1gsbUJBQW1CO0VBQ25CLFlBQVk7RUFDWjtDQUNEO0FBQ0Q7Q0FDQztFQUNDLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsWUFBWTtFQUNaO0NBQ0Q7QUFFRDtDQUNDO0VBQ0MsV0FBVztFQUNYLG1CQUFtQjtFQUNuQixZQUFZO0VBQ1o7Q0FDRCIsImZpbGUiOiJzcmMvYXBwX2Rldi9yYXRlZ2VuZXJhdGlvbi91cGxvYWRmaWxlcy91cGxvYWRmaWxlcy5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG4vKioqIHN0ZXBwZXIqKiovXHJcbi5zdGVwcGVyX3Jvd3tcclxuXHR3aWR0aDo4NSU7XHJcblx0bWFyZ2luLXRvcDoxMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uc3RlcHBlcl9yb3cgbGl7XHJcblx0ZmxvYXQ6bGVmdDtcclxuXHRsaXN0LXN0eWxlOm5vbmU7XHJcblx0d2lkdGg6MjUlO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdFxyXG59XHJcbi5zcGFuX2NvbG9yIHtcclxuXHRtYXJnaW46IGF1dG87XHJcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDNweDtcclxuICAgIGJvcmRlci10b3Atd2lkdGg6IDJweDtcclxuXHRjb2xvcjogI0NBQ0FDQTtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBmb250LXNpemU6IDIwcHg7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaSBzcGFue1xyXG5cdHdpZHRoOjUwcHg7XHJcblx0aGVpZ2h0OjUwcHg7XHJcblx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0Ym9yZGVyLXJhZGl1czo1MCU7XHJcblx0Ym9yZGVyOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdHRleHQtYWxpZ246Y2VudGVyO1xyXG5cdGJhY2tncm91bmQ6I2ZmZjtcclxuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6MjtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaS5hY3RpdmUgc3BhbntcclxuXHQvKiBiYWNrZ3JvdW5kOiNEMTEyNDE7ICovXHJcblx0Y29sb3I6IzE3NTc4ODtcclxuXHRib3JkZXI6MnB4IHNvbGlkICMxNzU3ODg7XHJcbn1cclxuLnN0ZXBwZXJfcm93IGxpLmNvbXBsZXRlIHNwYW57XHJcblx0YmFja2dyb3VuZDojMTc1Nzg4OyBcclxuXHRjb2xvcjojZmZmO1xyXG5cdGJvcmRlcjoycHggc29saWQgIzE3NTc4ODtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGkuY29tcGxldGU6YWZ0ZXJ7XHJcbiAgICBib3JkZXItYm90dG9tOjJweCBzb2xpZCAjMTc1Nzg4IWltcG9ydGFudDtcclxufVxyXG4uc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRjb250ZW50OicnO1xyXG5cdFx0ZGlzcGxheTppbmxpbmUtYmxvY2s7XHJcblx0XHRib3JkZXItYm90dG9tOjJweCBzb2xpZCAjQ0FDQUNBO1xyXG5cdFx0d2lkdGg6MTAwJTtcclxuXHRcdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdFx0Ym90dG9tOjM0cHg7XHJcblx0XHRvdmVyZmxvdzpoaWRkZW47XHJcbn1cclxuXHJcbi5zdGVwcGVyX3JvdyBsaTpsYXN0LWNoaWxkOmFmdGVye1xyXG5cdGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjgwMHB4KXtcclxuXHQuc3RlcHBlcl9yb3cgbGkgc3BhbntcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0Zm9udC1zaXplOiAxNHB4O1xyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3cgbGk6YWZ0ZXJ7XHJcblx0XHRib3R0b206MjhweDtcdFxyXG5cdH1cclxuXHQuc3RlcHBlcl9yb3d7XHJcblx0XHR3aWR0aDo5MCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDE0NTBweCkgYW5kIChtaW4td2lkdGg6IDEyMDBweClcclxue1xyXG5cdC5maWxlZHJvcC1hbGlnbntcclxuXHRcdHdpZHRoOjYzJSAhaW1wb3J0YW50O1xyXG5cdFx0aGVpZ2h0OjYzJSAhaW1wb3J0YW50O1xyXG5cdH1cclxuXHQuZmlsZS1kcm9we1xyXG5cdFx0aGVpZ2h0OiAxM2VtIDtcclxuXHRcdHdpZHRoOiAxMmVtO1xyXG5cdFx0bWFyZ2luLXRvcDogMTJlbSA7XHJcblx0XHRwYWRkaW5nLXRvcDogMGVtIDtcclxuXHR9XHJcbn0gXHJcbkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIEBtZWRpYSBvbmx5IHNjcmVlbiAgIFxyXG4gIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpICAgXHJcbiAgYW5kIChtYXgtd2lkdGg6IDEzNjhweCl7ICAgIFxyXG4gICAgLmZpbGUtZHJvcHtcclxuXHRcdGhlaWdodDogMjNlbSFpbXBvcnRhbnQ7XHJcblx0ICB9XHJcblx0ICAuY2FyZC1ibG9ja3tcclxuXHRcdG1pbi1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHRcdG1heC1oZWlnaHQ6IDE4OHB4IWltcG9ydGFudDtcclxuXHQgIH1cclxuXHQgIC50ZXh0U2hhZGVDb2xvcntcclxuXHRcdGZvbnQtc2l6ZToxOHB4ICFpbXBvcnRhbnQ7XHJcblx0fVxyXG59XHJcbkBtZWRpYSBvbmx5IHNjcmVlbiAgIFxyXG4gIGFuZCAobWluLXdpZHRoOiAxMjgxcHgpICAgXHJcbiAgYW5kIChtYXgtd2lkdGg6IDEzNjhweCl7IFxyXG5cdC5jb250YWluZXItYm9keXtcclxuXHRcdG1heC1oZWlnaHQ6MzcuOXJlbTtcclxuXHQgIH1cclxuXHQgIC5maXhlZC1oaWdodHtcclxuXHRcdG1pbi1oZWlnaHQ6IDIyM3B4O1xyXG5cdH1cclxuICB9XHJcbiAgQG1lZGlhIG9ubHkgc2NyZWVuICAgXHJcbiAgYW5kIChtaW4td2lkdGg6IDEzNjlweCl7IFxyXG5cdCAgLmZpeGVkLWhpZ2h0e1xyXG5cdFx0bWluLWhlaWdodDogMzE0cHg7XHJcblx0fVxyXG4gIH1cclxuLmZpbGUtZHJvcHtcclxuXHRtYXJnaW4tdG9wOiA5NnB4IWltcG9ydGFudDtcclxuXHRoZWlnaHQ6IDE4ZW0gO1xyXG4gICAgd2lkdGg6IDE3ZW07XHJcbiAgICBtYXJnaW4tdG9wOiAxMmVtIDtcclxuICAgIHBhZGRpbmctdG9wOiAzZW0gO1xyXG59XHJcbi5maWxlZHJvcHtcclxuXHRoZWlnaHQ6IDE2ZW07XHJcbiAgICB3aWR0aDogMTllbTtcclxuICAgIG1hcmdpbi10b3A6IDE0ZW07XHJcbiAgICBwYWRkaW5nLXRvcDogMmVtO1xyXG59XHJcbi5saW5le1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRib3JkZXItbGVmdDogMXB4IHNvbGlkIGdyZXk7XHJcbiAgICBoZWlnaHQ6IDM0MHB4O1xyXG4gICAgcmlnaHQ6IDI3cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xyXG59XHJcbi5saW5lSGlkZXtcclxuXHR6LWluZGV4OjE7XHJcbn1cclxuLmxlYWR7XHJcblx0Zm9udC13ZWlnaHQ6NjAwICFpbXBvcnRhbnQ7XHJcblx0Zm9udC1zaXplOjE2cHggIWltcG9ydGFudDtcclxufVxyXG4uYm9yZGVye1xyXG5cdGJvcmRlci1jb2xvcjojZDlkOWQ5ICFpbXBvcnRhbnQ7XHJcbn1cclxuLnRleHRTaGFkZUNvbG9yLC5mYS11cGxvYWR7XHJcblx0Y29sb3I6ICMwMDAwMDAgIWltcG9ydGFudDtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcbn1cclxuLmJ0bkZpbGV7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG59XHJcbi5jdXJzb3JQb2ludGVye1xyXG5cdGN1cnNvcjpwb2ludGVyO1xyXG59XHJcbi5jYXJkIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3ZjchaW1wb3J0YW50O1xyXG59XHJcbi5jYXJkLWJsb2NrIHtcclxuICAgIGZsZXg6IDEgMSBhdXRvO1xyXG4gICAgcGFkZGluZzogMS4yNXJlbTtcclxuICAgIHBhZGRpbmc6IDEuMjVyZW07XHJcbiAgICBtaW4taGVpZ2h0OiAyNzBweDtcclxuICAgIG1heC1oZWlnaHQ6IDI3MHB4O1xyXG59XHJcbi5icm93c2UtYnRue1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEyNSk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwcHg7XHJcbiAgICBjb2xvcjogYmxhY2s7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZGVkO1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG4uc2Nyb2xsLWNvbnRhaW5lcntcclxuICAgIG1heC1oZWlnaHQ6NzAwcHg7XHJcbiAgICBvdmVyZmxvdzogYXV0bztcclxuICB9XHJcblxyXG4uc2Nyb2xsLWNvbnRhaW5lciB7XHJcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7ICBcclxuICAgIG92ZXJmbG93OiAtbW96LXNjcm9sbGJhcnMtbm9uZTsgIFxyXG59XHJcbi5zY3JvbGwtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhciB7IFxyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG4uZmlsZS10ZXh0e1xyXG5cdGZvbnQtc2l6ZTogMTdweDtcclxuXHRmb250LWZhbWlseTogXCJSb2JvdG8tUmVndWxhclwiO1xyXG5cdGNvbG9yOiAjMTc1Nzg4IWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC5sb2FkaW5ndGV4dCB7XHJcblx0ei1pbmRleDogMjAwMDtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0Y29sb3I6ICMwNDUxOGI7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuXHRmb250LXNpemU6IDIwcHg7XHJcblx0bGVmdDogMDtcclxuXHRyaWdodDogMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dG9wOiBjYWxjKDUwJSArIDI1cHgpO1xyXG4gIH1cclxuLmxpbmUtZGVzaWdue1xyXG5cdGhlaWdodDogMTJweDtcclxuICAgIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjEpO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4uY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHR0b3A6IDQ3MHB4O1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwJTtcclxufVxyXG5AbWVkaWEgKG1heC13aWR0aDo0MjVweCkge1xyXG5cdC5jZW50ZXJBbGlnbkxvYWRpbmcge1xyXG5cdFx0dG9wOiA0NTVweDtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxufVxyXG5cclxuQG1lZGlhIChtaW4td2lkdGg6NDI2cHgpIGFuZCAobWF4LXdpZHRoOjc2N3B4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQzMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDo3NjhweCkgYW5kIChtYXgtd2lkdGg6MTAyM3B4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQyMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcbkBtZWRpYSAobWluLXdpZHRoOjEwMjRweCkgYW5kIChtYXgtd2lkdGg6MTE3MHB4KSB7XHJcblx0LmNlbnRlckFsaWduTG9hZGluZyB7XHJcblx0XHR0b3A6IDQxMHB4O1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG59XHJcblxyXG5AbWVkaWEgKG1pbi13aWR0aDoxMTcxcHgpIHtcclxuXHQuY2VudGVyQWxpZ25Mb2FkaW5nIHtcclxuXHRcdHRvcDogNDYwcHg7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn0iXX0= */\"","module.exports = \"
    \\r\\n\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t

    Upload File

    \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n\\t
    \\r\\n\\t\\t
      \\r\\n\\t\\t\\t
    • \\r\\n\\t\\t\\t\\t{{step.id}}\\r\\n\\t\\t\\t
    • \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t(OR)\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t\\t\\r\\n\\t\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t\\t\\t{{fileName}}\\r\\n\\t\\t\\t\\t
    \\r\\n\\t\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t
  • \\r\\n\\t\\t\\t
  • \\r\\n\\t\\t\\t

    Template.csv

    \\r\\n\\t\\t
    \\r\\n\\t\\t
    \\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t\\t\\t\\r\\n\\t\\t\\t\\r\\n\\t\\t
    \\r\\n\\t
    \\r\\n
    \\r\\n
    \\r\\n\\t\\r\\n\\t{{loadingtext}}\\r\\n
    \"","import { Component, OnInit } from '@angular/core';\r\nimport Swal from 'sweetalert2';\r\nimport { AlertService } from '../../services/alert.service';\r\nimport { IMultiSelectOption } from 'angular-2-dropdown-multiselect';\r\nimport { UploadEvent, UploadFile, FileSystemFileEntry, FileSystemDirectoryEntry } from 'ngx-file-drop';\r\nimport { MandatoryfieldService } from '../../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../../services/apiservices.service';\r\nimport { CommonfunctionsService } from '../../services/commonfunctions.service';\r\nimport {\r\n\tFormBuilder,\r\n\tFormArray,\r\n\tValidators,\r\n\tFormControl,\r\n\tFormGroup\r\n} from '@angular/forms';\r\n\r\n@Component({\r\n\tselector: 'app-uploadfiles',\r\n\ttemplateUrl: './uploadfiles.component.html',\r\n\tstyleUrls: ['./uploadfiles.component.css']\r\n})\r\nexport class UploadfilesComponent implements OnInit {\r\n\tfileList: any;\r\n\tfileName: any;\r\n\tloading: boolean = false;\r\n\tGetStatusHitCount: number=0;\r\n\tloadingtext: string;\r\n\trateGenerationUploadForm: any;\r\n\ttransactionIdList: any = [];\r\n\tdefault: any = [{ text: \"Select\", value: \"Select\" }];\r\n combinationInputData: any;\r\n\tconstructor(private formBuilder: FormBuilder, public alertService: AlertService, private validate: MandatoryfieldService, private apiData: ApiService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n\tngOnInit() {\r\n\t\tif (this.validate.isUndefined(this.alertService.combinationId.get()) && !(this.apiData.saveData && this.apiData.saveData.data && this.apiData.saveData.data.input)) {\r\n\t\t\tthis.alertService.navigateTo(\"/choose-transaction\");\r\n\t\t}\r\n this.combinationInputData = this.apiData.saveData.data.input;\r\n\t\tthis.alertService.deleteLocal(\"upload\");\r\n\t\tthis.alertService.deleteLocal(\"loading\");\r\n\t\tthis.alertService.changeStepper(3);\r\n\t\tthis.rateGenerationUploadForm = this.formBuilder.group({\r\n\t\t\ttransactionID: [\"\"]\r\n\t\t});\r\n\t\t//this.loadDropDown();\r\n\t}\r\n\tloadDropDown() {\r\n\t\tif (this.transactionIdList.length == 0) {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.apiData.getdropdownList.getTransactionIDByTieUp(res => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\t\tlet result = res;\r\n\t\t\t\t\tif (result.status == 1) {\r\n\t\t\t\t\t\tthis.transactionIdList = result.data;\r\n\t\t\t\t\t\tvar keys = Object.keys(this.default);\r\n\t\t\t\t\t\tkeys.map(obj => {\r\n\t\t\t\t\t\t\tthis.transactionIdList[obj] = this.default[obj];\r\n\t\t\t\t\t\t});\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tlet errorText = this.alertService.ErrorText.checkError(result.data);\r\n\t\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}, err => {\r\n\t\t\t\tthis.loading = false;\r\n\t\t\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\tonSelectId(value) {\r\n\t\tif (value != \"Select\") {\r\n\t\t\tthis.validate.popUpAlert(\"Click on upload to use transaction ID\", \"\", \"info\");\r\n\t\t\tthis.fileName = \"\";\r\n\t\t} else {\r\n\t\t\tthis.rateGenerationUploadForm.reset();\r\n\t\t}\r\n\t}\r\n\tpublic dropped(event: UploadEvent) {\r\n\t\tlet getFile = event.files;\r\n\t\tlet array = getFile[0].relativePath.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n\t\t\tfor (const droppedFile of event.files) {\r\n\t\t\t\tif (droppedFile.fileEntry.isFile) {\r\n\t\t\t\t\tconst fileEntry = droppedFile.fileEntry as FileSystemFileEntry;\r\n\t\t\t\t\tfileEntry.file((file: File) => {\r\n\t\t\t\t\t\tconsole.log(droppedFile.relativePath, file);\r\n\t\t\t\t\t\tthis.fileList = file;\r\n\t\t\t\t\t\tthis.fileName = droppedFile.relativePath;\r\n\t\t\t\t\t});\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n\t\tif (!this.validate.isUndefined(this.rateGenerationUploadForm.value.transactionID)) {\r\n\t\t\tthis.confirmationAlert();\r\n\t\t}\r\n\t}\r\n\tonFileChange(event): void {\r\n\t\tlet getFile = event.target.files;\r\n\t\tlet array = getFile[0].name.split('.');\r\n\t\tif (array[array.length - 1] == \"csv\") {\r\n\t\t\tthis.fileList = getFile[0];\r\n\t\t\tthis.fileName = this.fileList.name;\r\n\t\t} else {\r\n\t\t\tthis.validate.popUpAlert(this.alertService.ErrorText.incorrectfile, \"\", \"error\");\r\n\t\t}\r\n\t\tif (!this.validate.isUndefined(this.rateGenerationUploadForm.value.transactionID)) {\r\n\t\t\tthis.confirmationAlert();\r\n\t\t}\r\n\t}\r\n\tconfirmationAlert() {\r\n\t\tSwal({\r\n\t\t\ttitle: \"\",\r\n\t\t\ttext: \"Click on upload to use uploaded file\",\r\n\t\t\ttype: \"info\",\r\n\t\t\tconfirmButtonColor: \"#175788\"\r\n\t\t}).then((result) => {\r\n\t\t\tthis.rateGenerationUploadForm.reset();\r\n\t\t})\r\n\t}\r\n\tformFileRequest() {\r\n\t\tconst formData = new FormData();\r\n\t\tformData.append(\"tieupID\", this.alertService.getUserDetails('getTieup'));\r\n\t\tformData.append(\"tenantId\", this.alertService.getUserDetails('getTenant'));\r\n\t\tformData.append(\"updatedBy\", this.alertService.getUserDetails('getid'));\r\n\t\tformData.append(\"userFileName\",this.fileName);\r\n\t\tformData.append(\"id\", this.alertService.combinationId.get());\r\n\t\tformData.append('file', this.fileList, this.fileName);\r\n\t\tthis.apiData.saveData.pushdata(formData);\r\n\t}\r\n\tformJsonRequest() {\r\n\t\tlet jsonData = {\r\n\t\t\t\"tieupID\": this.alertService.getUserDetails('getTieup'),\r\n\t\t\t\"tenantId\": this.alertService.getUserDetails('getTenant'),\r\n\t\t\t\"id\": this.alertService.combinationId.get(),\r\n\t\t\t\"csvTransactionID\": this.rateGenerationUploadForm.value.transactionID,\r\n\t\t\t\"rateGenerationID\": this.alertService.rateGenerationID.get(),\r\n\t\t\t\"updatedBy\": this.alertService.getUserDetails('getid')\r\n\t\t}\r\n\t\tthis.apiData.saveData.pushdata(jsonData);\r\n\t}\r\n\r\n\tshowWarnings(res) {\r\n\t\tlet warningString = \"\";\r\n\t\tthis.loadingtext = \"\";\r\n\t\tvar span = document.createElement(\"span\");\r\n\t\tfor (var i = 0; i < res.warnings.length; i++) {\r\n\t\t\tspan.innerHTML += \"
    \" + (i + 1) + \". \" + res.warnings[i].warning + \". \" + \"
    \";\r\n\t\t}\r\n\t\tSwal({\r\n\t\t\ttitle: \"Warnings\",\r\n\t\t\thtml: span,\r\n\t\t\ttype: \"warning\",\r\n\t\t\tconfirmButtonColor: \"#175788\",\r\n\t\t\ttimer: parseFloat('120000')\r\n\t\t}).then((result) => {\r\n\t\t\tthis.loading = true;\r\n\t\t\tthis.fileValidation(res);\r\n\t\t})\r\n\t}\r\n\tfileValidation(res) {\r\n\t\tif (this.validate.isUndefined(res.transactionId)) {\r\n\t\t\tthis.loadingtext = \"Calculating rate...\";\r\n\t\t\tthis.MRexecuteApi();\r\n\t\t} else {\r\n\t\t\tthis.loadingtext = \"Calculating and downloading rate...\";\r\n\t\t\tthis.GetStatusHitCount=0;\r\n\t\t\tthis.MRgetstatusApi();\r\n\t\t}\r\n\t}\r\n\tgoto(process) {\r\n\t\tif (process == \"next\") {\r\n\t\t\tlet apiServiceName = \"\";\r\n\t\t\tif (!this.validate.isUndefined(this.rateGenerationUploadForm.value.transactionID) || !this.validate.isUndefined(this.fileName)) {\r\n\t\t\t\tif (!this.validate.isUndefined(this.rateGenerationUploadForm.value.transactionID) && this.rateGenerationUploadForm.value.transactionID != \"Select\") {\r\n\t\t\t\t\tapiServiceName = \"skipCsvUpload\";\r\n\t\t\t\t\tthis.formJsonRequest()\r\n\t\t\t\t} else if (!this.validate.isUndefined(this.fileName)) {\r\n\t\t\t\t\tapiServiceName = \"uploadFile\";\r\n\t\t\t\t\tthis.formFileRequest();\r\n\t\t\t\t}\r\n\t\t\t\tthis.loadingtext = \"Uploading and validating data...\";\r\n\t\t\t\tthis.loading = true;\r\n\t\t\t\tthis.apiData.rateGenerationApi[apiServiceName](res => {\r\n\t\t\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\t\t\tif (!this.validate.isUndefined(res.warnings)) {\r\n\t\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\t\tthis.showWarnings(res);\r\n\t\t\t\t\t\t\t} else {\r\n\t\t\t\t\t\t\t\tthis.fileValidation(res);\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t} else if (res.status == 0) {\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\t\t\tlet errorText = res.data;\r\n\t\t\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t\t\t\tthis.fileName = \"\";\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}, err => {\r\n\t\t\t\t\tthis.serviceError(err);\r\n\t\t\t\t\tthis.fileName = \"\";\r\n\t\t\t\t})\r\n\t\t\t} else {\r\n\t\t\t\tthis.validate.popUpAlert(\"Please Upload file\", \"Required\", \"warning\");\r\n\t\t\t}\r\n\t\t} else {\r\n\t\t\tthis.alertService.navigateTo(\"/choose-transaction\");\r\n\t\t}\r\n\t}\r\n\tMRexecuteApi() {\r\n\t\tthis.apiData.rateGenerationApi.MRexecuteApi(res => {\r\n\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\tif (this.validate.isUndefined(res.transactionId)) {\r\n\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n\t\t\t\t\t} else {\r\n\t\t\t\t\t\tthis.loadingtext = \"Calculating and downloading rate...\";\r\n\t\t\t\t\t\tthis.GetStatusHitCount=0;\r\n\t\t\t\t\t\tthis.MRgetstatusApi();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0 && res.message=='INVALID_REQUEST') {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\tthis.validate.popUpAlert(res.data, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0) {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\tlet errorText = this.alertService.ErrorText.checkError(res.data);\r\n\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tthis.serviceError(err);\r\n\t\t})\r\n\t}\r\n\r\n\tMRgetstatusApi() {\r\n\t\tthis.GetStatusHitCount=this.GetStatusHitCount+1;\r\n const combinationInputData = this.combinationInputData;\r\n\t\tthis.apiData.rateGenerationApi.MRgetstatusApi(res => {\r\n\t\t\tif (!this.validate.isUndefined(res)) {\r\n\t\t\t\tif (res.status == 1) {\r\n\t\t\t\t\t//this.loadingtext = \"\";\r\n\t\t\t\t\t// if (res.data.toLowerCase() != \"completed\") {\r\n\t\t\t\t\t// \tthis.loading = false;\r\n\t\t\t\t\t// \tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n\t\t\t\t\t// } else {\r\n\t\t\t\t\t// \tthis.alertService.createLocal(\"upload\", \"true\");\r\n\t\t\t\t\t// \tthis.alertService.navigateTo(\"/rate-generate\");\r\n\t\t\t\t\t// }\r\n\t\t\t\t\t\tif (res.data.toLowerCase() == \"completed\") {\r\n\t\t\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.alertService.createLocal(\"upload\", \"true\");\r\n combinationInputData;\r\n const state = combinationInputData.find(d => d.key == 'state');\r\n const level = combinationInputData.find(d => d.key == 'level');\r\n const admin = combinationInputData.find(d => d.key == 'admin');\r\n const param = btoa(JSON.stringify([state ? state.value : null, level ? level.value : null, admin ? admin.value : null]))\r\n\t\t\t\t\t\t\tthis.alertService.navigateTo(\"/rate-generate\", param);\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse if (res.data.toLowerCase() == \"terminated\") {\r\n\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\telse {\r\n\t\t\t\t\t\t\t//hit count increased from start\r\n\t\t\t\t\t\t\tif(this.GetStatusHitCount<5)\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tsetTimeout(any=>{this.MRgetstatusApi();}, 20000);\r\n\t\t\t\t\t\t\t\t//this.delayTimer(20000).then(any=>{this.MRgetstatusApi();});\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\telse{\r\n\t\t\t\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\t\t\t\tthis.validate.popUpAlert(\"Upload the file again\", \"\", \"error\");\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0 && res.message=='INVALID_REQUEST') {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\tthis.validate.popUpAlert(res.data, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t\telse if (res.status == 0) {\r\n\t\t\t\t\tthis.loading = false;\r\n\t\t\t\t\tthis.loadingtext = \"\";\r\n\t\t\t\t\tlet errorText = this.alertService.ErrorText.checkError(res.data);\r\n\t\t\t\t\tthis.validate.popUpAlert(errorText, \"\", \"error\");\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}, err => {\r\n\t\t\tthis.serviceError(err);\r\n\t\t})\r\n\t}\r\n\tdownloadSample() {\r\n\t\tthis.loading = true;\r\n\t\tthis.apiData.rateGenerationApi.downloadSampleCsv(res => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tthis.commonfunctions.csvDownloadFromServer(res);\r\n\t\t}, err => {\r\n\t\t\tthis.loading = false;\r\n\t\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t\t})\r\n\t}\r\n\tserviceError(err) {\r\n\t\tthis.loadingtext = \"\";\r\n\t\tthis.loading = false;\r\n\t\tthis.commonfunctions.serviceErrorHandling(err);\r\n\t}\r\n}\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3JvbGVzL3JvbGVzLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7O0VBRUQ7OztJQUdFOztFQUVGO0lBQ0U7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGIiwiZmlsZSI6InNyYy9hcHBfZGV2L3JvbGVzL3JvbGVzLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH0iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Role vs Module Mapping Viewer

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoModulesRights\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-roles',\r\n templateUrl: './roles.component.html',\r\n styleUrls: ['./roles.component.css']\r\n})\r\nexport class RolesComponent implements OnInit {\r\n\r\n userTypeForm: any;\r\n userTypeList: any;\r\n tableData: any;\r\n resArray: any;\r\n loading: boolean = false;\r\n showTable: boolean = false;\r\n\r\n constructor(private formBuilder: FormBuilder, private apiData: ApiService, private validate: MandatoryfieldService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n ngOnInit() {\r\n this.userTypeForm = this.formBuilder.group({\r\n userType: [\"\", Validators.required]\r\n });\r\n this.loadDropDown();\r\n }\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getAllUserType(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.userTypeList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showtable() {\r\n if (this.validate.submitDetails(this.userTypeForm)) {\r\n this.apiData.roleApi.selectedData(this.userTypeForm.value.userType, \"rights\")\r\n this.getList()\r\n }\r\n }\r\n getList() {\r\n this.loading = true;\r\n this.apiData.roleApi.getlist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.prepareJson(result);\r\n $(\"#roleRightTable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#roleRightTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showTable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"moduleName\"] = resData.data[i][\"moduleName\"];\r\n resArray1[\"rights\"] = resData.data[i][\"rights\"];\r\n resArray1[\"sno\"] = i + 1;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { Router, NavigationStart } from \"@angular/router\";\r\nimport { Observable, Subject } from \"rxjs\";\r\n\r\n@Injectable()\r\nexport class AlertService {\r\n private subject = new Subject();\r\n private keepAfterNavigationChange = false;\r\n first: boolean = false;\r\n /**** user cration popup *****/\r\n public tieupuserCreate(page) {\r\n this.router.navigate([page, \"create\"]);\r\n }\r\n /***** user creation popup end****/\r\n\r\n /******Rate Generation stepper**/\r\n loadingOutput: boolean = false;\r\n outputList: any = {};\r\n stepper: any = [{\r\n id: 1,\r\n current: false,\r\n complete: false\r\n }, {\r\n id: 2,\r\n current: false,\r\n complete: false\r\n }, {\r\n id: 3,\r\n current: false,\r\n complete: false\r\n }];\r\n /**** Rate generation End ***/\r\n public ErrorText: any = {\r\n servererror: 'Server Not Found',\r\n incorrectfile: 'Incorrect File Type',\r\n unauthorized: \"Unauthorized Access Denied\",\r\n uncaptured: 'Something Went Wrong',\r\n data: [\r\n {\r\n getmessage: \"requestratelarge_rpt\",\r\n returnmessage: \"Background service running, please try few minutes later\"\r\n },\r\n {\r\n getmessage: \"requestratelarge\",\r\n returnmessage: \"Request not completed, please try again\"\r\n },\r\n {\r\n getmessage: \"ExistTieupID\",\r\n returnmessage: \"TieupId already exists\"\r\n },\r\n {\r\n getmessage: \"validEmailID\",\r\n returnmessage: \"Invalid Email Id\"\r\n },\r\n {\r\n getmessage: \"NOT_FOUND\",\r\n returnmessage: \"Unknown user name or bad password\"\r\n },\r\n {\r\n getmessage: \"InvalidLogin\",\r\n returnmessage: \"Unknown user name or bad password\"\r\n },\r\n {\r\n getmessage: \"UserDeactivated\",\r\n returnmessage: \"User De-activated\"\r\n },\r\n {\r\n getmessage: \"ExistUser\",\r\n returnmessage: \"User already exists\"\r\n },\r\n {\r\n getmessage: \"UserLimitExceed\",\r\n returnmessage: \"User Limit Exceeds for the Tie Up\"\r\n },\r\n {\r\n getmessage: \"validId\",\r\n returnmessage: \"Invalid ID\"\r\n }, {\r\n getmessage: \"validActivityType\",\r\n returnmessage: \"Invalid Activity Type\"\r\n },\r\n {\r\n getmessage: \"ExistEmailID\",\r\n returnmessage: \"Tie-Up for the Email ID already exists\"\r\n }, {\r\n getmessage: \"ProvidePassword\",\r\n returnmessage: \"Invalid Password\"\r\n }, {\r\n getmessage: \"ProvideRateGenerationID\",\r\n returnmessage: \"Invalid Rategeneration ID\"\r\n }, {\r\n getmessage: \"ProvideUserType\",\r\n returnmessage: \"Invalid user type\"\r\n }, {\r\n getmessage: \"ProvideYear\",\r\n returnmessage: \"Year is empty\"\r\n }, {\r\n getmessage: \"selectAdminOption\",\r\n returnmessage: \"Admin option is empty\"\r\n }, {\r\n getmessage: \"ProvideVerifyCode\",\r\n returnmessage: \"Invalid verification code\"\r\n }, {\r\n getmessage: \"ProvideReportID\",\r\n returnmessage: \"Invalid Report ID\"\r\n }, {\r\n getmessage: \"ProvideReportName\",\r\n returnmessage: \"Invalid Report Name\"\r\n }, {\r\n getmessage: \"ProvideState\",\r\n returnmessage: \"Invalid State\"\r\n }, {\r\n getmessage: \"selectState\",\r\n returnmessage: \"Invalid State\"\r\n }, {\r\n getmessage: \"invalidId\",\r\n returnmessage: \"Invalid Report ID\"\r\n }, {\r\n getmessage: \"selectTieupID\",\r\n returnmessage: \"Invalid Tie-Up ID\"\r\n }, {\r\n getmessage: \"selectUserType\",\r\n returnmessage: \"Invalid User Type\"\r\n }, {\r\n getmessage: \"selectLoginUser\",\r\n returnmessage: \"Invalid login user\"\r\n }, {\r\n getmessage: \"selectName\",\r\n returnmessage: \"Invalid Name\"\r\n }, {\r\n getmessage: \"selectParameterID\",\r\n returnmessage: \"Invalid Parameter ID\"\r\n }, {\r\n getmessage: \"selectCountry\",\r\n returnmessage: \"Invalid Country\"\r\n }, {\r\n getmessage: \"selectEmailID\",\r\n returnmessage: \"Invalid Email-ID\"\r\n }, {\r\n getmessage: \"selectParamName\",\r\n returnmessage: \"Invalid Parameter Name\"\r\n }, {\r\n getmessage: \"selectEffectiveDate\",\r\n returnmessage: \"Invalid Effective Date\"\r\n }, {\r\n getmessage: \"ProvideParamValue\",\r\n returnmessage: \"Invalid Input Value\"\r\n }, {\r\n getmessage: \"InvalidEffectiveDate\",\r\n returnmessage: \"Invalid Effective Date\"\r\n }, {\r\n getmessage: \"EXIST\",\r\n returnmessage: \"Already Exists\"\r\n }, {\r\n getmessage: \"ProvideCountry\",\r\n returnmessage: \"Invalid Country\"\r\n }, {\r\n getmessage: \"ProvideTieupID\",\r\n returnmessage: \"Invalid Tie-Up ID\"\r\n }, {\r\n getmessage: \"ProvideLoadingDiscountID\",\r\n returnmessage: \"Invalid Loading/Discounting ID\"\r\n }, {\r\n getmessage: \"ProvideLoadingDiscountName\",\r\n returnmessage: \"Invalid Loading/Discounting name\"\r\n }, {\r\n getmessage: \"ProvideEffectiveDate\",\r\n returnmessage: \"Invalid Effective date\"\r\n }, {\r\n getmessage: \"ProvideIsActive\",\r\n returnmessage: \"Invalid active status\"\r\n }, {\r\n getmessage: \"ProvideIsMandatory\",\r\n returnmessage: \"Invalid mandatory status\"\r\n }, {\r\n getmessage: \"InvalidId\",\r\n returnmessage: \"Invalid ID\"\r\n }, {\r\n getmessage: \"EmptyInputCombination\",\r\n returnmessage: \"Invalid Input Combinations\"\r\n }, {\r\n getmessage: \"EmptyOutputCombination\",\r\n returnmessage: \"Invalid Output Combinations\"\r\n }, {\r\n getmessage: \"EmptyLoadingDiscounts\",\r\n returnmessage: \"Invalid Loading/Discounting Percentage\"\r\n }, {\r\n getmessage: \"emptycsv\",\r\n returnmessage: \"Please upload a non-empty csv file\"\r\n }, {\r\n getmessage: \"deactivate_subusers\",\r\n returnmessage: \"In order to reduce the user count, please de-activate tie-up sub user(s) before reducing the user count\"\r\n }, {\r\n getmessage: \"deactivate_adminusers\",\r\n returnmessage: \"In order to reduce the user count, please de-activate tie-up admin user(s) before reducing the user count\"\r\n }, {\r\n getmessage: \"enterEmailID\",\r\n returnmessage: \"Email-Id is empty\"\r\n }, {\r\n getmessage: \"enterUserName\",\r\n returnmessage: \"Username is empty\"\r\n }, {\r\n getmessage: \"ExistParameter\",\r\n returnmessage: \"Parameter already exists\"\r\n }, {\r\n getmessage: \"ProvideCreatedBy\",\r\n returnmessage: \"Invalid CreatedBy-ID\"\r\n }, {\r\n getmessage: \"ProvideLDComment\",\r\n returnmessage: \"Invalid Loading/Discount Comment\"\r\n }, {\r\n getmessage: \"ProvideEmail\",\r\n returnmessage: \"Invalid Email-ID\"\r\n }, {\r\n getmessage: \"provideId\",\r\n returnmessage: \"Invalid ID\"\r\n },{\r\n getmessage: \"provideFromToDate\",\r\n returnmessage: \"Provide both From Date and To Date\"\r\n }, {\r\n getmessage: \"futuredate_notallowed\",\r\n returnmessage: \"No future dates allowed\"\r\n }, {\r\n getmessage: \"InvalidToDate\",\r\n returnmessage: \"To Date should not less than From Date\"\r\n }, {\r\n getmessage: \"NO_DATA_FOUND\",\r\n returnmessage: \"Data Not Found\"\r\n }, {\r\n getmessage: \"Errorcode:504\",\r\n returnmessage: \"Request timed out. Please try again later.\"\r\n },\r\n {\r\n getmessage: \"weightagenot100\",\r\n returnmessage: \"Loading/Discount factors weightage sum should add up to 100%\"\r\n },\r\n {\r\n getmessage: \"selectldkey\",\r\n returnmessage: \"Provide Loading/Discount\"\r\n },\r\n {\r\n getmessage: \"selectsubsectionkey\",\r\n returnmessage: \"Provide Loading/Discount Sub Section\"\r\n },\r\n {\r\n getmessage: \"invalidfile\",\r\n returnmessage: \"Invalid file data, please upload valid data\"\r\n }\r\n ],\r\n checkError: msg => {\r\n var message = this.ErrorText.data.filter(obj => {\r\n return obj.getmessage == msg;\r\n });\r\n if (message.length == 0)\r\n return this.ErrorText.uncaptured;\r\n else\r\n return message[0].returnmessage;\r\n }\r\n };\r\n patchDate: any = {\r\n convertedDate: {},\r\n changeToLocal: (data) => {\r\n let date = new Date(data);\r\n this.patchDate.convertedDate[\"year\"] = date.getFullYear();\r\n this.patchDate.convertedDate[\"month\"] = date.getMonth() + 1;\r\n this.patchDate.convertedDate[\"day\"] = date.getDate();\r\n },\r\n getPatchedDate: () => {\r\n return this.patchDate.convertedDate;\r\n }\r\n };\r\n\r\n firstTimeLogin(resultData, page) {\r\n if (page == \"login\") {\r\n localStorage.setItem(\r\n \"userFunction\",\r\n JSON.stringify(resultData)\r\n );\r\n\r\n if (resultData.lastLoginDate == null && resultData.changepassword_id != \"\") {\r\n this.first = true;\r\n return true;\r\n }\r\n return false;\r\n }\r\n }\r\n\r\n /***Add and remove @ local storage***/\r\n public changePasswordId: any = {\r\n get: () => {\r\n return localStorage.getItem('ChangePasswordID');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"ChangePasswordID\", data\r\n );\r\n }\r\n };\r\n public enteredMailtoForgetScreen: any = {\r\n get: () => {\r\n return localStorage.getItem('enteredMail');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"enteredMail\",\r\n JSON.stringify(data)\r\n );\r\n },\r\n };\r\n public rateGenerationID: any = {\r\n get: () => {\r\n return localStorage.getItem('rateGenerationID');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"rateGenerationID\", data\r\n );\r\n },\r\n remove: () => {\r\n localStorage.setItem(\"rateGenerationID\", \"\")\r\n }\r\n }\r\n public mrCode: any = {\r\n get: () => {\r\n return localStorage.getItem('mrcode');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"mrcode\", data\r\n );\r\n },\r\n remove: () => {\r\n localStorage.setItem(\"mrcode\", \"\")\r\n }\r\n }\r\n public combinationId: any = {\r\n get: () => {\r\n return localStorage.getItem('combinationId');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"combinationId\", data\r\n );\r\n },\r\n remove: () => {\r\n localStorage.setItem(\"combinationId\", \"\")\r\n }\r\n }\r\n public tokenId: any = {\r\n get: () => {\r\n return localStorage.getItem('userToken');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"userToken\", data\r\n );\r\n }, remove: () => {\r\n localStorage.setItem(\"userToken\", \"\")\r\n }\r\n }\r\n public userId: any = {\r\n get: () => {\r\n return localStorage.getItem('userId');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"userId\", data\r\n );\r\n }\r\n }\r\n public downloadInUsertracking: any = {\r\n get: (data) => {\r\n if (data == \"id\")\r\n return localStorage.getItem('trackingDescriptionid');\r\n else\r\n return localStorage.getItem('trackingActivityType');\r\n },\r\n set: (descriptionid, activityType) => {\r\n localStorage.setItem(\r\n \"trackingDescriptionid\", descriptionid.toString()\r\n );\r\n localStorage.setItem(\r\n \"trackingActivityType\", activityType.toString()\r\n );\r\n }, remove: () => {\r\n localStorage.removeItem(\"trackingDescriptionid\");\r\n localStorage.removeItem(\"trackingActivityType\");\r\n }\r\n }\r\n public isFinalRate: any = {\r\n get: () => {\r\n return localStorage.getItem('isFinalRate');\r\n },\r\n set: (data) => {\r\n localStorage.setItem(\r\n \"isFinalRate\", data ? '1' : '0'\r\n );\r\n },\r\n remove: () => {\r\n localStorage.setItem(\"isFinalRate\", \"\")\r\n }\r\n }\r\n getUserDetails(value) {\r\n let user = {};\r\n let postValue = \"\";\r\n if (localStorage.getItem('userFunction')) {\r\n user = JSON.parse(localStorage.getItem('userFunction'));\r\n switch (value) {\r\n case \"getTenant\": {\r\n postValue = user['tenantId'];\r\n break;\r\n }\r\n case \"getUsertype\": {\r\n postValue = user['userType'];\r\n break;\r\n }\r\n case \"getchangepasswordID\": {\r\n postValue = user['changepassword_id'];\r\n break;\r\n }\r\n case \"getuserEmailID\": {\r\n postValue = user['userEmailID'];\r\n break;\r\n }\r\n case \"getid\": {\r\n postValue = user['id'];\r\n break;\r\n }\r\n case \"getUserName\": {\r\n postValue = user['firstName'];\r\n break;\r\n }\r\n case \"getCountry\": {\r\n postValue = user['country'];\r\n break;\r\n }\r\n case \"getTieup\": {\r\n postValue = user['tieupID'];\r\n break;\r\n }\r\n case \"getSessiontime\": {\r\n postValue = user['expires_in'];\r\n break;\r\n }\r\n case \"permissions\": {\r\n postValue = user['loadingPermissions'];\r\n break;\r\n }\r\n }\r\n return postValue;\r\n } else\r\n return;\r\n }\r\n public clearLocalstorage() {\r\n localStorage.clear();\r\n localStorage.removeItem('userToken');\r\n localStorage.removeItem('Timer');\r\n }\r\n public createLocal(key, data) {\r\n localStorage.setItem(key, data.toString());\r\n }\r\n public deleteLocal(key) {\r\n localStorage.removeItem(key);\r\n }\r\n public getLocal(key) {\r\n let a =localStorage.getItem(key);\r\n return localStorage.getItem(key);\r\n }\r\n /***Rate Generation****/\r\n changeStepper(id) {\r\n for (let i = 0; i < this.stepper.length; i++) {\r\n this.stepper[i].current = false;\r\n this.stepper[i].complete = false;\r\n if (this.stepper[i].id == id) {\r\n this.stepper[i].current = true;\r\n }\r\n if (this.stepper[i].id < id) {\r\n this.stepper[i].complete = true;\r\n }\r\n }\r\n }\r\n /*********Page Navigation*************/\r\n constructor(private router: Router) { }\r\n navigateTo(page, param?) {\r\n if (param) {\r\n this.router.navigate([page,param]);\r\n return\r\n }\r\n this.router.navigate([page]);\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport {\r\n Request,\r\n XHRBackend,\r\n RequestOptions,\r\n Response,\r\n Http,\r\n RequestOptionsArgs,\r\n Headers\r\n} from \"@angular/http\";\r\nimport { Observable, Subject, BehaviorSubject } from \"rxjs/Rx\";\r\nimport { AlertService } from \"./alert.service\";\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { promise } from 'protractor';\r\nimport { request } from 'http';\r\nimport { resolve } from 'dns';\r\nimport { environment } from '../../environments/environment';\r\n\r\n@Injectable()\r\nexport class ApiService {\r\n // host: string = \"https://mr-reva-fe-app-dev.azurewebsites.net/\";\r\n host: string = environment.host; // \"https://mr-reva-fe-app-development.azurewebsites.net/\";\r\n // host: string = \"https://mr-reva-fe-app-tst.azurewebsites.net/\";\r\n path: string = \"api/\";\r\n url: string = this.host + this.path;\r\n api_target: string;\r\n header: any;\r\n reponseData: any;\r\n private _lastRequest: Observable;\r\n\r\n public dropdownList: any = {\r\n status: [\r\n {\r\n text: \"Active\",\r\n value: \"Active\",\r\n },\r\n {\r\n text: \"Inactive\",\r\n value: \"DeActive\",\r\n },\r\n ],\r\n statusTieup: [\r\n {\r\n text: \"Active\",\r\n value: \"Active\",\r\n },\r\n {\r\n text: \"Inactive\",\r\n value: \"Inactive\",\r\n },\r\n ],\r\n userstatus: [\r\n {\r\n text: \"Active\",\r\n value: \"Active\",\r\n },\r\n {\r\n text: \"Inactive\",\r\n value: \"Inactive\",\r\n },\r\n ],\r\n mandatory: [\r\n {\r\n text: \"Yes\",\r\n value: \"Yes\",\r\n },\r\n {\r\n text: \"No\",\r\n value: \"No\",\r\n },\r\n ],\r\n previousYear: [\r\n {\r\n text: new Date().getFullYear() - 1,\r\n value: new Date().getFullYear() - 1,\r\n },\r\n ],\r\n };\r\n authenticationUser() {\r\n let reqHeader = new HttpHeaders({\r\n ContentType: \"application/x-www-urlencoded\",\r\n Authorization: \"Bearer \" + this.alert.tokenId.get(),\r\n });\r\n return reqHeader;\r\n }\r\n public dateForm: any = {\r\n date: {},\r\n savedate: (data) => {\r\n this.dateForm.date = data;\r\n },\r\n getdate: () => {\r\n return this.dateForm.date;\r\n },\r\n };\r\n public saveData: any = {\r\n data: {},\r\n pushdata: (data) => {\r\n this.saveData.data = data;\r\n },\r\n };\r\n\r\n public tieUpEdit: any = {\r\n data: {},\r\n type: \"\",\r\n pushdata: (data) => {\r\n this.formRequest.EditOrCreate = \"edit\";\r\n this.tieUpEdit.data = data;\r\n },\r\n popData: () => {\r\n return this.tieUpEdit.data;\r\n },\r\n removData: () => {\r\n this.formRequest.EditOrCreate = \"create\";\r\n this.tieUpEdit.data = {};\r\n },\r\n };\r\n\r\n public outputCombo: any = {\r\n data: {},\r\n id: \"\",\r\n pushdata: (data) => {\r\n this.outputCombo.data = data;\r\n },\r\n popData: () => {\r\n return this.outputCombo.data;\r\n },\r\n removData: () => {\r\n this.outputCombo.data = {};\r\n },\r\n };\r\n public inputCombo: any = {\r\n data: {},\r\n pushdata: (data) => {\r\n this.inputCombo.data = data;\r\n },\r\n popData: () => {\r\n return this.inputCombo.data;\r\n },\r\n removData: () => {\r\n this.inputCombo.data = {};\r\n },\r\n };\r\n public userEdit: any = {\r\n data: {},\r\n pushdata: (data) => {\r\n this.formRequest.EditOrCreate = \"edit\";\r\n this.userEdit.data = data;\r\n },\r\n popData: () => {\r\n return this.userEdit.data;\r\n },\r\n removData: () => {\r\n this.formRequest.EditOrCreate = \"create\";\r\n this.userEdit.data = {};\r\n },\r\n };\r\n public editDetails: any = {\r\n data: {},\r\n pushdata: (data) => {\r\n this.formRequest.EditOrCreate = \"edit\";\r\n this.editDetails.data = data;\r\n },\r\n popData: () => {\r\n return this.editDetails.data;\r\n },\r\n removeAndAddData: (data) => {\r\n this.formRequest.EditOrCreate = \"create\";\r\n this.editDetails.data = {};\r\n this.editDetails.data = data;\r\n },\r\n };\r\n constructor(\r\n private alert: AlertService,\r\n private validate: MandatoryfieldService,\r\n private http: HttpClient,\r\n backend: XHRBackend,\r\n defaultOptions: RequestOptions\r\n ) {}\r\n\r\n /****************************************************\r\n * Form request Json before calling the api services\r\n * *************************************************/\r\n public formRequest: any = {\r\n EditOrCreate: \"\",\r\n getRequest: (additionalParam, formValue, type) => {\r\n var additionalVal = {};\r\n var data = {};\r\n data = formValue;\r\n if (type == \"tieup\") {\r\n var status_txt = data[\"status\"].toLowerCase();\r\n data[\"status\"] = status_txt != \"active\" ? \"DeActive\" : \"Active\";\r\n if (this.formRequest.EditOrCreate == \"edit\") {\r\n additionalVal = {\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n countryCode: \"\",\r\n id: additionalParam,\r\n updatedBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n } else {\r\n additionalVal = {\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n countryCode: \"\",\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n }\r\n } else if (type == \"user\") {\r\n var status_txt = data[\"status\"].toLowerCase();\r\n data[\"status\"] = status_txt != \"active\" ? \"InActive\" : \"Active\";\r\n if (this.formRequest.EditOrCreate == \"edit\") {\r\n additionalVal = {\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n id: additionalParam,\r\n updatedBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n } else {\r\n additionalVal = {\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n }\r\n } else if (type == \"report\") {\r\n var array = [];\r\n for (let i = 0; i < formValue.length; i++) {\r\n array.push({\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n reportID: formValue[i][\"reportID\"],\r\n reportName: formValue[i][\"reportName\"],\r\n status: formValue[i][\"status\"],\r\n tieupID: formValue[i][\"tieupID\"],\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n });\r\n }\r\n additionalVal = array;\r\n } else if (type == \"parameter\") {\r\n additionalVal = {\r\n tieupID: this.editDetails.data[\"tieupID\"],\r\n paramName: this.editDetails.data[\"paramName\"],\r\n parameterID: this.editDetails.data[\"parameterID\"],\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n country: additionalParam,\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n } else if (type == \"loadingdisc\") {\r\n additionalVal = {\r\n tieupID: this.editDetails.data[\"tieupID\"],\r\n country: this.editDetails.data[\"country\"],\r\n loadingDiscountID: this.editDetails.data[\"loadingDiscountID\"],\r\n //tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n data[\"isMandatory\"] = data[\"isMandatory\"] == \"Yes\" ? true : false;\r\n data[\"isActive\"] = data[\"isActive\"] == \"Active\" ? true : false;\r\n } else if (type == \"inputcombination\") {\r\n additionalVal = {\r\n tieupID: this.alert.getUserDetails(\"getTieup\"),\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n rateGenerationID: this.alert.rateGenerationID.get(),\r\n };\r\n } else if (type == \"outputcombination\") {\r\n additionalVal = {\r\n tieupID: this.alert.getUserDetails(\"getTieup\"),\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n updatedBy: this.alert.getUserDetails(\"getid\"),\r\n id: this.alert.combinationId.get(),\r\n };\r\n } else if (type == \"rateloadingdisc\") {\r\n additionalVal = {\r\n tieupID: this.alert.getUserDetails(\"getTieup\"),\r\n tenantId: this.alert.getUserDetails(\"getTenant\"),\r\n updatedBy: this.alert.getUserDetails(\"getid\"),\r\n id: this.alert.combinationId.get(),\r\n };\r\n } else if (type == \"getReprtList\") {\r\n additionalVal = {\r\n tieupID: this.alert.getUserDetails(\"getTieup\") ? 'root' : null,\r\n userType: this.alert.getUserDetails(\"getUsertype\"),\r\n };\r\n } else if (type == \"getState\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n userType: this.alert.getUserDetails(\"getUsertype\"),\r\n year: data[\"Year\"],\r\n reportType: data[\"reportName\"],\r\n loginUser: this.alert.getUserDetails(\"getid\"),\r\n };\r\n } else if (type == \"getReportYears\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n reportType: data[\"reportName\"],\r\n userType: this.alert.getUserDetails(\"getUsertype\"),\r\n loginUser: this.alert.getUserDetails(\"getid\"),\r\n };\r\n } else if (type == \"getTransactionid\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n userType: this.alert.getUserDetails(\"getUsertype\"),\r\n year: data[\"Year\"],\r\n loginUser: this.alert.getUserDetails(\"getid\"),\r\n state: data[\"state\"],\r\n };\r\n } else if (type == \"getPricingResultsRpt\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n transactionID: data[\"transactionID\"],\r\n };\r\n } else if (type == \"getBarChart\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n transactionID: data[\"transactionID\"],\r\n previousYearToCompare: data[\"compareyear\"],\r\n };\r\n } else if (type == \"UWCommentsRpt\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n transactionID: data[\"transactionID\"],\r\n state: data[\"state\"],\r\n year: data[\"Year\"],\r\n };\r\n } else if (type == \"getCompareyear\") {\r\n additionalVal = {\r\n tieupID: data[\"tieupName\"],\r\n userType: this.alert.getUserDetails(\"getUsertype\"),\r\n };\r\n }\r\n if (\r\n type == \"report\" ||\r\n type == \"getState\" ||\r\n type == \"getReportYears\" ||\r\n type == \"getTransactionid\" ||\r\n type == \"getPricingResultsRpt\" ||\r\n type == \"UWCommentsRpt\" ||\r\n type == \"getBarChart\"\r\n ) {\r\n this.saveData.pushdata(additionalVal);\r\n } else {\r\n if (additionalVal != undefined) {\r\n var keys = Object.keys(additionalVal);\r\n keys.map((obj) => {\r\n data[obj] = additionalVal[obj];\r\n });\r\n }\r\n this.saveData.pushdata(data);\r\n }\r\n },\r\n };\r\n /******************************************\r\n * Tie Up ::::: GET,CREATE,EDIT:::::::Start\r\n * ****************************************/\r\n public portalRevaApi: any = {\r\n url: this.url,\r\n getTieUpList: (success, err) => {\r\n this.http\r\n .get(this.portalRevaApi.url + \"tieups\", {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n CreateEditTieUp: (success, err) => {\r\n let type = \"tieups\";\r\n let id = \"\";\r\n if (this.formRequest.EditOrCreate == \"edit\") {\r\n id = \"/\" + this.saveData.data.id;\r\n this.http\r\n .put(this.portalRevaApi.url + type + id, this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n } else {\r\n this.http\r\n .post(this.portalRevaApi.url + type, this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n }\r\n },\r\n };\r\n\r\n /******************************************\r\n * USer ::::: GET,CREATE,EDIT:::::::Start\r\n * ****************************************/\r\n public userAPI: any = {\r\n url: this.url,\r\n getUserList: (success, err) => {\r\n this.http\r\n .get(\r\n this.userAPI.url +\r\n \"users/usersByTieup/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n CreateOrEditUser: (success, err) => {\r\n let type = \"users\";\r\n let id = \"\";\r\n if (this.formRequest.EditOrCreate == \"edit\") {\r\n id = \"/\" + this.saveData.data.id;\r\n this.http\r\n .put(this.userAPI.url + type + id, this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n } else {\r\n this.http\r\n .post(this.userAPI.url + type, this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n }\r\n },\r\n };\r\n /******************************************\r\n * Report ::::: GET,EDIT:::::::Start\r\n * ****************************************/\r\n public reportApi: any = {\r\n url: this.url,\r\n id: \"\",\r\n saveId: (data) => {\r\n this.reportApi.id = data;\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.reportApi.url + \"reports/reportsByTieup/\" + this.reportApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n saveReport: (success, err) => {\r\n this.http\r\n .post(this.portalRevaApi.url + \"reports\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n\r\n public finalloadingApi: any = {\r\n url: this.url,\r\n finalloadinglist: \"\",\r\n id: \"\",\r\n saveId: (data) => {\r\n this.finalloadingApi.id = data;\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.finalloadingApi.url +\r\n \"finalloading/finalLoadingByTieupID/\" +\r\n this.finalloadingApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n uploadfinalloading: (success, err) => {\r\n this.http\r\n .post(this.parameterApi.url + \"finalloading/view\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n savefinalloading: (success, err) => {\r\n this.http\r\n .post(this.parameterApi.url + \"finalloading\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n\r\n /******************************************\r\n * Parameter ::::: GET,EDIT:::::::Start\r\n * ****************************************/\r\n public parameterApi: any = {\r\n url: this.url,\r\n id: \"\",\r\n saveId: (data) => {\r\n this.parameterApi.id = data;\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.parameterApi.url +\r\n \"parameterSettings/paramSettingsByTieup/\" +\r\n this.parameterApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n createParameter: (success, err) => {\r\n this.http\r\n .post(this.parameterApi.url + \"parameterSettings\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n updateCount: (success, err) => {\r\n this.http\r\n .post(\r\n this.parameterApi.url + \"parameterSettings/saveParameterInput\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n deleteParameter: (success, err) => {\r\n this.http\r\n .delete(\r\n this.parameterApi.url +\r\n \"parameterSettings/\" +\r\n this.parameterApi.id +\r\n \"/\" +\r\n this.alert.getUserDetails(\"getid\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n /******************************************\r\n * loading and discounting config ::::: GET,EDIT:::::::Start\r\n * ****************************************/\r\n public loadingApi: any = {\r\n url: this.url,\r\n id: \"\",\r\n country: \"\",\r\n saveId: (data) => {\r\n this.loadingApi.id = data;\r\n },\r\n selectedcountry: (data) => {\r\n this.loadingApi.country = data;\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.loadingApi.url +\r\n \"loadingDiscount/loadingDiscountConfig/\" +\r\n this.loadingApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getloadingDiscount: (success, err, ...param) => {\r\n if (!param) param = [];\r\n this.http\r\n .get(\r\n this.loadingApi.url +\r\n \"loadingDiscount/loadingDiscount/\" +\r\n (param[0] || this.alert.getUserDetails(\"getTenant\")) + `/${param[1] || 'all'}/${param[2] || 'all'}/all`,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n createLoadingDisc: (success, err) => {\r\n this.http\r\n .post(this.loadingApi.url + \"loadingDiscount\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n /******************************************\r\n * roles and right ,User tracking ::::: GET::::Start\r\n * ****************************************/\r\n public roleApi: any = {\r\n url: this.url,\r\n reqData: \"\",\r\n method: \"\",\r\n selectedData: (data, type) => {\r\n this.roleApi.reqData = data;\r\n if (type == \"rights\") {\r\n this.roleApi.method = \"moduleRightsByRole?userType=\";\r\n } else if (type == \"activity\") {\r\n this.roleApi.method = \"users/activitiesSearch\";\r\n }\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(this.roleApi.url + this.roleApi.method + this.roleApi.reqData, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTrackinglist: (success, err) => {\r\n this.http\r\n .post(this.roleApi.url + this.roleApi.method, this.roleApi.reqData, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n /******************************************\r\n * User Download ::::: GET,EDIT:::::::Start\r\n * ****************************************/\r\n public userlistDownloadApi: any = {\r\n url: this.url,\r\n id: \"\",\r\n country: \"\",\r\n saveId: (data) => {\r\n this.userlistDownloadApi.id = data;\r\n },\r\n selectedcountry: (data) => {\r\n this.userlistDownloadApi.country = data;\r\n },\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.userlistDownloadApi.url +\r\n \"users/usersListDownload/\" +\r\n this.userlistDownloadApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n\r\n /******************************************\r\n * USER-END Parameter ::::: GET,EDIT:::::::Start\r\n * ****************************************/\r\n public getParameterAPI: any = {\r\n url: this.url,\r\n id: \"\",\r\n getlist: (success, err) => {\r\n this.http\r\n .get(\r\n this.getParameterAPI.url +\r\n \"rateGeneration/inOutCombination/\" +\r\n this.alert.getUserDetails(\"getTieup\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getlistPY: (success, err) => {\r\n this.http\r\n .get(\r\n this.getParameterAPI.url +\r\n \"rateGeneration/inOutCombinationPY/\" +\r\n this.alert.getUserDetails(\"getTieup\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getLoadongDiscount: (success, err, param?) => {\r\n let path = 'rateGeneration/loadingDiscount/' + this.alert.getUserDetails(\"getTieup\");\r\n if (param) {\r\n const paramData = JSON.parse(atob(param));\r\n const state = paramData[0];\r\n let adminlevel = 'all';\r\n let admin = 'all';\r\n if (paramData[1]) {\r\n adminlevel = paramData[1]\r\n }\r\n if (paramData[2]) {\r\n admin = paramData[2]\r\n }\r\n\r\n path += `/${state}/${admin}/${adminlevel}`;\r\n }\r\n this.http\r\n .get(\r\n this.getParameterAPI.url + path ,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n /***************************************************\r\n * USER-END/Rate Generation ::::Post data:::::::Start\r\n * ***********************************************/\r\n public rateGenerationApi: any = {\r\n url: this.url,\r\n id: \"\",\r\n saveInputs: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url + \"rateGeneration/generateRate\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n saveOutput: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/outputCombinationSave/\" +\r\n this.alert.combinationId.get(),\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n uploadFile: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url + \"rateGeneration\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n skipCsvUpload: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url + \"rateGeneration/skipCsvUpload\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n MRexecuteApi: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/MRexecuteApiResponse/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n \"\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n MRexecuteApiNew: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/MRexecuteApiResponseNew/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n \"\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTransactonByMRId: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/GetTransactonByMRId/\" +\r\n this.alert.mrCode.get(),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTransactonByUserId: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/GetTransactonByUserId/\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n markTransactionRateGenerated: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/MarkTransactionRateGenerated/\" + this.alert.mrCode.get(),{},\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTransactonByTenantId: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/GetTransactonByTenantId/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getRateGenerationData: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/getRateGenerationData/\" +\r\n this.alert.rateGenerationID.get(),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n MRgetstatusApi: (success, err) => {\r\n let statusPromise = this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/MRgetStatusApiResponse/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n \"\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n let statusMarketRatePromise = this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/MRgetStatusApiResponse/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get() +\r\n \"_mr\",\r\n \"\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n Promise.all([statusPromise, statusMarketRatePromise])\r\n .then((results) => {\r\n var res0 = results[0] as any;\r\n var res1 = results[1] as any;\r\n\r\n if (\r\n res0.data.toLowerCase() === \"completed\" &&\r\n res1.data.toLowerCase() === \"completed\"\r\n ) {\r\n success(res0);\r\n }\r\n\r\n if (res0.data.toLowerCase() === \"inprogress\") {\r\n success(res0);\r\n }\r\n if (res1.data.toLowerCase() === \"inprogress\") {\r\n success(res1);\r\n }\r\n\r\n if (res0.data.toLowerCase() === \"terminated\") {\r\n success(res0);\r\n }\r\n\r\n if (res1.data.toLowerCase() === \"terminated\") {\r\n success(res1);\r\n }\r\n })\r\n .catch((error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n });\r\n },\r\n saveLoadingDisc: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/CalculateLoadingDiscount/\" +\r\n this.alert.combinationId.get(),\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n deleteTransactionByUserId: (success, err) => {\r\n this.http\r\n .delete(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/DeleteTransactonByUserId\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n viewRateData: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/viewRateData/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n downloadRateData: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/viewRateDataPdf/\" +\r\n this.alert.getUserDetails(\"getTenant\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n downloadRateFile: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"rateGeneration/downloadRateFile/\" +\r\n this.alert.downloadInUsertracking.get(\"id\") +\r\n \"/\" +\r\n this.alert.downloadInUsertracking.get(\"type\"),\r\n {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n downloadSampleCsv: (success, err) => {\r\n this.http\r\n .get(this.rateGenerationApi.url + \"rateGeneration/downloadSample\", {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n downloadPrevSampleCsv: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url + \"previousYearRate/prevYearRateTemplate\",\r\n {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getAdminLevel: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url + \"rateGeneration/adminLevelByState\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n uploadPreviousYearRate: (success, err) => {\r\n this.http\r\n .post(\r\n this.rateGenerationApi.url + \"previousYearRate\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n transactionMapList: (success, err) => {\r\n this.http\r\n .get(\r\n this.rateGenerationApi.url +\r\n \"previousYearRate/transactionMapList/\" +\r\n this.rateGenerationApi.id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n /******************************************\r\n * Final Report ::::::Start\r\n * ****************************************/\r\n finalReportsApi: any = {\r\n url: this.url,\r\n getReport: (success, err) => {\r\n this.http\r\n .post(this.finalReportsApi.url + \"viewReports\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getState: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/States\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTransactionid: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/transactionIDSearch\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getPreviousYearToCompare: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/previousYearToCompare\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getPricingResultsRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/pricingResultsRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getPricingResultsLoadingsRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/pricingResultsLoadingsRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getBoxplotRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/boxPlotRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getPreviousYearRatesComparisonRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url +\r\n \"viewReports/previousYearRatesComparisonRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n giveWarningMessageRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/giveWarningMessageRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n UWCommentsRpt: (success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/UWCommentsRpt\",\r\n this.saveData.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n previousYearPricingResultsRpt: (tieup, success, err) => {\r\n this.http\r\n .post(\r\n this.finalReportsApi.url + \"viewReports/previousYearPricingResultsRpt\",\r\n {\r\n \"tieupID\": tieup\r\n },\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n }\r\n };\r\n /******************************************\r\n * Load DROP DOWN ITEMS ::::::Start\r\n * ****************************************/\r\n tieupDropdownFormation(response) {\r\n let resultdata = response;\r\n let additionalVal = [];\r\n if (response.status == 1) {\r\n for (let i = 0; i < resultdata[\"data\"].length; i++) {\r\n additionalVal.push({\r\n value: response[\"data\"][i].value,\r\n text: response[\"data\"][i].text,\r\n list: response[\"data\"][i].value + \"_\" + response[\"data\"][i].text,\r\n });\r\n }\r\n\r\n if (additionalVal != undefined) {\r\n var keys = Object.keys(response[\"data\"]);\r\n keys.map((obj) => {\r\n resultdata[\"data\"][obj] = additionalVal[obj];\r\n });\r\n }\r\n }\r\n return resultdata;\r\n }\r\n getdropdownList: any = {\r\n url: this.url,\r\n country: \"\",\r\n loadingDiscountKey: \"\",\r\n selectedcountry: (data) => {\r\n this.getdropdownList.country = data;\r\n },\r\n selectedLDkey: (data) => {\r\n this.getdropdownList.loadingDiscountKey = data;\r\n },\r\n getCountry: (success, err) => {\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"countries\" +\r\n \"/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getloadingItems: (success, err) => {\r\n this.http\r\n .get(this.getdropdownList.url + \"finalloading/loadingDiscountItems\", {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getsubsectionsbyLD: (success, err) => {\r\n //\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"finalloading/subSectionsByLD\" +\r\n \"/\" +\r\n this.getdropdownList.loadingDiscountKey,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getAllUserType: (success, err) => {\r\n this.http\r\n .get(this.getdropdownList.url + \"userTypes\", {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getUserType: (success, err) => {\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"userTypes/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTieUplist: (success, err) => {\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"tieupsById/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n let result = this.tieupDropdownFormation(response);\r\n success(result);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTieUplistByCountry: (success, err) => {\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"tieupsByCountry/\" +\r\n this.getdropdownList.country +\r\n \"/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n let result = this.tieupDropdownFormation(response);\r\n success(result);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getPreviousYear: (success, err) => {\r\n this.http\r\n .get(this.getdropdownList.url + \"previousYears\", {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getTransactionIDByTieUp: (success, err) => {\r\n this.http\r\n .get(\r\n this.getdropdownList.url +\r\n \"rateGeneration/transactionIDByTieUp/\" +\r\n this.alert.getUserDetails(\"getTieup\") +\r\n \"/\" +\r\n this.alert.getUserDetails(\"getid\") +\r\n \"/\" +\r\n this.alert.rateGenerationID.get(),\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n getReportYears: (success, err) => {\r\n this.http\r\n .post(this.getdropdownList.url + \"reportYears\", this.saveData.data, {\r\n headers: this.authenticationUser(),\r\n })\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n\r\n /*******************************\r\n * Global Error handling\r\n *****************************/\r\n\r\n public errorhanlingApi: any = {\r\n url: this.url,\r\n data: {},\r\n generateRequestData: (error, page) => {\r\n this.errorhanlingApi.data = {\r\n logApplication: \"Client\",\r\n logModule: page, //controller name or screen name\r\n logDesc: error, // exception error message\r\n tenantId: this.validate.isUndefined(\r\n this.alert.getUserDetails(\"getTenant\")\r\n )\r\n ? \"root\"\r\n : this.alert.getUserDetails(\"getTenant\"), //by default root or tenantId\r\n createdBy: this.alert.getUserDetails(\"getid\"),\r\n };\r\n },\r\n sendError: (success, err) => {\r\n this.http\r\n .post(\r\n this.errorhanlingApi.url + \"ErrorLog\",\r\n this.errorhanlingApi.data,\r\n { headers: this.authenticationUser() }\r\n )\r\n .subscribe(\r\n (response) => {\r\n if (typeof success === \"function\") {\r\n success(response);\r\n }\r\n },\r\n (error) => {\r\n if (typeof err === \"function\") {\r\n err(error);\r\n }\r\n }\r\n );\r\n },\r\n };\r\n\r\n /******************************************\r\n * Load DROP DOWN ITEMS ::::::Start\r\n * ****************************************/\r\n\r\n getTransactionIds() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"rateGeneration/transactionIDs/\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n getTransactionInputInfo(csvId) {\r\n return this.http\r\n .get(this.userAPI.url + \"rateGeneration/transactionInput/\" + csvId, {\r\n headers: this.authenticationUser(),\r\n })\r\n .toPromise();\r\n }\r\n getTransactionOutputInfo(csvId) {\r\n return this.http\r\n .get(this.userAPI.url + \"rateGeneration/rateGeneratedResult/\" + csvId, {\r\n headers: this.authenticationUser(),\r\n })\r\n .toPromise();\r\n }\r\n\r\n getStateDistrictWiseData() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"parameterSettings?parameterName=district&tieupID=\" +\r\n this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n rateGenerationProcessYieldData(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"rateGeneration/processYieldData\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n /******************************************\r\n * Load DROP DOWN ITEMS ::::::End\r\n * ****************************************/\r\n\r\n masterUploadYieldDataUpload(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/yieldDataUpload\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadYielVarifyYiedData(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/verifyYieldData\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadValidatedYieldDataUpload(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/validatedYieldDataUpload\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadVerifyDistrictsLevelLoadingData(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/verifyDistrictsLevelLoadingData\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadValidatedDistrictLoadingDataUpload(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/validatedDistrictLoadingDataUpload\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadDownloadSampleDistrictLoadingUpload() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"MasterUpload/downloadSampleDistrictLoadingUpload\",\r\n {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadGetLastYieldDataUploadStatus(state: any) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"MasterUpload/getLastYieldDataUploadStatus/\"+state,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n MasterUploadClusterMapUpload(request: any) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/clusterMapUpload\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n MasterUploadUpdateClusterMapping(request: any) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"MasterUpload/updateClusterMapping\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n MasterUploaddownloadSampleClusterMapping() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"MasterUpload/downloadSampleClusterMapping\",\r\n {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n }\r\n )\r\n .toPromise();\r\n }\r\n getLastYieldData(state: any) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"rateGeneration/getLastYieldData/\"+state,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadGetDistrictLevelLoadingUploadStatus(state: any) {\r\n // Transaction Id will wanished after refresh\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"/MasterUpload/getDistrictsLevelLoadingUploadStatus/\"+state,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddZeroWarningYield(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addZeroWarningYield\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddBlankWarningYield(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addBlankWarningYield\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddOutliersWarningYield(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addOutliersWarningYield\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddZeroWarningYieldFile(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addZeroWarningYieldFile\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddBlankWarningYieldFile(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addBlankWarningYieldFile\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadaddOutliersWarningYieldFile(request: any) {\r\n return this.http.post(\r\n this.userAPI.url +\r\n \"/MasterUpload/addOutliersWarningYieldFile\", request,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n masterUploadgetAgreeDatasetWarnings(year: any,state: any) {\r\n return this.http.get(\r\n this.userAPI.url +\r\n `/MasterUpload/getAgreeDatasetWarnings?year=${year}&state=${state}`,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n\r\n masterUploadGetDistrictUploadTransaction() {\r\n return this.http.get(\r\n this.userAPI.url +\r\n `/MasterUpload/getDistrictUploadTransaction`,\r\n {\r\n headers: this.authenticationUser(),\r\n }\r\n )\r\n .toPromise();\r\n }\r\n\r\n /******************************************\r\n * MASTER UPLOAD ::::::Start\r\n * ****************************************/\r\n\r\n\r\n /******************************************\r\n * MASTER UPLOAD ::::::Start\r\n * ****************************************/\r\n\r\n\r\n /******************************************\r\n * RATE GENERATION ::::::Start\r\n * ****************************************/\r\n async rateGenerationGetYieldData(state: any, year: any) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n `rateGeneration/getYieldData/${state}/${year}`,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n /******************************************\r\n * RATE GENERATION ::::::End\r\n * ****************************************/\r\n\r\n\r\n /******************************************\r\n * Load DISCOUNT ::::::Start\r\n * ****************************************/\r\n\r\n getParam(params, type) {\r\n if (type == \"global\") {\r\n params.tenantId = this.alert.getUserDetails(\"getTenant\");\r\n params.tieupID = this.alert.getUserDetails(\"getTenant\");\r\n params.updatedBy = this.alert.getUserDetails(\"getid\");\r\n } else if (type == \"create-tieup\") {\r\n params.tenantId = this.alert.getUserDetails(\"getTenant\");\r\n params.updatedBy = this.alert.getUserDetails(\"getid\");\r\n } else if (type == \"district-wise\") {\r\n params.updatedBy = this.alert.getUserDetails(\"getid\");\r\n } else if (type == \"create-tieup\") {\r\n params.tenantId = this.alert.getUserDetails(\"getTenant\");\r\n params.countryCode = \"\";\r\n params.createdBy = this.alert.getUserDetails(\"getid\");\r\n } else if (type == \"edit-tieup\") {\r\n params.tenantId = this.alert.getUserDetails(\"getTenant\");\r\n params.countryCode = \"\";\r\n params.updatedBy = this.alert.getUserDetails(\"getid\");\r\n }\r\n\r\n return params;\r\n }\r\n configureDefaultLoadingDiscount(params) {\r\n return this.http\r\n .post(\r\n this.userAPI.url + \"finalloading/configureDefaultLoadingDiscount\",\r\n params,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n configureDefaultLoadingDiscountByDistrict(params) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"finalloading/configureDefaultLoadingDiscountByDistrict\",\r\n params,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n tieups(params) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"tieups\",\r\n params,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n }\r\n updatetieups(id, params) {\r\n return this.http\r\n .put(\r\n this.userAPI.url +\r\n \"tieups/\" + id,\r\n params,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n }\r\n fetchTieUpsId(id) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"tieups/\" + id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n deleteTieup(id) {\r\n return this.http\r\n .delete(\r\n this.userAPI.url +\r\n \"tieups/Delete/\" + id,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n /******************************************\r\n * Load DISCOUNT ::::::End\r\n * ****************************************/\r\n\r\n parameterSettingAllStatesDistricts() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"parameterSettings/allStatesDistricts\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n parameterSettingAllowedStatesDistricts(tieupId) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"/parameterSettings/allowedStatesDistricts/\" + tieupId,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n parameterSettingassignStatesDistricts(request) {\r\n return this.http\r\n .post(\r\n this.userAPI.url +\r\n \"/parameterSettings/assignStatesDistricts\",\r\n request,\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n }\r\n async rateGenerationDefaultLoadingDiscount() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"rateGeneration/defaultLoadingDiscount\",\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n async finalLoadingDefaultLoadingByTieupId() {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"finalloading/defaultLoadingDiscountByTieupID/\" + this.alert.getUserDetails(\"getTenant\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n }\r\n\r\n\r\n rateGenerationLocakPrice(rateId) {\r\n return this.http\r\n .get(\r\n this.userAPI.url +\r\n \"rateGeneration/lockAsFinalPrice/\" + rateId +'/'+ this.alert.getUserDetails(\"getid\"),\r\n { headers: this.authenticationUser() }\r\n )\r\n .toPromise();\r\n\r\n }\r\n\r\n downloadLastYieldFile(url) {\r\n return this.http\r\n .get(url, {\r\n headers: this.authenticationUser(),\r\n responseType: \"blob\",\r\n observe: \"response\",\r\n }).toPromise()\r\n }\r\n /******************************************\r\n * LOADING STATE AND DISTRICT ::::::Start\r\n * ****************************************/\r\n\r\n /******************************************\r\n * LOADING STATE AND DISTRICT ::::::End\r\n * ****************************************/\r\n // sampleapi() {\r\n // return new Promise((resolve, reject) => {\r\n // this.http.get(this.getdropdownList.url + \"reportYear\", { headers: this.authenticationUser() }).subscribe((res) => {\r\n // resolve(res);\r\n // }, (err) => {\r\n // reject(err);\r\n // })\r\n // });\r\n // }\r\n\r\n // postApi(path) {\r\n // return new Promise((resolve, reject) => {\r\n // this.http.post(this.url + path, this.saveData.data, { headers: this.authenticationUser() }).subscribe((res) => {\r\n // resolve(res);\r\n // }, (err) => {\r\n // reject(err);\r\n // })\r\n // });\r\n // }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { FormBuilder, FormArray, Validators, FormControl, FormGroup } from '@angular/forms';\r\nimport { takeUntil, take, map, first } from 'rxjs/operators';\r\nimport { Router } from \"@angular/router\";\r\nimport * as CryptoJS from 'crypto-js';\r\nimport { AlertService } from \"./alert.service\";\r\nimport { ApiService } from './apiservices.service';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { CommonfunctionsService } from './commonfunctions.service';\r\nimport { environment } from '../../environments/environment';\r\n@Injectable()\r\nexport class AuthenticationService {\r\n host: string;\r\n path: string;\r\n url: string;\r\n\r\n reqHeader: any;\r\n public timeOut: any = null;\r\n userID: any;\r\n forget_password: boolean = false;\r\n new_password: boolean = false;\r\n showModal: boolean = false;\r\n changePwdReq: boolean = false;\r\n loginForm: FormGroup;\r\n\r\n\r\n constructor(private http: HttpClient, private router: Router, private alertservice: AlertService, private apiData: ApiService, private validate: MandatoryfieldService,private commonfunctions:CommonfunctionsService) {\r\n // this.host = \"https://mr-reva-fe-app-dev.azurewebsites.net/\";\r\n this.host = environment.host; // \"https://mr-reva-fe-app-development.azurewebsites.net/\";\r\n // this.host = \"https://mr-reva-fe-app-tst.azurewebsites.net/\";\r\n this.path = \"api/\";\r\n this.url = this.host + this.path;\r\n }\r\n\r\n enCryptText(text) {\r\n return CryptoJS.SHA512(text).toString();\r\n //return CryptoJS.HmacSHA1(text, \"c320c51b5b9414efb7fbeb95107e73951269b2ed\").toString(CryptoJS.enc.Hex);\r\n }\r\n authenticationUser() {\r\n var authKey=\"Bearer \" + this.alertservice.tokenId.get();\r\n if(this.validate.isUndefined(this.alertservice.tokenId.get())){\r\n authKey=\"\";\r\n }\r\n this.reqHeader = new HttpHeaders({\r\n ContentType: \"application/x-www-urlencoded\",\r\n Authorization: authKey\r\n });\r\n }\r\n\r\n login(reqData) {\r\n return this.http\r\n .post(this.url + \"auth/token\", reqData, { headers: this.reqHeader })\r\n .pipe(\r\n map(result => {\r\n if (result) {\r\n if (result.status == 1) {\r\n console.log('login start');\r\n if (!this.validate.isUndefined(result.access_token)) {\r\n this.alertservice.tokenId.set(result.access_token);\r\n console.log('access token set');\r\n } else if (!this.validate.isUndefined(result.refresh_token)) {\r\n this.alertservice.tokenId.set(result.refresh_token);\r\n console.log('refresh token set');\r\n }\r\n this.timeOut = setTimeout(() => {\r\n this.authenticationUser();\r\n let req = {\r\n username: this.alertservice.userId.get(),\r\n grant_type: \"refresh_token\"\r\n }\r\n console.log('refresh token start');\r\n if(!this.validate.isUndefined(this.alertservice.userId.get()))\r\n {\r\n console.log('refresh token with userid');\r\n this.login(req)\r\n .pipe(first())\r\n .subscribe(res => {\r\n }, err => {\r\n this.logoutService();\r\n //this.validate.popUpAlert(this.alertservice.ErrorText.unauthorized, \"\", \"error\");\r\n });\r\n }\r\n }, result.expires_in * 2 * 1000); // 30 minutes if result.expires_in = 900ms\r\n\r\n console.log('login end');\r\n }\r\n }\r\n return result;\r\n })\r\n );\r\n }\r\n\r\n loginFormsave(formGroup: FormGroup) {\r\n this.loginForm = formGroup;\r\n }\r\n forgetOrChangePassword(page) {\r\n if (page == \"loggedoff\") {\r\n this.showModal = true;\r\n } else if (page == \"loggedin\") {\r\n this.changePwdReq = true;\r\n let requestData = {\r\n \"EmailId\": this.alertservice.getUserDetails(\"getuserEmailID\"),\r\n \"TenantId\": this.alertservice.getUserDetails(\"getTenant\"),\r\n \"activityType\": \"Change Password\"\r\n };\r\n this.changePasswordApi(\"changepasswordreq\", requestData).pipe(first())\r\n .subscribe(\r\n data => {\r\n if (data.status == 1) {\r\n this.showModal = true;\r\n this.new_password = true;\r\n this.forget_password = false;\r\n this.alertservice.changePasswordId.set(data.data);\r\n }\r\n },\r\n error => { }\r\n );\r\n }\r\n }\r\n\r\n firstTimeLogin() {\r\n this.forget_password = false;\r\n this.new_password = true;\r\n }\r\n\r\n changePasswordApi(type, reqdata: any) {\r\n let target = \"auth/requestChangePassword\";\r\n if (type == \"verifycode\") {\r\n target = \"auth/verifyCode\";\r\n } else if (type == \"setpassword\") {\r\n target = \"auth/changePassword\";\r\n }\r\n return this.http.post(this.url + target, reqdata).pipe(\r\n map(result => {\r\n return result;\r\n })\r\n );\r\n }\r\n logoutService() {\r\n this.apiData.inputCombo.removData();\r\n this.apiData.outputCombo.removData();\r\n const sweetAlertConfirm = document.querySelector('.swal2-confirm') as HTMLElement;\r\n if (sweetAlertConfirm) {\r\n sweetAlertConfirm.click(); //if cancel doesn't exist , confirm is the equivalent for Ok button\r\n }\r\n\r\n let id = this.alertservice.getUserDetails(\"getid\");\r\n if(!this.validate.isUndefined(id))\r\n {\r\n this.logout()\r\n .pipe(first())\r\n .subscribe(\r\n data => {\r\n this.reqHeader = \"\";\r\n this.alertservice.tokenId.remove();\r\n localStorage.clear();\r\n clearTimeout(this.timeOut);\r\n this.changePwdReq = false;\r\n this.alertservice.navigateTo(\"/login\");\r\n },\r\n error => {\r\n this.commonfunctions.serviceErrorHandling(error);\r\n });\r\n }\r\n else {\r\n this.reqHeader = \"\";\r\n this.alertservice.tokenId.remove();\r\n localStorage.clear();\r\n clearTimeout(this.timeOut);\r\n this.changePwdReq = false;\r\n this.alertservice.navigateTo(\"/login\");\r\n }\r\n }\r\n\r\n logout() {\r\n // remove user from local storage to log user out\r\n let id = this.alertservice.getUserDetails(\"getid\");\r\n return this.http\r\n .post(this.url + \"auth/logout?Id=\" + id,\"\")\r\n .pipe(\r\n map(result => {\r\n // if (result) {\r\n this.reqHeader = \"\";\r\n this.alertservice.tokenId.remove();\r\n localStorage.clear();\r\n clearTimeout(this.timeOut);\r\n this.changePwdReq = false;\r\n // }\r\n return result;\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { ApiService } from './apiservices.service';\r\nimport { AlertService } from './alert.service';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\ndeclare function escape(s: string): string;\r\nimport * as FileSaver from 'file-saver';\r\nimport * as XLSX from 'xlsx';\r\nimport * as moment from \"moment\";\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xls';\r\n@Injectable()\r\nexport class CommonfunctionsService {\r\n constructor(private apiData: ApiService, private alertService: AlertService, private validate: MandatoryfieldService) { }\r\n\r\n public csvDownloadFromServer(res) {\r\n let parsedResponse = res.body;\r\n let filename = res.headers.get(\"content-disposition\").toString().split(\";\")[1].split('=')[1].trim();\r\n let blob = new Blob([parsedResponse], { type: 'text/csv' });\r\n let url = window.URL.createObjectURL(blob);\r\n if (navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveBlob(blob, filename);\r\n } else {\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = filename;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n window.URL.revokeObjectURL(url);\r\n }\r\n public JSONToXLSConvertor(JSONData, file, ShowLabel) {\r\n var arrData = typeof JSONData != 'object' ? JSON.parse(JSONData) : JSONData;\r\n var CSV = '';\r\n if (ShowLabel) {\r\n var row = \"\";\r\n for (var index in arrData[0]) {\r\n row += index + ',';\r\n }\r\n row = row.slice(0, -1);\r\n CSV += row + '\\r\\n';\r\n }\r\n for (var i = 0; i < arrData.length; i++) {\r\n var row = \"\";\r\n for (var index in arrData[i]) {\r\n var arrValue = arrData[i][index] == null ? \"\" : '\"' + arrData[i][index] + '\"';\r\n row += arrValue + ',';\r\n }\r\n row = row.slice(0, row.length - 1);\r\n CSV += row + '\\r\\n';\r\n }\r\n if (CSV == '') {\r\n return;\r\n }\r\n return CSV;\r\n }\r\n public xlsFileDownload(data, fileName) {\r\n let blob = new Blob([data], { type: 'application/xls' });\r\n let url = window.URL.createObjectURL(blob);\r\n if (navigator.msSaveOrOpenBlob) {\r\n navigator.msSaveBlob(blob, fileName + \".xls\");\r\n } else {\r\n let a = document.createElement('a');\r\n a.href = url;\r\n a.download = fileName + \".xls\";;\r\n document.body.appendChild(a);\r\n a.click();\r\n document.body.removeChild(a);\r\n }\r\n window.URL.revokeObjectURL(url);\r\n }\r\n public exportAsExcelFile(json: any[], headers: any[], excelFileName: string): void {\r\n if(json.length==0)\r\n {\r\n json=new Array();\r\n }\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json, { header: headers });\r\n console.log('worksheet', worksheet);\r\n const workbook: XLSX.WorkBook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xls', type: 'array' });\r\n //const excelBuffer: any = XLSX.write(workbook, { bookType: 'xlsx', type: 'buffer' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n public exportAsMultiExcelFile(json: any[], headers: any[], excelFileName: string): void {\r\n var objValues = Object.keys(headers);\r\n var SheetNames = [];\r\n var sheets = {};\r\n var data = [];\r\n for (var i = 0; i < objValues.length; i++) {\r\n let object = objValues[i];\r\n SheetNames.push(object);\r\n if(json[object].length==0)\r\n {\r\n json[object]=new Array();\r\n }\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[object], { header: headers[object] });\r\n data.push({ [object]: worksheet });\r\n var keys = Object.keys(data[i]);\r\n keys.map(obj => {\r\n sheets[obj] = data[i][obj];\r\n });\r\n }\r\n const workbook: XLSX.WorkBook = { Sheets: sheets, SheetNames: SheetNames };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xls', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n public exportComprehensiveExcel(json: any[], headers: any[], excelFileName: string): void {\r\n var objValues = Object.keys(headers);\r\n var SheetNames = [];\r\n var sheets = {};\r\n var data = [];\r\n var validRptCt=0;\r\n for (var i = 0; i < objValues.length; i++) {\r\n let object = objValues[i];\r\n console.log(object)\r\n console.log(json[object].length)\r\n if(json[object].length>0)\r\n {\r\n SheetNames.push(object);\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[object], { header: headers[object] });\r\n data.push({ [object]: worksheet });\r\n var keys = Object.keys(data[validRptCt]);\r\n keys.map(obj => {\r\n sheets[obj] = data[validRptCt][obj];\r\n });\r\n validRptCt++;\r\n }\r\n }\r\n const workbook: XLSX.WorkBook = { Sheets: sheets, SheetNames: SheetNames };\r\n const excelBuffer: any = XLSX.write(workbook, { bookType: 'xls', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n\r\n FileSaver.saveAs(data, fileName + '_' + this.getDateTimeExt() + EXCEL_EXTENSION);\r\n }\r\n /**\r\n * getDateTimeExt\r\n */\r\n public getDateTimeExt() {\r\n var today = new Date();\r\n var current_date = today.getDate();\r\n var current_month = today.getMonth() + 1; //Month starts from 0\r\n var current_year = today.getFullYear();\r\n var postname = current_date.toString() + current_month.toString() + current_year.toString();\r\n return postname + today.getTime();\r\n }\r\n public serviceErrorHandling(error) {\r\n let errorText = this.alertService.ErrorText.checkError(error);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n this.apiData.errorhanlingApi.generateRequestData(error, window.location.pathname);\r\n this.apiData.errorhanlingApi.sendError(res => {\r\n }, err => {\r\n });\r\n }\r\n\r\n downloadTableToExcel(data, fields, name) {\r\n const excelData = [];\r\n const header = [];\r\n const headerFields = [];\r\n for (let i = 0; i < fields.length; i++) {\r\n const field = fields[i];\r\n header.push(field.header.toLowerCase().trim().replaceAll(' ', '_'))\r\n headerFields.push(field.field)\r\n }\r\n excelData.push(header);\r\n for (let index = 0; index < data.length; index++) {\r\n const element = data[index];\r\n const row = [];\r\n for (let kIndx = 0; kIndx < fields.length; kIndx++) {\r\n const key = fields[kIndx].field;\r\n row.push(element[key]);\r\n }\r\n excelData.push(row);\r\n }\r\n const ws: XLSX.WorkSheet = XLSX.utils.aoa_to_sheet(excelData); // json_to_sheet(excelData);\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n const sheetName = name;\r\n XLSX.utils.book_append_sheet(wb, ws, sheetName);\r\n XLSX.writeFile(wb, `${moment(new Date()).format('yyyyMMDD')}_${name}.xlsx`);\r\n }\r\n}\r\n","module.exports = \".list-group-item.title {\\r\\n z-index: 2;\\r\\n color: #fff;\\r\\n background-color: #175788;\\r\\n border-color: #175788;\\r\\n position: sticky;\\r\\n top: 0px;\\r\\n}\\r\\n\\r\\n\\r\\nul {\\r\\n margin-left: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n/*Treeview Checkbox*/\\r\\n\\r\\n\\r\\nul.tree {\\r\\npadding: 0\\r\\n}\\r\\n\\r\\n\\r\\n.tree * {\\r\\npadding: 0px;\\r\\nmargin: 0px;\\r\\noutline: none;\\r\\nlist-style-type: none;\\r\\nbox-sizing: border-box;\\r\\n}\\r\\n\\r\\n\\r\\n.tree input[type=checkbox] {\\r\\nvertical-align: middle !important;\\r\\n}\\r\\n\\r\\n\\r\\n:host .tree label {\\r\\n width: 70%;\\r\\n cursor: pointer;\\r\\n white-space: nowrap;\\r\\n}\\r\\n\\r\\n\\r\\n.pl-20px{\\r\\n padding-left: 20px;\\r\\n}\\r\\n\\r\\n\\r\\n.tree ul {\\r\\n/* display: none; */\\r\\nmargin: 4px auto;\\r\\nmargin-left: 6px;\\r\\nborder-left: 1px dashed #dfdfdf;\\r\\n}\\r\\n\\r\\n\\r\\n.tree li {\\r\\npadding: 12px 18px;\\r\\ncursor: pointer;\\r\\nvertical-align: middle;\\r\\nbackground: #fff;\\r\\n}\\r\\n\\r\\n\\r\\n.tree li:first-child {\\r\\nborder-radius: 3px 3px 0 0;\\r\\n}\\r\\n\\r\\n\\r\\n.tree li:last-child {\\r\\nborder-radius: 0 0 3px 3px;\\r\\n}\\r\\n\\r\\n\\r\\n.tree .active,\\r\\n.active li {\\r\\nbackground: #efefef;\\r\\n}\\r\\n\\r\\n\\r\\n.tree label {\\r\\nwidth: 70%;\\r\\ncursor: pointer;\\r\\n}\\r\\n\\r\\n\\r\\n.tree input[type=checkbox] {\\r\\nmargin: -2px 6px 0 0px;\\r\\n}\\r\\n\\r\\n\\r\\n.has > label {\\r\\ncolor: #000;\\r\\n}\\r\\n\\r\\n\\r\\n.tree .total {\\r\\ncolor: #E13300;\\r\\n}\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3RpZS11cC1tYXBwaW5nL3RpZS11cC1tYXBwaW5nLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7RUFDRSxXQUFXO0VBQ1gsWUFBWTtFQUNaLDBCQUEwQjtFQUMxQixzQkFBc0I7RUFDdEIsaUJBQWlCO0VBQ2pCLFNBQVM7Q0FDVjs7O0FBR0Q7RUFDRSxrQkFBa0I7Q0FDbkI7OztBQUVELHFCQUFxQjs7O0FBQ3JCO0FBQ0EsVUFBVTtDQUNUOzs7QUFFRDtBQUNBLGFBQWE7QUFDYixZQUFZO0FBQ1osY0FBYztBQUNkLHNCQUFzQjtBQUd0Qix1QkFBdUI7Q0FDdEI7OztBQUVEO0FBQ0Esa0NBQWtDO0NBQ2pDOzs7QUFFRDtFQUNFLFdBQVc7RUFDWCxnQkFBZ0I7RUFDaEIsb0JBQW9CO0NBQ3JCOzs7QUFFRDtFQUNFLG1CQUFtQjtDQUNwQjs7O0FBQ0Q7QUFDQSxvQkFBb0I7QUFDcEIsaUJBQWlCO0FBQ2pCLGlCQUFpQjtBQUNqQixnQ0FBZ0M7Q0FDL0I7OztBQUdEO0FBQ0EsbUJBQW1CO0FBQ25CLGdCQUFnQjtBQUNoQix1QkFBdUI7QUFDdkIsaUJBQWlCO0NBQ2hCOzs7QUFFRDtBQUNBLDJCQUEyQjtDQUMxQjs7O0FBRUQ7QUFDQSwyQkFBMkI7Q0FDMUI7OztBQUVEOztBQUVBLG9CQUFvQjtDQUNuQjs7O0FBRUQ7QUFDQSxXQUFXO0FBQ1gsZ0JBQWdCO0NBQ2Y7OztBQUVEO0FBQ0EsdUJBQXVCO0NBQ3RCOzs7QUFFRDtBQUNBLFlBQVk7Q0FDWDs7O0FBRUQ7QUFDQSxlQUFlO0NBQ2QiLCJmaWxlIjoic3JjL2FwcF9kZXYvdGllLXVwLW1hcHBpbmcvdGllLXVwLW1hcHBpbmcuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5saXN0LWdyb3VwLWl0ZW0udGl0bGUge1xyXG4gIHotaW5kZXg6IDI7XHJcbiAgY29sb3I6ICNmZmY7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NTc4ODtcclxuICBib3JkZXItY29sb3I6ICMxNzU3ODg7XHJcbiAgcG9zaXRpb246IHN0aWNreTtcclxuICB0b3A6IDBweDtcclxufVxyXG5cclxuXHJcbnVsIHtcclxuICBtYXJnaW4tbGVmdDogMjBweDtcclxufVxyXG5cclxuLypUcmVldmlldyBDaGVja2JveCovXHJcbnVsLnRyZWUge1xyXG5wYWRkaW5nOiAwXHJcbn1cclxuXHJcbi50cmVlICoge1xyXG5wYWRkaW5nOiAwcHg7XHJcbm1hcmdpbjogMHB4O1xyXG5vdXRsaW5lOiBub25lO1xyXG5saXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbi13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcclxuLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG5ib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4udHJlZSBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XHJcbnZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDtcclxufVxyXG5cclxuOmhvc3QgLnRyZWUgbGFiZWwge1xyXG4gIHdpZHRoOiA3MCU7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbn1cclxuXHJcbi5wbC0yMHB4e1xyXG4gIHBhZGRpbmctbGVmdDogMjBweDtcclxufVxyXG4udHJlZSB1bCB7XHJcbi8qIGRpc3BsYXk6IG5vbmU7ICovXHJcbm1hcmdpbjogNHB4IGF1dG87XHJcbm1hcmdpbi1sZWZ0OiA2cHg7XHJcbmJvcmRlci1sZWZ0OiAxcHggZGFzaGVkICNkZmRmZGY7XHJcbn1cclxuXHJcblxyXG4udHJlZSBsaSB7XHJcbnBhZGRpbmc6IDEycHggMThweDtcclxuY3Vyc29yOiBwb2ludGVyO1xyXG52ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5iYWNrZ3JvdW5kOiAjZmZmO1xyXG59XHJcblxyXG4udHJlZSBsaTpmaXJzdC1jaGlsZCB7XHJcbmJvcmRlci1yYWRpdXM6IDNweCAzcHggMCAwO1xyXG59XHJcblxyXG4udHJlZSBsaTpsYXN0LWNoaWxkIHtcclxuYm9yZGVyLXJhZGl1czogMCAwIDNweCAzcHg7XHJcbn1cclxuXHJcbi50cmVlIC5hY3RpdmUsXHJcbi5hY3RpdmUgbGkge1xyXG5iYWNrZ3JvdW5kOiAjZWZlZmVmO1xyXG59XHJcblxyXG4udHJlZSBsYWJlbCB7XHJcbndpZHRoOiA3MCU7XHJcbmN1cnNvcjogcG9pbnRlcjtcclxufVxyXG5cclxuLnRyZWUgaW5wdXRbdHlwZT1jaGVja2JveF0ge1xyXG5tYXJnaW46IC0ycHggNnB4IDAgMHB4O1xyXG59XHJcblxyXG4uaGFzID4gbGFiZWwge1xyXG5jb2xvcjogIzAwMDtcclxufVxyXG5cclxuLnRyZWUgLnRvdGFsIHtcclxuY29sb3I6ICNFMTMzMDA7XHJcbn1cclxuIl19 */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Tie up Mapping

    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
      \\r\\n
    • \\r\\n \\r\\n \\r\\n
        \\r\\n
      • \\r\\n \\r\\n \\r\\n
          \\r\\n
        • \\r\\n \\r\\n \\r\\n
        • \\r\\n
        \\r\\n
      • \\r\\n
      \\r\\n
    • \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n
    \\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\"","import { Component, OnInit } from \"@angular/core\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { CommonfunctionsService } from \"../services/commonfunctions.service\";\r\nimport Swal from \"sweetalert2\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\n\r\n@Component({\r\n selector: \"app-tie-up-mapping\",\r\n templateUrl: \"./tie-up-mapping.component.html\",\r\n styleUrls: [\"./tie-up-mapping.component.css\"],\r\n})\r\nexport class TieUpMappingComponent implements OnInit {\r\n loading = 0;\r\n allStatesDistrict: any[] = [];\r\n allStates: any[] = [];\r\n allTieups: any[] = [];\r\n selectedTieup: any\r\n isSelectAll: boolean = false;\r\n\r\n constructor(private apiData: ApiService, public commonfunctions: CommonfunctionsService, private alert: AlertService,private validate: MandatoryfieldService) {}\r\n\r\n ngOnInit() {\r\n this.getAllTieupList()\r\n this.getAllStateDistrictData();\r\n }\r\n\r\n getAllStateDistrictData() {\r\n this.loading++\r\n this.apiData.parameterSettingAllStatesDistricts().then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.allStatesDistrict = res.data;\r\n this.generateLoationData();\r\n this.loading--\r\n }\r\n }).catch(err => {\r\n this.loading--\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n getAllTieupList() {\r\n this.loading++\r\n this.apiData.portalRevaApi.getTieUpList(res => {\r\n if (res && res.status == 1) {\r\n this.allTieups = res.data.sort((a:any, b: any) => a.name.toLowerCase().localeCompare(b.name.toLowerCase()));\r\n }\r\n this.loading--\r\n }, err => {\r\n this.loading--;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n generateLoationData() {\r\n const states = Array.from(\r\n new Set(this.allStatesDistrict.map((data) => data.state))\r\n ).map((state) => {\r\n const stateResult: any = { state, state_id: state.replaceAll(' ', '') };\r\n stateResult.clusters = Array.from(\r\n new Set(\r\n this.allStatesDistrict\r\n .filter((data) => data.state == state)\r\n .map((data) => data.cluster)\r\n )\r\n ).map((cluster) => {\r\n const clusterResult: any = { cluster, clusterId: state.replaceAll(' ', '') + '-' + cluster.replaceAll(' ', '') };\r\n clusterResult.districts = Array.from(\r\n new Set(\r\n this.allStatesDistrict\r\n .filter((data) => data.cluster == cluster && data.state == state)\r\n .map((data) => data.district)\r\n )\r\n ).map(district => {\r\n return {district, districtId: `${state}-${cluster}-${district}`}\r\n });\r\n clusterResult.districts.sort((a: any,b: any) => a.district.toLowerCase().localeCompare(b.district.toLowerCase()))\r\n return clusterResult;\r\n });\r\n stateResult.clusters.sort((a:any, b:any) => +a.cluster - +b.cluster)\r\n return stateResult;\r\n });\r\n this.allStates = states.sort((a: any,b: any) => a.state.toLowerCase().localeCompare(b.state.toLowerCase()));\r\n }\r\n\r\n onTieUpChange(event: any) {\r\n this.apiData.parameterSettingAllowedStatesDistricts(event).then((res: any) => {\r\n if (res && res.status == 1) {\r\n const checkedData = res.data || [];\r\n const checkedDistricts = [];\r\n checkedData.forEach(state => {\r\n state.clusters.forEach(cluster => {\r\n cluster.districts.forEach(district => {\r\n\r\n checkedDistricts.push(`${state.state}-${cluster.cluster}-${district}`);\r\n })\r\n })\r\n });\r\n this.allStates.forEach(state => {\r\n state.clusters.forEach(cluster => {\r\n cluster.districts.forEach(district => {\r\n district.checked = checkedDistricts.includes(district.districtId)\r\n })\r\n })\r\n });\r\n this.updateAll();\r\n }\r\n }).catch(err => {\r\n this.loading--\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n onSelectAll(event) {\r\n const allStates: any = this.allStates;\r\n allStates.flatMap(data => data.clusters).flatMap(data => data.districts).forEach(data => data.checked = event)\r\n this.updateAll();\r\n\r\n }\r\n\r\n onStateChange(state: any, event: any) {\r\n const stateData = this.allStates.find(data => data.state == state);\r\n if (stateData) {\r\n stateData.clusters.forEach((data: any) => {\r\n data.checked = event;\r\n this.onClusterChange(data.clusterId, data.checked, true);\r\n })\r\n }\r\n this.updateAll();\r\n }\r\n\r\n onClusterChange(clusterId: any, event: any, ignore?: boolean) {\r\n const allStates: any = this.allStates;\r\n const clusterData = allStates.flatMap(data => data.clusters).find(data => data.clusterId == clusterId)\r\n if (clusterData) {\r\n clusterData.districts.forEach(data => {\r\n data.checked = event;\r\n this.onDistrictChange(data.district, data.checked, true);\r\n })\r\n }\r\n if (!ignore) {\r\n this.updateAll();\r\n }\r\n }\r\n\r\n onDistrictChange(district: any, event: any, ignore?: boolean) {\r\n if (!ignore) {\r\n this.updateAll();\r\n }\r\n }\r\n\r\n updateAll() {\r\n this.allStates.forEach(state => {\r\n state.clusters.forEach(cluster => {\r\n cluster.checked = cluster.districts.every(district => district.checked)\r\n })\r\n state.checked = state.clusters.every(cluster => cluster.checked);\r\n })\r\n this.isSelectAll = this.allStates.every(state => state.checked);\r\n }\r\n\r\n onSubmit() {\r\n if (!this.selectedTieup) {\r\n Swal({\r\n title: \"Required\",\r\n text: \"Please select tieup Id\",\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n })\r\n return;\r\n }\r\n const allStates = JSON.parse(JSON.stringify(this.allStates))\r\n const states = allStates.map(state => {\r\n const result: any = {state: state.state}\r\n result.clusters = state.clusters.map(cluster => {\r\n const clusterResult:any = {cluster: cluster.cluster}\r\n clusterResult.districts = cluster.districts.filter(district => district.checked).map(district => district.district);\r\n return clusterResult;\r\n }).filter(cluster => cluster.districts.length);\r\n return result;\r\n }).filter(state => state.clusters.length);\r\n\r\n const request = {\r\n tieupId: this.selectedTieup,\r\n states,\r\n tenantId: this.alert.getUserDetails(\"getTenant\")\r\n }\r\n\r\n this.loading++\r\n\r\n this.apiData.parameterSettingassignStatesDistricts(request).then((res: any) => {\r\n if (res && res.status == 1) {\r\n this.validate.popUpAlert(res.message, \"Success\", \"success\");\r\n this.onTieUpChange(this.selectedTieup)\r\n } else {\r\n this.validate.popUpAlert(res.message, \"Error\", \"success\");\r\n }\r\n this.loading--\r\n }).catch(err => {\r\n this.loading--\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n\r\n }\r\n}\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3RpZXVwbWFpbi90aWV1cG1haW4uY29tcG9uZW50LmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTtJQUNJO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRjs7RUFFRDs7O0lBR0U7O0VBRUY7SUFDRTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0YiLCJmaWxlIjoic3JjL2FwcF9kZXYvdGlldXBtYWluL3RpZXVwbWFpbi5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQG1lZGlhIChtaW4td2lkdGg6IDQ4MXB4KSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8qIFxyXG4gICAgIyNEZXZpY2UgPSBNb3N0IG9mIHRoZSBTbWFydHBob25lcyBNb2JpbGVzIChQb3J0cmFpdClcclxuICAgICMjU2NyZWVuID0gQi93IDMyMHB4IHRvIDQ3OXB4XHJcbiAgKi9cclxuICBcclxuICBAbWVkaWEgKG1pbi13aWR0aDogMzIwcHgpIGFuZCAobWF4LXdpZHRoOiA0ODBweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    TIE-UP List

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoTie-Up IDTie-up NameCountryEmail IDStatusAction
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{CreateOrEdit}} Tie-Up

    \\r\\n

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

    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n RESET\\r\\n \\r\\n \\r\\n SUBMIT\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\nimport Swal from 'sweetalert2';\r\nimport { Router } from \"@angular/router\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport {\r\n FormBuilder,\r\n FormArray,\r\n Validators,\r\n FormControl,\r\n FormGroup\r\n} from \"@angular/forms\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { UserCreationComponent } from '../user-creation/user-creation.component';\r\nimport { NgZone } from '@angular/core';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: \"app-tieupmain\",\r\n templateUrl: \"./tieupmain.component.html\",\r\n styleUrls: [\"./tieupmain.component.css\"]\r\n})\r\nexport class TieupmainComponent implements OnInit {\r\n\r\n @ViewChild('name') name: ElementRef;\r\n @ViewChild('tieupID') tieupID: ElementRef;\r\n @ViewChild('phoneNumber') phoneNumber: ElementRef;\r\n @ViewChild('emailID') emailID: ElementRef;\r\n @ViewChild('country') country: ElementRef;\r\n\r\n loading: boolean = false;\r\n resArray: any = {};\r\n tableData: any = {};\r\n showModal: boolean;\r\n isValid: boolean;\r\n CreateOrEdit: any;\r\n idVal: any;\r\n errorText: any;\r\n\r\n TieUpDetails: any;\r\n countryList: any;\r\n statusVal: any;\r\n showtable: boolean = false;\r\n constructor(\r\n private alertService: AlertService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private apiData: ApiService,\r\n private validate: MandatoryfieldService,\r\n public userCreate: UserCreationComponent,\r\n public commonfunctions: CommonfunctionsService,\r\n private _ngZone: NgZone,\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getTieUpList();\r\n this.TieUpDetails = this.loadForm();\r\n /*****************************************\r\n * Edit the table details::::Edit icon pressed\r\n * By Aravind\r\n * ***************************************/\r\n var obj = this;\r\n var rowindex = {};\r\n var createuser = {};\r\n $(\"#tieUpTable\").on(\"click\", \".adduser\", function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n obj.showtable = false;\r\n obj.showModal = false;\r\n obj.apiData.formRequest.EditOrCreate = \"create\";\r\n createuser[\"tieupName\"] = rowindex[\"name\"];\r\n createuser[\"tieupID\"] = rowindex[\"tieupID\"];\r\n obj.apiData.userEdit.pushdata(createuser);\r\n obj.alertService.tieupuserCreate(\"/user\");\r\n });\r\n $(\"#tieUpTable\").on(\"click\", \".editTieup\", function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n obj.router.navigate(['/update-tie-up', obj.apiData.tieUpEdit.data.id])\r\n // obj.CreateOrEdit = \"Edit\";\r\n // obj.loadDropDown();\r\n // obj.TieUpDetails.patchValue(obj.apiData.tieUpEdit.popData());\r\n // obj.setEnableDisable(\"edit\");\r\n // obj.showModal = true;\r\n });\r\n $(\"#tieUpTable\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n createuser = {};\r\n obj.idVal = row.id;\r\n obj.apiData.tieUpEdit.pushdata(rowindex);\r\n });\r\n $(\"#tieUpTable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getTieUpList();\r\n });\r\n }\r\n setEnableDisable(type) {\r\n if (type == \"edit\") {\r\n this.TieUpDetails.controls.country.disable(\"true\");\r\n this.TieUpDetails.controls.name.disable(\"true\");\r\n this.TieUpDetails.controls.tieupID.disable(\"true\");\r\n this.TieUpDetails.controls.emailID.disable(\"true\");\r\n } else {\r\n this.TieUpDetails.controls.country.enable(\"true\");\r\n this.TieUpDetails.controls.name.enable(\"true\");\r\n this.TieUpDetails.controls.tieupID.enable(\"true\");\r\n this.TieUpDetails.controls.emailID.enable(\"true\");\r\n }\r\n }\r\n /***********************************************************\r\n * 1.get the Tieup details and generate table using api call\r\n * By Aravind\r\n * *********************************************************/\r\n getTieUpList() {\r\n this.loading = true;\r\n this.apiData.portalRevaApi.getTieUpList(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.loading = false;\r\n this.prepareJson(result);\r\n $(\"#tieUpTable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#tieUpTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showtable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /**************************************\r\n * 2. Build the Tieup form\r\n * By Aravind\r\n * *************************************/\r\n loadForm() {\r\n return this.formBuilder.group({\r\n country: [\"\", Validators.required],\r\n name: [\"\", Validators.required],\r\n tieupID: [\"\", Validators.required],\r\n emailID: [\"\", Validators.email],\r\n status: [\"\", Validators.required]\r\n });\r\n }\r\n /*****************************************\r\n * 3. Load the dropdown values using api call\r\n * By Aravind\r\n * ***************************************/\r\n loadDropDown() {\r\n this.statusVal = this.apiData.dropdownList.statusTieup;\r\n this.loading = true;\r\n this.apiData.getdropdownList.getCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.countryList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /*****************************************\r\n * 4. Generate table Data - Tieup details\r\n * By Aravind\r\n * ***************************************/\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"action\"] = \"\";\r\n resArray1[\"id\"] = resData.data[i][\"id\"];\r\n resArray1[\"sno\"] = i + 1;\r\n resArray1[\"tieupID\"] = resData.data[i][\"tieupID\"];\r\n resArray1[\"name\"] = resData.data[i][\"name\"];\r\n resArray1[\"country\"] = resData.data[i][\"country\"];\r\n resArray1[\"emailID\"] = resData.data[i][\"emailID\"];\r\n var status_txt=resData.data[i][\"status\"].toLowerCase();\r\n resArray1[\"status\"] = status_txt!='active' ? 'Inactive':'Active';\r\n resArray1[\"action\"] =\r\n `
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    `;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n\r\n /***********tieup creation/edit ***************/\r\n createTieUp() {\r\n // this.apiData.tieUpEdit.removData();\r\n // this.showModal = true;\r\n // this.CreateOrEdit = \"Create\";\r\n // this.TieUpDetails.reset();\r\n // this.TieUpDetails.controls[\"status\"].setValue(\"Active\");\r\n // this.setEnableDisable(\"create\");\r\n // this.loadDropDown();\r\n this.router.navigate(['/create-tie-up']);\r\n }\r\n resetForm() {\r\n if (this.apiData.formRequest.EditOrCreate == \"edit\") {\r\n this.TieUpDetails.patchValue(this.apiData.tieUpEdit.popData());\r\n } else {\r\n this.TieUpDetails.reset();\r\n this.TieUpDetails.controls.status.setValue('Active');\r\n }\r\n }\r\n submitClick() {\r\n this.setEnableDisable(\"create\");\r\n this.isValid = this.validate.submitDetails(this.TieUpDetails);\r\n this.loading = true;\r\n this.validate.trigger = false;\r\n if (this.isValid) {\r\n this.apiData.formRequest.getRequest(\r\n this.idVal,\r\n this.TieUpDetails.value,\r\n \"tieup\"\r\n );\r\n this.apiData.portalRevaApi.CreateEditTieUp(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n if (this.apiData.formRequest.EditOrCreate == \"edit\") {\r\n this.validate.popUpAlert(\"Tie-Up Updated Successfully\", \"\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(\"Tie-Up Created Successfully\", \"\", \"success\");\r\n }\r\n this.showModal = false;\r\n //$(\"#tieUpTable\").bootstrapTable(\"destroy\");\r\n this.getTieUpList();\r\n } else if (result.status == 0) {\r\n this.errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(this.errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n this.loading = false;\r\n let valid = true;\r\n Swal({\r\n title: \"Required\",\r\n text: \"Please Fill Required Fields!\",\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n }).then((result) => {\r\n Object.keys(this.TieUpDetails.controls).forEach(field => {\r\n const control = this.TieUpDetails.get(field);\r\n if (control.status == \"INVALID\" && valid) {\r\n if (field == \"country\" || field == \"status\") {\r\n setTimeout(() => this[field].optionsOpen(), 0);\r\n } else {\r\n setTimeout(() => this[field].nativeElement.focus(), 500);\r\n }\r\n valid = false;\r\n }\r\n });\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3RyYWNraW5nYWN0aXZpdHkvdHJhY2tpbmdhY3Rpdml0eS5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGOztFQUVEOzs7SUFHRTs7RUFFRjtJQUNFO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRiIsImZpbGUiOiJzcmMvYXBwX2Rldi90cmFja2luZ2FjdGl2aXR5L3RyYWNraW5nYWN0aXZpdHkuY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    Admin Functionality

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoUser NameUser TypeActivity TypeActivity DateAction
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\nimport { IMyDpOptions, IMyDateModel } from 'mydatepicker';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\ndeclare var $: any;\r\n\r\n\r\n@Component({\r\n selector: 'app-trackingactivity',\r\n templateUrl: './trackingactivity.component.html',\r\n styleUrls: ['./trackingactivity.component.css']\r\n})\r\nexport class TrackingactivityComponent implements OnInit {\r\n reportForm: any;\r\n tieuplist: any;\r\n tableData: any;\r\n resArray: any;\r\n loading: boolean = false;\r\n showTable: boolean = false;\r\n alertmessage: string;\r\n alerttype: string = 'Required';\r\n placeholderfrom: string = \"Select Date\";\r\n placeholderto: string = \"Select Date\";\r\n myDatePickerOptions: IMyDpOptions = {\r\n dateFormat: 'yyyy-mm-dd',\r\n sunHighlight: true,\r\n inline: false,\r\n selectionTxtFontSize: '16px',\r\n editableDateField: false,\r\n openSelectorOnInputClick: true,\r\n indicateInvalidDate: true,\r\n disableSince: { year: Number(new Date().getFullYear()), month: Number(new Date().getMonth() + 1), day: Number(new Date().getDate() + 1) }\r\n };\r\n constructor(private formBuilder: FormBuilder, private apiData: ApiService, private validate: MandatoryfieldService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n ngOnInit() {\r\n this.reportForm = this.formBuilder.group({\r\n tieupId: [\"\", Validators.required],\r\n fromDate: \"\",\r\n toDate: \"\",\r\n });\r\n this.loadDropDown();\r\n var obj = this;\r\n var rowindex = {};\r\n $(\"#activityByIdTable\").on(\"click\", \".enabledownload\", function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n console.log(rowindex);\r\n obj.alertService.downloadInUsertracking.set(rowindex[\"description\"], rowindex[\"activityType\"]);\r\n obj.downloadFile();\r\n });\r\n\r\n $(\"#activityByIdTable\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n });\r\n $(\"#activityByIdTable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getList();\r\n });\r\n }\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getTieUplist(res => {\r\n this.loading = false;\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n formRequest() {\r\n let array = {\r\n \"tieupId\": this.reportForm.value.tieupId,\r\n \"fromDate\": (this.validate.isUndefined(this.reportForm.value.fromDate)) ? \"\" : this.reportForm.value.fromDate.formatted,\r\n \"toDate\": (this.validate.isUndefined(this.reportForm.value.toDate)) ? \"\" : this.reportForm.value.toDate.formatted,\r\n }\r\n return array;\r\n }\r\n onDateChanged() {\r\n this.showTable = false;\r\n }\r\n validateEnteredDates() {\r\n this.alerttype = \"Required\";\r\n if (this.validate.isUndefined(this.reportForm.value.fromDate) && !this.validate.isUndefined(this.reportForm.value.toDate)) {\r\n this.alertmessage = \"Select From Date\";\r\n return false;\r\n } else if (!this.validate.isUndefined(this.reportForm.value.fromDate) && this.validate.isUndefined(this.reportForm.value.toDate)) {\r\n this.alertmessage = \"Select To Date\";\r\n return false;\r\n } \r\n else if (this.reportForm.value.fromDate.formatted >= this.reportForm.value.toDate.formatted) {\r\n this.alertmessage = \"To Date should not less than From Date\";\r\n this.alerttype = \"Alert\";\r\n return false;\r\n }\r\n else {\r\n this.alertmessage = \"Select Tie-Up Id\";\r\n return true;\r\n }\r\n }\r\n showtable() {\r\n if (this.validateEnteredDates() && this.validate.submitDetails(this.reportForm)) {\r\n this.apiData.roleApi.selectedData(this.formRequest(), \"activity\")\r\n this.alertService.downloadInUsertracking.remove();\r\n this.getList();\r\n } else {\r\n this.validate.popUpAlert(this.alertmessage, this.alerttype, \"warning\");\r\n }\r\n }\r\n getList() {\r\n this.loading = true;\r\n this.apiData.roleApi.getTrackinglist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.prepareJson(result);\r\n $(\"#activityByIdTable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#activityByIdTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showTable = true;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"warning\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"userName\"] = resData.data[i][\"userName\"];\r\n resArray1[\"userType\"] = resData.data[i][\"userType\"];\r\n resArray1[\"userId\"] = resData.data[i][\"userId\"];\r\n resArray1[\"id\"] = resData.data[i][\"id\"];\r\n resArray1[\"activityType\"] = resData.data[i][\"activityType\"];\r\n if (!this.validate.isUndefined(resData.data[i][\"activityDate\"])) {\r\n let date = resData.data[i][\"activityDate\"].split('T');\r\n resArray1[\"activityDate\"] = date[0];\r\n } else {\r\n resArray1[\"activityDate\"] = resData.data[i][\"activityDate\"];\r\n }\r\n resArray1[\"activityDateWithTime\"] = this.validate.convertDate(resData.data[i][\"activityDate\"]);\r\n \r\n \r\n if (resData.data[i][\"isDownloadFile\"]) {\r\n resArray1[\"action\"] = '
    '\r\n }\r\n resArray1[\"tenantId\"] = resData.data[i][\"tenantId\"];\r\n resArray1[\"description\"] = resData.data[i][\"description\"];\r\n resArray1[\"sno\"] = i + 1;\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n downloadFile() {\r\n this.loading = true;\r\n this.apiData.rateGenerationApi.downloadRateFile(res => {\r\n this.loading = false;\r\n this.commonfunctions.csvDownloadFromServer(res);\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n}\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3VzZXItY3JlYXRpb24vdXNlci1jcmVhdGlvbi5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBO0lBQ0k7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGOztFQUVEOzs7SUFHRTs7RUFFRjtJQUNFO1FBQ0ksWUFBWTtLQUNmO0lBQ0Q7UUFDSSxZQUFZO0tBQ2Y7R0FDRiIsImZpbGUiOiJzcmMvYXBwX2Rldi91c2VyLWNyZWF0aW9uL3VzZXItY3JlYXRpb24uY29tcG9uZW50LmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBtZWRpYSAobWluLXdpZHRoOiA0ODFweCkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvKiBcclxuICAgICMjRGV2aWNlID0gTW9zdCBvZiB0aGUgU21hcnRwaG9uZXMgTW9iaWxlcyAoUG9ydHJhaXQpXHJcbiAgICAjI1NjcmVlbiA9IEIvdyAzMjBweCB0byA0NzlweFxyXG4gICovXHJcbiAgXHJcbiAgQG1lZGlhIChtaW4td2lkdGg6IDMyMHB4KSBhbmQgKG1heC13aWR0aDogNDgwcHgpIHtcclxuICAgIC5jb250YWluZXItYm9keXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIC5jb250YWluZXItYm9keS1jcmVhdGV7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    User List

    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoUser NameTie-Up IDTie-up NameUser IDUser TypeEmail IDStatusEdit
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n\\r\\n \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n

    {{CreateOrEdit}} User

    \\r\\n

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

    \\r\\n
    \\r\\n\\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n SUBMIT\\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n\"","import { Component, OnInit, ViewChild, ElementRef } from \"@angular/core\";\r\ndeclare var $: any;\r\nimport Swal from 'sweetalert2';\r\nimport { RouterModule, Router, ActivatedRoute } from \"@angular/router\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport {\r\n FormBuilder,\r\n FormArray,\r\n Validators,\r\n FormControl,\r\n FormGroup\r\n} from \"@angular/forms\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { IfStmt } from \"@angular/compiler\";\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n@Component({\r\n selector: \"app-user-creation\",\r\n templateUrl: \"./user-creation.component.html\",\r\n styleUrls: [\"./user-creation.component.css\"]\r\n})\r\nexport class UserCreationComponent implements OnInit {\r\n /****Set Focus the element****/\r\n @ViewChild('userName') userName: ElementRef;\r\n @ViewChild('userEmailID') userEmailID: ElementRef;\r\n @ViewChild('userID') userID: ElementRef;\r\n @ViewChild('tieupID') tieupID: ElementRef;\r\n @ViewChild('userType') userType: ElementRef;\r\n //@ViewChild('status') status: ElementRef;\r\n\r\n\r\n loading: boolean = false;\r\n\r\n UserDetail: any;\r\n tieuplist: any = [];\r\n statusList: any = [];\r\n userlist: any;\r\n\r\n resArray: any = {};\r\n tableData: any = {};\r\n showModal: boolean = false;\r\n disablefield: boolean = true;\r\n showtable: boolean = false;\r\n isValid: boolean;\r\n CreateOrEdit: any;\r\n idVal: any;\r\n tenantID: any;\r\n errorText: any;\r\n type: any\r\n\r\n dropdownList: any;\r\n\r\n constructor(\r\n private alertService: AlertService,\r\n private router: Router,\r\n private formBuilder: FormBuilder,\r\n private apiData: ApiService,\r\n private validate: MandatoryfieldService,\r\n private route: ActivatedRoute,\r\n private commonfunctions: CommonfunctionsService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.getUserlist();\r\n this.UserDetail = this.loadForm();\r\n this.type = this.route.snapshot.paramMap.get(\"term\")\r\n if (this.type == \"create\") {\r\n this.CreateOrEdit = \"Create\";\r\n this.apiData.formRequest.EditOrCreate = \"create\";\r\n this.loadDropDown();\r\n this.UserDetail.patchValue(this.apiData.userEdit.popData());\r\n this.UserDetail.controls.userEmailID.enable(true);\r\n this.UserDetail.controls.tieupID.disable(true);\r\n this.showModal = true;\r\n }\r\n\r\n var obj = this;\r\n var rowindex = {};\r\n $(\"#usertable\").on(\"click\", \".editUser\", function (e) {\r\n e.stopImmediatePropagation();\r\n e.preventDefault();\r\n obj.CreateOrEdit = \"Edit\";\r\n obj.loadDropDown();\r\n obj.UserDetail.patchValue(obj.apiData.userEdit.popData());\r\n obj.UserDetail.controls.tieupID.disable(true);\r\n obj.showModal = true;\r\n });\r\n\r\n $(\"#usertable\").on(\"click-row.bs.table\", function (e, row, $element) {\r\n rowindex = {};\r\n rowindex = row;\r\n obj.idVal = row.id;\r\n obj.apiData.userEdit.pushdata(rowindex);\r\n });\r\n $(\"#usertable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getUserlist();\r\n });\r\n }\r\n\r\n getUserlist() {\r\n this.loading = true;\r\n this.apiData.userAPI.getUserList(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.loading = false;\r\n this.prepareJson(result);\r\n $(\"#usertable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#usertable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.showtable = true;\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"action\"] = \"\";\r\n resArray1[\"id\"] = resData.data[i][\"id\"];\r\n resArray1[\"tenantId\"] = resData.data[i][\"tenantId\"];\r\n resArray1[\"sno\"] = i + 1;\r\n resArray1[\"userName\"] = resData.data[i][\"userName\"];\r\n resArray1[\"tieupID\"] = resData.data[i][\"tieupID\"];\r\n resArray1[\"tieupName\"] = resData.data[i][\"tieupName\"];\r\n resArray1[\"userID\"] = resData.data[i][\"userID\"];\r\n resArray1[\"userType\"] = resData.data[i][\"userType\"];\r\n resArray1[\"userEmailID\"] = resData.data[i][\"userEmailID\"];\r\n resArray1[\"userMobileNumber\"] = resData.data[i][\"userMobileNumber\"];\r\n var status_txt=resData.data[i][\"status\"].toLowerCase();\r\n resArray1[\"status\"] = status_txt!='active' ? 'Inactive':'Active';\r\n resArray1[\"action\"] =\r\n '
    ';\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n loadForm() {\r\n return this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n tieupName: [\"\", Validators.required],\r\n userName: [\"\", Validators.required],\r\n userEmailID: [\"\", Validators.email],\r\n userID: [\"\", Validators.required],\r\n userType: [\"\", Validators.required],\r\n status: [\"\", Validators.required]\r\n });\r\n }\r\n loadDropDown() {\r\n this.statusList = this.apiData.dropdownList.userstatus;\r\n this.loading = true;\r\n this.apiData.getdropdownList.getUserType(res => {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.userlist = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n this.loading = true;\r\n this.apiData.getdropdownList.getTieUplist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n /** Create /Edit User **/\r\n\r\n createUser() {\r\n this.apiData.userEdit.removData();\r\n this.CreateOrEdit = \"Create\";\r\n this.UserDetail.reset();\r\n this.UserDetail.controls[\"status\"].setValue(\"Active\");\r\n this.UserDetail.controls.tieupID.enable(true);\r\n this.UserDetail.controls.userEmailID.enable(true);\r\n this.loadDropDown();\r\n this.showModal = true;\r\n }\r\n\r\n select(value: any) {\r\n var result = this.tieuplist.filter(obj => {\r\n return obj.value == value;\r\n });\r\n this.UserDetail.controls[\"tieupName\"].setValue(result[0].text);\r\n this.UserDetail.controls[\"tieupID\"].setValue(value);\r\n }\r\n closemodel() {\r\n this.showModal = false;\r\n if (this.type == \"create\") {\r\n this.router.navigate([\"/tie-up\"]);\r\n }\r\n }\r\n resetForm() {\r\n this.UserDetail.reset();\r\n if (this.apiData.formRequest.EditOrCreate == \"edit\" || this.type == \"create\") {\r\n this.UserDetail.patchValue(this.apiData.userEdit.popData());\r\n } else {\r\n this.UserDetail.controls.status.setValue('Active');\r\n }\r\n }\r\n submitClick() {\r\n debugger;\r\n this.UserDetail.controls.userEmailID.enable(true);\r\n this.UserDetail.controls.tieupID.enable(true);\r\n this.isValid = this.validate.submitDetails(this.UserDetail);\r\n this.loading = true;\r\n if (this.isValid) {\r\n this.apiData.formRequest.getRequest(\r\n this.idVal,\r\n this.UserDetail.value,\r\n \"user\"\r\n );\r\n this.apiData.userAPI.CreateOrEditUser(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n this.loading = false;\r\n let result = res;\r\n if (result.status == 1) {\r\n if (this.apiData.formRequest.EditOrCreate == \"edit\") {\r\n this.validate.popUpAlert(\"User Updated Successfully\", \"\", \"success\");\r\n } else {\r\n this.validate.popUpAlert(\"User Created Successfully\", \"\", \"success\");\r\n }\r\n this.showModal = false;\r\n //$(\"#usertable\").bootstrapTable(\"destroy\");\r\n this.getUserlist();\r\n } else if (result.status == 0) {\r\n this.errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(this.errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n this.loading = false;\r\n let valid = true;\r\n Swal({\r\n title: \"Required\",\r\n text: \"Please Fill Required Fields!\",\r\n type: \"warning\",\r\n confirmButtonColor: \"#175788\",\r\n }).then((result) => {\r\n if (result) {\r\n Object.keys(this.UserDetail.controls).forEach(field => {\r\n const control = this.UserDetail.get(field);\r\n if (control.status == \"INVALID\" && valid) {\r\n if (field == \"tieupID\" || field == \"status\" || field == \"userType\") {\r\n setTimeout(() => this[field].optionsOpen(), 0);\r\n } else {\r\n setTimeout(() => this[field].nativeElement.focus(), 500);\r\n }\r\n valid = false;\r\n }\r\n });\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","module.exports = \"@media (min-width: 481px) and (max-width: 767px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n /* \\r\\n ##Device = Most of the Smartphones Mobiles (Portrait)\\r\\n ##Screen = B/w 320px to 479px\\r\\n */\\r\\n \\r\\n @media (min-width: 320px) and (max-width: 480px) {\\r\\n .container-body{\\r\\n width: 100%;\\r\\n }\\r\\n .container-body-create{\\r\\n width: 100%;\\r\\n }\\r\\n }\\r\\n \\r\\n .zoom{\\r\\n transition: transform .2s;\\r\\n}\\r\\n \\r\\n .zoom:hover { /* IE 9 */ /* Safari 3-8 */\\r\\n transform: scale(1.2); \\r\\n }\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3VzZXJsaXN0LWRvd25sb2FkL3VzZXJsaXN0LWRvd25sb2FkLmNvbXBvbmVudC5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7SUFDSTtRQUNJLFlBQVk7S0FDZjtJQUNEO1FBQ0ksWUFBWTtLQUNmO0dBQ0Y7O0VBRUQ7OztJQUdFOztFQUVGO0lBQ0U7UUFDSSxZQUFZO0tBQ2Y7SUFDRDtRQUNJLFlBQVk7S0FDZjtHQUNGOztFQUVEO0lBQ0UsMEJBQTBCO0NBQzdCOztFQUNELGNBQytCLFVBQVUsQ0FDTixnQkFBZ0I7SUFDL0Msc0JBQXNCO0dBQ3ZCIiwiZmlsZSI6InNyYy9hcHBfZGV2L3VzZXJsaXN0LWRvd25sb2FkL3VzZXJsaXN0LWRvd25sb2FkLmNvbXBvbmVudC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAbWVkaWEgKG1pbi13aWR0aDogNDgxcHgpIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgLmNvbnRhaW5lci1ib2R5e1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gICAgLmNvbnRhaW5lci1ib2R5LWNyZWF0ZXtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLyogXHJcbiAgICAjI0RldmljZSA9IE1vc3Qgb2YgdGhlIFNtYXJ0cGhvbmVzIE1vYmlsZXMgKFBvcnRyYWl0KVxyXG4gICAgIyNTY3JlZW4gPSBCL3cgMzIwcHggdG8gNDc5cHhcclxuICAqL1xyXG4gIFxyXG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMjBweCkgYW5kIChtYXgtd2lkdGg6IDQ4MHB4KSB7XHJcbiAgICAuY29udGFpbmVyLWJvZHl7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgICAuY29udGFpbmVyLWJvZHktY3JlYXRle1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnpvb217XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG59XHJcbi56b29tOmhvdmVyIHtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMik7IC8qIElFIDkgKi9cclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyAvKiBTYWZhcmkgMy04ICovXHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IFxyXG4gIH1cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0= */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    User-List Download

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    S.NoUser NameUser TypeEmail IDStatus
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n\"","import { Component, OnInit } from '@angular/core';\r\n//import {ExcelService} from '../services/excel.service';\r\nimport { IMyDpOptions, IMyDateModel } from 'mydatepicker';\r\nimport { MandatoryfieldService } from '../common/Validators/mandatoryfield.service';\r\nimport { ApiService } from '../services/apiservices.service';\r\nimport { AlertService } from '../services/alert.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n\r\ndeclare var $: any;\r\ndeclare function escape(s: string): string;\r\n\r\n@Component({\r\n selector: 'app-userlist-download',\r\n templateUrl: './userlist-download.component.html',\r\n styleUrls: ['./userlist-download.component.css']\r\n})\r\nexport class UserlistDownloadComponent implements OnInit {\r\n TieUpListForm: any;\r\n loading: boolean = false;\r\n countryList: any;\r\n tieuplist: any;\r\n resArray: any;\r\n tableData: any;\r\n showTable: boolean = false;\r\n\r\n constructor(private formBuilder: FormBuilder, private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService, private commonfunctions: CommonfunctionsService) { }\r\n\r\n\r\n ngOnInit() {\r\n this.TieUpListForm = this.loadform();\r\n this.loadDropDown();\r\n if (!this.validate.isUndefined(this.alertService.getUserDetails(\"getCountry\"))) {\r\n this.TieUpListForm.controls[\"country\"].setValue(this.alertService.getUserDetails(\"getCountry\"));\r\n this.showTieupList();\r\n }\r\n var obj = this;\r\n $(\"#userListDownloadTable\").on(\"refresh.bs.table\", function (e, params) {\r\n obj.getFieldList();\r\n });\r\n }\r\n loadform() {\r\n return this.formBuilder.group({\r\n tieupID: [\"\", Validators.required],\r\n country: [\"\", Validators.required]\r\n });\r\n }\r\n\r\n loadDropDown() {\r\n this.loading = true;\r\n this.apiData.getdropdownList.getCountry(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.countryList = result.data;\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showTieupList() {\r\n this.tieuplist = [];\r\n this.TieUpListForm.controls[\"tieupID\"].setValue('');\r\n this.apiData.getdropdownList.selectedcountry(this.TieUpListForm.value.country);\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n this.apiData.getdropdownList.getTieUplistByCountry(res => {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n this.TieUpListForm.controls.tieupID.enable(true);\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n showtable() {\r\n if (this.validate.submitDetails(this.TieUpListForm)) {\r\n this.apiData.userlistDownloadApi.saveId(this.TieUpListForm.value.tieupID)\r\n this.getFieldList()\r\n } else {\r\n this.validate.popUpAlert(\"Please select a Tie-up to View the User List\", \"Required\", \"warning\");\r\n }\r\n }\r\n getFieldList() {\r\n this.loading = true;\r\n this.apiData.userlistDownloadApi.getlist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.prepareJson(result);\r\n $(\"#userListDownloadTable\").bootstrapTable(\"destroy\");\r\n this.tableData = $(\"#userListDownloadTable\").bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n }\r\n this.loading = false;\r\n this.showTable = true;\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n prepareJson(resData) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData.data.length; i++) {\r\n let resArray1 = {};\r\n resArray1[\"S.No\"] = i + 1;\r\n resArray1[\"User Name\"] = resData.data[i][\"userName\"];\r\n resArray1[\"User Type\"] = resData.data[i][\"userType\"];\r\n resArray1[\"Email ID\"] = resData.data[i][\"userEmailID\"];\r\n resArray1[\"Status\"] = resData.data[i][\"status\"];\r\n this.resArray.push(resArray1);\r\n }\r\n }\r\n exportAsXLSX(): void {\r\n if (this.resArray && this.resArray.length) {\r\n this.commonfunctions.exportAsExcelFile(this.resArray, Object.keys(this.resArray[0]), \"UserList\")\r\n\r\n }\r\n // var CSV = this.commonfunctions.JSONToXLSConvertor(this.resArray, 'ReportTitle', 'ShowLabel')\r\n // this.commonfunctions.xlsFileDownload(CSV, \"UserList\");\r\n //this.commonfunctions.exportAsExcelFile(this.resArray,\"UserList\");\r\n }\r\n}\r\n","module.exports = \"\\r\\n .container-body-report{\\r\\n top: 9.6rem;\\r\\n position: relative;\\r\\n background-color: rgb(245, 245, 245);\\r\\n}\\r\\n.bg-color{\\r\\n background-color: #f4f4f4;\\r\\n}\\r\\n.radio_icons{\\r\\n\\tmargin-bottom:30px;\\r\\n}\\r\\n[type=\\\"radio\\\"]:checked,\\r\\n[type=\\\"radio\\\"]:not(:checked) {\\r\\n position: absolute;\\r\\n left: -9999px;\\r\\n}\\r\\n[type=\\\"radio\\\"]:checked + label,\\r\\n[type=\\\"radio\\\"]:not(:checked) + label\\r\\n{\\r\\n position: relative;\\r\\n padding-left: 40px;\\r\\n cursor: pointer;\\r\\n line-height: 20px;\\r\\n display: inline-block;\\r\\n color: #000000;\\r\\n\\tfont-size:18px;\\r\\n\\tpadding-top:4px;\\r\\n}\\r\\n[type=\\\"radio\\\"]:checked + label:before,\\r\\n[type=\\\"radio\\\"]:not(:checked) + label:before {\\r\\n /* content: '';\\r\\n position: absolute;\\r\\n left: -1px!important;\\r\\n top: -1px!important;\\r\\n width: 32px!important;\\r\\n height: 32px!important;\\r\\n border: 5px solid #ffffff;\\r\\n border-radius: 100%;\\r\\n background: #bfbdbd;\\r\\n border-style: double; */\\r\\n content: '';\\r\\n position: absolute;\\r\\n left: 10px!important;\\r\\n top: 2px!important;\\r\\n width: 23px!important;\\r\\n height: 23px!important;\\r\\n border: 5px solid #ffffff;\\r\\n border-radius: 30%;\\r\\n background: #bfbdbd;\\r\\n border-style: double;\\r\\n}\\r\\n[type=\\\"radio\\\"]:checked + label:after,\\r\\n[type=\\\"radio\\\"]:not(:checked) + label:after {\\r\\n /* content: '';\\r\\n width: 22px!important;\\r\\n height: 22px!important;\\r\\n background: #175788 ;\\r\\n position: absolute;\\r\\n top: 4px!important;\\r\\n left: 4px!important;\\r\\n border-radius: 100%;\\r\\n -webkit-transition: all 0.2s ease;\\r\\n transition: all 0.2s ease; */\\r\\n content: '';\\r\\n width: 13px!important;\\r\\n height: 13px!important;\\r\\n background: #175788;\\r\\n position: absolute;\\r\\n top: 7px!important;\\r\\n left: 15px!important;\\r\\n border-radius: 30%;\\r\\n transition: all 0.2s ease;\\r\\n}\\r\\n[type=\\\"radio\\\"]:not(:checked) + label:after {\\r\\n opacity: 0;\\r\\n transform: scale(0);\\r\\n}\\r\\n[type=\\\"radio\\\"]:checked + label:after {\\r\\n opacity: 1;\\r\\n transform: scale(1);\\r\\n}\\r\\n.zoom{\\r\\n transition: transform .2s;\\r\\n}\\r\\n.zoom:hover { /* IE 9 */ /* Safari 3-8 */\\r\\n transform: scale(1.2); \\r\\n }\\r\\n\\r\\n\\r\\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNyYy9hcHBfZGV2L3ZpZXdyZXBvcnQvdmlld3JlcG9ydC5jb21wb25lbnQuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7RUFDRTtJQUNFLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIscUNBQXFDO0NBQ3hDO0FBQ0Q7RUFDRSwwQkFBMEI7Q0FDM0I7QUFFRDtDQUNDLG1CQUFtQjtDQUNuQjtBQUdEOztJQUVJLG1CQUFtQjtJQUNuQixjQUFjO0NBQ2pCO0FBQ0Q7OztJQUdJLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIsZ0JBQWdCO0lBQ2hCLGtCQUFrQjtJQUNsQixzQkFBc0I7SUFDdEIsZUFBZTtDQUNsQixlQUFlO0NBQ2YsZ0JBQWdCO0NBQ2hCO0FBQ0Q7O0lBRUk7Ozs7Ozs7Ozs0QkFTd0I7SUFDeEIsWUFBWTtJQUNaLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsbUJBQW1CO0lBQ25CLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsMEJBQTBCO0lBQzFCLG1CQUFtQjtJQUNuQixvQkFBb0I7SUFDcEIscUJBQXFCO0NBQ3hCO0FBQ0Q7O0lBRUk7Ozs7Ozs7OztpQ0FTNkI7SUFDN0IsWUFBWTtJQUNaLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFDdkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLG1CQUFtQjtJQUNuQiwwQkFBMEI7Q0FDN0I7QUFDRDtJQUNJLFdBQVc7SUFFWCxvQkFBb0I7Q0FDdkI7QUFDRDtJQUNJLFdBQVc7SUFFWCxvQkFBb0I7Q0FDdkI7QUFFRDtJQUNJLDBCQUEwQjtDQUM3QjtBQUNELGNBQytCLFVBQVUsQ0FDTixnQkFBZ0I7SUFDL0Msc0JBQXNCO0dBQ3ZCIiwiZmlsZSI6InNyYy9hcHBfZGV2L3ZpZXdyZXBvcnQvdmlld3JlcG9ydC5jb21wb25lbnQuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiXHJcbiAgLmNvbnRhaW5lci1ib2R5LXJlcG9ydHtcclxuICAgIHRvcDogOS42cmVtO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiKDI0NSwgMjQ1LCAyNDUpO1xyXG59XHJcbi5iZy1jb2xvcntcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xyXG59XHJcblxyXG4ucmFkaW9faWNvbnN7XHJcblx0bWFyZ2luLWJvdHRvbTozMHB4O1xyXG59XHJcblxyXG5cclxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkLFxyXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogLTk5OTlweDtcclxufVxyXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbCxcclxuW3R5cGU9XCJyYWRpb1wiXTpub3QoOmNoZWNrZWQpICsgbGFiZWxcclxue1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICBjb2xvcjogIzAwMDAwMDtcclxuXHRmb250LXNpemU6MThweDtcclxuXHRwYWRkaW5nLXRvcDo0cHg7XHJcbn1cclxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxyXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDpiZWZvcmUge1xyXG4gICAgLyogY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiAtMXB4IWltcG9ydGFudDtcclxuICAgIHRvcDogLTFweCFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMzJweCFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDMycHghaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiA1cHggc29saWQgI2ZmZmZmZjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYmZiZGJkO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBkb3VibGU7ICovXHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDEwcHghaW1wb3J0YW50O1xyXG4gICAgdG9wOiAycHghaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDIzcHghaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAyM3B4IWltcG9ydGFudDtcclxuICAgIGJvcmRlcjogNXB4IHNvbGlkICNmZmZmZmY7XHJcbiAgICBib3JkZXItcmFkaXVzOiAzMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAjYmZiZGJkO1xyXG4gICAgYm9yZGVyLXN0eWxlOiBkb3VibGU7XHJcbn1cclxuW3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXHJcblt0eXBlPVwicmFkaW9cIl06bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcclxuICAgIC8qIGNvbnRlbnQ6ICcnO1xyXG4gICAgd2lkdGg6IDIycHghaW1wb3J0YW50O1xyXG4gICAgaGVpZ2h0OiAyMnB4IWltcG9ydGFudDtcclxuICAgIGJhY2tncm91bmQ6ICMxNzU3ODggO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA0cHghaW1wb3J0YW50O1xyXG4gICAgbGVmdDogNHB4IWltcG9ydGFudDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyAqL1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICB3aWR0aDogMTNweCFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDEzcHghaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZDogIzE3NTc4ODtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogN3B4IWltcG9ydGFudDtcclxuICAgIGxlZnQ6IDE1cHghaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyLXJhZGl1czogMzAlO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcclxufVxyXG5bdHlwZT1cInJhZGlvXCJdOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDApO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcclxufVxyXG5bdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcclxufVxyXG5cclxuLnpvb217XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG59XHJcbi56b29tOmhvdmVyIHtcclxuICAgIC1tcy10cmFuc2Zvcm06IHNjYWxlKDEuMik7IC8qIElFIDkgKi9cclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjIpOyAvKiBTYWZhcmkgMy04ICovXHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMik7IFxyXG4gIH1cclxuXHJcbiJdfQ== */\"","module.exports = \"
    \\r\\n
    \\r\\n
    \\r\\n

    {{pageTitle}}

    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n
    \\r\\n \\r\\n
    \\r\\n
    \\r\\n\\r\\n\\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n \\r\\n
    Report{{report}}
    Tie-Up ID{{tieup}}\\r\\n
    Year{{year}}
    State{{state | titlecase}}
    Transaction ID{{transacion}}
    Year To Compare{{compareyear}}
    \\r\\n\\r\\n
    \\r\\n\\r\\n\"","import { Component, OnInit, NgZone, ElementRef, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { Chart, ChartData } from 'chart.js';\r\nimport jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { NvD3Module } from 'ngx-nvd3';\r\ndeclare var $: any;\r\nimport {\r\n FormBuilder,\r\n FormArray,\r\n Validators,\r\n FormControl,\r\n FormGroup\r\n} from \"@angular/forms\";\r\nimport { AlertService } from \"../services/alert.service\";\r\nimport { ApiService } from \"../services/apiservices.service\";\r\nimport { MandatoryfieldService } from \"../common/Validators/mandatoryfield.service\";\r\nimport { CommonfunctionsService } from '../services/commonfunctions.service';\r\n@Component({\r\n selector: 'app-viewreport',\r\n templateUrl: './viewreport.component.html',\r\n styleUrls: ['./viewreport.component.css']\r\n})\r\nexport class ViewreportComponent implements OnInit {\r\n reportForm: any;\r\n @ViewChild('nvd3') nvd3;\r\n public result;\r\n public barChartLabels = [];\r\n public barChartData = [];\r\n public barChartOptions = {};\r\n public filterName = {};\r\n /***********************\r\n * Bar chart options\r\n * ********************/\r\n public options = {\r\n scaleShowVerticalLines: false,\r\n responsive: true,\r\n animate: false,\r\n title: {},\r\n backgroundColor: \"#ddd\",\r\n animation: {\r\n onComplete: function () {\r\n var ctx = this.chart.ctx;\r\n ctx.font = \"10px!important 'Helvetica Neue', Helvetica, Arial, sans-serif\"\r\n ctx.textAlign = 'center';\r\n ctx.textBaseline = 'middle';\r\n ctx.imageSmoothingQuality = 'high';\r\n this.data.datasets.forEach(function (dataset) {\r\n for (var i = 0; i < dataset.data.length; i++) {\r\n var model = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._model,\r\n scale_max = dataset._meta[Object.keys(dataset._meta)[0]].data[i]._yScale.maxHeight;\r\n ctx.fillStyle = '#738593';\r\n var y_pos = model.y - 5;\r\n // Make sure data value does not get overflown and hidden\r\n // when the bar's value is too close to max value of scale\r\n // Note: The y value is reverse, it counts from top down\r\n if ((scale_max - model.y) / scale_max >= 0.93)\r\n y_pos = model.y + 20;\r\n ctx.fillText(dataset.data[i], model.x, y_pos);\r\n }\r\n });\r\n },\r\n },\r\n scales: {\r\n xAxes: [{\r\n barPercentage: 0.8,\r\n xLabels: this.barChartLabels,\r\n gridLines: {\r\n display: false,\r\n color: \"#ddd\",\r\n },\r\n\r\n }],\r\n yAxes: [{\r\n ticks: {\r\n beginAtZero: true,\r\n callback: function (value) { return value + \"%\" }\r\n }, gridLines: {\r\n display: true,\r\n color: \"#ddd\"\r\n },\r\n scaleLabel: {\r\n display: true,\r\n labelString: \"Percentage\"\r\n }\r\n }]\r\n },\r\n legend: {\r\n display: true,\r\n position: 'bottom',\r\n labels: {\r\n fontColor: '#175788',\r\n boxWidth: 10,\r\n }\r\n },\r\n };\r\n /***********************\r\n * Boxplot chart options\r\n * ********************/\r\n public optionsplot = {\r\n chart: {\r\n type: 'boxPlotChart',\r\n height: 450,\r\n width: 1000,\r\n showXAxis: true,\r\n showYAxis: true,\r\n xAxis: {\r\n axisLabel: \"Year\",\r\n axisLabelDistance: 10,\r\n tickSize: 1,\r\n tickPadding: 12,\r\n line: {\r\n display: true,\r\n color: \"#ddd\"\r\n }\r\n },\r\n yAxis: {\r\n tickSize: 1,\r\n tickPadding: 3,\r\n showMaxMin: true,\r\n line: {\r\n display: true,\r\n color: \"#ddd\"\r\n }\r\n },\r\n margin: {\r\n top: 20,\r\n right: 20,\r\n bottom: 60,\r\n left: 60\r\n },\r\n color: [\"#04315B\", \"#007F92\", \"#7FA1B1\"],\r\n maxBoxWidth: 100,\r\n label: \"title text\",\r\n subtitle: {\r\n enable: true,\r\n text: \"text\"\r\n },\r\n }\r\n };\r\n myChart: Chart = [];\r\n boxPlotData = [];\r\n ReportList: any = [];\r\n tieuplist: any = [];\r\n transactionIdList: any = [];\r\n yearlist: any = [];\r\n stateList: any = [];\r\n levels: any;\r\n resArray: any = [];\r\n fields: any = [];\r\n title: any = [];\r\n crops: any = [];\r\n compareyearlist: any = [];\r\n tableData: any;\r\n firstCrop: any;\r\n showChart: boolean = false;\r\n showcomparison: boolean = false;\r\n loading: boolean = false;\r\n showBoxChart: boolean = false;\r\n pricingresults: boolean = false;\r\n comparison_previousyear_rates: boolean = false;\r\n pricingresults_loadings: boolean = false;\r\n uw_comments: boolean = false;\r\n downloadAllTable: boolean = false;\r\n notComprehensive: boolean = true;\r\n report: any = \"\";\r\n tieup: any = \"\";\r\n year: any = \"\";\r\n state: any = \"\";\r\n transacion: any = \"\";\r\n tableName: any = \"\";\r\n compareyear: any = \"\"\r\n startY: any = 170;\r\n /*********************Hardcoded for warning tables******************/\r\n showMultiTable: boolean = false;\r\n tableCount: any = [\r\n { fields: \"csvGiveWarningsfieldname\", data: \"csvGiveWarnings\", table: \"csvWarningTable\" },\r\n { fields: \"deviationfieldname\", data: \"deviationWarningsOut\", table: \"deviationWarningTable\" },\r\n { fields: \"percentilefieldname\", data: \"previousYearsPercentileOut\", table: \"percentileWarningTable\" }];\r\n multiTableData: any = {\r\n \"pricingresults\": \"\",\r\n \"pricingresults_loadings\": \"\",\r\n \"uw_comments\": \"\",\r\n \"csvGiveWarnings\": \"\",\r\n \"deviationWarningsOut\": \"\",\r\n \"previousYearsPercentileOut\": \"\",\r\n \"comparison_previousyear_rates\": \"\"\r\n }\r\n multitableHeaders: any = {\r\n \"pricingresults\": \"\",\r\n \"pricingresults_loadings\": \"\",\r\n \"uw_comments\": \"\",\r\n \"csvGiveWarnings\": \"\",\r\n \"deviationWarningsOut\": \"\",\r\n \"previousYearsPercentileOut\": \"\",\r\n \"comparison_previousyear_rates\": \"\"\r\n }\r\n multitableTitles: any = {\r\n \"pricingresults\": \"\",\r\n \"pricingresults_loadings\": \"\",\r\n \"uw_comments\": \"\",\r\n \"csvGiveWarnings\": \"\",\r\n \"deviationWarningsOut\": \"\",\r\n \"previousYearsPercentileOut\": \"\",\r\n \"comparison_previousyear_rates\": \"\"\r\n }\r\n multipleTableDataForExcel: any = {}\r\n\r\n public pageTitle = \"Report List\"\r\n public tieupId: any;\r\n\r\n years: any[] = [];\r\n yearErrorData: any[] = [];\r\n excelJsonData: any[] = [];\r\n warningYield = null;\r\n\r\n constructor(private readonly elementRef: ElementRef, private readonly ngZone: NgZone, private formBuilder: FormBuilder,\r\n private validate: MandatoryfieldService, private apiData: ApiService, private alertService: AlertService,\r\n private commonfunctions: CommonfunctionsService) {\r\n }\r\n\r\n ngOnInit() {\r\n this.tieupId = this.alertService.getUserDetails(\"getTieup\");\r\n this.apiData.outputCombo.removData();\r\n this.reportForm = this.formBuilder.group({\r\n reportName: [this.tieupId ? \"comprehensive_report\" : \"\", Validators.required],\r\n tieupName: [this.tieupId || \"\", Validators.required],\r\n Year: [\"\", Validators.required],\r\n transactionID: [\"\", Validators.required],\r\n state: [\"\", Validators.required],\r\n compareyear: [\"\", Validators.required]\r\n });\r\n if (this.tieupId) {\r\n this.pageTitle = \"Comprehensive Report\";\r\n // this.reportselection(\"comprehensive_report\")\r\n }\r\n this.loadDropDown();\r\n this.getReports();\r\n }\r\n /*****************************************************\r\n * get report list on page load\r\n * ****************************************************/\r\n getReports() {\r\n let empty = {};\r\n this.apiData.formRequest.getRequest(\"\", empty, \"getReprtList\");\r\n this.loading = true;\r\n this.apiData.finalReportsApi.getReport(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.ReportList = result.data;\r\n if (this.tieupId) {\r\n this.reportselection(\"comprehensive_report\")\r\n }\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /*******************************\r\n * get tieup and years dropdown on page load\r\n * *****************************/\r\n loadDropDown() {\r\n this.apiData.getdropdownList.getTieUplist(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.tieuplist = result.data;\r\n if (this.tieupId) {\r\n this.closeall();\r\n this.clearYear();\r\n }\r\n } else {\r\n let errorText = this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n getReportYears() {\r\n this.yearlist = [];\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getReportYears\");\r\n this.apiData.getdropdownList.getReportYears(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n this.yearlist = result.data.filter(d => d.value != 0);\r\n } else {\r\n let errorText = (result.data == \"NO_DATA_FOUND\") ? \"Year data not found\" : this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /*****************************************************\r\n * close the reports while reselect any dropdown options\r\n * ****************************************************/\r\n closeall() {\r\n this.showChart = false;\r\n this.showBoxChart = false;\r\n this.showMultiTable = false;\r\n this.pricingresults = false;\r\n this.pricingresults_loadings = false;\r\n this.comparison_previousyear_rates = false;\r\n this.uw_comments = false;\r\n this.downloadAllTable = false;\r\n }\r\n /***************************************************************\r\n * clear year dropdown when tieup reselect && get the report years\r\n * *************************************************************/\r\n clearYear() {\r\n this.reportForm.controls[\"Year\"].setValue(\"\");\r\n this.getReportYears();\r\n }\r\n /************************************************************************\r\n * show comparison year dropdown while selection comparison report choosing\r\n * ***********************************************************************/\r\n reportselection(value) {\r\n this.closeall();\r\n this.showcomparison = false;\r\n this.notComprehensive = true;\r\n this.reportForm.controls.compareyear.disable(true);\r\n this.reportForm.controls.compareyear.setValue(\"\");\r\n this.report = this.getTableName(value);\r\n if (value == \"comprehensive_report\") { // changes on 20-03-2019\r\n this.notComprehensive = false;\r\n } else if (value == \"warningmessages\") {\r\n this.reportForm.controls.tieupName.setValue('root')\r\n this.closeall();\r\n this.clearYear()\r\n }\r\n }\r\n /************************************************************************\r\n * get 'years to compare' dropdown list\r\n * ***********************************************************************/\r\n getPreviousYearToCompare() {\r\n this.loading = true;\r\n this.compareyearlist = [];\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getCompareyear\");\r\n this.apiData.finalReportsApi.getPreviousYearToCompare(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.compareyearlist = result.data;\r\n } else {\r\n let errorText = (result.data == \"NO_DATA_FOUND\") ? \"Year to compare not found for \" + this.reportForm.value.tieupName : this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /************************************************************************\r\n * get 'state' dropdown based on year\r\n * ***********************************************************************/\r\n getState() {\r\n this.loading = true;\r\n this.stateList = [];\r\n this.transactionIdList = [];\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getState\");\r\n this.apiData.finalReportsApi.getState(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.stateList = result.data;\r\n } else {\r\n let errorText = (result.data == \"NO_DATA_FOUND\") ? \"State data not found\" : this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n /************************************************************************\r\n * get transactionid dropdown list based on state\r\n * ***********************************************************************/\r\n getTransactionid() {\r\n this.transactionIdList = [];\r\n if (this.reportForm.get('reportName').value == \"warningmessages\") {\r\n return\r\n }\r\n this.loading = true;\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getTransactionid\");\r\n this.apiData.finalReportsApi.getTransactionid(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n this.loading = false;\r\n if (result.status == 1) {\r\n this.transactionIdList = result.data;\r\n } else {\r\n let errorText = (result.data == \"NO_DATA_FOUND\") ? \"Transaction ID not found\" : this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n getTableName(value) {\r\n var result = this.ReportList.filter(obj => {\r\n return obj.value == value;\r\n });\r\n return result[0].text;\r\n }\r\n /************************************************************************\r\n * show the reports when view button is clicked\r\n * ***********************************************************************/\r\n showchart(selectreport) {\r\n this.years = [];\r\n this.yearErrorData = [];\r\n this.excelJsonData = []\r\n this.warningYield = null;\r\n if (this.reportForm.value.reportName == \"warningmessages\") {\r\n this.getWarningReport()\r\n return;\r\n }\r\n if (this.validate.submitDetails(this.reportForm) || (this.reportForm.value.reportName == \"comparison_previousyear_rates\" && this.reportForm.value.tieupName)) {\r\n this.loading = true;\r\n this.tieup = this.reportForm.value.tieupName;\r\n this.year = this.reportForm.value.Year;\r\n this.state = this.reportForm.value.state;\r\n this.transacion = this.reportForm.value.transactionID;\r\n if (selectreport == \"pricingresults\") {\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getPricingResultsRpt\");\r\n this.loadTable(\"getPricingResultsRpt\", selectreport);\r\n } else if (selectreport == \"pricingresults_loadings\") {\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getPricingResultsRpt\");\r\n this.loadTable(\"getPricingResultsLoadingsRpt\", selectreport);\r\n } else if (selectreport == \"warningmessages\") {\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getPricingResultsRpt\");\r\n this.loadTable(\"giveWarningMessageRpt\", selectreport);\r\n } else if (selectreport == \"uw_comments\") {\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"UWCommentsRpt\");\r\n this.loadTable(\"UWCommentsRpt\", selectreport);\r\n } else if(selectreport == \"comparison_previousyear_rates\") {\r\n this.loadPreviousYearDataTable(\"UWCommentsRpt\", selectreport);\r\n } else if (selectreport == \"comprehensive_report\") {\r\n for (var i = 0; i < this.ReportList.length; i++) {\r\n if (i===0 && !this.tieup) {\r\n this.getWarningReport()\r\n }\r\n let value = this.ReportList[i].value\r\n if (value == \"pricingresults\" || value == \"pricingresults_loadings\" || value == \"uw_comments\" || value == \"warningmessages\") {\r\n if (!this.tieupId || !['warningmessages', 'pricingresults'].includes(value))\r\n this.showchart(value);\r\n }\r\n }\r\n this.downloadAllTable = true;\r\n } else if (selectreport == \"comparison_previousyear_rates\") {\r\n this.compareyear = this.reportForm.value.compareyear;\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getBarChart\");\r\n this.apiData.finalReportsApi.getPreviousYearRatesComparisonRpt(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n this.result = res;\r\n this.loading = false;\r\n if (this.result.status == 1) {\r\n $(\"#chartContainer\").empty();\r\n this.levels = this.result.level;\r\n /*************************************************************************\r\n * barchart creation\r\n *************************************************************************/\r\n for (var i = 0; i < this.result.admin.length; i++) {\r\n $(\"#chartContainer #display-chart\" + i).remove();\r\n var canvas = $('');\r\n $(\"#chartContainer\").append(canvas);\r\n this.onSelectionChange(this.result.admin[i], i);\r\n }\r\n } else {\r\n let errorText = (this.result.data == \"NO_DATA_FOUND\") ? \"No report found for \" + this.reportForm.value.transactionID : this.alertService.ErrorText.checkError(this.result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else if (selectreport == \"boxplots\") {\r\n this.firstCrop = \"\";\r\n this.apiData.formRequest.getRequest(\"\", this.reportForm.value, \"getPricingResultsRpt\");\r\n this.apiData.finalReportsApi.getBoxplotRpt(res => {\r\n if (!this.validate.isUndefined(res)) {\r\n this.result = res;\r\n this.loading = false;\r\n if (this.result.status == 1) {\r\n this.crops = this.result.crops;\r\n this.firstCrop = this.crops[0];\r\n this.makeBoxPlotData(this.firstCrop);\r\n this.showBoxChart = true;\r\n } else {\r\n let errorText = (this.result.data == \"NO_DATA_FOUND\") ? \"No report found for \" + this.reportForm.value.transactionID : this.alertService.ErrorText.checkError(this.result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }, err => {\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n } else {\r\n this.loading = false;\r\n }\r\n } else {\r\n this.validate.popUpAlert(\"Please Select Required Fields!\", \"Required\", \"warning\");\r\n }\r\n }\r\n\r\n /************************************************************************\r\n * load the table format reports\r\n * ***********************************************************************/\r\n loadTable(serviceName, selectedName) {\r\n this.loading = true;\r\n this.apiData.finalReportsApi[serviceName](res =>\r\n {\r\n this.handleTableResponse(res, serviceName, selectedName);\r\n }, err => {\r\n this.multiTableData[selectedName] = [];\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n });\r\n }\r\n\r\n loadPreviousYearDataTable(serviceName, selectedName) {\r\n this.loading = true;\r\n this.apiData.finalReportsApi.previousYearPricingResultsRpt(this.reportForm.value.tieupName, res => {\r\n if (res && res.data && res.data.length) {\r\n res.data = Array.from(new Set(res.data.map(d => d.admin2 + d.crop))).map(d => res.data.find(e => (e.admin2 + e.crop) === d)).sort((a,b) => a.sno - b.sno)\r\n }\r\n this.handleTableResponse(res, serviceName, selectedName);\r\n }, err => {\r\n this.multiTableData[selectedName] = [];\r\n this.loading = false;\r\n this.commonfunctions.serviceErrorHandling(err);\r\n })\r\n }\r\n\r\n handleTableResponse(res: any, serviceName: any, selectedName: any) {\r\n if (!this.validate.isUndefined(res)) {\r\n let result = res;\r\n if (result.status == 1) {\r\n if (result.fieldname) {\r\n for (let i = 0; i < res.fieldname.length; i++) {\r\n const data = res.fieldname[i];\r\n if (!data.hide) {\r\n if (['sum_insured'].includes(data.name)) {\r\n data.title += ' (Cr)'\r\n }\r\n }\r\n }\r\n result.fieldname = res.fieldname.filter(d => !d.hide)\r\n result.fieldname\r\n }\r\n if (result.data) {\r\n for(let i = 0; i< result.data.length; i++) {\r\n const data = result.data[i]\r\n if (data) {\r\n if (data.sum_insured || data.sum_insured == 0) {\r\n data.actual_sum_insured = data.sum_insured;\r\n data.sum_insured = +(+data.sum_insured / 1e7).toFixed(2)\r\n }\r\n if (data.area_sown || data.area_sown == 0) {\r\n data.actual_area_sown = data.area_sown;\r\n data.area_sown = +data.area_sown.toFixed(0)\r\n }\r\n\r\n }\r\n }\r\n }\r\n if (serviceName == \"giveWarningMessageRpt\") {\r\n for (var i = 0; i < this.tableCount.length; i++) {\r\n $(\"#\" + this.tableCount[i].table).bootstrapTable(\"destroy\");\r\n this.prepareMultitableHeader(result, this.tableCount[i].fields, this.tableCount[i].table, this.tableCount[i].data);\r\n this.prepareMultiTableJson(result, this.tableCount[i].data, this.tableCount[i].data);\r\n this.multipleTableDataForExcel[this.tableCount[i].data] = result\r\n $(\"#\" + this.tableCount[i].table).bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n }\r\n setTimeout(() => this.loading = false, 500);\r\n this.showMultiTable = true;\r\n } else {\r\n let tableName = selectedName + \"Table\";\r\n $(\"#\" + tableName).bootstrapTable(\"destroy\");\r\n this.prepareMultitableHeader(result, \"fieldname\", tableName, selectedName);\r\n this.prepareMultiTableJson(result, \"data\", selectedName);\r\n this.multipleTableDataForExcel[selectedName] = result;\r\n this[selectedName] = true;\r\n this.tableData = $(\"#\" + tableName).bootstrapTable({\r\n data: this.resArray,\r\n columnDefs: [\r\n {\r\n className: \"table-data\"\r\n }\r\n ],\r\n select: true\r\n });\r\n this.loading = false;\r\n }\r\n } else {\r\n this.multiTableData[selectedName] = [];\r\n this.loading = false;\r\n let errorText = (result.data == \"NO_DATA_FOUND\") ? \"No report found for \" + this.reportForm.value.transactionID : this.alertService.ErrorText.checkError(result.data);\r\n this.validate.popUpAlert(errorText, \"\", \"error\");\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * load the table format reports for warnings\r\n */\r\n getWarningReport() {\r\n const reportValue = this.reportForm.value;\r\n if (!reportValue.Year || !reportValue.state) {\r\n this.validate.popUpAlert(\"Please Select Required Fields!\", \"Required\", \"warning\");\r\n return;\r\n }\r\n this.loading = true;\r\n this.apiData.masterUploadgetAgreeDatasetWarnings(reportValue.Year,reportValue.state).then((response: any) => {\r\n if (response.status == 1) {\r\n if (!response.data.reva_BlankWarningYields && !response.data.reva_OutliersWarningYields && !response.data.reva_ZeroWarningYields){\r\n } else {\r\n this.warningYield = response.data;\r\n }\r\n }\r\n this.loading = false;\r\n }).catch(err => {\r\n this.loading = false;\r\n console.log(err)\r\n })\r\n }\r\n\r\n /************************************************************************\r\n * header creation for table data\r\n * ***********************************************************************/\r\n prepareMultitableHeader(resData, filed, tableid, data) {\r\n this.fields = [];\r\n this.title = [];\r\n document.getElementById(data).innerHTML = \"\";\r\n for (var i = 0; i < resData[filed].length; i++) {\r\n let resArray1 = {};\r\n this.fields.push(resData[filed][i][\"title\"]);\r\n this.title.push({ header: resData[filed][i][\"title\"], field: resData[filed][i][\"name\"] });\r\n var tr = $('' + resData[filed][i][\"title\"] + '');\r\n $(\"#\" + tableid + \" thead tr\").append(tr);\r\n }\r\n this.multitableHeaders[data] = this.fields;\r\n this.multitableTitles[data] = this.title;\r\n }\r\n /************************************************************************\r\n * table data creation\r\n * ***********************************************************************/\r\n prepareMultiTableJson(resData, data, id) {\r\n this.resArray = [];\r\n for (var i = 0; i < resData[data].length; i++) {\r\n let resArray1 = {};\r\n for (var j = 0; j < this.title.length; j++) {\r\n resArray1[this.title[j].header] = resData[data][i][this.title[j].field];\r\n }\r\n this.resArray.push(resArray1);\r\n }\r\n this.multiTableData[id] = this.resArray;\r\n }\r\n\r\n /************************************************************************\r\n * creation box plot chart data\r\n * ***********************************************************************/\r\n makeBoxPlotData(crop) {\r\n this.boxPlotData = [];\r\n for (var i = 0; i < this.result.data.length; i++) {\r\n if (crop == this.result.data[i][\"crop\"]) {\r\n let resArray1 = {};\r\n let outlier = [];\r\n let data = [];\r\n resArray1[\"whisker_low\"] = this.result.data[i][\"minimumYieldByYear\"];\r\n resArray1[\"whisker_high\"] = this.result.data[i][\"maximumYieldByYear\"];\r\n resArray1[\"Q1\"] = this.result.data[i][\"q1ByYear\"];\r\n resArray1[\"Q2\"] = this.result.data[i][\"medianByYear\"];\r\n resArray1[\"Q3\"] = this.result.data[i][\"q3ByYear\"];\r\n outlier.push(this.result.data[i][\"percentileByYear\"]);\r\n resArray1[\"outliers\"] = outlier;\r\n this.boxPlotData.push({ \"label\": this.result.data[i][\"previousYear\"], \"values\": resArray1 })\r\n }\r\n }\r\n this.optionsplot.chart.xAxis.axisLabel = crop;\r\n this.nvd3.options = this.optionsplot;\r\n }\r\n /************************************************************************\r\n * creation bar chart data\r\n * ***********************************************************************/\r\n\r\n clearCharts() {\r\n this.barChartOptions = {};\r\n this.barChartLabels = [];\r\n this.barChartData = [];\r\n }\r\n\r\n onSelectionChange(value, chartNumber) {\r\n this.clearCharts();\r\n var filter = this.result.level;\r\n let chartlabearray = [];\r\n let barchartdataset = [];\r\n let color, highlightFill, highlightStroke = \"\";\r\n for (var i = 0; i < this.result.data.length; i++) {\r\n if (this.result.data[i][\"admin\"] == value) {\r\n chartlabearray.push(this.result.data[i].crop);\r\n }\r\n }\r\n\r\n this.barChartLabels = chartlabearray;\r\n for (var k = 0; k < this.result.dataplot.length; k++) {\r\n let plottData = [];\r\n let labels = \"\";\r\n let data = [];\r\n for (var j = 0; j < this.result.data.length; j++) {\r\n for (var i = 0; i < chartlabearray.length; i++) {\r\n if (chartlabearray[i] == this.result.data[j].crop && this.result.data[j][\"admin\"] == value) {\r\n plottData.push(this.result.data[j][this.result.dataplot[k]].value)\r\n labels = this.result.data[j][this.result.dataplot[k]].text;\r\n color = this.getRandomColor(k);\r\n }\r\n }\r\n }\r\n barchartdataset.push({\r\n data: plottData, label: labels, borderWidth: 1, backgroundColor: color\r\n });\r\n }\r\n this.barChartData = barchartdataset;\r\n this.filterName = {\r\n display: true,\r\n position: \"top\",\r\n text: this.levels + \" - \" + value,\r\n fontSize: 15,\r\n fontColor: \"#175788\"\r\n };\r\n this.options.title = this.filterName;\r\n this.barChartOptions = this.options;\r\n // if (!this.validate.isUndefined(this.myChart[chartNumber])) {\r\n // this.myChart[chartNumber].data.datasets = this.barChartData;\r\n // this.myChart[chartNumber].data.labels = this.barChartLabels;\r\n // this.myChart[chartNumber].options = this.barChartOptions;\r\n // this.myChart[chartNumber].update();\r\n // } else {\r\n this.initChart(chartNumber);\r\n // }\r\n this.showChart = true;\r\n }\r\n\r\n getRandomColor(count) {\r\n let colorpatterns = [\"#04315B\", \"#007F92\", \"#7FA1B1\"]\r\n return colorpatterns[count];\r\n }\r\n initChart(chartNumber) {\r\n document.getElementById(\"display-chart\" + chartNumber).innerHTML = \"\";\r\n let ctx = document.getElementById(\"display-chart\" + chartNumber);\r\n this.myChart[chartNumber] = new Chart(ctx, {\r\n type: 'bar',\r\n destroy: true,\r\n data: {\r\n labels: this.barChartLabels,\r\n datasets: this.barChartData\r\n },\r\n options: this.options,\r\n defaultFontSize: 10\r\n });\r\n }\r\n /************************************************************************\r\n * create pdf for chart\r\n * ***********************************************************************/\r\n exportToPdf(chart) {\r\n let pageMode = 'p';\r\n if (this.multitableTitles[chart] && this.multitableTitles[chart].length > 10) {\r\n pageMode = 'l'\r\n }\r\n let canvas;\r\n var canvasImg = [];\r\n var reportPageHeight = \"\"\r\n var reportPageHeight = \"\";\r\n var pdf = new jsPDF(pageMode, 'pt', 'a4');\r\n if (chart == \"bar\") {\r\n var pdfctxX = 30;\r\n var pdfctxY = 220;\r\n var buffer = 30;\r\n this.addHeader(pdf);\r\n for (var i = 0; i < this.result.admin.length; i++) {\r\n canvas = document.getElementById('display-chart' + i);\r\n canvasImg = canvas.toDataURL(\"image/PNG\", 1.0);\r\n pdf.setFontSize(30);\r\n pdf.addImage(canvasImg, 'PNG', pdfctxX, pdfctxY, 500, 320);\r\n pdfctxX = 30;\r\n pdfctxY += 320 + buffer;\r\n if (i % 2 != 1 && i != this.result.admin.length - 1) {\r\n pdfctxY = 40;\r\n pdf.addPage();\r\n }\r\n }\r\n pdf.save(this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID + '_' + this.commonfunctions.getDateTimeExt() + \".pdf\");\r\n } else if (chart == \"box\") {\r\n document.getElementById(\"canvas2\").innerHTML = \"\";\r\n var appendCanvas = $('');\r\n $(\"#canvas2\").append(appendCanvas);\r\n var svgString = new XMLSerializer().serializeToString(document.querySelector('svg'));\r\n canvas = document.getElementById(\"display-box-chart\");\r\n var ctx = canvas.getContext(\"2d\");\r\n var DOMURL = self.URL;\r\n var img = new Image();\r\n var svg = new Blob([svgString], { type: \"image/svg+xml;charset=utf-8\" });\r\n var url = DOMURL.createObjectURL(svg);\r\n // var pdfctxX = 40;\r\n // var pdfctxY = 570;\r\n var pdfctxX = 160;\r\n var pdfctxY = 570;\r\n var reportName = this.reportForm.value.reportName;\r\n var transactionId = this.reportForm.value.transactionID;\r\n var obj = this;\r\n img.onload = function () {\r\n ctx.drawImage(img, 0, 0);\r\n var png = canvas.toDataURL(\"image/png\");\r\n pdf.addImage(png, 'PNG', 15, pdfctxX, pdfctxY, 300, 300);\r\n obj.addHeader(pdf);\r\n pdf.save(reportName + \"_\" + transactionId + '_' + obj.commonfunctions.getDateTimeExt() + \".pdf\");\r\n };\r\n img.src = url;\r\n }\r\n else {\r\n var doc = new jsPDF(pageMode, 'pt', 'a4');\r\n if (this.reportForm.value.reportName == \"comprehensive_report\" && chart == \"all\") {\r\n let objValues = Object.keys(this.multitableHeaders);\r\n var firstRpt=true;\r\n for (var i = 0; i < objValues.length; i++) {\r\n var rpt_name=objValues[i];\r\n if(this.multiTableData[rpt_name].length>0)\r\n {\r\n if(firstRpt!=true){\r\n doc.addPage();\r\n }\r\n firstRpt=false;\r\n this.addHeader(doc);\r\n this.convertToPdf(objValues[i], doc);\r\n this.startY = 170;\r\n // if (i < objValues.length - 1) {\r\n // doc.addPage();\r\n // }\r\n }\r\n }\r\n } else {\r\n this.startY = 170;\r\n this.addHeader(doc);\r\n this.convertToPdf(chart, doc);\r\n }\r\n doc.save(this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID + '_' + this.commonfunctions.getDateTimeExt() + \".pdf\");\r\n }\r\n }\r\n addHeader(doc) {\r\n doc.autoTable({\r\n html: '#example',\r\n tableLineColor: \"#175788\",\r\n tableLineWidth: 0.2,\r\n margin: {\r\n right: 20,\r\n left: 20\r\n },\r\n headStyles: {\r\n fontSize: 8,\r\n fontStyle: 'normal',\r\n textColor: \"#fff\",\r\n fillColor: \"#175788\",\r\n halign: 'left'\r\n },\r\n styles: {\r\n // cellWidth: 275\r\n },\r\n theme: \"striped\",\r\n bodyStyles: {\r\n fontSize: 10\r\n },\r\n });\r\n }\r\n /************************************************************************\r\n * excel download for table data\r\n * ***********************************************************************/\r\n exportAsXLSX(value): void {\r\n if (value == \"singletable\") {\r\n this.commonfunctions.exportAsExcelFile(this.resArray, this.fields, this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID);\r\n }\r\n else if (value == 'all' && this.reportForm.value.reportName == \"comprehensive_report\") {\r\n this.commonfunctions.exportComprehensiveExcel(this.multiTableData, this.multitableHeaders, this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID);\r\n }\r\n else if (value == 'all' && this.reportForm.value.reportName != \"comprehensive_report\") {\r\n this.commonfunctions.exportAsMultiExcelFile(this.multiTableData, this.multitableHeaders, this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID);\r\n } else {\r\n const resultData = this.generateExcelData(this.multipleTableDataForExcel[value]);\r\n // debugger\r\n // const data = JSON.parse(JSON.stringify(this.multiTableData[value]))\r\n // const header = JSON.parse(JSON.stringify(this.multitableHeaders[value]))\r\n // const sum_insured_index = this.multitableHeaders[value].indexOf('Sum Insured (Cr)');\r\n // if (sum_insured_index > -1) {\r\n // header[sum_insured_index] = 'Sum Insured';\r\n // }\r\n // data.forEach((d: any) => {\r\n // d.sum_insured = d.actual_sum_insured;\r\n // d.area_sown = d.actual_area_sown;\r\n // delete d.actual_sum_insured\r\n // delete d.actual_area_sown\r\n // })\r\n // console.log(header)\r\n // console.log(data)\r\n debugger\r\n this.commonfunctions.exportAsExcelFile(resultData.data, resultData.header, this.reportForm.value.reportName + \"_\" + this.reportForm.value.transactionID);\r\n }\r\n }\r\n /************************************************************************\r\n * pdf download for table data\r\n * ***********************************************************************/\r\n convertToPdf(value, doc) {\r\n if (value != \"singletable\") {\r\n this.resArray = {};\r\n this.title = {}\r\n this.resArray = this.multiTableData[value];\r\n this.title = this.multitableTitles[value];\r\n }\r\n var col = [];\r\n var rowdata = [];\r\n var len = this.resArray.length;\r\n for (var i = 0; i < this.title.length; i++) {\r\n col.push({ header: this.title[i].header });\r\n }\r\n for (var k = 0; k < this.resArray.length; k++) {\r\n let fileddata = [];\r\n for (var i = 0; i < col.length; i++) {\r\n for (var j = 0; j < this.title.length; j++) {\r\n if (this.title[j].header == col[i].header)\r\n fileddata.push(this.resArray[k][this.title[j].header]);\r\n }\r\n }\r\n rowdata.push(fileddata);\r\n }\r\n this.downloadpdf(doc, col, rowdata)\r\n }\r\n downloadpdf(pdf, cloumn, row) {\r\n let styles: any = {};\r\n if (cloumn.length > 10) {\r\n styles.cellWidth = 800 / cloumn.length;\r\n }\r\n pdf.autoTable(cloumn, row, {\r\n startY: this.startY,\r\n margin: {\r\n right: 20,\r\n left: 20\r\n },\r\n headStyles: {\r\n fontSize: 8,\r\n fontStyle: 'normal',\r\n textColor: \"#fff\",\r\n fillColor: \"#175788\",\r\n halign: 'center'\r\n },\r\n styles,\r\n // drawCell: function (cell, data) {\r\n // if (data.column.dataKey === 'Sum Insured' || data.column.dataKey === 'SNo' || data.column.dataKey === 'Cluster') {\r\n // pdf.autoTableText(cell.text, cell.x + cell.width / 2, cell.y + cell.height / 2, {\r\n // halign: 'right',\r\n // valign: 'middle'\r\n // });\r\n // }\r\n // },\r\n tableLineWidth: 0,\r\n theme: \"striped\",\r\n bodyStyles: {\r\n fontSize: 7,\r\n halign: 'center',\r\n valign: 'middle'\r\n },\r\n });\r\n }\r\n\r\n generateExcelData(res: any) {\r\n const resultData = res.data;\r\n const fieldname = res.fieldname;\r\n const keyHeaderMap = new Map();\r\n const keys = fieldname.map((d: any) => d.name)\r\n const header = fieldname.map((d: any) => {\r\n if (d.title === 'Sum Insured (Cr)') {\r\n keyHeaderMap.set(d.name, 'Sum Insured');\r\n return 'Sum Insured';\r\n }\r\n keyHeaderMap.set(d.name, d.title);\r\n return d.title;\r\n });\r\n const data: any[] = [];\r\n for (let i = 0; i < resultData.length; i++) {\r\n const ele = resultData[i];\r\n const result = {};\r\n for (let ki = 0; ki < keys.length; ki++) {\r\n const kele = keys[ki];\r\n if (['sum_insured', 'area_sown'].includes(kele)) {\r\n debugger\r\n result[keyHeaderMap.get(kele)] = ele['actual_' +kele]\r\n } else {\r\n result[keyHeaderMap.get(kele)] = ele[kele]\r\n }\r\n }\r\n data.push(result)\r\n }\r\n return {header, data}\r\n }\r\n\r\n abbreviateNumber(number: any, excp?: any): any | void {\r\n const numberFormatter = new Intl.NumberFormat(\"en-IN\", {\r\n maximumFractionDigits: 1,\r\n });\r\n if (!number) {\r\n return excp ? excp : \"\";\r\n } else {\r\n number = Math.ceil(number);\r\n }\r\n const numberCleaned = Math.round(Math.abs(number));\r\n if (numberCleaned < 1e3) return numberFormatter.format(Math.floor(number));\r\n else if (numberCleaned >= 1e3 && numberCleaned < 1e5)\r\n return numberFormatter.format(number / 1e3) + \" K\";\r\n else if (numberCleaned >= 1e5 && numberCleaned < 1e7)\r\n return numberFormatter.format(number / 1e5) + \" L\";\r\n else return numberFormatter.format(number / 1e7) + \" Cr\";\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false,\r\n host: window.location.origin+\"/\"\r\n //host: \"https://mr-reva-fe-app-development.azurewebsites.net/\"\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { AppModuleDev } from './app_dev/app.module';\r\nimport { AppModulePRD } from './app_prd/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n\tif(window){\r\n\t window.console.log=function(){return false;};\r\n\t }\r\n}\r\n\r\n//platformBrowserDynamic().bootstrapModule(AppModulePRD)\r\nplatformBrowserDynamic().bootstrapModule(AppModuleDev)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */"],"sourceRoot":""}