{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./src/app/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/constants/apiConstants.ts","./src/app/constants/navigationConstant.ts","./src/app/constants/regExConstant.ts","./src/app/constants/storageKeys.ts","./src/app/constants/validationMessage.ts","./src/app/customvalidator/password.validator.ts","./src/app/customvalidator/passwordNoWhitespace.validator.ts","./src/app/directives/alphabet-numeric-only.directive.ts","./src/app/directives/alphabets-only.directive.ts","./src/app/directives/defaultcharacters.directive.ts","./src/app/directives/defaultnumber.directive.ts","./src/app/directives/directives.module.ts","./src/app/directives/float-number-only.directive.ts","./src/app/directives/focus-element.directive.ts","./src/app/directives/intergers-only.directive.ts","./src/app/directives/signed-numbers.directive.ts","./src/app/guard/auth.guard.ts","./src/app/intercepter/loading.interceptor.ts","./src/app/intercepter/request.interceptor.ts","./src/app/modules/angular-material.module.ts","./src/app/modules/shared.module.ts","./src/app/pages/appointment/appointment.component.ts","./src/app/pages/appointment/appointment.component.html","./src/app/pages/business-intelligence2/business-intelligence/business-intelligence.component.ts","./src/app/pages/business-intelligence2/business-intelligence/business-intelligence.component.html","./src/app/pages/dashboard/dashboard.component.ts","./src/app/pages/dashboard/dashboard.component.html","./src/app/pages/learning-center/learning-center.component.ts","./src/app/pages/learning-center/learning-center.component.html","./src/app/pages/login/login.component.ts","./src/app/pages/login/login.component.html","./src/app/pages/p404/p404.component.ts","./src/app/pages/p404/p404.component.html","./src/app/pages/p500/p500.component.ts","./src/app/pages/p500/p500.component.html","./src/app/pages/reset-password/reset-password.component.ts","./src/app/pages/reset-password/reset-password.component.html","./src/app/services/apiservice.service.ts","./src/app/services/common.service.ts","./src/app/services/confirm-dialog.service.ts","./src/app/services/nosanitizerpipe.ts","./src/app/services/session-storage.service.ts","./src/app/services/shared.service.ts","./src/app/services/signalr.service.ts","./src/app/shared/confirm-dialog/confirm-dialog.component.ts","./src/app/shared/confirm-dialog/confirm-dialog.component.html","./src/app/shared/footer/footer.component.ts","./src/app/shared/footer/footer.component.html","./src/app/shared/header/header.component.ts","./src/app/shared/header/header.component.html","./src/app/shared/report-filters/dynamic-form-builder/atoms/checkbox.ts","./src/app/shared/report-filters/dynamic-form-builder/atoms/datepicker.ts","./src/app/shared/report-filters/dynamic-form-builder/atoms/dropdown.ts","./src/app/shared/report-filters/dynamic-form-builder/atoms/file.ts","./src/app/shared/report-filters/dynamic-form-builder/atoms/radio.ts","./src/app/shared/report-filters/dynamic-form-builder/atoms/textbox.ts","./src/app/shared/report-filters/dynamic-form-builder/dynamic-form-builder.component.ts","./src/app/shared/report-filters/dynamic-form-builder/dynamic-form-builder.module.ts","./src/app/shared/report-filters/dynamic-form-builder/field-builder/field-builder.component.ts","./src/app/shared/report-filters/report-filters.component.ts","./src/app/shared/report-filters/report-filters.component.html","./src/app/shared/report-filters/report-filters1.component.ts","./src/app/shared/report-filters/report-filters1.component.html","./src/app/shared/side-menu/side-menu.component.ts","./src/app/shared/side-menu/side-menu.component.html","./src/assets/js/jquery-simple-mobilemenu.js","./src/environments/environment.ts","./src/main.ts"],"names":[],"mappings":";;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,EAAE;AACF;AACA,4CAA4C,WAAW;AACvD;AACA;AACA,wE;;;;;;;;;;;ACZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;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","file":"main.js","sourcesContent":["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 = \"./$$_lazy_route_resource lazy recursive\";","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 ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router'; \r\nimport { LoginComponent } from './pages/login/login.component'; \r\nimport { P404Component } from './pages/p404/p404.component';\r\nimport { P500Component } from './pages/p500/p500.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { AppointmentComponent } from './pages/appointment/appointment.component';\r\nimport { ResetPasswordComponent } from './pages/reset-password/reset-password.component';\r\nimport { AuthGuard } from './guard/auth.guard'\r\nimport { LearningCenterComponent } from './pages/learning-center/learning-center.component';\r\nimport { BusinessIntelligenceComponent } from './pages/business-intelligence2/business-intelligence/business-intelligence.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n redirectTo: '/login',\r\n pathMatch: 'full',\r\n },\r\n {\r\n path: 'login',\r\n component: LoginComponent,\r\n data: {title: 'Login Page'}\r\n }, \r\n {\r\n path: 'reset-password/:username/:tokenNumber',\r\n component: ResetPasswordComponent,\r\n data: {title: 'Reset Password'}\r\n },\r\n {\r\n path: 'dashboard',\r\n component: DashboardComponent,\r\n canActivate: [AuthGuard],\r\n data: {title: 'Dashboard'}\r\n }, \r\n \r\n {\r\n path: 'appointment',\r\n canActivate: [AuthGuard],\r\n component: AppointmentComponent,\r\n data: {title: 'Appointment'}\r\n }, \r\n\r\n {\r\n path: 'learning-center',\r\n canActivate: [AuthGuard],\r\n component: LearningCenterComponent,\r\n data: {title: 'Learning Center'}\r\n },\r\n {\r\n path: \"customer-requests\", \r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/customer-requests/customer-requests.module').then(m => m.CustomerRequestsModule)\r\n },\r\n\r\n {\r\n path: \"shipment-info\",\r\n canActivate: [AuthGuard], \r\n loadChildren: () => import('./pages/outbound/outbound.module').then(m => m.OutboundModule)\r\n },\r\n {\r\n path: \"administration\",\r\n canActivate: [AuthGuard], \r\n loadChildren: () => import('./pages/administration/administration.module').then(m => m.AdministrationModule)\r\n },\r\n {\r\n path: \"alerts-notifications\", \r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/alerts-notifications/alerts-notifications.module').then(m => m.AlertNotificationsModule)\r\n },\r\n // {\r\n // path: \"business-intelligence\", \r\n // canActivate: [AuthGuard],\r\n // loadChildren: () => import('./pages/business-intelligence/business-intelligence.module').then(m => m.BusinessIntelligenceModule)\r\n // },\r\n {\r\n path: \"invoices\",\r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/invoices/invoices.module').then(m => m.InvoicesModule)\r\n },\r\n {\r\n path: \"business-intelligence\",\r\n canActivate: [AuthGuard],\r\n component: BusinessIntelligenceComponent,\r\n data: {title: 'Business Intelligence'}\r\n },\r\n {\r\n path: \"online-order\", \r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/online-order/online-order.module').then(m => m.OnlineOrderModule)\r\n },\r\n {\r\n path: \"inventory\",\r\n canActivate: [AuthGuard], \r\n loadChildren: () => import('./pages/inventory/inventory.module').then(m => m.InventoryModule)\r\n },\r\n {\r\n path: \"receipts\", \r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/receipts/receipts.module').then(m => m.ReceiptsModule)\r\n }, \r\n {\r\n path: \"user\", \r\n canActivate: [AuthGuard],\r\n loadChildren: () => import('./pages/user/user.module').then(m => m.UserModule)\r\n },\r\n {\r\n path: 'unauthorise',\r\n component: P500Component,\r\n data: {\r\n title: 'Page 500'\r\n }\r\n },\r\n {\r\n path: 'error',\r\n component: P500Component,\r\n data: {\r\n title: 'Page 500'\r\n }\r\n },\r\n {\r\n path: '**',\r\n component: P404Component,\r\n data: {\r\n title: 'Page 404'\r\n }\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","import { Component, Renderer2 ,ViewChild, HostListener} from '@angular/core';\r\nimport { Router,NavigationEnd, ActivatedRoute } from '@angular/router';\r\n\r\nimport { CommonService } from './services/common.service';\r\n\r\nimport { navigationConstants } from \"src/app/constants/navigationConstant\";\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { Idle, DEFAULT_INTERRUPTSOURCES } from \"@ng-idle/core\"; \r\nimport { HeaderComponent } from './shared/header/header.component';\r\nimport { SessionStorageService } from 'src/app/services/session-storage.service';\r\nimport { environment } from '../environments/environment';\r\nimport { Subject } from 'rxjs';\r\nimport { Title } from '@angular/platform-browser';\r\n\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 = 'Arcadia';\r\n showheader:boolean=false;\r\n showMenu:boolean=false;\r\n //showSideMenu:boolean=false;\r\n showFooter:boolean=false;\r\n mainClass:string='';\r\n idleState = \"Not started.\";\r\n timedOut = false; \r\n userData:any;\r\n validationMessage=validationMessage;\r\n\r\n userActivity;\r\n checkUserInactivity: Subject = new Subject();\r\n expireTime: number = 60000*(environment.sessionExpireInMinutes);\r\n mainpath:any\r\n urlPath:boolean = false\r\n\r\n @ViewChild(HeaderComponent ) child: HeaderComponent ; \r\n\r\n constructor(\r\n private idle: Idle,\r\n // private bnIdle: BnNgIdleService,\r\n private renderer: Renderer2,\r\n public router:Router,\r\n private commonService:CommonService,\r\n private sessionStorageService: SessionStorageService,\r\n private titleService: Title,\r\n private route: ActivatedRoute\r\n ){ \r\n this.userData = localStorage.getItem('ArcUser') ? JSON.parse(localStorage.getItem('ArcUser')) : '';\r\n router.events.forEach((event) => {\r\n if(event instanceof NavigationEnd) { \r\n let currentUrl=router.url;\r\n let currentUrlArr=currentUrl.split('/');\r\n this.mainpath=currentUrlArr[1];\r\n this.mainClass='wrapper'; \r\n this.urlPath = this.mainpath.includes('learning-center')\r\n if(this.mainpath=='' || this.mainpath=='login' || this.mainpath=='reset-password' || this.mainpath=='register' || this.mainpath=='userlist' || this.mainpath.includes('learning-center')){\r\n this.showheader=false;\r\n this.showMenu=false;\r\n this.showFooter=false;\r\n //this.showSideMenu = false;\r\n \r\n this.renderer.removeClass(document.body, 'sidebar-mini');\r\n this.renderer.removeClass(document.body, 'layout-navbar-fixed'); \r\n this.renderer.addClass(document.body, 'loginBlk'); \r\n } else {\r\n\r\n //this.mainClass='wrapper'; \r\n this.renderer.removeClass(document.body, 'loginBlk'); \r\n this.renderer.removeClass(document.body, 'login-page');\r\n this.renderer.addClass(document.body, 'sidebar-mini');\r\n this.renderer.addClass(document.body, 'layout-navbar-fixed'); \r\n \r\n\r\n this.showheader=true;\r\n this.showMenu=true;\r\n this.showFooter=true;\r\n // let token=this.commonService.getToken();\r\n let token= localStorage.getItem('ArcLocalToken');\r\n let user= localStorage.getItem('ArcUser');\r\n if(token==null || token==undefined || token==''){\r\n //this.commonService.notification(validationMessage.toasterClass.error, validationMessage.common.tokenInvalid);\r\n this.commonService.clearSession();\r\n //this.commonService.set_cookie('preLoginUrl', currentUrl ) \r\n this.sessionStorageService.setData('preLoginUrl', currentUrl )\r\n this.commonService.redirectToPage(navigationConstants.LOGIN);\r\n } else {\r\n sessionStorage.setItem('token', token)\r\n sessionStorage.setItem('user', user) \r\n }\r\n\r\n //if route not allowed to user \r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n //console.log( currentUrl.substring(1) , this.userData.allowedUrls)\r\n\r\n // if(!this.userData.allowedUrls.includes( currentUrl.substring(1) )){\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n // this.commonService.redirectToPage(navigationConstants.DASHBOARD); \r\n // } \r\n }\r\n }\r\n \r\n }); \r\n\r\n\r\n this.setTimeout();\r\n this.checkUserInactivity.subscribe((expiredmessage) => {\r\n if(expiredmessage && this.userData) {\r\n this.commonService.logout();\r\n this.commonService.notificationSessionExpire(this.validationMessage.toasterClass.error, expiredmessage);\r\n }\r\n });\r\n }\r\n \r\n ngOnInit(): void {\r\n // sets an idle timeout of 5 seconds, for testing purposes.\r\n this.idle.setIdle(900);\r\n // sets a timeout period of 5 seconds. after 10 seconds of inactivity, the user will be considered timed out.\r\n this.idle.setTimeout(5);\r\n // sets the default interrupts, in this case, things like clicks, scrolls, touches to the document\r\n this.idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);\r\n\r\n this.idle.onIdleEnd.subscribe(() => (this.idleState = \"No longer idle.\"));\r\n this.idle.onTimeout.subscribe(() => {\r\n this.idleState = \"Timed out!\";\r\n this.timedOut = true;\r\n this.logout();\r\n });\r\n this.idle.onIdleStart.subscribe(\r\n () => (this.idleState = \"You've gone idle!\")\r\n );\r\n this.idle.onTimeoutWarning.subscribe(\r\n countdown =>\r\n (this.idleState = \"You will time out in \" + countdown + \" seconds!\")\r\n );\r\n \r\n }\r\n\r\n setTimeout() { \r\n let expiredmessage = environment.sessionExpireMessage\r\n this.userActivity = setTimeout(() => this.checkUserInactivity.next(expiredmessage), this.expireTime);\r\n }\r\n\r\n @HostListener('window:mousemove') \r\n @HostListener('window:keydown')\r\n @HostListener('window:mousedown')\r\n refreshTimeSession() {\r\n clearTimeout(this.userActivity);\r\n this.setTimeout();\r\n }\r\n\r\n \r\n logout(){\r\n this.commonService.clearSession();\r\n this.child.logout(); \r\n this.commonService.redirectToPage(navigationConstants.LOGIN); \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
","import { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from \"@angular/forms\";\r\nimport { BrowserAnimationsModule } from \"@angular/platform-browser/animations\";\r\nimport { ToastrModule } from \"ngx-toastr\";\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { SharedModule } from './modules/shared.module';\r\nimport { AngularMaterialModule } from './modules/angular-material.module';\r\nimport { NgxChartsModule } from '@swimlane/ngx-charts';\r\nimport { RecaptchaModule } from 'angular-google-recaptcha';\r\nimport { MatIconModule } from '@angular/material/icon';\r\n\r\n// for intercepter\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { DEFAULT_TIMEOUT, RequestInterceptor } from './intercepter/request.interceptor';\r\nimport { LoadingInterceptor } from './intercepter/loading.interceptor';\r\n\r\n\r\n// components\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './pages/login/login.component';\r\nimport { AppointmentComponent } from './pages/appointment/appointment.component'\r\nimport { P404Component } from './pages/p404/p404.component';\r\nimport { P500Component } from './pages/p500/p500.component';\r\nimport { DashboardComponent } from './pages/dashboard/dashboard.component';\r\nimport { HeaderComponent } from './shared/header/header.component';\r\nimport { FooterComponent } from './shared/footer/footer.component'; \r\nimport { ConfirmDialogComponent } from './shared/confirm-dialog/confirm-dialog.component';\r\nimport { ConfirmDialogService } from './services/confirm-dialog.service';\r\nimport { ResetPasswordComponent } from './pages/reset-password/reset-password.component';\r\n// for dateTimepicker\r\n//import { OwlDateTimeModule, OwlMomentDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS } from '@danielmoncada/angular-datetime-picker';\r\nimport { OwlDateTimeModule, OwlMomentDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS, OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from '@danielmoncada/angular-datetime-picker';\r\n\r\nimport { NgIdleModule } from \"@ng-idle/core\";\r\n//\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\n//import { DataTablesModule } from \"angular-datatables\";\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { AuthGuard } from './guard/auth.guard';\r\nimport { LearningCenterComponent, NoSanitizeHtmlPipe } from './pages/learning-center/learning-center.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BusinessIntelligenceComponent } from './pages/business-intelligence2/business-intelligence/business-intelligence.component';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\n\r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'MM-DD-YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM-DD-YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'YYYY-MM-DD',\r\n monthYearA11yLabel: 'MM YYYY',\r\n },\r\n};\r\n\r\nexport const MY_MOMENT_FORMATS = {\r\n parseInput: 'MM/DD/YYYY HH:mm:ss',\r\n fullPickerInput: 'MM/DD/YYYY HH:mm:ss',\r\n datePickerInput: 'MM/DD/YYYY',\r\n timePickerInput: 'HH:mm:ss',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY',\r\n};\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n AppointmentComponent,\r\n P404Component,\r\n P500Component,\r\n DashboardComponent,\r\n HeaderComponent,\r\n FooterComponent, \r\n ConfirmDialogComponent,\r\n ResetPasswordComponent,\r\n LearningCenterComponent,\r\n NoSanitizeHtmlPipe,\r\n BusinessIntelligenceComponent,\r\n ],\r\n imports: [\r\n MatTabsModule,\r\n MatCheckboxModule,\r\n MatMenuModule,\r\n MatIconModule,\r\n MatFormFieldModule,\r\n MatInputModule,\r\n MatCardModule,\r\n MatButtonModule,\r\n AppRoutingModule,\r\n BrowserModule,\r\n FormsModule,\r\n // MaterialModule,\r\n ReactiveFormsModule,\r\n ToastrModule.forRoot(),\r\n BrowserAnimationsModule,\r\n HttpClientModule,\r\n NgbModule,\r\n SharedModule,\r\n NgxPaginationModule,\r\n NgxSpinnerModule,\r\n AngularMaterialModule,\r\n NgxChartsModule,\r\n MatExpansionModule,\r\n //DataTablesModule,\r\n RecaptchaModule.forRoot({\r\n siteKey: '6LfR2xMUAAAAABBy2TBrBKur0_L23TizUGR-M20s',\r\n }),\r\n NgIdleModule.forRoot(),\r\n OwlDateTimeModule, OwlNativeDateTimeModule, OwlMomentDateTimeModule\r\n ],\r\n exports: [\r\n ConfirmDialogComponent,\r\n ],\r\n providers: [\r\n ConfirmDialogService,\r\n // SnackBarService,\r\n // SharedService,\r\n { provide: HTTP_INTERCEPTORS, useClass: RequestInterceptor, multi: true },\r\n { provide: HTTP_INTERCEPTORS, useClass: LoadingInterceptor, multi: true },\r\n //{ provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS },\r\n // BnNgIdleService\r\n { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS },\r\n { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n { provide: DEFAULT_TIMEOUT, useValue: environment.httpRequestTimeout },\r\n AuthGuard\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","export const APIConstant = { \r\n Limit: 20,\r\n pwd_encryption_key: 'hnQVgxd4FE', \r\n\r\n // Auth and user URL \r\n LOGIN: 'Login/GetUserLogin',\r\n UpdAcceptTermsTimestamp: 'UserAccount/UpdAcceptTermsTimestamp', \r\n getAndSetMenuData: 'UserAccount/GetMenuDisplay',\r\n GetReportDisplay: 'UserAccount/GetReportDisplay', \r\n CHANGE_PASSWORD: 'UserAccount/UpdateUserPwd',\r\n ForgetPassword: 'UserAccount/ForgetPassword',\r\n ResetUserPassword: 'UserAccount/ResetUserPassword', \r\n UpdateUserLockedOutStatus: 'UserAccount/UpdateUserLockedOutStatus', \r\n\r\n //Master apis\r\n GetCityStateZip: 'Master/GetCityStateZip',\r\n GetCountryZip:'Master/GetCountryList',\r\n GetMobileProviders: 'Master/GetMobileProviders',\r\n GetSites: 'Master/GetSites',\r\n GetAccounts: 'Master/GetAccounts',\r\n GetGlobalSettings: 'Master/GetGlobalSettings',\r\n UpdateGlobalSettings: 'Master/UpdateGlobalSettings',\r\n GetAllUserEmails: 'Master/GetAllUserEmails',\r\n GetUserNameList: 'Master/GetUserNameList',\r\n GetSitesbyUser: 'Master/GetSitesbyUser',\r\n GetUserAllAccounts: 'Master/GetUserAllAccounts',\r\n InsertUserAccounts: 'Master/InsertUserAccounts',\r\n GetConfigurationCategoryMaster: 'Master/GetConfigurationCategoryMaster',\r\n GetConfigurationCategoryDetailByID: 'Master/GetConfigurationCategoryDetailByID',\r\n InsertUpdConfigurationCategoryDetail: 'Master/InsertUpdConfigurationCategoryDetail',\r\n GetGlobalConfigValue: 'Master/GetGlobalConfigValue',\r\n GetDashboardWrapper: 'Master/GetDashboardWrapper',\r\n OrderUploadFiles:'Master/OrderUploadFiles',\r\n DeleteOrderUploadFiles:'Master/DeleteOrderUploadFiles',\r\n GetUserName:'Master/GetUserName',\r\n GetCustomerPONumber:'Master/GetCustomerPONumber',\r\n GetSalesOrderNumber:'Master/GetSalesOrderNumber',\r\n GetMasterBol:'Master/GetMasterBOL',\r\n GetSFONumber:'Master/GetSFONumber',\r\n GetReportDownloadMasterData:'Master/GetReportDownloadMasterData',\r\n GetReportDownloadMaterDataExcel:'Master/GetReportDownloadMaterDataExcel',\r\n GetERPCLientIdFromUserName:'UserAccount/GetERPCLientIdFromUserName',\r\n\r\n\r\n\r\n // outbound\r\n GetOrderChangesLog: 'Master/GetOrderChangesLog',\r\n SendExcelForOrderLog: 'Master/SendExcelForOrderLog',\r\n GetOrderChangesLogExcel: 'Master/GetOrderChangesLogExcel',\r\n GetOrderChangesLogPDF: 'Master/GetOrderChangesLogPDF',\r\n\r\n //inbound\r\n GetReceiptChangesLog:'Master/GetReceiptChangesLog',\r\n SendExcelForReceiptLog: 'Master/SendExcelForReceiptLog',\r\n GetReceiptChangesLogExcel: 'Master/GetReceiptChangesLogExcel',\r\n GetReceiptChangesLogPDF: 'Master/GetReceiptChangesLogPDF',\r\n\r\n\r\n //mass upload orders\r\n GetValidation:'Master/ValidateBulkOrder',\r\n\r\n //order upload Robinson\r\n SaveChrobinsonExcel:'Master/SaveChrobinsonExcel',\r\n\r\n //online order outbound\r\n GET_PENDING_ORDERS:'OnlineOrder/GetPendingOrders',\r\n GET_ORDER_SCREEN_ATTRIBUTES:'OnlineOrder/OrderScreenAttributes',\r\n OrderInventoryAvailable: 'OnlineOrder/OrderInventoryAvailable',\r\n InsertOnlineOrder:'OnlineOrder/InsertOnlineOrder',\r\n GetOnlineOrderInfo:'OnlineOrder/GetOnlineOrderInfo',\r\n DeleteOnlineOrder:'OnlineOrder/DeleteOnlineOrder',\r\n UpdateOnlineOrderHeaderOnSubmit: 'OnlineOrder/UpdateOnlineOrderHeaderOnSubmit',\r\n InsertOnlineOrderConsignee: 'OnlineOrder/InsertOnlineOrderConsignee',\r\n GetOutboundOrderStatusList:'OnlineOrder/GetOutboundOrderStatusList',\r\n GetOrderTypes: 'OnlineOrder/GetOrderTypes',\r\n deleteOnlineOrder: 'OnlineOrder/deleteOnlineOrder',\r\n GetCutOffTime: 'OnlineOrder/GetCutOffTime',\r\n GetItemAvailQtyHTMLTable: 'OnlineOrder/GetItemAvailQtyHTMLTable',\r\n CheckOutboundCustomerPONumber: 'OnlineOrder/CheckOutboundCustomerPONumber',\r\n CheckOutboundWMSOrderNumber: 'OnlineOrder/CheckOutboundWMSOrderNumber',\r\n getOutboundOrderDispatchedStatusAlertMain: 'OnlineOrder/getOutboundOrderDispatchedStatusAlertMain',\r\n getOutboundOrderDispatchedStatusAlertByID: 'OnlineOrder/getOutboundOrderDispatchedStatusAlertByID',\r\n InsUpdOutboundOrderDispatchedStatusAlert: 'OnlineOrder/InsUpdOutboundOrderDispatchedStatusAlert',\r\n\r\n //online order Inbound\r\n GetReceiptInventoryAvailable: 'OnlineInboundOrder/GetReceiptInventoryAvailable',\r\n GetPendingReceipts:'OnlineInboundOrder/GetPendingReceipts',\r\n GetReceiptStatusList:'OnlineInboundOrder/GetReceiptStatusList',\r\n GetReceiptTypes:'OnlineInboundOrder/GetReceiptTypes',\r\n ReceiptScreenAttributes:'OnlineInboundOrder/ReceiptScreenAttributes',\r\n InsertOnlineReceipt:'OnlineInboundOrder/InsertOnlineReceipt',\r\n GetOnlineReceiptInfo:'OnlineInboundOrder/GetOnlineReceiptInfo',\r\n DeleteOnlineReceipt:'OnlineInboundOrder/DeleteOnlineReceipt',\r\n InsertOnlineOrderShipper:'OnlineInboundOrder/InsertOnlineOrderShipper',\r\n UpdateOnlineReceiptHeaderOnSubmit:'OnlineInboundOrder/UpdateOnlineReceiptHeaderOnSubmit',\r\n CheckInboundCustomerReceiptNumber:'OnlineInboundOrder/CheckInboundCustomerReceiptNumber',\r\n GetInboundWarehouseRcptInfo:'OnlineInboundOrder/GetInboundWarehouseRcptInfo',\r\n CheckInboundWMSReceiptNumber:'OnlineInboundOrder/CheckInboundWMSReceiptNumber',\r\n GetOrderUploadFilesByOrderNo:'Master/GetOrderUploadFilesByOrderNo',\r\n \r\n\r\n //Reports\r\n GetFilterReportData : 'ReportFilter/GetFilterReportData',\r\n GetRptOrderSummaryDetail : 'ReportFilter/GetRptOrderSummaryDetail',\r\n GetReportDetailbyReportID : 'ReportFilter/GetReportDetailbyReportID',\r\n GetSitesByCompany : 'ReportFilter/GetSitesByCompany', \r\n GetDrillDownReport : 'ReportFilter/GetDrillDownReport', \r\n GetPackingListInformation : 'ReportFilter/GetPackingListInformation', \r\n GetReportFilterAccounts : 'ReportFilter/GetAccounts',\r\n GetWarehouseOrderNumber : 'ReportFilter/GetWarehouseOrderNumbers',\r\n GetMasterReceiptNumber : 'ReportFilter/GetMasterReceiptNumber',\r\n GetSupplierInvoiceNumber : 'ReportFilter/GetSupplierInvoiceNumber',\r\n GetOrderChangesWarehouseOrderNumber : 'ReportFilter/GetOrderChangeWarehouseOrderNumbers',\r\n GetOrderChangesSupplierInvoiceNumber : 'ReportFilter/GetOrderChangeSupplierInvoiceNumber',\r\n\r\n //Business Intelligence\r\n GenerateSignedToken: 'ReportFilter/GenerateSignedToken',\r\n\r\n \r\n\r\n //Delivery Ticket\r\n GetDTBOL : 'DeliveryTicket/GetDTBOL', \r\n GetMasterBOL : 'DeliveryTicket/GetMasterBOL', \r\n\r\n //Adminstration \r\n GetUserLoginMain: 'UserAccount/GetUserLoginMain',\r\n GetUserTypeList: 'UserAccount/GetUserTypeList',\r\n GetUserLoginDetail: 'UserAccount/GetUserLoginDetail',\r\n GetCompanySitesList:'UserAccount/GetCompanySites',\r\n getCompanySiteAccountsList:'UserAccount/GetCompanySiteAccounts',\r\n InsertUpdUserLoginDetail:'UserAccount/InsertUpdUserLoginDetail',\r\n UpdateUserForgetPassword:'UserAccount/UpdateUserForgetPassword',\r\n DeleteUser:'UserAccount/DeleteUser',\r\n GetTermAndConditions:'UserAccount/GetTermAndConditions', \r\n GetUserNameForCompanyCode:'UserAccount/GetUserNameForCompanyCode', \r\n GetUserReportSetup:'UserAccount/GetUserReportSetup', \r\n UpdateUserReportSetup:'UserAccount/UpdateUserReportSetup', \r\n insertUserLogOutHistory:'UserAccount/insertUserLogOutHistory', \r\n GetUserNameForCompany:'UserAccount/GetUserNameForCompany', \r\n GetUserReport:'UserAccount/GetUserReport', \r\n GetUserActivity:'UserAccount/GetUserActivity', \r\n GetCompanyList:'UserAccount/GetCompanyList', \r\n GetUserSiteInfo:'UserAccount/GetUserSiteInfo', \r\n ResetPwdByAdminorCS:'UserAccount/ResetPwdByAdminorCS', \r\n GetPalletCapacity:'UserAccount/GetPalletCapacity',\r\n GetPalletCapacityById:'UserAccount/GetPalletCapacityById',\r\n DeletePalletCapacityById:'UserAccount/DeletePalletCapicity',\r\n InsertPalletCapacity:'UserAccount/InsertUpdPalletCapacity',\r\n CheckExistingEmail:'UserAccount/CheckExistingEmail',\r\n\r\n GetFixedPalletCommitments:'UserAccount/GetFixedPalletCommitments',\r\n GetFixedPalletCommitmentsById:'UserAccount/GetFixedPalletCommitmentsById',\r\n DeleteFixedPalletCommitments:'UserAccount/DeleteFixedPalletCommitments',\r\n InsertUpdPalletCommitments:'UserAccount/InsertUpdPalletCommitments',\r\n\r\n //Alert & Notifications\r\n GetScheduleReportInfo : 'ScheduleReport/GetScheduleReportInfo',\r\n GetScheduleReportList : 'ScheduleReport/GetScheduleReportList',\r\n GetCompanyCodeList : 'ScheduleReport/GetCompanyCodeList',\r\n GetCompanyAccounts : 'ScheduleReport/GetCompanyAccounts',\r\n GetSupportKeyValue : 'ScheduleReport/GetSupportKeyValue',\r\n InsUpdScheduleReport : 'ScheduleReport/InsUpdScheduleReport',\r\n DelScheduleReport : 'ScheduleReport/DelScheduleReport',\r\n GetReportRollupType : 'ScheduleReport/GetReportRollupType',\r\n GetScheduledInfoWithID : 'ScheduleReport/GetScheduledInfoByID',\r\n GetCompanyAllAccounts : 'ScheduleReport/GetCompanyAllAccounts',\r\n \r\n //Customer Requests\r\n GetCustomerRequestInfo : 'CustomerRequest/GetCustomerRequestInfo',\r\n getCustomerRequestType : 'CustomerRequest/getCustomerRequestType',\r\n GetCustomerRequestPriority : 'CustomerRequest/GetCustomerRequestPriority',\r\n getCustomerRequestStatus : 'CustomerRequest/getCustomerRequestStatus',\r\n getCustomerRequestAssignedGroup : 'CustomerRequest/getCustomerRequestAssignedGroup',\r\n insertUpdCustomerRequest : 'CustomerRequest/insertUpdCustomerRequest',\r\n getCustomerRequestByID : 'CustomerRequest/getCustomerRequestByID',\r\n\r\n\r\n //manage company\r\n GetSelectedAccounts : 'ManageCompanyAccounts/GetSelectedAccounts',\r\n GetAvailableAccounts : 'ManageCompanyAccounts/GetAvailableAccounts',\r\n InsertCompanyAccounts : 'ManageCompanyAccounts/InsertCompanyAccounts', \r\n GetCompanyMain : 'ManageCompany/GetCompanyMain', \r\n InsertUpdCompany : 'ManageCompany/InsertUpdCompany', \r\n GetCompanyMasterInfo : 'ManageCompany/GetCompanyMasterInfo', \r\n DeleteCompany : 'ManageCompany/DeleteCompany', \r\n GetWarehouseSetupWrapper : 'ManageCompany/GetWarehouseSetupWrapper', \r\n InsertUpdCompanySites : 'ManageCompany/InsertUpdCompanySites', \r\n DeleteCompanySites : 'ManageCompany/DeleteCompanySites', \r\n VerifyCompCode : 'ManageCompany/VerifyCompCode', \r\n GetCompanyStatus : 'ManageCompany/GetCompanyStatus', \r\n\r\n //EDI\r\n GetEDITagsConfiguration : 'EDI/GetEDITags',\r\n GetMappedTags : 'EDI/GetEDITagsDropdown',\r\n InsertEdiTagConfig : 'EDI/InsertUpdEDITagConfig',\r\n GetEDITypes : 'EDI/GetEDITypes',\r\n InsertUpdEDITagMapping : 'EDI/InsertUpdEDITagMapping',\r\n\r\n //Customer Message\r\n GetBroadcastMessageMain : 'CustomerMessage/GetBroadcastMessageMain', \r\n DeleteBroadcastMessage : 'CustomerMessage/DeleteBroadcastMessage', \r\n InsertUpdBroadcastMessage : 'CustomerMessage/InsertUpdBroadcastMessage', \r\n UpdateBroadcastMessageStatus : 'CustomerMessage/UpdateBroadcastMessageStatus', \r\n GetBroadcastMessagebyID : 'CustomerMessage/GetBroadcastMessagebyID', \r\n GetLiveBroadcastMessage : 'CustomerMessage/GetLiveBroadcastMessage', \r\n\r\n //Item Master\r\n GetItemFootprintMain : 'ItemMaster/GetItemFootprintMain', \r\n GetItemBaseUOM : 'ItemMaster/GetItemBaseUOM', \r\n GetItemFootprintDetailsByItemID : 'ItemMaster/GetItemFootprintDetailsByItemID', \r\n GetLenWidthHghtUOM : 'ItemMaster/GetLenWidthHghtUOM', \r\n GetTempUOM : 'ItemMaster/GetTempUOM', \r\n GetVolumeUOM : 'ItemMaster/GetVolumeUOM', \r\n GetWeightUOM : 'ItemMaster/GetWeightUOM', \r\n InsertUpdItemFootprintMaster : 'ItemMaster/InsertUpdItemFootprintMaster', \r\n UpdateItemFootprintMasterOnEmailSent : 'ItemMaster/UpdateItemFootprintMasterOnEmailSent', \r\n UpdateItemFootprintMasterOnSubmit : 'ItemMaster/UpdateItemFootprintMasterOnSubmit', \r\n GetItemFootprintMasterWrapper : 'ItemMaster/GetItemFootprintMasterWrapper', \r\n DeleteItemFootprintMaster : 'ItemMaster/DeleteItemFootprintMaster',\r\n GetOperationsEmailMain : 'Master/GetOperationsEmailMain',\r\n GetOperationsEmailByID : 'Master/GetOperationsEmailByID',\r\n InsUpdOperationsEmail : 'Master/InsUpdOperationsEmail',\r\n\r\n\r\n\r\n //Manage CSR \r\n GetCSR : 'CSR/GetCSR', \r\n GetCSRByID : 'CSR/GetCSRByID', \r\n GetCSRSites : 'CSR/GetCSRSites', \r\n DeleteCSR : 'CSR/DeleteCSR', \r\n InsertUpdateCSR : 'CSR/InsertUpdateCSR', \r\n GetSiteAccount: 'UserAccount/GetAllSiteAccount', \r\n\r\n // Holiday\r\n GetHolidatScheduleDetail: 'Holiday/GetHolidayScheduleDetails',\r\n InsertUpdateSchedule: 'Holiday/InsUpdHolidaySchedule',\r\n DeleteHolidaySchedule: 'Holiday/DeleteHolidaySchedule',\r\n GetMasterCutOffTimeforHoliday: 'Holiday/getMasterCutOffTimeforHoliday',\r\n\r\n GetHolidaysCalender: 'Holiday/getHolidaysCalender',\r\n InsertUpdHolidaysCalender: 'Holiday/InsertUpdHolidaysCalender',\r\n\r\n // Order CutOff Master\r\n GetOrderCutOffMain: 'Master/GetOrderCutOffMain',\r\n UpdateOrderCutoffTime: 'Master/UpdateOrderCutoffTime',\r\n GetWarehouseTimeZone: 'Master/getWarehouseTimeZone',\r\n \r\n \r\n // alertnotification \r\n GetCarrierList : 'ReportFilter/getCarrierList',\r\n GetItemAlertList : 'ItemMaster/getItemAlertList',\r\n GetShipperAlertList : 'OnlineInboundOrder/getShipperAlertList',\r\n GetNotificationAlertTypes: 'Master/GetNotificationAlertTypes',\r\n InsertUpdateAlertMaster : 'Master/insertUpdateAlertMaster', \r\n GetAlertMasterMain : 'Master/getAlertMasterMain', \r\n DeleteAlertMaster : 'Master/deleteAlertMaster',\r\n GetAlertMasterById: 'Master/GetAlertMasterById',\r\n UpdateAlertMasterStatus : 'Master/updateAlertMasterStatus',\r\n GetConsigneeList : 'Master/getConsigneeList',\r\n GetConsigneesAlertList : 'Master/GetConsigneesAlertList',\r\n GetInvoiceChargeTypes: 'Master/GetInvoiceChargeTypes',\r\n GetShipmentTypes: '',\r\n GetTimeZones: 'Master/GetTimeZones',\r\n GetAlertMessage: 'Master/GetInputAlertMessage',\r\n\r\n //notification\r\n GetPortalAlertCount : 'Master/getPortalAlertCount',\r\n GetPortalAlertNotification : 'Master/getPortalAlertNotification',\r\n UpdatePortalView : 'Master/updatePortalView',\r\n\r\n // Customer BOL Temperatures\r\n GetCustomerBOLTemperaturesMain: 'DeliveryTicket/GetCustomerBOLTemperaturesMain',\r\n GetBOLCustomerCodeBySite: 'DeliveryTicket/GetBOLCustomerCodeBySite',\r\n GetCustomerBOLTemperaturesByID: 'DeliveryTicket/GetCustomerBOLTemperaturesByID',\r\n InsUpdCustomerBOLTemperatures: 'DeliveryTicket/InsUpdCustomerBOLTemperatures',\r\n\r\n // Learning Centre \r\n LearningCenter: 'Learning/GetLearningCenterContent'\r\n \r\n}; ","export const navigationConstants = {\r\n DASHBOARD: \"/dashboard\",\r\n LOGIN: \"/login\",\r\n UNAUTHORISE: \"/unauthorise\", \r\n};\r\n","export const regExConstant ={\r\n \"email\": (/^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/),\r\n \"onlyNumber\": (/^[0-9]*$/),\r\n \"mobileNumber\": (/^[0][6-9]\\d{9}$|^[6-9]\\d{9}$/),\r\n \"tenDigitsOnly\": (/^\\d{10}$/),\r\n \"onlyTwoDecimals\": (/^[0-9]+(\\.[0-9]{1,2})?$/),\r\n \"onlyFourDecimals\": (/^-?[0-9]+(\\.[0-9]{1,4})?$/),\r\n \"onlyAlphaNumeric\": (/^[a-zA-Z0-9]*$/),\r\n \"defaultCharacter\": (/^[a-zA-Z0-9_@!#$%&*+-/, ]*$/),\r\n \"alphabetsOnly\": (/^[a-zA-Z ]*$/),\r\n \"floatNumberOnly\": (/^[.0-9]*$/),\r\n \"defaultNumbers\": (/^[0-9_.,% ]*$/),\r\n \"password\":(/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}$/),\r\n \"latitude\": (/^(\\+|-)?((\\d((\\.)|\\.\\d{1,6})?)|(0*?[0-8]\\d((\\.)|\\.\\d{1,6})?)|(0*?90((\\.)|\\.0{1,6})?))$/),\r\n \"longitude\": (/^(\\+|-)?((\\d((\\.)|\\.\\d{1,6})?)|(0*?\\d\\d((\\.)|\\.\\d{1,6})?)|(0*?1[0-7]\\d((\\.)|\\.\\d{1,6})?)|(0*?180((\\.)|\\.0{1,6})?))$/),\r\n \"signedNumbers\": (/^[0-9-.]*$/),\r\n \"negativeNumbers\": (/^\\-?(\\d+\\.?\\d*|\\d*\\.?\\d+)$/),\r\n \"stringsAlphaNumeric\": (/^[a-zA-Z0-9-_ ]*$/),\r\n \r\n \"onlyIntegerNumber\": (/^[0-9]\\d*$/),\r\n \"nameValidators\": (/^[a-zA-Z0-9_#&. \\- ]*$/), \r\n \"descriptionValidator\": (/^[a-zA-Z0-9_#'&.\" \\- ]*$/),\r\n \"addressValidators\": (/^[a-zA-Z0-9#',. \\- ]*$/),\r\n \"passwordValidators\": ('(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[$@!*&#])[A-Za-z\\d$@!*&#].{11,30}'),\r\n \"newDescriptionValidator\": (/^[a-zA-Z0-9_~`'.,\"!@$^*(){}|<>?+=:[\\]₹; \\- ]*$/),\r\n \"alertEmail\": (/^(?!.*[._]{2})(?!.*[.-]{2})(?!.*--)[a-zA-Z0-9-]+(?:[._][a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(?:[.-][a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,}(?:,\\s*(?!,)(?!.*[._]{2})(?!.*[.-]{2})(?!.*--)[a-zA-Z0-9-]+(?:[._][a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(?:[.-][a-zA-Z0-9-]+)*\\.[a-zA-Z]{2,})*$/)\r\n\r\n}\r\n\r\n\r\n","export const customStorage = {\r\n sessionKeys: {\r\n token: 'token',\r\n openSkyToken: 'openSkyToken',\r\n state: 'state',\r\n log_request_method: \"log_request_method\",\r\n max_login_attempt: \"max_login_attempt\",\r\n pageLength: \"pageLength\",\r\n token_validity: \"token_validity\",\r\n user: \"user\",\r\n permissions: \"permissions\",\r\n reportFromDate: \"reportFromDate\",\r\n reportToDate: \"reportToDate\",\r\n reportType: \"reportType\",\r\n reportData: \"reportData\",\r\n smsCat: \"smsCat\",\r\n statusTypeCat: \"statusTypeCat\",\r\n dataTypeCat: \"dataTypeCat\",\r\n access_token: \"access_token\",\r\n patientsummary: \"patientsummary\",\r\n abdm_individual_info: \"abdm_individual_info\",\r\n abdm_access_token:\"abdm_access_token\"\r\n },\r\n localKeys: {\r\n token: 'token'\r\n }\r\n};\r\n","export const validationMessage={\r\n toasterClass:{\r\n success:'success',\r\n error:'error',\r\n warning:'warning',\r\n info: 'info'\r\n },\r\n common :{ \r\n savedSuccessMsg:'Data Saved Successfully',\r\n savedFailedMsg:'Failed to save data',\r\n updateSuccessMsg:'Data Updated Successfully',\r\n updateFailedMsg:'Failed to update data',\r\n deleteSuccessMsg:'Data deleted Successfully',\r\n deleteFailedMsg:'Failed to delete data',\r\n minCharacterError: 'Minimum character required is ',\r\n maxCharacterError: 'Maximum character required is',\r\n minValueError: 'Minimum value is',\r\n maxValueError: 'Maximum value is',\r\n requireError: 'This is required',\r\n saveConfirmation:'There are some unsaved changes pending. Do you want to save?',\r\n deleteConfirmation: 'Record will be deleted, want to continue?', \r\n applicationError:'Unexpected error occured, Kindly contact administrator',\r\n formError: 'Please check all form fields',\r\n noFormChange:'No changes to save',\r\n dateError: 'Invalid Date',\r\n emailError : 'Email must be a valid email address',\r\n invalidData: 'Invalid value',\r\n noRecordsFound: 'No Records Found',\r\n dataAlreadyExist:'Data already exist',\r\n latitudeError:'Invalid latitude',\r\n longitudeError:'Invalid longitude',\r\n tokenInvalid:'Invalid token, redirecting to login',\r\n invalidUser:'Invalid username or password',\r\n forbiddenAccess:'Access forbidden, redirecting to login',\r\n exitWithoutSaveWarning: 'If you navigate away you will lose your changes, do you want to exit?',\r\n heading:\"ArcadiaOne - \",\r\n mediaPathSampleOutboundExcelFile:'https://media.arcadiaone.com/MassOutboundSampleExcel/SampleOutbound.xlsx',\r\n mediaPathSampleInboundExcelFile:'https://media.arcadiaone.com/MassInboundSampleExcel/SampleInbound.xlsx',\r\n\r\n mediaPathSampleInOutTemplate:\"https://testportal.arcadiaone.com/images/CHRobinsonInOutSample/CHRobinsonInOutSample.xlsx\",\r\n\r\n\r\n },\r\n login:{\r\n usernameRequired:'Username is required',\r\n passwordRequired:'Password is required',\r\n passwordmatchErr:'Password and confirm password should match',\r\n captchaRequire:'captcha not valid',\r\n }, \r\n excel:{\r\n noFileSelected:'No file selected for validation',\r\n notAnExcelFile:'Error: Selected file is not an Excel file',\r\n validatedSuccessfully:'Excel file validated successfully',\r\n OutboundSuccess:'Outbound orders uploaded successfully',\r\n InboundSuccess:'Inbound orders uploaded successfully',\r\n OutInSuccess:'File Uploaded Successfully',\r\n }\r\n };\r\n","import { FormGroup } from \"@angular/forms\"; \r\nexport function PasswordValidator(\r\n controlName: string,\r\n matchingControlName: string\r\n) {\r\n return (formGroup: FormGroup) => {\r\n const control = formGroup.controls[controlName];\r\n const matchingControl = formGroup.controls[matchingControlName];\r\n\r\n if (matchingControl.errors && !matchingControl.errors.mustMatch) {\r\n return;\r\n }\r\n\r\n if (control.value !== matchingControl.value) {\r\n matchingControl.setErrors({ mustMatch: true });\r\n } else {\r\n matchingControl.setErrors(null);\r\n }\r\n };\r\n}","import { AbstractControl, ValidationErrors } from '@angular/forms'; \r\n \r\nexport class passwordNoWhitespaceValidator { \r\n static cannotContainSpace(control: AbstractControl) : ValidationErrors | null { \r\n if((control.value as string).indexOf(' ') >= 0){ \r\n return {cannotContainSpace: true} \r\n } \r\n return null; \r\n } \r\n} ","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\n selector: '[alphabetNumericOnly]'\r\n})\r\nexport class AlphabetNumericOnlyDirective {\r\n //alphanumeric allowed in text box\r\n \r\n @Input() isAlphaNumeric: boolean;\r\n\r\n @HostListener('keypress', ['$event']) onKeyPress(event) {\r\n return new RegExp(regExConstant.stringsAlphaNumeric).test(event.key);\r\n }\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\n selector: '[alphabetsOnly]'\r\n})\r\nexport class AlphabetsOnlyDirective {\r\n //alphabets allowed in text box\r\n \r\n @Input() isAlphaNumeric: boolean;\r\n\r\n @HostListener('keypress', ['$event']) onKeyPress(event) {\r\n return new RegExp(regExConstant.alphabetsOnly).test(event.key);\r\n }\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\n selector: '[specialIsAlphaNumeric]'\r\n})\r\nexport class SpecialCharacterDirective {\r\n//characters allowed in text box\r\n\r\n @Input() isAlphaNumeric: boolean;\r\n\r\n @HostListener('keypress', ['$event']) onKeyPress(event) {\r\n return new RegExp(regExConstant.defaultCharacter).test(event.key);\r\n }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\nselector: '[numbersOnly]'\r\n})\r\nexport class NumbersOnlyDirective {\r\n\r\n@Input() isAlphaNumeric: boolean;\r\n\r\n@HostListener('keypress', ['$event']) onKeyPress(event) {\r\nreturn new RegExp(regExConstant.defaultNumbers).test(event.key);\r\n}\r\n\r\n}","import { NgModule } from \"@angular/core\";\r\n\r\nimport { AlphabetNumericOnlyDirective } from \"src/app/directives/alphabet-numeric-only.directive\";\r\nimport { AlphabetsOnlyDirective } from \"src/app/directives/alphabets-only.directive\";\r\nimport { FloatNumberOnlyDirective } from \"src/app/directives/float-number-only.directive\";\r\nimport { IntergersOnlyDirective } from \"src/app/directives/intergers-only.directive\";\r\nimport { NumbersOnlyDirective } from \"src/app/directives/defaultnumber.directive\";\r\nimport { SpecialCharacterDirective } from \"src/app/directives/defaultcharacters.directive\";\r\nimport { FocusDirective } from \"src/app/directives/focus-element.directive\"; \r\nimport { signedNumbersDirective } from './signed-numbers.directive';\r\n\r\n@NgModule({\r\n declarations: [\r\n AlphabetNumericOnlyDirective,\r\n AlphabetsOnlyDirective,\r\n FloatNumberOnlyDirective,\r\n IntergersOnlyDirective,\r\n NumbersOnlyDirective,\r\n SpecialCharacterDirective,\r\n FocusDirective, \r\n signedNumbersDirective\r\n\r\n ],\r\n imports: [],\r\n providers: [],\r\n exports: [\r\n AlphabetNumericOnlyDirective,\r\n AlphabetsOnlyDirective,\r\n FloatNumberOnlyDirective,\r\n IntergersOnlyDirective,\r\n NumbersOnlyDirective,\r\n SpecialCharacterDirective,\r\n FocusDirective, \r\n signedNumbersDirective\r\n ]\r\n})\r\nexport class DirectivesModule {}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\n selector: '[floatNumberOnly]'\r\n})\r\nexport class FloatNumberOnlyDirective {\r\n //float numbers allowed in text box\r\n \r\n @Input() isAlphaNumeric: boolean;\r\n\r\n @HostListener('keypress', ['$event']) onKeyPress(event) {\r\n return new RegExp(regExConstant.floatNumberOnly).test(event.key);\r\n }\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, Input, ElementRef } from '@angular/core';\r\n\r\n@Directive({\r\n\tselector : '[focus]'\r\n})\r\nexport class FocusDirective {\r\n\t@Input()\r\n\tfocus : boolean;\r\n\r\n\tconstructor(private element : ElementRef) {\r\n\t}\r\n\r\n\tprotected ngOnChanges() {\r\n\t\tif (this.focus){\r\n\t\t\tthis.element.nativeElement.focus();\r\n }\r\n\t}\r\n}","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\n selector: '[intergersOnly]'\r\n})\r\nexport class IntergersOnlyDirective {\r\n // intergers numbers allowed in text box\r\n \r\n @Input() isAlphaNumeric: boolean;\r\n \r\n @HostListener('keypress', ['$event']) onKeyPress(event) {\r\n return new RegExp(regExConstant.onlyNumber).test(event.key);\r\n }\r\n\r\n constructor() { }\r\n\r\n}\r\n","import { Directive, HostListener, Input } from '@angular/core';\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\n\r\n@Directive({\r\nselector: '[signedNumbers]'\r\n})\r\nexport class signedNumbersDirective {\r\n\r\n@Input() isAlphaNumeric: boolean;\r\n\r\n@HostListener('keypress', ['$event']) onKeyPress(event) {\r\nreturn new RegExp(regExConstant.signedNumbers).test(event.key);\r\n}\r\n\r\n}","import { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthGuard implements CanActivate {\r\n ArcLocalToken = window.localStorage.getItem('ArcLocalToken')\r\n ArcUser = window.localStorage.getItem('ArcUser') \r\n isUrlAllowed = false\r\n \r\n constructor(private router: Router) {}\r\n canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n \r\n this.ArcLocalToken = window.localStorage.getItem('ArcLocalToken')\r\n this.ArcUser = window.localStorage.getItem('ArcUser') \r\n\r\n if(this.ArcLocalToken != null && this.ArcUser != null) {\r\n sessionStorage.setItem('token', this.ArcLocalToken)\r\n sessionStorage.setItem('user', this.ArcUser) \r\n\r\n \r\n var allowedUrls = JSON.parse(this.ArcUser).allowedUrls\r\n var urlSegments = state.url.split('/') \r\n var urlSegFirst2 = urlSegments.length > 2 ?\r\n urlSegments[1] == 'customer-requests'? 'customer-requests' :\r\n urlSegments[1]+'/'+urlSegments[2] : urlSegments[1]\r\n\r\n this.isUrlAllowed = allowedUrls.find((i)=> i === urlSegFirst2 )\r\n if(state.url == '/alerts-notifications/notification-list' || state.url == '/user/change-password' || state.url.includes('learning-center') || state.url.includes('schedule-task')) {\r\n this.isUrlAllowed = true\r\n }\r\n\r\n //console.log(urlSegFirst2, this.isUrlAllowed)\r\n\r\n if(JSON.parse(this.ArcUser).userCompanyInfo[0].userType == 'Arcadia Staff' &&\r\n (\r\n (\r\n state.url.includes('new-order') ||\r\n state.url.includes('new-inbound-order') ||\r\n state.url.includes('add') ||\r\n state.url.includes('edit')\r\n ) && !state.url.includes('view')\r\n )\r\n ){ \r\n this.router.navigate(['dashboard'])\r\n }\r\n\r\n if( !this.isUrlAllowed ){ \r\n this.router.navigate(['dashboard'])\r\n }\r\n\r\n return true;\r\n } else {\r\n if(state.url != '/login' && state.url != '/dashboard' ){\r\n localStorage.setItem('preLoginUrl', state.url)\r\n }\r\n sessionStorage.removeItem('token') \r\n sessionStorage.removeItem('user')\r\n this.router.navigate(['login'])\r\n } \r\n }\r\n \r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { finalize } from 'rxjs/operators';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n })\r\nexport class LoadingInterceptor implements HttpInterceptor {\r\n private totalRequests = 0;\r\n\r\n constructor(\r\n private spinner: NgxSpinnerService,) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n this.totalRequests++;\r\n this.spinner.show('formLoader')\r\n return next.handle(request).pipe(\r\n finalize(() => {\r\n this.totalRequests--;\r\n if (this.totalRequests == 0) {\r\n this.spinner.hide('formLoader')\r\n }\r\n })\r\n );\r\n }\r\n}\r\n","import { Injectable, Inject, InjectionToken } from '@angular/core';\r\nimport {\r\n HttpInterceptor,\r\n HttpRequest,\r\n HttpResponse,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpErrorResponse\r\n} from '@angular/common/http';\r\n\r\nimport { Observable, of, throwError, empty, TimeoutError } from 'rxjs';\r\nimport { map, catchError } from 'rxjs/operators';\r\nimport { CommonService } from \"src/app/services/common.service\";\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { environment } from '../../environments/environment';\r\nimport { timeout } from 'rxjs/operators';\r\n\r\nexport const DEFAULT_TIMEOUT = new InjectionToken('defaultTimeout');\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class RequestInterceptor implements HttpInterceptor {\r\n validationMessage = validationMessage;\r\n constructor(\r\n private commonService: CommonService,\r\n @Inject(DEFAULT_TIMEOUT) protected defaultTimeout: number\r\n ) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n const token: string = this.commonService.getToken();\r\n const DISABLE_ORIGIN_FOR = [\r\n \"/api/v0/tokenrequest\",\r\n ];\r\n\r\n if (token && !DISABLE_ORIGIN_FOR.includes(request.url)) {\r\n request = request.clone({ headers: request.headers.set('Authorization', 'Bearer ' + token) });\r\n }\r\n // if (!request.headers.has('Content-Type')) {\r\n // request = request.clone({ headers: request.headers.set('Content-Type', 'application/json;charset=UTF-8') });\r\n // }\r\n\r\n if (DISABLE_ORIGIN_FOR.includes(request.url)) {\r\n //request = request.clone({ headers: request.headers.set('Accept', '*/*') });\r\n //request = request.clone({ headers: request.headers.set( \"Access-Control-Allow-Origin\", \"*\" ) });\r\n } else {\r\n request = request.clone({ headers: request.headers.set('Accept', '*/*') });\r\n request = request.clone({ headers: request.headers.set('Access-Control-Allow-Origin', '*') });\r\n }\r\n\r\n // request = request.clone({ headers: request.headers.set('Connection', 'keep-alive') });\r\n // request = request.clone({ headers: request.headers.set('Accept-Encoding', 'gzip, deflate, br') });\r\n // request = request.clone({ headers: request.headers.set('Cache-Control', 'no-cache') });\r\n // request = request.clone({url: request.url.replace(\"http://\", \"https://\")});\r\n\r\n const timeoutValue = request.headers.get('timeout') || this.defaultTimeout;\r\n const timeoutValueNumeric = Number(timeoutValue);\r\n\r\n const modified = request.clone({\r\n setHeaders: { 'X-Request-Timeout': `${this.defaultTimeout}` }\r\n });\r\n\r\n return next.handle(modified).pipe(\r\n timeout(timeoutValueNumeric),\r\n map((event: HttpEvent) => {\r\n if (event instanceof HttpResponse) {\r\n if (event.body.result == true && event.body.message) {\r\n this.commonService.notification(this.validationMessage.toasterClass.success, event.body.message);\r\n }\r\n }\r\n return event;\r\n }),\r\n catchError((error) => {\r\n let handled: boolean = false;\r\n let showMsg: boolean = true;\r\n\r\n if (error instanceof TimeoutError) {\r\n handled = false;\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Oops! there is some problem on server side, please try after some time.');\r\n // return empty();\r\n }\r\n\r\n if (error instanceof HttpErrorResponse) {\r\n if (error.error instanceof ErrorEvent) {\r\n // console.error(\"Error Event\");\r\n } else {\r\n // console.log(`error status : ${JSON.stringify(error)} ${error.error}`);\r\n switch (error.status) {\r\n case 401: //unauthorise\r\n if (error.error) {\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, error.error.message ? error.error.message : this.validationMessage.common.invalidUser);\r\n handled = true;\r\n return\r\n }\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, environment.sessionExpireMessage);\r\n handled = true;\r\n break;\r\n case 403: //forbidden\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, this.validationMessage.common.forbiddenAccess);\r\n handled = true;\r\n break;\r\n case 500: //server error\r\n this.commonService.notification(this.validationMessage.toasterClass.error, this.validationMessage.common.applicationError);\r\n handled = false;\r\n showMsg = false;\r\n break;\r\n }\r\n }\r\n } else {\r\n // console.error(\"Other Errors\");\r\n }\r\n\r\n if (handled) {\r\n // console.log('return back ');\r\n return of(error);\r\n } else {\r\n if (error.error && error.error.message && showMsg) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, error.error.message);\r\n }\r\n return throwError(error);\r\n }\r\n })\r\n );\r\n }\r\n}","import { NgModule } from '@angular/core'; \r\n@NgModule({\r\n imports: [ \r\n ],\r\n exports: [ \r\n ]\r\n}) \r\nexport class AngularMaterialModule { }","import { NgModule,CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { RouterModule } from '@angular/router';\r\nimport { NgxPaginationModule } from 'ngx-pagination';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { DirectivesModule } from \"src/app/directives/directives.module\";\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatNativeDateModule, MAT_DATE_LOCALE, } from '@angular/material/core';\r\nimport { OwlDateTimeModule, OwlMomentDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS , OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from '@danielmoncada/angular-datetime-picker';\r\nimport { NgxSpinnerModule } from \"ngx-spinner\";\r\nimport { MatMomentDateModule, MomentDateAdapter } from '@angular/material-moment-adapter';\r\nimport { SideMenuComponent } from 'src/app/shared/side-menu/side-menu.component';\r\nimport { ReportFiltersComponent } from 'src/app/shared/report-filters/report-filters.component';\r\nimport { ReportFilters1Component } from 'src/app/shared/report-filters/report-filters1.component';\r\nimport { DynamicFormBuilderModule } from 'src/app/shared/report-filters/dynamic-form-builder/dynamic-form-builder.module' \r\nimport { NoSanitizePipe, NumberWithCommasPipe } from 'src/app/services/nosanitizerpipe'\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\n \r\nexport const MY_FORMATS = {\r\n parse: {\r\n dateInput: 'MM-DD-YYYY',\r\n },\r\n display: {\r\n dateInput: 'MM-DD-YYYY',\r\n monthYearLabel: 'MM YYYY',\r\n dateA11yLabel: 'YYYY-MM-DD',\r\n monthYearA11yLabel: 'MM YYYY',\r\n },\r\n};\r\n\r\nimport { Inject, Injectable, Optional } from '@angular/core';\r\nimport { Moment } from 'moment';\r\nimport * as moment from 'moment';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatSortModule } from '@angular/material/sort';\r\n\r\n@Injectable()\r\nexport class MomentUtcDateAdapter extends MomentDateAdapter {\r\n\r\n constructor(@Optional() @Inject(MAT_DATE_LOCALE) dateLocale: string) {\r\n super(dateLocale);\r\n }\r\n\r\n createDate(year: number, month: number, date: number): Moment {\r\n // Moment.js will create an invalid date if any of the components are out of bounds, but we\r\n // explicitly check each case so we can throw more descriptive errors.\r\n if (month < 0 || month > 11) {\r\n throw Error(`Invalid month index \"${month}\". Month index has to be between 0 and 11.`);\r\n }\r\n\r\n if (date < 1) {\r\n throw Error(`Invalid date \"${date}\". Date has to be greater than 0.`);\r\n }\r\n\r\n let result = moment.utc({ year, month, date }).locale(this.locale);\r\n\r\n // If the result isn't valid, the date must have been out of bounds for this month.\r\n if (!result.isValid()) {\r\n throw Error(`Invalid date \"${date}\" for month with index \"${month}\".`);\r\n }\r\n\r\n return result;\r\n }\r\n}\r\n\r\n\r\nexport const MY_MOMENT_FORMATS = {\r\n parseInput: 'MM/DD/YYYY',\r\n fullPickerInput: 'MM/DD/YYYY',\r\n datePickerInput: 'MM/DD/YYYY',\r\n timePickerInput: 'HH:mm:ss',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY' \r\n};\r\n \r\n\r\nexport const PICK_FORMATS = {\r\n parse: {dateInput: {month: 'short', year: 'numeric', day: 'numeric'}},\r\n display: {\r\n dateInput: 'input',\r\n monthYearLabel: {year: 'numeric', month: 'short'},\r\n dateA11yLabel: {year: 'numeric', month: 'long', day: 'numeric'},\r\n monthYearA11yLabel: {year: 'numeric', month: 'long'}\r\n }\r\n};\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n RouterModule,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatMomentDateModule,\r\n NgSelectModule,\r\n NgxPaginationModule,\r\n NgxSpinnerModule,\r\n DirectivesModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n DynamicFormBuilderModule,\r\n OwlDateTimeModule, OwlNativeDateTimeModule, OwlMomentDateTimeModule, DragDropModule, MatTableModule, MatIconModule, MatSortModule \r\n ],\r\n exports: [ \r\n SideMenuComponent,\r\n ReportFiltersComponent,\r\n ReportFilters1Component,\r\n MatDatepickerModule,\r\n MatNativeDateModule,\r\n MatMomentDateModule,\r\n NgSelectModule,\r\n DirectivesModule,\r\n FormsModule,\r\n ReactiveFormsModule\r\n ],\r\n declarations: [ \r\n SideMenuComponent,\r\n ReportFiltersComponent,\r\n ReportFilters1Component,\r\n NoSanitizePipe,\r\n NumberWithCommasPipe\r\n ],\r\n providers: [\r\n // { provide: MAT_DATE_LOCALE, useValue: 'en-GB' },\r\n // { provide: MAT_DATE_FORMATS, useValue: MY_FORMATS },\r\n // { provide: DateAdapter, useClass: MomentUtcDateAdapter }\r\n { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS },\r\n { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n \r\n],\r\nschemas: [CUSTOM_ELEMENTS_SCHEMA] \r\n})\r\nexport class SharedModule { }\r\n","import { Component, OnInit } from '@angular/core'; \r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\nimport { Router } from '@angular/router'; \r\nimport { CommonService } from \"src/app/services/common.service\";\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\"; \r\nimport { APIConstant } from \"src/app/constants/apiConstants\"; \r\nimport { validationMessage } from \"src/app/constants/validationMessage\"; \r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-appointment',\r\n templateUrl: './appointment.component.html',\r\n styleUrls: ['./appointment.component.css']\r\n}) \r\n\r\nexport class AppointmentComponent implements OnInit {\r\n validationMessage=validationMessage;\r\n AMSBaseUrl:string=''\r\n userData:any=[]\r\n selectedAccounts:string=''\r\n \r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService, \r\n private spinner: NgxSpinnerService, \r\n public router:Router,\r\n public titleService:Title\r\n ) { \r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n console.log(this.userData)\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getAMSBaseUrl()\r\n \r\n this.selectedAccounts = this.userData.allAccounts?.filter((acc)=>acc.checked).map((item)=>{\r\n return item.cust_id+'@'+item.wh_name\r\n }).join('~') \r\n this.titleService.setTitle(validationMessage.common.heading +\"Appointment\")\r\n }\r\n\r\n getAMSBaseUrl(){\r\n let payload = {\r\n VariableName: 'AppointmentManagementSystemURL'\r\n } \r\n this.spinner.show('dataLoader') \r\n this.apiserviceService.get(APIConstant.GetGlobalConfigValue,payload).subscribe((response)=>{\r\n if(response.result){ \r\n this.AMSBaseUrl = response.data[0].globalVariableValue \r\n } \r\n this.spinner.hide('dataLoader'); \r\n }, error =>{\r\n this.spinner.hide('dataLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n } \r\n\r\n onNavigate(){ \r\n\r\n let payload = {\r\n inputParameters: this.userData.username\r\n } \r\n this.spinner.show('dataLoader') \r\n this.apiserviceService.get(APIConstant.GetERPCLientIdFromUserName,payload).subscribe((response)=>{\r\n if(response.result){ \r\n const url = response.data \r\n console.log(response.data)\r\n window.open(url, '_blank');\r\n } \r\n this.spinner.hide('dataLoader'); \r\n }, error =>{\r\n this.spinner.hide('dataLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n\r\n\r\n\r\n\r\n\r\n //const url = 'https://arc-aztms-pr1.jdadelivers.com/tm/framework/Frame.jsp';\r\n // const url = this.AMSBaseUrl+'/?UserID='+this.userData.username+'&Accounts='+this.selectedAccounts\r\n // window.open(url, '_blank');\r\n}\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n

Appointment

\r\n
\r\n \r\n
\r\n
\r\n Proceed to the Appointment Management System\r\n \r\n
\r\n \r\n \r\n

Proceed to the Appointment Management System

\r\n Click Here \r\n
\r\n Proceed to the Appointment Management System\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 { NgxSpinnerService } from 'ngx-spinner';\r\nimport { APIConstant } from 'src/app/constants/apiConstants';\r\nimport { validationMessage } from 'src/app/constants/validationMessage';\r\nimport { ApiserviceService } from 'src/app/services/apiservice.service';\r\nimport { CommonService } from 'src/app/services/common.service';\r\n\r\n@Component({\r\n selector: 'app-business-intelligence',\r\n templateUrl: './business-intelligence.component.html',\r\n styleUrls: ['./business-intelligence.component.css']\r\n})\r\nexport class BusinessIntelligenceComponent implements OnInit {\r\n\r\n tokenKey:any;\r\n isReportVisible:Boolean=false;\r\n isInboundOutboundReportVisible : boolean =false\r\n isAMSReportVisible1 : boolean =false\r\n isAMSReportVisible2 : boolean =false\r\n validationMessage = validationMessage;\r\n isFirst: boolean = false\r\n currentUserEmail : any\r\n userData : any\r\n\r\n constructor(public spinner: NgxSpinnerService,\r\n private apiserviceService: ApiserviceService,\r\n private commonService: CommonService,) { \r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'))\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getTableauData()\r\n this.getUserLoginDetail()\r\n }\r\n\r\n getTableauData(){\r\n this.spinner.show('dataLoader');\r\n \r\n this.apiserviceService.get(APIConstant.GenerateSignedToken, {UserEmail : this.currentUserEmail}).subscribe((response) => {\r\n if (response.result) {\r\n this.tokenKey=response.data\r\n this.spinner.hide('dataLoader');\r\n \r\n }\r\n }, error => {\r\n this.spinner.hide('dataLoader');\r\n // console.log(\"Error\")\r\n })\r\n\r\n }\r\n\r\n getUserLoginDetail(){\r\n this.spinner.show('dataLoader');\r\n \r\n this.apiserviceService.get(APIConstant.GetUserLoginDetail, {username: this.userData.username}).subscribe((response) => {\r\n if (response.result) {\r\n this.currentUserEmail=response.data.portalUser[0].userEmailAddress\r\n console.log(this.currentUserEmail)\r\n }\r\n }, error => {\r\n this.spinner.hide('dataLoader');\r\n \r\n })\r\n }\r\n \r\n ReportVisible(){\r\n \r\n this.spinner.show('dataLoader');\r\n \r\n this.apiserviceService.get(APIConstant.GenerateSignedToken, {UserEmail : this.currentUserEmail}).subscribe((response) => {\r\n \r\n if(response.data=='401'){\r\n let errMsg = 'Not a Tableau user';\r\n this.commonService.notification(this.validationMessage.toasterClass.error,errMsg);\r\n this.isReportVisible=false\r\n this.isInboundOutboundReportVisible=false\r\n this.spinner.hide('dataLoader');\r\n }\r\n else{\r\n if(response.result){\r\n this.tokenKey=response.data\r\n this.spinner.hide('dataLoader');\r\n this.isReportVisible=true\r\n this.isInboundOutboundReportVisible=true\r\n } \r\n }\r\n }, error => {\r\n this.spinner.hide('dataLoader');\r\n })\r\n \r\n }\r\n\r\n ReportVisibleAMS1(){\r\n this.spinner.show('dataLoader');\r\n \r\n this.apiserviceService.get(APIConstant.GenerateSignedToken, {UserEmail : this.currentUserEmail}).subscribe((response) => {\r\n \r\n if(response.data=='401'){\r\n let errMsg = 'Not a Tableau user';\r\n this.commonService.notification(this.validationMessage.toasterClass.error,errMsg);\r\n this.isReportVisible=false\r\n this.isAMSReportVisible1 = false\r\n this.spinner.hide('dataLoader');\r\n }\r\n else{\r\n if(response.result){\r\n this.tokenKey=response.data\r\n this.spinner.hide('dataLoader');\r\n this.isReportVisible=true\r\n this.isAMSReportVisible1 = true\r\n } \r\n }\r\n }, error => {\r\n this.spinner.hide('dataLoader');\r\n })\r\n }\r\n\r\n ReportVisibleAMS2(){\r\n this.spinner.show('dataLoader');\r\n \r\n this.apiserviceService.get(APIConstant.GenerateSignedToken, {UserEmail : this.currentUserEmail}).subscribe((response) => {\r\n \r\n if(response.data=='401'){\r\n let errMsg = 'Not a Tableau user';\r\n this.commonService.notification(this.validationMessage.toasterClass.error,errMsg);\r\n this.isReportVisible=false\r\n this.isAMSReportVisible2 = false\r\n this.spinner.hide('dataLoader');\r\n }\r\n else{\r\n if(response.result){\r\n this.tokenKey=response.data\r\n this.spinner.hide('dataLoader');\r\n this.isReportVisible=true\r\n this.isAMSReportVisible2 = true\r\n } \r\n }\r\n }, error => {\r\n this.spinner.hide('dataLoader');\r\n })\r\n }\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \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 { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { Router } from '@angular/router';\r\nimport { CommonService } from \"src/app/services/common.service\";\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\";\r\nimport { SessionStorageService } from 'src/app/services/session-storage.service';\r\nimport { APIConstant } from \"src/app/constants/apiConstants\";\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport * as _ from 'lodash'\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-dashboard',\r\n templateUrl: './dashboard.component.html',\r\n styleUrls: ['./dashboard.component.css']\r\n})\r\nexport class DashboardComponent implements OnInit {\r\n breadcrumbObj = {\r\n title: 'Dashboard',\r\n classBreadcrumb: 'fa-dashboard',\r\n urls: [\r\n { urlName: 'Home', linkURL: '/dashboard' }\r\n ]\r\n }\r\n validationMessage = validationMessage;\r\n closeResult: string;\r\n messageList: any = [];\r\n urlLinks: any = [];\r\n userData: any = [];\r\n userSiteInfo: string = '';\r\n todayDate: Date = new Date()\r\n customerRequestforDashboard: any = []\r\n holidayScheduleforDashboard: any = []\r\n timezoneDate: any = ''\r\n verbiageMessage: string = ''\r\n \r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private sessionStorageService: SessionStorageService,\r\n private spinner: NgxSpinnerService,\r\n public router: Router,\r\n public titleService:Title,\r\n \r\n ) {\r\n //let preLoginUrl = this.sessionStorageService.getData('preLoginUrl') \r\n let preLoginUrl = localStorage.getItem('preLoginUrl')\r\n\r\n if (preLoginUrl) {\r\n this.sessionStorageService.deleteData('preLoginUrl')\r\n this.router.navigate([preLoginUrl])\r\n localStorage.removeItem('preLoginUrl')\r\n }\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n }\r\n\r\n ngOnInit(): void {\r\n this.GetDashboardWrapper()\r\n this.titleService.setTitle(validationMessage.common.heading+\"Dashboard\")\r\n \r\n }\r\n\r\n GetDashboardWrapper() {\r\n let payload = {\r\n UserName: this.userData.username\r\n }\r\n this.spinner.show('dataLoader')\r\n this.apiserviceService.get(APIConstant.GetDashboardWrapper, payload).subscribe((response) => {\r\n if (response.result) {\r\n this.urlLinks = response.data['dashboardLinkDetail']\r\n this.messageList = response.data['liveBroadCastMessage'].dashboardMessage\r\n this.userSiteInfo = response.data['userSiteInfo']\r\n this.customerRequestforDashboard = response.data['customerRequestforDashboard']\r\n this.timezoneDate = response.data['dashboardDateTimeDetails'].timeZone\r\n this.verbiageMessage = response.data['messageDetails'].verbiageMessage\r\n let tempList = _.groupBy(response.data['holidayScheduleforDashboard'], item => item.siteID);\r\n let tempArr = []\r\n Object.keys(tempList).forEach(key => {\r\n tempArr.push({\r\n warehouse: key,\r\n holidays: tempList[key]\r\n })\r\n })\r\n this.holidayScheduleforDashboard = tempArr\r\n }\r\n\r\n this.spinner.hide('dataLoader');\r\n }, error => {\r\n this.spinner.hide('dataLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n {{messageList !== '' ? messageList : \"Welcome to the Arcadia Cold Portal! This section will highlight important news, new portal features, and our maintenance windows. Welcome to the Age of Arcadia.\"}}\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Quick Links

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

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

Today’s Date

\r\n

{{timezoneDate}}

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

Arcadia Holiday Schedule

\r\n\r\n
\r\n
    \r\n
  • \r\n
    {{whList.warehouse}}
    \r\n
  • \r\n
      \r\n
    • {{holiday.scheduleDate}}\r\n
    • \r\n
    \r\n
\r\n \r\n
\r\n \r\n
\r\n N/A\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n

Arcadia Warehouse Information

\r\n
\r\n
\r\n
{{whinfo.siteCity}}
\r\n
{{whinfo.label}}:
\r\n

Tel: {{whinfo.sitePhone}}

\r\n

Email: {{whinfo.siteEmail}}

\r\n
\r\n
\r\n N/A\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \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, Pipe, PipeTransform, ViewEncapsulation } from '@angular/core';\r\nimport { ApiserviceService } from 'src/app/services/apiservice.service';\r\nimport { CommonService } from 'src/app/services/common.service';\r\nimport { APIConstant } from \"src/app/constants/apiConstants\";\r\nimport { validationMessage } from 'src/app/constants/validationMessage'\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\nimport { NgxSpinnerService } from 'ngx-spinner';\r\ndeclare var $: any;\r\n\r\n@Pipe({ name: 'noSanitizeHtml' })\r\nexport class NoSanitizeHtmlPipe implements PipeTransform {\r\n constructor(private domSanitizer: DomSanitizer) { }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.domSanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-learning-center',\r\n templateUrl: './learning-center.component.html',\r\n styleUrls: ['./learning-center.component.css'],\r\n encapsulation: ViewEncapsulation.None,\r\n\r\n})\r\nexport class LearningCenterComponent implements OnInit {\r\n userData: any;\r\n data : any = '';\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private spinner: NgxSpinnerService,\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.spinner.show()\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n this.apiserviceService.get(APIConstant.LearningCenter, { userName: this.userData.username }).subscribe(\r\n response => {\r\n this.spinner.hide()\r\n this.data = response.data.description\r\n },\r\n error => {\r\n this.spinner.hide()\r\n this.commonService.notification(validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n\r\n $(document).ready(function () { \r\n $(document).on('click', '#learning-center .to-top', function(){\r\n \t$('html, body').animate({ scrollTop: 0 }, 300);\r\n });\r\n });\r\n }\r\n}\r\n","\r\n\r\n\t

Loading...

\r\n
\r\n\r\n
\r\n\t \r\n
","import { Component, OnInit } from '@angular/core';\r\nimport { ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from \"@angular/forms\";\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport { PasswordValidator } from 'src/app/customvalidator/password.validator';\r\nimport { passwordNoWhitespaceValidator } from 'src/app/customvalidator/passwordNoWhitespace.validator';\r\nimport { SessionStorageService } from \"src/app/services/session-storage.service\";\r\nimport { CommonService } from \"src/app/services/common.service\";\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\";\r\nimport { APIConstant } from \"src/app/constants/apiConstants\";\r\nimport { regExConstant } from 'src/app/constants/regExConstant';\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { navigationConstants } from \"src/app/constants/navigationConstant\";\r\nimport { customStorage } from \"src/app/constants/storageKeys\";\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { environment } from 'src/environments/environment';\r\nconst shajs = require('sha.js');\r\nimport * as _ from 'lodash'\r\nimport { Title } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.css']\r\n})\r\nexport class LoginComponent implements OnInit {\r\n environment = environment\r\n validationMessage = validationMessage;\r\n closeResult: string;\r\n loginForm: FormGroup;\r\n forgetPassword: FormGroup;\r\n resetPasswordForm: FormGroup;\r\n isLoginFormSubmitted = false;\r\n isForgetPasswordSubmitted = false;\r\n isResetPasswordSubmitted = false;\r\n btnSpinner: boolean = false;\r\n btnPasswordSpinner: boolean = false;\r\n showForm = true;\r\n timedOut = false;\r\n attempts: any;\r\n pwd: any;\r\n randomLoginInit: string = '';\r\n moduleForm: FormGroup;\r\n formEditable: boolean = true;\r\n isModuleFormSubmitted = false;\r\n bodyBgImg: string;\r\n readMore: boolean = true\r\n showtext: boolean = true\r\n tempLoginRes: any;\r\n acceptTnC: boolean = false;\r\n btnAccountSelectionDisabled: boolean = true;\r\n noAccountSelectedFlag: boolean = false;\r\n anyAccountSelect: boolean = false;\r\n ipAddress: string = '14.97.189.106';\r\n allowedUrls: any = [];\r\n termsAndConditions: string = ''\r\n uatInstance: boolean = false\r\n\r\n @ViewChild('MultipleAccountSelectionModal') MultipleAccountSelectionModal: any;\r\n @ViewChild('TermsAndConditionsModal') TermsAndConditionsModal: any;\r\n @ViewChild('ResetPasswordFormModal') ResetPasswordFormModal: any;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private formBuilder: FormBuilder,\r\n private sessionStorageService: SessionStorageService,\r\n private spinner: NgxSpinnerService,\r\n private modalService: NgbModal,\r\n public router: Router,\r\n private toastr: ToastrService,\r\n public titleService:Title\r\n ) {\r\n let token = this.commonService.getToken();\r\n if (token != null && token != '' && token != undefined) {\r\n this.commonService.redirectToPage(navigationConstants.DASHBOARD);\r\n // this.router.navigate([navigationConstants.DASHBOARD])\r\n // .then(() => {\r\n // window.location.reload();\r\n // });\r\n }\r\n\r\n let bgm = ['assets/images/bg01.jpg']\r\n this.bodyBgImg = bgm[Math.floor(Math.random() * bgm.length)];\r\n }\r\n\r\n ngOnInit(): void {\r\n if(environment.frontendUrl == 'https://testportal.arcadiaone.com/') {\r\n this.uatInstance = true\r\n }\r\n this.spinner.show();\r\n setTimeout(() => {\r\n this.spinner.hide();\r\n }, 1000);\r\n\r\n this.loginForm = this.formBuilder.group({\r\n username: [\"\", Validators.compose([Validators.required, Validators.maxLength(45)])],\r\n password: [\"\", Validators.compose([Validators.required, Validators.maxLength(30)])],\r\n });\r\n this.forgetPassword = this.formBuilder.group({\r\n email: [\"\", [Validators.required, Validators.pattern(regExConstant.email)]]\r\n });\r\n\r\n this.resetPasswordForm = this.formBuilder.group({\r\n username: [\"\"],\r\n newpassword: [\"\", [Validators.required, passwordNoWhitespaceValidator.cannotContainSpace, Validators.minLength(12), Validators.maxLength(30), Validators.pattern(regExConstant.passwordValidators)]],\r\n confirmpassword: [\"\", Validators.required]\r\n }, { validator: PasswordValidator(\"newpassword\", \"confirmpassword\") });\r\n }\r\n get loginFormControl() { return this.loginForm.controls; }\r\n get forgetPasswordControl() { return this.forgetPassword.controls; }\r\n get resetPasswordControl() { return this.resetPasswordForm.controls; }\r\n\r\n openForgetPasswordModal(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n this.resetForgetPassword();\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n this.resetForgetPassword();\r\n }\r\n );\r\n }\r\n clearForm() {\r\n this.loginForm.get('username').reset();\r\n this.loginForm.get('password').reset();\r\n }\r\n\r\n openTnCModal(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"xl\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n this.GetTermAndConditions()\r\n }\r\n\r\n onLoginFormSubmit(param = null) {\r\n this.toastr.clear();\r\n this.isLoginFormSubmitted = true;\r\n if (this.loginForm.invalid) {\r\n return;\r\n }\r\n\r\n let loginData = {\r\n username: this.loginFormControl.username.value,\r\n password: shajs('sha512').update(this.loginFormControl.password.value).digest('hex'),\r\n IPAddress: this.ipAddress\r\n };\r\n\r\n this.apiserviceService.post(APIConstant.LOGIN, loginData, {}).subscribe(response => {\r\n if (response.result === false) {\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, response.message);\r\n return;\r\n }\r\n this.tempLoginRes = response;\r\n // console.log(this.tempLoginRes);\r\n \r\n if (!response.data.userloginStatus[0].isTermsConditionChecked) {\r\n this.modalService.dismissAll();\r\n this.openTnCModal(this.TermsAndConditionsModal)\r\n return;\r\n }\r\n\r\n if (response.data.userloginStatus[0].isTermsConditionChecked && (response.data.userloginStatus[0].passwordModifiedDate == null || response.data.userloginStatus[0].passwordModifiedDate == '')) {\r\n this.modalService.dismissAll();\r\n this.openResetPasswordModal(this.ResetPasswordFormModal);\r\n return;\r\n }\r\n\r\n if (response.data.userloginAccount.length > 1) {\r\n this.modalService.dismissAll();\r\n this.openAccountSelectionPopup(this.MultipleAccountSelectionModal)\r\n return;\r\n }\r\n\r\n const selectedAccounts = [];\r\n if (response.data.userloginAccount.length === 1) {\r\n selectedAccounts.push(response.data.userloginAccount[0].cust_id + ' @' + response.data.userloginAccount[0].wh_name);\r\n response.data.userloginAccount[0].checked = true;\r\n }\r\n\r\n this.btnSpinner = false;\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.token,\r\n response.token\r\n );\r\n localStorage.setItem('ArcLocalToken', response.token)\r\n\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.user,\r\n JSON.stringify({ allAccounts: response.data.userloginAccount, username: loginData.username, selectedAccounts: selectedAccounts, userCompanyInfo: response.data.userCompanyInfo })\r\n );\r\n localStorage.setItem('ArcUser', JSON.stringify({ allAccounts: response.data.userloginAccount, username: loginData.username, selectedAccounts: selectedAccounts, userCompanyInfo: response.data.userCompanyInfo }))\r\n\r\n this.getAndSetMenu();\r\n }, error => {\r\n this.btnSpinner = false;\r\n this.clearForm();\r\n });\r\n\r\n }\r\n\r\n acceptTermsAndConditions() {\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.token,\r\n this.tempLoginRes.token\r\n );\r\n\r\n localStorage.setItem('ArcLocalToken', this.tempLoginRes.token)\r\n let params = {\r\n username: this.loginFormControl.username.value,\r\n };\r\n\r\n this.apiserviceService.post(APIConstant.UpdAcceptTermsTimestamp, params, {}).subscribe(response => {\r\n if (response.result === false) {\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, response.message);\r\n return;\r\n }\r\n if (!this.tempLoginRes.data.userloginStatus[0].isTermsConditionChecked) {\r\n this.modalService.dismissAll();\r\n this.openResetPasswordModal(this.ResetPasswordFormModal);\r\n return;\r\n }\r\n\r\n // if(this.tempLoginRes.data.userloginAccount.length > 1 ){\r\n // this.modalService.dismissAll();\r\n // this.openAccountSelectionPopup(this.MultipleAccountSelectionModal); \r\n // return;\r\n // } \r\n\r\n // this.sessionStorageService.setData(\r\n // customStorage.sessionKeys.token,\r\n // this.tempLoginRes.token\r\n // ); \r\n // localStorage.setItem('ArcLocalToken', this.tempLoginRes.token )\r\n\r\n // const selectedAccounts = []; \r\n // if(this.tempLoginRes.data.userloginAccount.length === 1){\r\n // selectedAccounts.push(this.tempLoginRes.data.userloginAccount[0].cust_id +' @'+ this.tempLoginRes.data.userloginAccount[0].wh_name ); \r\n // this.tempLoginRes.data.userloginAccount[0].checked = true;\r\n // } \r\n\r\n // this.sessionStorageService.setData(\r\n // customStorage.sessionKeys.user,\r\n // JSON.stringify({allAccounts: this.tempLoginRes.data.userloginAccount, username: params.username,selectedAccounts:selectedAccounts, userCompanyInfo:this.tempLoginRes.data.userCompanyInfo } )\r\n // ); \r\n // localStorage.setItem('ArcUser', JSON.stringify({allAccounts: this.tempLoginRes.data.userloginAccount, username: params.username,selectedAccounts:selectedAccounts, userCompanyInfo:this.tempLoginRes.data.userCompanyInfo } ))\r\n\r\n // this.getAndSetMenu(); \r\n }, error => {\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, error.error.errors[Object.keys(error.error.errors)[0]]);\r\n });\r\n }\r\n\r\n openAccountSelectionPopup(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n onForgetPasswordSubmit() {\r\n this.isForgetPasswordSubmitted = true;\r\n if (this.forgetPassword.invalid) {\r\n return;\r\n } else {\r\n this.btnPasswordSpinner = true;\r\n let forgetPasswordData = {\r\n userEmailAddress: this.forgetPassword.value.email\r\n }\r\n this.apiserviceService.post(APIConstant.ForgetPassword, forgetPasswordData, {}).subscribe(response => {\r\n if (response.data) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, response.data);\r\n } else {\r\n this.commonService.notification(this.validationMessage.toasterClass.success, 'Password reset link has been sent on your email');\r\n }\r\n this.btnPasswordSpinner = false;\r\n this.modalService.dismissAll();\r\n this.resetForgetPassword();\r\n }, error => {\r\n this.btnPasswordSpinner = false;\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong, try again later.');\r\n });\r\n }\r\n }\r\n\r\n\r\n resetForgetPassword() {\r\n this.isForgetPasswordSubmitted = false;\r\n this.forgetPassword.reset();\r\n this.forgetPassword.setErrors(null);\r\n this.forgetPassword.markAsPristine();\r\n this.forgetPassword.markAsUntouched();\r\n this.forgetPassword.updateValueAndValidity();\r\n }\r\n\r\n\r\n checkAllCheckBox(ev: any) {\r\n this.tempLoginRes.data.userloginAccount.forEach(x => x.checked = ev.target.checked)\r\n this.checkAndSetFlags();\r\n }\r\n isAllCheckBoxChecked() {\r\n return this.tempLoginRes.data.userloginAccount.every(p => p.checked);\r\n }\r\n\r\n checkAndSetFlags() {\r\n const isAnySelected = (this.tempLoginRes.data.userloginAccount.find(x => x.checked === true) ? true : false)\r\n if (isAnySelected) {\r\n this.anyAccountSelect = true;\r\n this.btnAccountSelectionDisabled = false;\r\n } else {\r\n this.anyAccountSelect = false;\r\n this.btnAccountSelectionDisabled = true;\r\n }\r\n }\r\n\r\n\r\n accountSelectionSubmit() {\r\n if (!this.anyAccountSelect) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'You have to select atleast one account');\r\n return;\r\n }\r\n\r\n // const selectedAccounts = (this.tempLoginRes.data.userloginAccount.filter(x => x.checked === true).map(function(x){\r\n // return x.cust_id+ '@'+ x.wh_name;\r\n // })); \r\n const selectedAccountsTemp = (this.tempLoginRes.data.userloginAccount.filter(x => x.checked === true));\r\n const groupedAccounts = _.groupBy(selectedAccountsTemp, acc => acc.wh_name);\r\n\r\n const selectedAccounts = [];\r\n Object.keys(groupedAccounts).forEach(key => {\r\n const custIds = groupedAccounts[key].map((item) => {\r\n return item.cust_id;\r\n });\r\n selectedAccounts.push(custIds.join(', ') + ' @' + key);\r\n });\r\n\r\n if (selectedAccounts) {\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.token,\r\n this.tempLoginRes.token\r\n );\r\n localStorage.setItem('ArcLocalToken', this.tempLoginRes.token)\r\n\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.user,\r\n JSON.stringify({ allAccounts: this.tempLoginRes.data.userloginAccount, username: this.loginFormControl.username.value, selectedAccounts: selectedAccounts, userCompanyInfo: this.tempLoginRes.data.userCompanyInfo })\r\n );\r\n\r\n localStorage.setItem('ArcUser', JSON.stringify({ allAccounts: this.tempLoginRes.data.userloginAccount, username: this.loginFormControl.username.value, selectedAccounts: selectedAccounts, userCompanyInfo: this.tempLoginRes.data.userCompanyInfo }))\r\n\r\n this.getAndSetMenu();\r\n }\r\n }\r\n\r\n getAndSetMenu() {\r\n \r\n let params = {\r\n username: this.loginFormControl.username.value,\r\n };\r\n\r\n this.apiserviceService.get(APIConstant.getAndSetMenuData, params).subscribe(response => {\r\n const userData = JSON.parse(this.sessionStorageService.getData(customStorage.sessionKeys.user));\r\n userData.menu = response.data;\r\n console.log(response.data);\r\n console.log(userData.menu)\r\n\r\n // for(let i=0;i<10;i++){\r\n // this.titleService.setTitle(userData.menu[i].menuSectionName)\r\n // }\r\n // for(let i=0;i<10;i++){\r\n // this.titleService.setTitle(response.data[i].menuSectionName)}\r\n response.data?.map((item, i) => {\r\n this.allowedUrls.push(item.menuURL);\r\n console.log(\"Hello\",response.data)\r\n if (item.reportMenu != null) {\r\n item.reportMenu?.map((submenu) => {\r\n this.allowedUrls.push(submenu.reportURL);\r\n })\r\n }\r\n })\r\n userData.allowedUrls = this.allowedUrls;\r\n\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.user,\r\n JSON.stringify(userData)\r\n );\r\n\r\n localStorage.setItem('ArcUser', JSON.stringify(userData))\r\n this.tempLoginRes = '';\r\n this.modalService.dismissAll();\r\n this.commonService.redirectToPage(navigationConstants.DASHBOARD);\r\n // this.router.navigate([navigationConstants.DASHBOARD])\r\n // .then(() => {\r\n // window.location.reload();\r\n // });\r\n }, error => {\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, error.error.errors[Object.keys(error.error.errors)[0]]);\r\n });\r\n \r\n\r\n } \r\n\r\n GetTermAndConditions() {\r\n let params = { username: '' }\r\n this.spinner.show('dataLoader')\r\n this.apiserviceService.get(APIConstant.GetTermAndConditions, params).subscribe((response) => {\r\n if (response.result) {\r\n this.termsAndConditions = response.data['descriptionTable'][0].description\r\n }\r\n this.spinner.hide('dataLoader');\r\n }, error => {\r\n this.spinner.hide('dataLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n }\r\n\r\n /* first login reset password */\r\n onResetPasswordSubmit() {\r\n this.isResetPasswordSubmitted = true;\r\n if (this.resetPasswordForm.invalid) {\r\n return;\r\n } else {\r\n let formdata = this.resetPasswordForm.getRawValue();\r\n let username = this.loginFormControl.username.value;\r\n let payload = {\r\n UserName: username,\r\n UserPwd: formdata.newpassword,\r\n UserPwdEncrypted: shajs('sha512').update(formdata.newpassword).digest('hex'),\r\n }\r\n\r\n this.apiserviceService.get(APIConstant.ResetUserPassword, payload).subscribe(response => {\r\n if (response.result === false) {\r\n this.modalService.dismissAll();\r\n this.commonService.logout();\r\n this.commonService.notification(this.validationMessage.toasterClass.error, response.message);\r\n return;\r\n }\r\n\r\n if (this.tempLoginRes.data.userloginAccount.length > 1) {\r\n this.modalService.dismissAll();\r\n this.openAccountSelectionPopup(this.MultipleAccountSelectionModal);\r\n return;\r\n }\r\n\r\n this.modalService.dismissAll();\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.token,\r\n this.tempLoginRes.token\r\n );\r\n localStorage.setItem('ArcLocalToken', this.tempLoginRes.token)\r\n\r\n const selectedAccounts = [];\r\n if (this.tempLoginRes.data.userloginAccount.length === 1) {\r\n selectedAccounts.push(this.tempLoginRes.data.userloginAccount[0].cust_id + ' @' + this.tempLoginRes.data.userloginAccount[0].wh_name);\r\n this.tempLoginRes.data.userloginAccount[0].checked = true;\r\n }\r\n\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.user,\r\n JSON.stringify({ allAccounts: this.tempLoginRes.data.userloginAccount, username: username, selectedAccounts: selectedAccounts, userCompanyInfo: this.tempLoginRes.data.userCompanyInfo })\r\n );\r\n localStorage.setItem('ArcUser', JSON.stringify({ allAccounts: this.tempLoginRes.data.userloginAccount, username: username, selectedAccounts: selectedAccounts, userCompanyInfo: this.tempLoginRes.data.userCompanyInfo }))\r\n\r\n this.getAndSetMenu();\r\n }, error => {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong, try again later.');\r\n });\r\n }\r\n }\r\n\r\n /* Reset password model open and close */\r\n openResetPasswordModal(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n this.resetPassword()\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n this.resetPassword()\r\n }\r\n );\r\n }\r\n\r\n /* Reset password form */\r\n resetPassword() {\r\n this.isResetPasswordSubmitted = false;\r\n this.resetPasswordForm.reset();\r\n this.resetPasswordForm.setErrors(null);\r\n this.resetPasswordForm.markAsPristine();\r\n this.resetPasswordForm.markAsUntouched();\r\n this.resetPasswordForm.updateValueAndValidity();\r\n }\r\n\r\n showText() {\r\n this.readMore = !this.readMore\r\n this.showtext = !this.showtext\r\n }\r\n}","
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n Login\r\n \r\n
\r\n \r\n \r\n Username\r\n \r\n \r\n\r\n \r\n Password\r\n \r\n \r\n \r\n \r\n Forgot Password?\r\n
\r\n
\r\n
Note: Password is case sensitive
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n
\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 Password
\r\n \r\n
\r\n \r\n
\r\n \r\n New Password\r\n \r\n\r\n \r\n {{\r\n validationMessage.common.requireError }}\r\n \r\n\r\n \r\n \r\n Confirm Password\r\n \r\n \r\n {{\r\n validationMessage.common.requireError }}\r\n {{\r\n validationMessage.login.passwordmatchErr }}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n

Password Policy

\r\n
    \r\n
  • Length: Use a password with 12 to 30 characters.
  • \r\n
  • Complexity: Combine uppercase and lowercase letters, numbers, and special symbols like $, @, !, *, &, #.
  • \r\n
  • Password Reuse: Avoid reusing any of your last five passwords.
  • \r\n
  • Prohibited Passwords: Avoid common passwords like \"Arcadiaone1!\", \"Password111!\", and similar.
  • \r\n
\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 Enter Registered Email\r\n \r\n \r\n {{ validationMessage.common.requireError }}\r\n {{ validationMessage.common.emailError }}\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n

Terms and Conditions

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
Please Select Account(s)
\r\n \r\n
\r\n
\r\n

Please select atleast one account

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
WarehouseAccountCustomer
{{acc.wh_name}}{{acc.cust_id}}{{acc.cust_name}}
\r\n
\r\n \r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-p404',\r\n templateUrl: './p404.component.html',\r\n styleUrls: ['./p404.component.css']\r\n})\r\nexport class P404Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

404

\r\n

Oops! Looks like you got lost

\r\n Back to home\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-p500',\r\n templateUrl: './p500.component.html',\r\n styleUrls: ['./p500.component.css']\r\n})\r\nexport class P500Component implements OnInit {\r\n\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

500

\r\n

Internal server error

\r\n

We are currently trying to fix the problem.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core'; \r\nimport { FormBuilder,FormGroup,Validators} from \"@angular/forms\";\r\nimport { ActivatedRoute } from '@angular/router';\r\nimport { NgxSpinnerService } from \"ngx-spinner\"; \r\nimport { PasswordValidator } from 'src/app/customvalidator/password.validator';\r\nimport { passwordNoWhitespaceValidator } from 'src/app/customvalidator/passwordNoWhitespace.validator';\r\nimport { CommonService } from \"src/app/services/common.service\";\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\"; \r\nimport { APIConstant } from \"src/app/constants/apiConstants\"; \r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { navigationConstants } from \"src/app/constants/navigationConstant\";\r\nimport { regExConstant } from '../../constants/regExConstant'\r\nconst shajs = require('sha.js');\r\n\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.css']\r\n})\r\nexport class ResetPasswordComponent implements OnInit {\r\n validationMessage=validationMessage; \r\n userData:any;\r\n updatePassword: FormGroup;\r\n isUpdatePasswordSubmitted = false;\r\n btnSpinner:boolean=false;\r\n bodyBgImg: string;\r\n\r\n constructor(\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private formBuilder: FormBuilder,\r\n private spinner: NgxSpinnerService,\r\n private route: ActivatedRoute,\r\n ) { \r\n let bgm = ['assets/images/bg01.jpg']\r\n this.bodyBgImg = bgm[Math.floor(Math.random() * bgm.length)]; \r\n }\r\n\r\n ngOnInit(): void {\r\n this.updatePassword = this.formBuilder.group({\r\n password: [\"\",[Validators.required,passwordNoWhitespaceValidator.cannotContainSpace, Validators.minLength(12),Validators.maxLength(30), Validators.pattern(regExConstant.passwordValidators)]],\r\n c_password: [\"\", Validators.required]\r\n }, { validator: PasswordValidator(\"password\", \"c_password\") });\r\n }\r\n get updatePasswordControl() { return this.updatePassword.controls; }\r\n \r\n getUserDetails(){\r\n const tokenNumber = this.route.snapshot.params.tokenNumber;\r\n const username = this.route.snapshot.params.username;\r\n //let apiUrl=APIConstant.USER_KEY_DETAIL.replace(\"{tokenNumber}\",tokenNumber);\r\n let apiUrl=''\r\n \r\n this.apiserviceService.post(apiUrl,{},{}).subscribe((response)=>{ \r\n this.userData=response.data.dataGet;\r\n this.spinner.hide();\r\n },error=>{\r\n this.spinner.hide();\r\n this.commonService.redirectToPage(navigationConstants.LOGIN);\r\n });\r\n }\r\n\r\n onUpdatePasswordSubmit(){\r\n this.isUpdatePasswordSubmitted=true;\r\n if (this.updatePassword.invalid) {\r\n return;\r\n } else {\r\n this.btnSpinner=true;\r\n let updatePasswordData={\r\n userName: this.route.snapshot.params.username,\r\n userPwd: this.updatePasswordControl.password.value, \r\n userPwdEncrypted: shajs('sha512').update( this.updatePasswordControl.password.value ).digest('hex'), \r\n tokenID: this.route.snapshot.params.tokenNumber\r\n };\r\n \r\n this.apiserviceService.post(APIConstant.UpdateUserForgetPassword, updatePasswordData, {}).subscribe(response=>{\r\n this.btnSpinner=false;\r\n if(response.result === false) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, response.message );\r\n return\r\n }\r\n\r\n this.commonService.notification(this.validationMessage.toasterClass.success, 'Password updated successfully.');\r\n this.commonService.redirectToPage(navigationConstants.LOGIN);\r\n\r\n\r\n },error=>{\r\n this.btnSpinner=false;\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n }\r\n \r\n }\r\n\r\n hide: boolean = true;\r\n hide1: boolean = true;\r\n readMore: boolean = true\r\n showtext: boolean = true\r\n\r\n\r\n myFunction() {\r\n this.hide = !this.hide;\r\n }\r\n myFunction1() {\r\n this.hide1 = !this.hide1;\r\n }\r\n\r\n showText() {\r\n this.readMore = !this.readMore\r\n this.showtext = !this.showtext\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 Password\r\n \r\n
\r\n \r\n\r\n \r\n \r\n New Password\r\n \r\n \r\n {{\r\n validationMessage.common.requireError }}\r\n \r\n \r\n \r\n \r\n Confirm Password\r\n \r\n \r\n \r\n {{\r\n validationMessage.common.requireError }}\r\n {{\r\n validationMessage.login.passwordmatchErr }}\r\n \r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

Password Policy

\r\n
    \r\n
  • Length: Use a password with 12 to 30 characters.
  • \r\n
  • Complexity: Combine uppercase and lowercase letters, numbers, and special symbols like $, @, !, *, &, #.
  • \r\n
  • Password Reuse: Avoid reusing any of your last five passwords.
  • \r\n
  • Prohibited Passwords: Avoid common passwords like \"Arcadiaone1!\", \"Password111!\", and similar.
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
","import { Injectable } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { throwError } from 'rxjs';\r\nimport { catchError } from 'rxjs/operators';\r\nimport { environment } from \"src/environments/environment\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiserviceService {\r\n private baseUrl = environment.backendUrl+'api/';\r\n\r\n constructor(\r\n private http: HttpClient\r\n ) { }\r\n\r\n get(url:string,params:any){\r\n return this.http.get(this.baseUrl+url,{params: params}).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n }\r\n post(url:string,payload:any,params:any){\r\n return this.http.post(this.baseUrl+url,payload,{params: params}).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n }\r\n postFile(url:string,payload:any,params:any){\r\n const options={\r\n params: params,\r\n // headers:{'Accept':'application/json'}\r\n // headers:{'Content-Type':'multipart/form-data; charset=utf-8; boundary=' + Math.random().toString().substr(2)}\r\n }\r\n return this.http.post(this.baseUrl+url,payload,options).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n }\r\n delete(url:string,params:any){\r\n return this.http.delete(this.baseUrl+url,{params: params}).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n }\r\n put(url:string,params:any){\r\n return this.http.put(this.baseUrl+url,{params: params}).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n }\r\n third_party_post(url:string,payload:any,params:any){\r\n return this.http.post(url,payload,{params: params}).pipe( \r\n catchError(this.errorHandl)\r\n );\r\n }\r\n third_party_get(url:string,params:any){ \r\n return this.http.get(url,{params: params}).pipe( \r\n catchError(this.errorHandl)\r\n );\r\n }\r\n\r\n errorHandl(error) {\r\n let errorMessage = '';\r\n if(error.error instanceof ErrorEvent) {\r\n // Get client-side error\r\n errorMessage = error.error.message;\r\n } else {\r\n // Get server-side error\r\n errorMessage = `Error Code: ${error.status}\\nMessage: ${error.message}`;\r\n }\r\n return throwError(error); //Rethrow it back to component\r\n }\r\n getExt(url:string,params:any){\r\n return this.http.get(url,{params: params}).pipe(\r\n catchError(this.errorHandl)\r\n );\r\n}\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { ToastrService } from \"ngx-toastr\";\r\nimport { SessionStorageService } from \"src/app/services/session-storage.service\";\r\nimport { customStorage } from \"src/app/constants/storageKeys\";\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { navigationConstants } from \"src/app/constants/navigationConstant\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CommonService {\r\n hexBase = 10;\r\n validationMessage=validationMessage;\r\n _keyStr= \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n\r\n constructor(\r\n private toastr: ToastrService,\r\n private sessionStorageService: SessionStorageService,\r\n private router: Router,\r\n ) { }\r\n\r\n set_cookie(name, value) {\r\n var cookie = [name, '=', JSON.stringify(value), '; domain=.', window.location.host.toString(), '; path=/;'].join('');\r\n document.cookie = cookie;\r\n }\r\n read_cookie(name) {\r\n var result = document.cookie.match(new RegExp(name + '=([^;]+)'));\r\n result && (result = JSON.parse(result[1]));\r\n return result;\r\n }\r\n \r\n\r\n notification(noticationType: string, message: string, title?: string) {\r\n this.toastr.clear();\r\n let titleMessage = title ? title : noticationType.charAt(0).toUpperCase() + noticationType.slice(1);\r\n this.toastr[noticationType](message, titleMessage, {\r\n positionClass: \"toast-bottom-center\",\r\n timeOut: 5000,\r\n maxOpened: 1,\r\n preventDuplicates: true,\r\n autoDismiss: true\r\n });\r\n }\r\n\r\n notificationSessionExpire(noticationType: string, message: string, title?: string) {\r\n this.toastr.clear();\r\n let titleMessage = title ? title : noticationType.charAt(0).toUpperCase() + noticationType.slice(1);\r\n this.toastr[noticationType](message, titleMessage, {\r\n positionClass: \"toast-bottom-center\",\r\n timeOut: 600000*900,\r\n maxOpened: 1,\r\n preventDuplicates: true,\r\n autoDismiss: true\r\n });\r\n }\r\n\r\n replaceAll(string, search, replace) {\r\n return string.split(search).join(replace);\r\n }\r\n getToken(){\r\n let token=null;\r\n let toeknGet=this.sessionStorageService.getData(customStorage.sessionKeys.token)\r\n if(toeknGet!=null && toeknGet!=undefined && toeknGet!=''){\r\n token=toeknGet;\r\n }\r\n return token;\r\n }\r\n\r\n redirectToPage(url:string) {\r\n this.router.navigate([url]);\r\n }\r\n\r\n clearSession(){\r\n sessionStorage.removeItem('token')\r\n sessionStorage.removeItem('user')\r\n\r\n localStorage.removeItem('ArcLocalToken')\r\n localStorage.removeItem('ArcUser')\r\n \r\n sessionStorage.clear();\r\n localStorage.clear(); \r\n }\r\n logout(){\r\n this.clearSession(); \r\n this.redirectToPage(navigationConstants.LOGIN);\r\n } \r\n\r\n encrypt(value: number) {\r\n // console.log(value);\r\n \r\n return this.Base64EncodeUrl(btoa(value.toString(this.hexBase)));\r\n }\r\n\r\n decrypt(value: string) {\r\n // console.log(value);\r\n \r\n try {\r\n return parseInt(this.Base64DecodeUrl(atob(value)), this.hexBase);\r\n } catch {\r\n this.router.navigate([\"/404\"]);\r\n }\r\n return 0;\r\n }\r\n\r\n encryptStr(value: string) {\r\n return btoa(value);\r\n }\r\n\r\n decryptStr(value: string) {\r\n try {\r\n return atob(value)\r\n } catch {\r\n this.router.navigate([\"/404\"]);\r\n }\r\n return 0;\r\n }\r\n\r\n Base64EncodeUrl(str) {\r\n return str\r\n .replace(/\\+/g, \"-\")\r\n .replace(/\\//g, \"_\")\r\n .replace(/\\=+$/, \"\");\r\n }\r\n Base64DecodeUrl(str) {\r\n if (str.length % 4 != 0) str += \"===\".slice(0, 4 - (str.length % 4));\r\n return str.replace(/-/g, \"+\").replace(/_/g, \"/\");\r\n }\r\n getPermission(module,subodule){\r\n let permissionData=JSON.parse(this.sessionStorageService.getData(customStorage.sessionKeys.permissions));\r\n if(module && !subodule){\r\n return permissionData[module];\r\n } else {\r\n return permissionData[module].subModule[subodule];\r\n }\r\n }\r\n \r\n\r\n \r\n encode(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n input = this._utf8_encode(input);\r\n\r\n while (i < input.length) {\r\n\r\n chr1 = input.charCodeAt(i++);\r\n chr2 = input.charCodeAt(i++);\r\n chr3 = input.charCodeAt(i++);\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n } \r\n output = output + this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) + this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);\r\n\r\n } \r\n return output;\r\n}\r\n\r\n\r\ndecode(input) {\r\n var output = \"\";\r\n var chr1, chr2, chr3;\r\n var enc1, enc2, enc3, enc4;\r\n var i = 0;\r\n\r\n input = input.replace(/[^A-Za-z0-9\\+\\/\\=]/g, \"\");\r\n\r\n while (i < input.length) {\r\n\r\n enc1 = this._keyStr.indexOf(input.charAt(i++));\r\n enc2 = this._keyStr.indexOf(input.charAt(i++));\r\n enc3 = this._keyStr.indexOf(input.charAt(i++));\r\n enc4 = this._keyStr.indexOf(input.charAt(i++));\r\n\r\n chr1 = (enc1 << 2) | (enc2 >> 4);\r\n chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);\r\n chr3 = ((enc3 & 3) << 6) | enc4;\r\n\r\n output = output + String.fromCharCode(chr1);\r\n\r\n if (enc3 != 64) {\r\n output = output + String.fromCharCode(chr2);\r\n }\r\n if (enc4 != 64) {\r\n output = output + String.fromCharCode(chr3);\r\n }\r\n\r\n }\r\n\r\n output = this._utf8_decode(output);\r\n\r\n return output;\r\n\r\n}\r\n\r\n_utf8_encode(string) {\r\n string = string.replace(/\\r\\n/g, \"\\n\");\r\n var utftext = \"\";\r\n\r\n for (var n = 0; n < string.length; n++) {\r\n\r\n var c = string.charCodeAt(n);\r\n\r\n if (c < 128) {\r\n utftext += String.fromCharCode(c);\r\n }\r\n else if ((c > 127) && (c < 2048)) {\r\n utftext += String.fromCharCode((c >> 6) | 192);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n else {\r\n utftext += String.fromCharCode((c >> 12) | 224);\r\n utftext += String.fromCharCode(((c >> 6) & 63) | 128);\r\n utftext += String.fromCharCode((c & 63) | 128);\r\n }\r\n\r\n }\r\n\r\n return utftext;\r\n}\r\n\r\n_utf8_decode(utftext) {\r\n var string = \"\";\r\n var i = 0;\r\n var c = 0;\r\n var c1 = 0;\r\n var c2 = 0;\r\n var c3;\r\n\r\n while (i < utftext.length) {\r\n\r\n c = utftext.charCodeAt(i);\r\n\r\n if (c < 128) {\r\n string += String.fromCharCode(c);\r\n i++;\r\n }\r\n else if ((c > 191) && (c < 224)) {\r\n c2 = utftext.charCodeAt(i + 1);\r\n string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));\r\n i += 2;\r\n }\r\n else {\r\n c2 = utftext.charCodeAt(i + 1);\r\n c3 = utftext.charCodeAt(i + 2);\r\n string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));\r\n i += 3;\r\n }\r\n }\r\n return string;\r\n} \r\n\r\n}\r\n","import { Injectable } from '@angular/core'; \r\nimport { Observable, Subject } from 'rxjs';\r\n\r\n@Injectable()\r\nexport class ConfirmDialogService {\r\n private subject = new Subject();\r\n\r\n constructor() { }\r\n\r\n confirmThis(message: string, siFn: () => void, noFn: () => void, bgClass: string = '') {\r\n this.setConfirmation(message, siFn, noFn, bgClass);\r\n }\r\n\r\n setConfirmation(message: string, siFn: () => void, noFn: () => void, bgClass) {\r\n let that = this;\r\n this.subject.next({\r\n type: \"confirm\",\r\n text: message,\r\n bgClass: bgClass,\r\n siFn:\r\n function () {\r\n that.subject.next(); // this will close the modal\r\n siFn();\r\n },\r\n noFn: function () {\r\n that.subject.next();\r\n noFn();\r\n }\r\n });\r\n }\r\n\r\n clearConfirmation() {\r\n this.subject.next(); // Clear the confirmation state\r\n }\r\n\r\n getMessage(): Observable {\r\n return this.subject.asObservable();\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DomSanitizer, SafeHtml } from '@angular/platform-browser';\r\n\r\n@Pipe({ name: 'noSanitize' })\r\nexport class NoSanitizePipe implements PipeTransform {\r\n constructor(private domSanitizer: DomSanitizer) { }\r\n\r\n transform(html: string): SafeHtml {\r\n return this.domSanitizer.bypassSecurityTrustHtml(html);\r\n }\r\n}\r\n\r\n@Pipe({\r\n name: 'numberWithCommas'\r\n})\r\nexport class NumberWithCommasPipe implements PipeTransform {\r\n transform(value: number): string {\r\n if (value == null) return '';\r\n \r\n return value.toLocaleString('en-US');\r\n }\r\n}","import { Injectable } from \"@angular/core\";\r\n\r\n@Injectable({\r\n providedIn: \"root\"\r\n})\r\nexport class SessionStorageService {\r\n constructor() {}\r\n\r\n setData(keys: string, data: any) {\r\n sessionStorage.setItem(keys, data);\r\n }\r\n\r\n getData(keys: string) {\r\n return sessionStorage.getItem(keys);\r\n }\r\n \r\n getParsedData(keys: string) {\r\n return JSON.parse(sessionStorage.getItem(keys));\r\n }\r\n\r\n deleteData(keys: string) {\r\n sessionStorage.removeItem(keys);\r\n }\r\n\r\n deleteAll() {\r\n sessionStorage.clear();\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SharedService {\r\n private permissions = new BehaviorSubject({});\r\n globalPermissions = this.permissions.asObservable();\r\n\r\n private configStatus = new BehaviorSubject({});\r\n globalConfigStatus = this.configStatus.asObservable();\r\n\r\n\r\n private globalnotificationcount = new BehaviorSubject({});\r\n __notificationcount = this.globalnotificationcount.asObservable();\r\n\r\n\r\n private allglobalnotificationcount = new BehaviorSubject({});\r\n __allnotificationcount = this.allglobalnotificationcount.asObservable();\r\n\r\n constructor() { }\r\n\r\n sharePermissionData(permissionData){\r\n this.permissions.next(permissionData);\r\n }\r\n\r\n shareConfigStatus(status){\r\n this.configStatus.next(status);\r\n }\r\n\r\n NotificationCount(p) {\r\n this.globalnotificationcount.next(p)\r\n }\r\n\r\n allNotificationCount(p) {\r\n this.allglobalnotificationcount.next(p)\r\n }\r\n\r\n shareItemId(){\r\n \r\n }\r\n\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { environment } from '../../environments/environment'\r\nimport { ApiserviceService } from 'src/app/services/apiservice.service'\r\nimport { APIConstant } from 'src/app/constants/apiConstants'\r\nimport { SharedService } from 'src/app/services/shared.service'\r\n\r\ndeclare var $: any;\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SignalrService {\r\n\r\n private connection: any;\r\n private proxy: any;\r\n userData:any=[]\r\n\r\n constructor(\r\n private apiserviceService: ApiserviceService,\r\n private sharedService: SharedService\r\n ) { \r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n }\r\n\r\n\r\n //method for starting connection\r\n public initializeSignalRConnection(): void {\r\n let signalRServerEndPoint = environment.signalrPath;\r\n this.connection = $.hubConnection(signalRServerEndPoint);\r\n this.proxy = this.connection.createHubProxy('EnterpriseNotificationHub');\r\n\r\n this.proxy.on('messageReceived', (serverMessage) => this.onMessageReceived(serverMessage));\r\n this.connection.start().done((data: any) => {\r\n console.log('Connected to Notification Hub');\r\n this.broadcastMessage();\r\n }).catch((error: any) => {\r\n console.log('Notification Hub error -> ' + error);\r\n });\r\n }\r\n\r\n\r\n // private broadcastMessage(): void {\r\n // this.proxy.invoke('SendTo', {},1)\r\n // .catch((error: any) => {\r\n // console.log('broadcastMessage error -> ' + error);\r\n // });\r\n // }\r\n\r\n private broadcastMessage(): void {\r\n //console.log('BroadcastMessage')\r\n this.getNotificationCount();\r\n }\r\n\r\n getNotificationCount() {\r\n console.log('Calling notification count from signalr service')\r\n this.apiserviceService.get(APIConstant.GetPortalAlertCount, { UserName: this.userData.username }).subscribe(\r\n (response) => {\r\n let notiCount = parseInt(response.data.portalAlertCount)\r\n this.sharedService.allNotificationCount(notiCount)\r\n },\r\n error => {\r\n console.log(\"error\", error)\r\n })\r\n }\r\n\r\n private onMessageReceived(serverMessage: string) {\r\n console.log('New message received from Server: ' + serverMessage);\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { ConfirmDialogService } from \"src/app/services/confirm-dialog.service\"; \r\n\r\n@Component({\r\n selector: 'app-confirm-dialog',\r\n templateUrl: './confirm-dialog.component.html',\r\n styleUrls: ['./confirm-dialog.component.css']\r\n})\r\nexport class ConfirmDialogComponent implements OnInit {\r\n message: any; \r\n constructor(\r\n private confirmDialogService: ConfirmDialogService\r\n ) { }\r\n\r\n ngOnInit(): void { \r\n //triggered when we call this from any other component \r\n this.confirmDialogService.getMessage().subscribe(message => { \r\n this.message = message; \r\n });\r\n }\r\n\r\n}\r\n\r\n","
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{message.text}}
\r\n
\r\n
\r\n
\r\n
\r\n

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

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
","import { Component, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-footer',\r\n templateUrl: './footer.component.html',\r\n styleUrls: ['./footer.component.css']\r\n})\r\nexport class FooterComponent implements OnInit {\r\n\r\n currentYear:number\r\n constructor() { }\r\n\r\n\r\n ngOnInit(): void {\r\n this.currentYear= new Date().getFullYear();\r\n }\r\n\r\n}\r\n","\r\n
© 2022 - {{currentYear}} All Rights Reserved.
\r\n
\r\n Powered by \r\n
\r\n","import { Component, OnInit, Renderer2 } from '@angular/core';\r\nimport { CommonService } from 'src/app/services/common.service';\r\nimport { Router, NavigationEnd } from '@angular/router';\r\nimport { navigationConstants } from \"src/app/constants/navigationConstant\";\r\nimport { ApiserviceService } from 'src/app/services/apiservice.service';\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { APIConstant } from \"src/app/constants/apiConstants\";\r\nimport { SessionStorageService } from 'src/app/services/session-storage.service';\r\nimport { customStorage } from \"src/app/constants/storageKeys\"; \r\nimport { environment } from 'src/environments/environment';\r\nimport { SharedService } from 'src/app/services/shared.service';\r\nimport 'src/assets/js/jquery-simple-mobilemenu.js'; \r\nimport * as _ from 'lodash' \r\nimport * as signalR from '@microsoft/signalr';\r\ndeclare var $: any;\r\n\r\nimport { SignalrService } from 'src/app/services/signalr.service';\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\nexport class HeaderComponent implements OnInit {\r\n environment = environment\r\n validationMessage = validationMessage;\r\n thickMenu: boolean = true;\r\n isShow: boolean = true;\r\n mainMenu: any;\r\n selectedAccountsDisplay: any = [];\r\n selectedAccountsString: string = '';\r\n selectedAccountCount: number\r\n mainMenuSlug: string = '';\r\n closeResult: string;\r\n anyAccountSelect: boolean = true;\r\n btnAccountSelectionDisabled: boolean = false;\r\n countNotification: number = 0;\r\n userData: any;\r\n pendingPatient: any;\r\n pendingPatientCount: 0;\r\n pendingPatientCountNew: 0;\r\n ipAddress: string = '14.97.189.106'\r\n activeclass: boolean = false\r\n isSameWarehouselist:boolean=false\r\n sameWarehouseName:any\r\n\r\n reportmenu: any = [];\r\n Data: any = []\r\n uatInstance: boolean = false\r\n\r\n constructor(\r\n private renderer: Renderer2,\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private sessionStorageService: SessionStorageService,\r\n private router: Router,\r\n private modalService: NgbModal,\r\n private sharedService: SharedService,\r\n private signalRService: SignalrService\r\n ) {\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n\r\n this.mainMenuSlug = router.url.split('/')[1]\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationEnd) {\r\n let currentUrl = router.url.split('/');\r\n this.mainMenuSlug = currentUrl.length > 0 ? currentUrl[1] : '';\r\n }\r\n });\r\n\r\n // this.signalRService.initializeSignalRConnection()\r\n }\r\n\r\n ngOnInit(): void {\r\n if(environment.frontendUrl == 'https://testportal.arcadiaone.com/') {\r\n this.uatInstance = true\r\n }\r\n\r\n this.getNotificationCount();\r\n\r\n this.sharedService.__allnotificationcount.subscribe(res => {\r\n this.countNotification = res\r\n }) \r\n\r\n this.sharedService.__notificationcount.subscribe(res => {\r\n if(res == 1) {\r\n this.countNotification -= 1;\r\n }\r\n }) \r\n\r\n // const connection = new signalR.HubConnectionBuilder()\r\n // .configureLogging(signalR.LogLevel.Information)\r\n // .withUrl(environment.signalrPath) \r\n // .build();\r\n\r\n // connection.start().then(function () {\r\n // console.log('SignalR Connected!');\r\n // }).catch(function (err) {\r\n // return console.error(err.toString());\r\n // });\r\n\r\n // connection.on(\"BroadcastMessage\", () => {\r\n // console.log('BroadcastMessage')\r\n // this.getNotificationCount();\r\n // });\r\n\r\n this.simpleMenu()\r\n\r\n if (!this.userData.selectedAccounts) {\r\n this.userData.selectedAccounts = [];\r\n }\r\n\r\n let InCaseOfOne: any = [];\r\n if (this.userData.selectedAccounts.length == 1) {\r\n let tempArr = this.userData.selectedAccounts[0].split('@');\r\n let tempArr2 = tempArr[0].split(',');\r\n if (tempArr2.length > 1) {\r\n InCaseOfOne = this.userData.selectedAccounts;\r\n }\r\n }\r\n\r\n console.log(this.userData.selectedAccounts)\r\n //this.selectedAccountsDisplay = (this.userData.selectedAccounts.length >1 ) ? this.userData.selectedAccounts.slice(0,2) : InCaseOfOne;\r\n this.selectedAccountsDisplay = (this.userData.selectedAccounts.length) ? this.userData.selectedAccounts.slice(0, 2) : [];\r\n console.log(this.selectedAccountsDisplay)\r\n \r\n this.multipleAccountForSameWarehouse()\r\n console.log(this.selectedAccountsDisplay)\r\n \r\n this.selectedAccountsString = this.userData.selectedAccounts.join(' | ');\r\n this.selectedAccountCount = this.userData.selectedAccounts.length;\r\n\r\n }\r\n\r\n multipleAccountForSameWarehouse(){\r\n if(this.selectedAccountsDisplay[0].split(',').length>3){\r\n this.isSameWarehouselist=true\r\n \r\n this.selectedAccountsDisplay.forEach((element)=>{\r\n this.sameWarehouseName=element.split('@')[1]\r\n //console.log(this.sameWarehouseName)\r\n this.selectedAccountsDisplay=element.split(',').slice(0,2)\r\n //console.log(this.selectedAccountsDisplay) \r\n \r\n }\r\n )\r\n \r\n }\r\n \r\n \r\n\r\n }\r\n\r\n \r\n\r\n getNotificationCount() {\r\n this.apiserviceService.get(APIConstant.GetPortalAlertCount, { UserName: this.userData.username }).subscribe(\r\n (response) => {\r\n this.countNotification = parseInt(response.data.portalAlertCount)\r\n },\r\n error => {\r\n // console.log(\"error\", error)\r\n })\r\n }\r\n\r\n /** mobile menu start */\r\n addActiveClass(menuSectionName) {\r\n this.Data = this.userData.menu\r\n this.reportmenu = this.Data.find(element => {\r\n return element.menuSectionName == menuSectionName\r\n })\r\n }\r\n\r\n simpleMenu() {\r\n $(document).ready(function() {\r\n $(\".mobile_menu\").simpleMobileMenu({\r\n \"hamburgerId\" : \"sm_menu_ham\", \r\n \"wrapperClass\" : \"sm_menu_outer\", \r\n \"submenuClass\" : \"submenu\",\r\n \"menuStyle\" : \"slide\",\r\n \"onMenuLoad\" : function(menu) {\r\n // console.log(menu)\r\n },\r\n //Callback - menu toggle(open/close)\r\n \"onMenuToggle\" : function(menu,open) {\r\n // console.log(open)\r\n }\r\n });\r\n })\r\n }\r\n /** mobile menu end */\r\n\r\n logout() {\r\n let payload = {\r\n \"userName\": this.userData.username,\r\n \"ipAddress\": '' \r\n }\r\n this.apiserviceService.post(APIConstant.insertUserLogOutHistory, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.commonService.logout();\r\n }\r\n }, error => {\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n }\r\n\r\n openAccountSelectionPopup(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n checkAllCheckBox(ev: any) {\r\n this.userData.allAccounts.forEach(x => x.checked = ev.target.checked)\r\n this.checkAndSetFlags();\r\n }\r\n isAllCheckBoxChecked() {\r\n return this.userData.allAccounts.every(p => p.checked);\r\n }\r\n\r\n checkAndSetFlags() {\r\n const isAnySelected = (this.userData.allAccounts.find(x => x.checked === true) ? true : false)\r\n\r\n if (isAnySelected) {\r\n this.anyAccountSelect = true;\r\n this.btnAccountSelectionDisabled = false;\r\n } else {\r\n this.anyAccountSelect = false;\r\n this.btnAccountSelectionDisabled = true;\r\n }\r\n }\r\n\r\n accountSelectionSubmit() {\r\n if (!this.anyAccountSelect) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one account');\r\n return;\r\n }\r\n const selectedAccountsTemp = (this.userData.allAccounts.filter(x => x.checked === true));\r\n const groupedAccounts = _.groupBy(selectedAccountsTemp, acc => acc.wh_name);\r\n\r\n const selectedAccounts = [];\r\n Object.keys(groupedAccounts).forEach(key => {\r\n const custIds = groupedAccounts[key].map((item) => {\r\n return item.cust_id;\r\n });\r\n selectedAccounts.push(custIds.join(', ') + ' @' + key);\r\n });\r\n\r\n this.selectedAccountCount = selectedAccounts.length\r\n if (selectedAccounts) {\r\n let newUserData = {\r\n \"allAccounts\": this.userData.allAccounts,\r\n \"username\": this.userData.username,\r\n \"userCompanyInfo\": this.userData.userCompanyInfo,\r\n \"selectedAccounts\": selectedAccounts,\r\n \"menu\": this.userData.menu,\r\n \"allowedUrls\": this.userData.allowedUrls\r\n }\r\n this.selectedAccountsDisplay = selectedAccounts.length ? selectedAccounts.slice(0, 2) : []\r\n \r\n this.multipleAccountForSameWarehouse()\r\n this.selectedAccountsString = selectedAccounts.join(' | ');\r\n \r\n console.log(this.selectedAccountsDisplay)\r\n this.sessionStorageService.setData(\r\n customStorage.sessionKeys.user,\r\n JSON.stringify(newUserData)\r\n );\r\n\r\n localStorage.setItem('ArcUser', JSON.stringify(newUserData)) \r\n this.modalService.dismissAll();\r\n this.commonService.notification(this.validationMessage.toasterClass.success, 'Account selection changed successfully')\r\n this.commonService.redirectToPage(navigationConstants.DASHBOARD);\r\n }\r\n }\r\n}\r\nexport class MenuIconsExample { } ","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
Welcome {{userData.userCompanyInfo[0].displayName}}
\r\n
\r\n
    \r\n
  • Selected Accounts:
  • \r\n \r\n
  • \r\n {{selectedAcc}} \r\n
  • \r\n \r\n \r\n \r\n
  • 2\" class=\"popupTxt\">\r\n ...
  • \r\n \r\n
  • {{selectedAccountsDisplay}}@{{sameWarehouseName}}\r\n ...\r\n
  • \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n
\r\n\r\n\r\n\r\n
Menu
\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n
Please Select Account(s)
\r\n \r\n
\r\n
\r\n

Please select atleast one account

\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
WarehouseAccountCustomer
{{acc.wh_name}}{{acc.cust_id}}{{acc.cust_name}}
\r\n
\r\n \r\n
","import { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'checkbox',\r\n template: `\r\n
\r\n
\r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class CheckBoxComponent {\r\n @Input() field:any = {};\r\n @Input() form:FormGroup;\r\n get isValid() { return this.form.controls[this.field.name].valid; }\r\n get isDirty() { return this.form.controls[this.field.name].dirty; }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n \r\n@Component({\r\n selector: 'datepicker',\r\n template: `\r\n`\r\n\r\n})\r\nexport class DatePickerComponent { \r\n @Input() field:any = {};\r\n @Input() form:FormControl;\r\n defaultDate : Date;\r\n get isValid() { return this.form.valid; }\r\n get isDirty() { return this.form.dirty; } \r\n\r\n constructor() { }\r\n\r\n ngOnInit(){ \r\n this.defaultDate = new Date();\r\n let dat = this.defaultDate.setDate(this.defaultDate.getDate()-1);\r\n this.form.patchValue( dat.toLocaleString() ) \r\n }\r\n}","import { Component, EventEmitter, Input, SimpleChanges } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\nimport { Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'dropdown',\r\n template: ` \r\n \r\n 1\">\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n {{item.dropDownText}}\r\n \r\n\r\n \r\n
\r\n
\r\n {{item.dropDownText}}\r\n ×\r\n
\r\n
\r\n
1\" class=\"ng-summary-list\">\r\n
\r\n {{ items.length }} Selected\r\n
\r\n
\r\n
\r\n\r\n
`\r\n})\r\nexport class DropDownComponent {\r\n @Input() field: any = {};\r\n @Input() form: FormControl;\r\n @Output() onChange = new EventEmitter();\r\n\r\n onChangeValue : boolean = false;\r\n selectedCounter: number = 0;\r\n usingArrayFrom:any;\r\n \r\n constructor() { }\r\n ngOnInit() {\r\n this.selectedCounter = this.form.value && this.form.value.length ? this.form.value.length : 0\r\n\r\n //Muitiple Dropdown Selection\r\n if (Array.isArray(this.form.value)) {\r\n const selectedObj = this.field && this.field.options ? this.field.options.filter(item => this.form.value.includes(item.dropDownValue)) : false;\r\n // console.log(selectedObj);\r\n if (selectedObj) {\r\n this.handleInputChange(selectedObj, this.onChangeValue);\r\n } else {\r\n this.handleInputChange(null, this.onChangeValue);\r\n }\r\n }\r\n //Single Dropdown Selection(Then form fields data is taken as string)\r\n else if (this.form.value){\r\n \r\n const selectedObj = this.field && this.field.options ? this.field.options.filter(item => this.form.value.includes(item.dropDownValue)) : false;\r\n // console.log(selectedObj);\r\n if (selectedObj) {\r\n this.handleInputChange(selectedObj, this.onChangeValue);\r\n } else {\r\n this.handleInputChange(null, this.onChangeValue);\r\n }\r\n }\r\n \r\n }\r\n\r\n //Will be used when dropdown value is changed and once at the time of initialisation\r\n handleInputChange($event, onChangeValue) {\r\n //handle the cross button\r\n if($event==undefined){\r\n $event=[];\r\n } \r\n // //handle if user didn't select any value\r\n else if($event == null || $event.target !== undefined) {\r\n return;\r\n }\r\n //When value of change in dropdown i.e. event value is taken as object at the time of single dropdown selection.So converting this object into into array only\r\n let arr;\r\n if(typeof $event === 'object' && $event !== null && !Array.isArray($event)){\r\n arr=[$event];\r\n $event=arr;\r\n this.selectedCounter = $event.length;\r\n if (this.field.filterTypeBind) {\r\n this.onChange.emit({ value: $event, filterTypeBind: this.field.filterTypeBind, apiName: this.field.apiName, apiParameterName: this.field.apiParameterName, onchangevalue: onChangeValue });\r\n } else {\r\n this.onChange.emit(null);\r\n }\r\n\r\n }\r\n //When value of change in dropdown i.e. event value is taken as array.\r\n else{\r\n this.selectedCounter = $event.length;\r\n if (this.field.filterTypeBind) {\r\n this.onChange.emit({ value: $event, filterTypeBind: this.field.filterTypeBind, apiName: this.field.apiName, apiParameterName: this.field.apiParameterName, onchangevalue: onChangeValue });\r\n } else {\r\n this.onChange.emit(null);\r\n }}\r\n }\r\n\r\n public onSelectAll() {\r\n const selected = this.field.options.map(item => item.dropDownValue);\r\n const selectedObj = this.field.options.filter(item => item.dropDownValue);\r\n this.form.patchValue(selected);\r\n this.handleInputChange(selectedObj, this.onChangeValue)\r\n }\r\n\r\n public onClearAll() {\r\n this.form.patchValue([]);\r\n this.handleInputChange([], true);\r\n\r\n }\r\n\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n// text,email,tel,textarea,password, \r\n@Component({\r\n selector: 'file',\r\n template: `\r\n
\r\n
\r\n

\r\n Drag a file here or\r\n \r\n to upload.\r\n

\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n `,\r\n styles:[\r\n `\r\n .drop-container {\r\n background: #fff;\r\n border-radius: 6px;\r\n height: 150px;\r\n width: 100%;\r\n box-shadow: 1px 2px 20px hsla(0,0%,4%,.1);\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n border: 2px dashed #c0c4c7;\r\n }\r\n p {\r\n font-size: 16px;\r\n font-weight: 400;\r\n color: #c0c4c7; \r\n }\r\n .upload-button {\r\n display: inline-block;\r\n border: none;\r\n outline: none;\r\n cursor: pointer;\r\n color: #5754a3;\r\n }\r\n .upload-button input {\r\n display: none;\r\n }\r\n .dropzone { \r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n flex-direction: column; \r\n border-radius: 5px;\r\n background: white;\r\n margin: 10px 0;\r\n }\r\n .dropzone.hovering {\r\n border: 2px solid #f16624;\r\n color: #dadada !important;\r\n }\r\n progress::-webkit-progress-value {\r\n transition: width 0.1s ease;\r\n }\r\n `\r\n ]\r\n})\r\nexport class FileComponent {\r\n @Input() field:any = {};\r\n @Input() form:FormGroup;\r\n get isValid() { return this.form.controls[this.field.name].valid; }\r\n get isDirty() { return this.form.controls[this.field.name].dirty; }\r\n \r\n constructor() {\r\n\r\n }\r\n\r\n ngOnChange(){\r\n console.log(this.field.value);\r\n }\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'radio',\r\n template: `\r\n
\r\n \r\n \r\n
\r\n `\r\n})\r\nexport class RadioComponent {\r\n @Input() field:any = {};\r\n @Input() form:FormControl;\r\n}","import { Component, Input } from '@angular/core';\r\nimport { FormControl } from '@angular/forms';\r\n\r\n// text,email,tel,textarea,password, \r\n@Component({\r\n selector: 'textbox',\r\n template: `\r\n \r\n \r\n `\r\n})\r\nexport class TextBoxComponent {\r\n @Input() field:any = {};\r\n @Input() form:FormControl;\r\n get isValid() { return this.form.valid; }\r\n get isDirty() { return this.form.dirty; }\r\n \r\n constructor() { \r\n // console.log('its called textbox');\r\n }\r\n}","import { Component, Input, OnInit, Output, EventEmitter } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dynamic-form-builder',\r\n template:`\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n `,\r\n})\r\nexport class DynamicFormBuilderComponent implements OnInit {\r\n @Input() fields: any[] = [];\r\n @Input() formGroup: FormGroup;\r\n @Output() onChange = new EventEmitter();\r\n\r\n constructor() { }\r\n ngOnInit(){ }\r\n\r\n callSomeFunction($event){ \r\n this.onChange.emit($event); \r\n } \r\n}\r\n","import { NgModule, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { ReactiveFormsModule } from '@angular/forms';\r\nimport { NgSelectModule } from '@ng-select/ng-select';\r\nimport { OwlDateTimeModule, OwlMomentDateTimeModule, OwlNativeDateTimeModule, OWL_DATE_TIME_FORMATS , OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS } from '@danielmoncada/angular-datetime-picker';\r\n\r\n// components\r\nimport { DynamicFormBuilderComponent } from './dynamic-form-builder.component';\r\nimport { FieldBuilderComponent } from './field-builder/field-builder.component';\r\nimport { TextBoxComponent } from './atoms/textbox';\r\nimport { DatePickerComponent } from './atoms/datepicker';\r\nimport { DropDownComponent } from './atoms/dropdown';\r\nimport { FileComponent } from './atoms/file';\r\nimport { CheckBoxComponent } from './atoms/checkbox';\r\nimport { RadioComponent } from './atoms/radio';\r\n\r\nimport { FormsModule } from '@angular/forms';\r\n\r\n\r\nexport const MY_MOMENT_FORMATS = {\r\n parseInput: 'MM/DD/YYYY',\r\n fullPickerInput: 'MM/DD/YYYY',\r\n datePickerInput: 'MM/DD/YYYY',\r\n timePickerInput: 'HH:mm:ss',\r\n monthYearLabel: 'MMM YYYY',\r\n dateA11yLabel: 'LL',\r\n monthYearA11yLabel: 'MMMM YYYY' \r\n};\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n ReactiveFormsModule,\r\n NgSelectModule,\r\n OwlDateTimeModule, OwlNativeDateTimeModule, OwlMomentDateTimeModule,\r\n FormsModule,\r\n ],\r\n declarations: [\r\n DynamicFormBuilderComponent,\r\n FieldBuilderComponent,\r\n TextBoxComponent,\r\n DatePickerComponent,\r\n DropDownComponent,\r\n CheckBoxComponent,\r\n FileComponent,\r\n RadioComponent\r\n ],\r\n exports: [DynamicFormBuilderComponent],\r\n providers: [\r\n { provide: OWL_DATE_TIME_FORMATS, useValue: MY_MOMENT_FORMATS },\r\n { provide: OWL_MOMENT_DATE_TIME_ADAPTER_OPTIONS, useValue: { useUtc: false } },\r\n ],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA] \r\n})\r\n\r\nexport class DynamicFormBuilderModule { }\r\n","import { Component, EventEmitter, Input, OnInit } from '@angular/core';\r\nimport { Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'field-builder',\r\n template: `\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n `\r\n})\r\nexport class FieldBuilderComponent implements OnInit {\r\n @Input() field:any;\r\n @Input() form:any;\r\n \r\n get isValid() { return this.form.controls[this.field.filterCode].valid; }\r\n get isDirty() { return this.form.controls[this.field.filterCode].dirty; }\r\n\r\n @Output() onChange = new EventEmitter();\r\n\r\n constructor() { }\r\n\r\n ngOnInit() { } \r\n\r\n callSomeFunction($event){ \r\n this.onChange.emit($event); \r\n //console.log(\"this.form.get(this.field.filterCode)\",this.form.get(this.field.filterCode))\r\n }\r\n \r\n\r\n}\r\n","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'src/app/services/common.service';\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\";\r\nimport { APIConstant } from 'src/app/constants/apiConstants';\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport * as _ from 'lodash'\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as XLSX from 'xlsx';\r\nimport jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { navigationConstants } from 'src/app/constants/navigationConstant';\r\nimport { ConfirmDialogService } from 'src/app/services/confirm-dialog.service';\r\nimport { log } from 'console';\r\n\r\n@Component({\r\n selector: 'app-report-filters',\r\n templateUrl: './report-filters.component.html',\r\n styleUrls: ['./report-filters.component.css']\r\n})\r\n\r\nexport class ReportFiltersComponent implements OnInit {\r\n public form: FormGroup | any;\r\n emailReportForm: FormGroup;\r\n unsubcribe: any\r\n userData: any = []\r\n reportId: string = null\r\n defaultDateRange: string\r\n defaultSrchDateFrom: string\r\n defaultSrchDateTo: string\r\n validationMessage = validationMessage;\r\n showDateControls: boolean = false;\r\n SrchDateFrom: Date;\r\n SrchDateTo: Date;\r\n isFormControlsReady: boolean = false\r\n dateControlsDisabled: boolean = true\r\n reportTitle: string = ''\r\n showScheduleButton: boolean = false;\r\n reportTableHeader: any = [];\r\n reportTableHeaderBackup: any = [];\r\n reportTableHeaderExport: any = [];\r\n reportTableData: any = [];\r\n reportTableDataBackup: any = [];\r\n reportTableDataExport: any = [];\r\n reportExcludeColumns: any = [];\r\n noDataFlag: boolean = false;\r\n popupColumnsArr: any = [];\r\n drillDownColumnsArr: any = [];\r\n accountCodeHelpShow: boolean = false;\r\n closeResult: string;\r\n modelText: string = '';\r\n modelHeading: string = '';\r\n selectedSearchParams: any = '';\r\n selectedAccounts: any = [];\r\n currentPopupField: string = ''\r\n listOfFiles: any = [];\r\n selectedRows: any[] = [];\r\n fileList: File[] = [];\r\n deleteFile: any = [];\r\n isLoading = false;\r\n allowedUploadFileType: any = ['pdf', 'docx', 'doc', 'png', 'xlsx', 'txt']\r\n responseData: any[] = [];\r\n responseDataDisplay: any = [];\r\n downloadDisplay: any = [];\r\n ondeleteupload: boolean = false;\r\n uploadModal: any = '';\r\n downloadModal: any = '';\r\n isdeleted: boolean = false;\r\n scheduleid: number = 0;\r\n isEdit = false;\r\n selectDateRange: any = null\r\n downloadField:boolean=false;\r\n docDownloadField:boolean=false;\r\n currentUrl:any;\r\n isHightlightVoid!:boolean;\r\n VoidHeading:any[]=[];\r\n title:any;\r\n\r\n public group: any = {\r\n name: \"search\",\r\n fields: []\r\n }\r\n timeRange: any = [\r\n { id: 'today', label: 'Today' },\r\n { id: 'yesterday', label: 'Yesterday' },\r\n { id: 'thisweek', label: 'This week' },\r\n { id: 'lastweek', label: 'Last week' },\r\n { id: 'thismonth', label: 'This Month' },\r\n { id: 'lastmonth', label: 'Last Month' },\r\n { id: 'custom', label: 'Custom' }\r\n ];\r\n siteOptions: any = [];\r\n allUserEmails: any = [];\r\n selectedEmailCounter: number = 0\r\n openSkyInvoices: any = ['INVCR023.00', 'INVCR024.00']\r\n isMainReport: boolean = true\r\n isDrillDownReport: boolean = false\r\n backPayload: any = []\r\n anyItemSelect: boolean = false\r\n drillDownTitle: string = ''\r\n drillDownPayload: string = ''\r\n drillDownProcedure: string = ''\r\n drillDownfilterOptions: any = []\r\n isRegenerate: boolean = false;\r\n\r\n\r\n page: number = 1\r\n itemsPerPage: 5\r\n pageBackup: number = 1\r\n itemsPerPageBackup: 5\r\n totalItems: any\r\n isExportingReport: boolean = false\r\n exportType: string = ''\r\n signatureImg: string = ''\r\n iframePdfUrl: string = ''\r\n isDateRangeVisible:boolean=false\r\n\r\n drivername: string = '';\r\n drivernamerequired: boolean = false;\r\n reflectError: boolean = false\r\n\r\n @ViewChild('linksPopup') linksPopup: any;\r\n @ViewChild('EmailReportPopup') EmailReportPopup: any;\r\n @ViewChild('deleteconfirmation') deleteconfirmation: any;\r\n\r\n constructor(\r\n public router: Router,\r\n private route: ActivatedRoute,\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal,\r\n private confirmDialogService: ConfirmDialogService,\r\n ) {\r\n let token = this.commonService.getToken();\r\n if (token == null || token == undefined || token == '') {\r\n //this.commonService.notification(validationMessage.toasterClass.error, validationMessage.common.tokenInvalid);\r\n this.commonService.clearSession();\r\n this.commonService.redirectToPage(navigationConstants.LOGIN);\r\n }\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n this.selectedAccounts = this.userData.allAccounts.filter(item => item.checked == true).map(i => i.cust_id);\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n const trimUrl = router.url.slice(1).split('/');\r\n const trimedUrlLength = trimUrl.length\r\n if (trimedUrlLength === 3) {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.split('/');\r\n const lastPart = urlParts[urlParts.length - 1];\r\n const decryptedValue = this.commonService.decrypt(lastPart);\r\n this.scheduleid = decryptedValue;\r\n // console.log('Decrypted Value:', decryptedValue);\r\n }\r\n trimUrl.pop()\r\n const trimedUrl = trimUrl.join('/')\r\n\r\n const pageUrl = trimedUrlLength === 3 ? trimedUrl : router.url.slice(1);\r\n // console.log(pageUrl)\r\n if (pageUrl && this.userData) {\r\n let urlSegments = router.url.slice(1).split('/');\r\n\r\n const reportArr = this.userData.menu?.filter((x) => {\r\n return x.menuURL == urlSegments[0] && x.reportMenu != null\r\n }).map((y) => {\r\n return y.reportMenu.filter(z => z.reportURL === pageUrl)\r\n })[0];\r\n\r\n\r\n if (reportArr && reportArr.length) {\r\n this.reportId = reportArr[0].reportid\r\n this.reportTitle = reportArr[0].reporttitlename\r\n this.showScheduleButton = reportArr[0].reportallowschedule;\r\n \r\n // console.log(this.showScheduleButton);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.slice(1).split('/');\r\n // const lastPart = urlParts[urlParts.length - 1];\r\n \r\n this.dateRangeMandatory()\r\n \r\n \r\n \r\n this.form = new FormGroup({});\r\n if (urlParts.length === 3) {\r\n this.getAndEditReportFilters();\r\n \r\n this.isEdit = true;\r\n } else {\r\n this.getAndSetReportFilters()\r\n }\r\n\r\n var resArr = [];\r\n this.userData.allAccounts.filter((item) => {\r\n var i = resArr.findIndex(x => (x.whse_code == item.whse_code));\r\n if (i <= -1 && item.checked) {\r\n resArr.push(item);\r\n }\r\n return null;\r\n });\r\n\r\n resArr.map((x) => {\r\n this.siteOptions.push({\r\n dropDownValue: x.whse_code,\r\n dropDownText: x.wh_name\r\n })\r\n })\r\n this.emailReportForm = this.formBuilder.group({\r\n emails: [null, [Validators.required]],\r\n comment: ['', []]\r\n });\r\n \r\n \r\n }\r\n\r\n onFileChanged(event: any) {\r\n const selectedFiles = event.target.files;\r\n\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n const selectedFile = selectedFiles[i];\r\n\r\n if ((selectedFile.size / 1024) / 1024 > 2) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, `File size can't be more than 2 MB`);\r\n return false;\r\n }\r\n\r\n if (this.responseData.some(item => item.fileName === selectedFile.name)) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Duplicate File Not Allowed');\r\n event.target.value = '';\r\n return false;\r\n }\r\n\r\n if (this.fileList.some(file => file.name === selectedFile.name)) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Duplicate File Not Allowed');\r\n event.target.value = '';\r\n return false;\r\n }\r\n this.fileList.push(selectedFile);\r\n this.listOfFiles.push({ name: selectedFile.name, size: selectedFile.size / 1024 / 1024 });\r\n }\r\n }\r\n\r\n removeSelectedFile(index) {\r\n this.deleteFile.push(this.listOfFiles[index].name)\r\n this.listOfFiles.splice(index, 1);\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n openUploadPopup(content?: any) {\r\n if (!this.ondeleteupload) {\r\n this.ondeleteupload = true\r\n this.uploadModal = content\r\n }\r\n if (this.selectedRows.length === 0) {\r\n this.commonService.notification(this.validationMessage.toasterClass.warning, 'Select the order(s) first.');\r\n return;\r\n }\r\n else {\r\n this.modalService.open(this.uploadModal, {\r\n size: \"xl modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n });\r\n let SiteID: any = [];\r\n let ClientID: any = [];\r\n let OrderNumber: any = [];\r\n const currentRoute = this.router.url;\r\n\r\n if (currentRoute == '/receipts/inbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order No.'])\r\n })\r\n }\r\n else if (currentRoute == '/shipment-info/outbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order#'])\r\n })\r\n }\r\n let payload: any = {\r\n SiteID: SiteID.join('~'),\r\n ClientID: ClientID.join('~'),\r\n OrderNumber: OrderNumber.join(','),\r\n }\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.get(APIConstant.GetOrderUploadFilesByOrderNo, payload).subscribe(\r\n (response) => {\r\n this.responseData = []\r\n this.responseData = response.data;\r\n\r\n response.data?.map((ele) => {\r\n ele.siteClientOrder = ele.siteID + '~' + ele.clientID + '~' + ele.orderNumber;\r\n })\r\n\r\n this.responseDataDisplay = _.groupBy(response.data, itm => itm.siteClientOrder)\r\n this.spinner.hide('dataTableLoader')\r\n },\r\n (error) => {\r\n this.spinner.hide('dataTableLoader')\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n }\r\n }\r\n\r\n dateRangeMandatory(){\r\n if(this.router.url!=\"/receipts/inbound-documents\" && this.router.url!=\"/shipment-info/outbound-documents\"){\r\n this.isDateRangeVisible=true \r\n }\r\n else{\r\n //For setting default value \"this week\" in inbound and outbound documents\r\n this.selectDateRange = 'thisweek'\r\n this.setToFromDates({ id: 'thisweek', label: 'This week' }) \r\n }\r\n }\r\n\r\n openDownloadPopup(downloadModal) {\r\n if (this.selectedRows.length === 0) {\r\n this.commonService.notification(this.validationMessage.toasterClass.warning, 'Select the order first');\r\n return;\r\n }\r\n else {\r\n //console.log(downloadModal)\r\n // this.modalService.open(downloadModal, {\r\n // size: \"md modal-dialog-centered\",\r\n // backdrop: 'static',\r\n // windowClass: \"modalClass-700\",\r\n // keyboard: false,\r\n // ariaLabelledBy: \"modal-basic-title\"\r\n // });\r\n let SiteID: any = [];\r\n let ClientID: any = [];\r\n let OrderNumber: any = [];\r\n const currentRoute = this.router.url;\r\n\r\n if (currentRoute == '/receipts/inbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order No.'])\r\n })\r\n }\r\n else if (currentRoute == '/shipment-info/outbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order#'])\r\n })\r\n }\r\n let payload: any = {\r\n SiteID: SiteID.join('~'),\r\n ClientID: ClientID.join('~'),\r\n OrderNumber: OrderNumber.join(','),\r\n }\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.get(APIConstant.GetOrderUploadFilesByOrderNo, payload).subscribe(\r\n (response) => {\r\n this.responseData = []\r\n this.responseData = response.data;\r\n\r\n console.log(response.data)\r\n if(this.responseData.length>0){\r\n this.responseData.forEach((eachFile)=>{\r\n if(eachFile.fileName){\r\n this.downLoadFilePDF(eachFile.filePath,eachFile.fileName)\r\n }\r\n })}\r\n\r\n response.data?.map((ele) => {\r\n ele.downloadHeader = 'SiteID:' + ele.siteID + ', ClientID:' + ele.clientID + ', OrderNumber:' + ele.orderNumber;\r\n })\r\n\r\n this.downloadDisplay = _.groupBy(response.data, itm => itm.downloadHeader)\r\n this.spinner.hide('dataTableLoader')\r\n },\r\n (error) => {\r\n this.spinner.hide('dataTableLoader')\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n }\r\n }\r\n\r\n onCancelClick() {\r\n if (this.isdeleted == true) {\r\n this.selectedRows = [];\r\n this.getReport()\r\n }\r\n this.listOfFiles = [];\r\n this.ondeleteupload = false\r\n this.uploadModal = ''\r\n this.modalService.dismissAll();\r\n }\r\n\r\n isFileNameEmpty(fileName: string | null | undefined): boolean {\r\n return !fileName || fileName.trim().length === 0;\r\n }\r\n\r\n submitUpload() {\r\n this.listOfFiles = [];\r\n let selectedFieldsData = []\r\n this.responseData.map(item => {\r\n if (selectedFieldsData.filter((e => e.siteId == item.siteID && e.clientID == item.clientID && e.orderNumber == item.orderNumber)).length == 0) {\r\n selectedFieldsData.push({\r\n \"siteId\": item.siteID,\r\n \"clientID\": item.clientID,\r\n \"orderType\": item.orderTYpe,\r\n \"orderNumber\": item.orderNumber,\r\n })\r\n }\r\n });\r\n const formData = new FormData();\r\n formData.append('UserName', this.userData.username);\r\n formData.append('typeUploadDocumentsjson', JSON.stringify(selectedFieldsData));\r\n [...this.fileList].forEach((item) => {\r\n formData.append('File', item);\r\n })\r\n\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.postFile(APIConstant.OrderUploadFiles, formData, {}).subscribe(\r\n response => {\r\n if (response.result) {\r\n this.spinner.hide('dataTableLoader')\r\n const successMessage = \"Files(s) uploaded successfully!\";\r\n this.commonService.notification(this.validationMessage.toasterClass.success, successMessage);\r\n this.getReport()\r\n this.selectedRows = [];\r\n this.reportTableData.forEach(item => {\r\n if (item.checked == true) {\r\n item.checked = false;\r\n }\r\n });\r\n this.selectedRows.length === 0\r\n if (this.modalService) {\r\n this.modalService.dismissAll();\r\n this.fileList = [];\r\n this.listOfFiles = [];\r\n }\r\n } else {\r\n this.spinner.hide('dataTableLoader')\r\n const errorMessage = response.message || 'Upload failed.';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errorMessage);\r\n }\r\n },\r\n error => {\r\n this.spinner.hide('dataTableLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n }\r\n );\r\n }\r\n\r\n // deleteUploadFiles(item: any) {\r\n // let payload = {\r\n // \"Id\": item.id,\r\n // \"UserName\": this.userData.username,\r\n // };\r\n // this.apiserviceService.get(APIConstant.DeleteOrderUploadFiles, payload).subscribe(\r\n // (response) => {\r\n // this.isdeleted = true;\r\n // this.openUploadPopup()\r\n // this.commonService.notification(this.validationMessage.toasterClass.success, 'File Deleted Successfully');\r\n\r\n // },\r\n // (error) => {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n // }\r\n // );\r\n // }\r\n\r\n deleteUploadFiles(item: any) {\r\n let id = item.id;\r\n if (id) {\r\n const modalRef = this.modalService.open(this.deleteconfirmation, {\r\n size: \"sm shortBox\",\r\n centered: true,\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n });\r\n modalRef.result.then((result) => {\r\n if (result === 'Yes') {\r\n let payload = {\r\n \"Id\": item.id,\r\n \"UserName\": this.userData.username,\r\n };\r\n this.apiserviceService.get(APIConstant.DeleteOrderUploadFiles, payload).subscribe(\r\n (response) => {\r\n this.isdeleted = true;\r\n this.openUploadPopup();\r\n this.commonService.notification(this.validationMessage.toasterClass.success, 'File Deleted Successfully');\r\n },\r\n (error) => {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n } else {\r\n this.modalService.dismissAll(this.deleteconfirmation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n onConfirmDelete() {\r\n this.modalService.dismissAll('Yes');\r\n }\r\n\r\n downloadDocumentPopup(modelContent, order) {\r\n this.listOfFiles = [];\r\n let filepath = order.attachFileNamesPath ? order.attachFileNamesPath.split(',') : [];\r\n let attachedFileSize = order.filzeSize ? order.filzeSize.split(',') : [];\r\n filepath.map((path, i) => {\r\n if (path !== \"\") {\r\n this.listOfFiles.push({\r\n name: path.split('/').pop(),\r\n size: attachedFileSize[i] > 0 ? (attachedFileSize[i] / 1024) / 1024 : 0,\r\n filepath: path\r\n })\r\n }\r\n })\r\n this.OpenModal(modelContent)\r\n }\r\n\r\n closeModel(){\r\n this.title=\"\"\r\n }\r\n\r\n OpenModal(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n });\r\n }\r\n\r\n\r\n createSearchForm() {\r\n this.group.fields.forEach(x => {\r\n if (x.filterType == 'checkbox') {\r\n this.form.addControl(x.filterCode, new FormGroup({}))\r\n if (x.options) {\r\n // console.log(x)\r\n x.options.forEach(o => {\r\n (this.form.get(x.filterCode) as FormGroup).addControl(o.key, new FormControl(x.defaultSelectedValue == 'true' ? true : false))\r\n })\r\n }\r\n }\r\n else {\r\n let controlInitVal = [];\r\n\r\n if (x.filterCode === 'SiteID') {\r\n x.options = this.siteOptions;\r\n controlInitVal = (this.siteOptions.length === 1) ? [this.siteOptions[0].dropDownValue] : [];\r\n }\r\n\r\n // console.log(x.defaultSelectedValue.split(','));\r\n // console.log(x.defaultSelectedValue);\r\n if(Array.isArray(x.defaultSelectedValue)){\r\n x.defaultSelectedValue=x.defaultSelectedValue.toString();\r\n\r\n }\r\n x.defaultSelectedValue = x.defaultSelectedValue ?\r\n x.allowMultipleSelection ? [x.defaultSelectedValue] : x.defaultSelectedValue.split(',')\r\n : controlInitVal ? controlInitVal : null;\r\n\r\n // Check if x.defaultSelectedValue is defined before accessing its properties\r\n // console.log(x.defaultSelectedValue[0].split(',') );\r\n // console.log(x.defaultSelectedValue);\r\n\r\n if (x.defaultSelectedValue && x.defaultSelectedValue.length > 0) {\r\n let data: any = x.defaultSelectedValue[0];\r\n if(Array.isArray(data)){\r\n data=data.toString();\r\n }\r\n\r\n this.form.addControl(x.filterCode,\r\n new FormControl(x.defaultSelectedValue ?\r\n x.allowMultipleSelection ? data.split(',') : data : null,\r\n x.isRequired ? Validators.required : null));\r\n } else {\r\n this.form.addControl(x.filterCode,\r\n new FormControl(null, x.isRequired ? Validators.required : null));\r\n }\r\n }\r\n\r\n });\r\n\r\n // console.log(this.form)\r\n\r\n if (this.showDateControls ) {\r\n if(this.router.url==\"/receipts/inbound-documents\" || this.router.url==\"/shipment-info/outbound-documents\"){\r\n this.form.addControl('dateRange', new FormControl(this.selectDateRange))\r\n this.form.addControl('SrchDateFrom', new FormControl(this.SrchDateFrom))\r\n this.form.addControl('SrchDateTo', new FormControl(this.SrchDateTo))\r\n }\r\n else{\r\n this.form.addControl('dateRange', new FormControl(null, [Validators.required]))\r\n this.form.addControl('SrchDateFrom', new FormControl(null, [Validators.required]))\r\n this.form.addControl('SrchDateTo', new FormControl(null, [Validators.required]))\r\n }}\r\n this.isFormControlsReady = true;\r\n }\r\n\r\n get formFormControl() { return this.form.controls; }\r\n\r\n shouldDisplayButtons(): boolean {\r\n const currentRoute = this.router.url;\r\n const hideButtonsRoutes = ['/receipts/inbound-documents', '/shipment-info/outbound-documents'];\r\n\r\n if (hideButtonsRoutes.includes(currentRoute)) {\r\n // Hide buttons for specified routes\r\n return true;\r\n } else {\r\n // Show buttons for other routes\r\n return false;\r\n }\r\n }\r\n\r\n\r\n binddataenable = false\r\n onChangeDropdown(event) {\r\n\r\n const bindFieldsArr = (event !== null && event.filterTypeBind !== null) ? event.filterTypeBind.split(',') : [];\r\n // console.log(\"bindFieldsArr\",bindFieldsArr);\r\n\r\n // console.log(\"this,form\",this.form)\r\n if (event && event.onchangevalue == true) {\r\n let filterTypeBind = event.filterTypeBind.split(',')\r\n filterTypeBind.forEach(element => {\r\n // console.log(element)\r\n // console.log(this.form.controls[element])\r\n this.form.controls[element].setValue(null)\r\n });\r\n\r\n // if(event.filterTypeBind !== 'ClientID') {\r\n // this.binddataenable = false\r\n // this.form.reset()\r\n // this\r\n\r\n // }\r\n // return\r\n }\r\n\r\n\r\n if (event && event.value && !event.value.length) {\r\n bindFieldsArr.map((item) => {\r\n //console.log(\"this.group.fields\",this.group.fields)\r\n let bindToEleIndex = this.group.fields.findIndex(x => x.filterCode == item)\r\n this.group.fields[bindToEleIndex].options = []\r\n })\r\n }\r\n\r\n\r\n if (event !== null && event.value.length && bindFieldsArr.length) {\r\n //console.log(\"this.group.fields\",this.group.fields)\r\n bindFieldsArr.map((item) => {\r\n let bindToEleIndex = this.group.fields.findIndex(x => x.filterCode == item);\r\n let payload = {\r\n username: this.userData.username,\r\n companyCode: this.userData.userCompanyInfo[0].companyCode\r\n };\r\n let apiParamsArr = (this.group.fields[bindToEleIndex].apiParameterName) ? this.group.fields[bindToEleIndex].apiParameterName.split(',') : [];\r\n //console.log(\"apiParamsArr\",apiParamsArr)\r\n let excludeArr = ['UserName', 'UserType']\r\n apiParamsArr.map((param) => {\r\n if (!excludeArr.includes(param)) {\r\n payload[param] = Array.isArray(this.form.controls[param].value) ? this.form.controls[param].value.join() : this.form.controls[param].value\r\n }\r\n })\r\n this.spinner.show('FormLoader')\r\n this.binddataenable = true\r\n this.apiserviceService.get(this.group.fields[bindToEleIndex].apiName, payload).subscribe((response) => {\r\n if (response.result) {\r\n if (this.group.fields[bindToEleIndex].filterCode == 'ClientID' && this.userData.userCompanyInfo[0].companyCode != 'Arcadia') {\r\n const tempClientIDs = [];\r\n // let temRes = response.data.map((item)=>{ \r\n // let itemSplit = item.dropDownValue.split('~')\r\n // if(this.selectedAccounts.includes(itemSplit[1])){\r\n // tempClientIDs.push(item)\r\n // }\r\n // })\r\n let sWarehouses = event.value?.map((w) => w.dropDownValue)\r\n this.userData.allAccounts?.filter(i => i.checked == true && sWarehouses.includes(i.whse_code)).map((item) => {\r\n tempClientIDs.push({\r\n \"dropDownValue\": item.whse_code + \"~\" + item.cust_id,\r\n \"dropDownText\": item.cust_name + \" (\" + item.wh_name + \")\"\r\n })\r\n })\r\n this.group.fields[bindToEleIndex].options = tempClientIDs;\r\n } else {\r\n this.group.fields[bindToEleIndex].options = response.data;\r\n }\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = Object.keys(error.error.errors).length ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n\r\n });\r\n }\r\n\r\n let payload;\r\n //this.isEdit=true\r\n if (this.binddataenable && this.isEdit) {\r\n \r\n payload = {\r\n username: this.userData.username,\r\n companyCode: this.userData.userCompanyInfo[0].companyCode,\r\n SiteID: this.form.value.SiteID.join(),\r\n ClientID: this.form.value.ClientID.join()\r\n };\r\n \r\n\r\n \r\n //console.log(\"this.group.fields\",this.group.fields)\r\n this.group.fields.map((item, bindToEleIndex) => {\r\n if (item.apiName && bindToEleIndex > 1) {\r\n this.spinner.show('FormLoader')\r\n //console.log(\"item.apiName\",item.apiName)\r\n this.apiserviceService.get(item.apiName, payload).subscribe((response) => {\r\n if (response.result) {\r\n if (this.group.fields[bindToEleIndex].filterCode == 'ClientID' && this.userData.userCompanyInfo[0].companyCode != 'Arcadia') {\r\n const tempClientIDs = [];\r\n // let temRes = response.data.map((item)=>{ \r\n // let itemSplit = item.dropDownValue.split('~')\r\n // if(this.selectedAccounts.includes(itemSplit[1])){\r\n // tempClientIDs.push(item)\r\n // }\r\n // })\r\n let sWarehouses = event.value?.map((w) => w.dropDownValue)\r\n this.userData.allAccounts?.filter(i => i.checked == true && sWarehouses.includes(i.whse_code)).map((item) => {\r\n tempClientIDs.push({\r\n \"dropDownValue\": item.whse_code + \"~\" + item.cust_id,\r\n \"dropDownText\": item.cust_name + \" (\" + item.wh_name + \")\"\r\n })\r\n })\r\n this.group.fields[bindToEleIndex].options = tempClientIDs;\r\n } else {\r\n this.group.fields[bindToEleIndex].options = response.data;\r\n }\r\n }\r\n this.spinner.hide('FormLoader')\r\n },\r\n error => {\r\n this.spinner.hide('FormLoader')\r\n // let errMsg = Object.keys(error.error.errors).length ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!';\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n }\r\n )\r\n }\r\n })\r\n\r\n\r\n }\r\n }\r\n resetForm() {\r\n this.form.reset();\r\n this.reportTableHeader = [];\r\n this.reportExcludeColumns = [];\r\n this.reportTableData = [];\r\n Object.keys(this.form.controls).forEach((k) => {\r\n let tempItem = this.group.fields.filter((x) => {\r\n return x.filterCode == k && x.defaultSelectedValue != null\r\n })[0];\r\n if (tempItem !== undefined) {\r\n this.form.get([k]).patchValue(tempItem.defaultSelectedValue);\r\n }\r\n });\r\n this.noDataFlag = false\r\n this.drivernamerequired = false\r\n this.drivername = ''\r\n }\r\n\r\n ngDistroy() {\r\n this.unsubcribe();\r\n }\r\n\r\n getReport(bkPayload = null, page: any = 1) {\r\n this.drivernamerequired = false\r\n this.drivername = ''\r\n\r\n if (!this.isExportingReport) {\r\n this.reportTableData = []\r\n this.reportTableDataExport = []\r\n this.reportExcludeColumns = []\r\n this.reportTableHeader = []\r\n this.reportTableHeaderExport = []\r\n this.drillDownColumnsArr = []\r\n this.drillDownTitle = ''\r\n this.drillDownPayload = ''\r\n this.drillDownProcedure = ''\r\n this.page = page\r\n } else {\r\n this.reportTableHeaderBackup = this.reportTableHeader\r\n this.reportTableDataBackup = this.reportTableData\r\n this.itemsPerPageBackup = this.itemsPerPage\r\n this.pageBackup = page\r\n this.page = 1\r\n }\r\n\r\n if (this.form.valid) {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n if (key != 'dateRange') {\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n }\r\n })\r\n\r\n let showAll = this.isExportingReport ? 1 : 0\r\n filterOptions.push('PageNumber' + ':' + page)\r\n filterOptions.push('ShowAll' + ':' + showAll)\r\n\r\n let inputData = {\r\n username: this.userData.username,\r\n reportID: this.reportId,\r\n params: filterOptions.join('|~')\r\n }\r\n this.selectedSearchParams = filterOptions.join('|');\r\n this.spinner.show('FormLoader')\r\n this.backPayload.push(inputData)\r\n this.apiserviceService.post(APIConstant.GetReportDetailbyReportID, inputData, {}).subscribe((response) => {\r\n if (response.result) {\r\n if (this.isExportingReport) {\r\n this.reportTableHeader = []\r\n this.reportTableData = []\r\n }\r\n\r\n\r\n this.totalItems = response.data.reportData.length ? response.data.reportData[0].TotalRecords : null\r\n this.itemsPerPage = response.data.pageSize\r\n \r\n\r\n this.reportExcludeColumns = response.data.excludeColumns.split(',');\r\n const popupColumns = response.data.popupColumns.split(',');\r\n const drillColumns = response.data.drillDownColumns?.split(',');\r\n\r\n // //Based on Voided Invoices, title of pop up is to be changed\r\n // for(let i=0;i {\r\n let tempArr = x.split('_')\r\n this.popupColumnsArr.push({\r\n key: tempArr[0],\r\n value: tempArr[1]\r\n })\r\n });\r\n drillColumns?.map((x) => {\r\n let tempArr = x.split('|')\r\n this.drillDownColumnsArr.push({\r\n showColumn: tempArr[0],\r\n dbColumn: tempArr[1],\r\n procedure: tempArr[2]\r\n })\r\n })\r\n\r\n const tableHeaderColumns = response.data.columnAlignment.split(',');\r\n tableHeaderColumns.map((x) => {\r\n let tempArr = x.split('~')\r\n if (!this.reportExcludeColumns.includes(tempArr[0].trim())) {\r\n const popArr = this.popupColumnsArr.filter((pop) => pop.key == tempArr[0].trim());\r\n console.log(\"popArr\",popArr)\r\n const drillArr = this.drillDownColumnsArr.filter((drill) => drill.showColumn == tempArr[0].trim());\r\n\r\n this.reportTableHeader.push({\r\n columnName: tempArr[0].trim(),\r\n columnAlignment: tempArr[1] ? tempArr[1].trim().toLowerCase() : '',\r\n showPopup: popArr.length ? true : false,\r\n showDrillDown: drillArr.length ? true : false,\r\n DrillDowndbColumn: drillArr.length ? drillArr[0].dbColumn.trim() : '',\r\n DrillDownprocedure: drillArr.length ? drillArr[0].procedure.trim() : '',\r\n showPopupColumn: popArr.length ? popArr[0].value.trim() : ''\r\n })\r\n console.log(\"this.reportTableHeader\",this.reportTableHeader)\r\n \r\n }\r\n });\r\n\r\n this.reportTableData = response.data.reportData\r\n console.log(response.data.reportData)\r\n if (this.isExportingReport) {\r\n if (this.exportType == 'excel') {\r\n setTimeout(() => this.exportexcel(), 2300);\r\n } else {\r\n setTimeout(() => this.SavePDF(), 2300);\r\n }\r\n } else {\r\n this.spinner.hide('FormLoader')\r\n }\r\n this.noDataFlag = response.data.reportData.length ? false : true;\r\n\r\n }\r\n\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n }\r\n getFileNameFromPath(filePath: string): string {\r\n const parts = filePath.split('/');\r\n return parts[parts.length - 1];\r\n }\r\n getAndEditReportFilters() {\r\n let params = {\r\n usertype: this.userData.userCompanyInfo[0].userType,\r\n reportid: this.reportId,\r\n username: this.userData.username,\r\n scheduleid: this.scheduleid\r\n };\r\n\r\n this.spinner.show('FormLoader');\r\n this.apiserviceService.get(APIConstant.GetFilterReportData, params).subscribe((response) => {\r\n if (response.result) {\r\n let temArr = response.data.filter((item) => {\r\n if (item.filterType === 'checkbox') {\r\n item.options = [{ key: item.filterCode, label: item.filterLabel }];\r\n }\r\n\r\n if (item.filterType === \"date\") {\r\n this.showDateControls = true;\r\n this.selectDateRange = 'custom'\r\n this.dateControlsDisabled = false;\r\n this.SrchDateFrom = new Date(response.data.find(item => item.filterCode === 'SrchDateFrom')?.defaultSelectedValue)\r\n this.SrchDateTo = new Date(response.data.find(item => item.filterCode === 'SrchDateTo')?.defaultSelectedValue)\r\n }\r\n\r\n return item.filterType !== \"date\";\r\n });\r\n this.group.fields = temArr;\r\n }\r\n this.createSearchForm();\r\n this.spinner.hide('FormLoader');\r\n }, error => {\r\n this.spinner.hide('FormLoader');\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n });\r\n }\r\n\r\n getAndSetReportFilters() {\r\n let params = {\r\n usertype: this.userData.userCompanyInfo[0].userType,\r\n reportid: this.reportId,\r\n username: this.userData.username,\r\n };\r\n\r\n this.spinner.show('FormLoader');\r\n this.apiserviceService.get(APIConstant.GetFilterReportData, params).subscribe((response) => {\r\n if (response.result) {\r\n let temArr = response.data.filter((item) => {\r\n if (item.filterType === 'checkbox') {\r\n item.options = [{ key: item.filterCode, label: item.filterLabel }];\r\n }\r\n\r\n if (item.filterType === \"date\") {\r\n this.showDateControls = true;\r\n this.defaultSrchDateFrom = response.data.find(item => item.filterCode === 'SrchDateFrom')?.defaultSelectedValue;\r\n this.defaultSrchDateTo = response.data.find(item => item.filterCode === 'SrchDateTo')?.defaultSelectedValue;\r\n }\r\n\r\n return item.filterType !== \"date\";\r\n });\r\n this.group.fields = temArr;\r\n }\r\n this.createSearchForm();\r\n this.spinner.hide('FormLoader');\r\n }, error => {\r\n this.spinner.hide('FormLoader');\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n });\r\n }\r\n\r\n setToFromDates(event) {\r\n if (event && event.id === 'custom') {\r\n this.dateControlsDisabled = false;\r\n }\r\n if (event && event.id === 'thisweek') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - curr.getDay()));\r\n var lastday = new Date(curr.setDate(curr.getDate() - curr.getDay() + 6));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'yesterday') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - 1));\r\n var lastday = new Date(curr.setDate(curr.getDate()));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'today') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate()));\r\n var lastday = new Date(curr.setDate(curr.getDate()));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'lastweek') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - curr.getDay() - 7));\r\n var lastday = new Date(curr.setDate(curr.getDate() - (curr.getDay()) + 6));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'thismonth') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.getFullYear(), curr.getMonth(), 1);\r\n var lastday = new Date(curr.getFullYear(), curr.getMonth() + 1, 0);\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n }\r\n else if (event && event.id === 'lastmonth') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.getFullYear(), curr.getMonth() - 1, 1);\r\n var lastday = new Date(curr.getFullYear(), curr.getMonth(), 0);\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n }\r\n else {\r\n this.SrchDateFrom = null;\r\n this.SrchDateTo = null;\r\n }\r\n }\r\n\r\n callDrillDownReport(DrillDowndbColumn = null, DrillDownprocedure = null, value = null, siteID = null, clientID = null, bkPayload = null, page: any = 1) {\r\n if (!this.isExportingReport) {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.reportTableData = []\r\n this.reportTableHeader = []\r\n this.drillDownColumnsArr = []\r\n this.page = page\r\n } else {\r\n this.reportTableHeaderBackup = this.reportTableHeader\r\n this.reportTableDataBackup = this.reportTableData\r\n this.itemsPerPageBackup = this.itemsPerPage\r\n this.pageBackup = page\r\n this.page = 1\r\n }\r\n\r\n let showAll = this.isExportingReport ? 1 : 0\r\n let filterOptions = [\r\n 'SiteID:' + siteID,\r\n 'ClientID:' + clientID,\r\n `${DrillDowndbColumn}:` + value,\r\n 'PageNumber:' + page,\r\n 'ShowAll:' + showAll\r\n ]\r\n\r\n let payload = bkPayload ? bkPayload : {\r\n \"procedureName\": DrillDownprocedure,\r\n \"username\": this.userData.username,\r\n \"params\": filterOptions.join('|~')\r\n }\r\n if (bkPayload) {\r\n this.drillDownProcedure = bkPayload.procedureName\r\n let tpArr = bkPayload.params.split('|~')\r\n tpArr.pop()\r\n tpArr.pop()\r\n this.drillDownfilterOptions = tpArr\r\n this.drillDownPayload = tpArr.join(', ')\r\n } else {\r\n let tpParamsArr = filterOptions\r\n tpParamsArr.pop()\r\n tpParamsArr.pop()\r\n this.drillDownPayload = tpParamsArr.join(', ')\r\n\r\n this.drillDownProcedure = DrillDownprocedure\r\n this.drillDownfilterOptions = filterOptions\r\n }\r\n\r\n\r\n\r\n this.spinner.show('FormLoader')\r\n this.backPayload.push(payload)\r\n this.apiserviceService.post(APIConstant.GetDrillDownReport, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n if (this.isExportingReport) {\r\n this.reportTableHeader = []\r\n this.reportTableData = []\r\n }\r\n\r\n this.totalItems = response.data.reportData.length ? response.data.reportData[0].TotalRecords : null\r\n this.itemsPerPage = response.data.pageSize\r\n\r\n this.reportExcludeColumns = response.data.excludeColumns.split(',');\r\n const popupColumns = response.data.popupColumns.split(',');\r\n const drillColumns = response.data.drillDownColumns?.split(',');\r\n this.drillDownTitle = response.data.drillDownTitle\r\n\r\n popupColumns.map((x) => {\r\n let tempArr = x.split('_')\r\n this.popupColumnsArr.push({\r\n key: tempArr[0],\r\n value: tempArr[1]\r\n })\r\n });\r\n drillColumns?.map((x) => {\r\n let tempArr = x.split('|')\r\n this.drillDownColumnsArr.push({\r\n showColumn: tempArr[0],\r\n dbColumn: tempArr[1],\r\n procedure: tempArr[2]\r\n })\r\n })\r\n\r\n const tableHeaderColumns = response.data.columnAlignment.split(',');\r\n tableHeaderColumns.map((x) => {\r\n let tempArr = x.split('~')\r\n if (!this.reportExcludeColumns.includes(tempArr[0].trim())) {\r\n const popArr = this.popupColumnsArr.filter((pop) => pop.key == tempArr[0].trim());\r\n const drillArr = this.drillDownColumnsArr.filter((drill) => drill.showColumn == tempArr[0].trim());\r\n this.reportTableHeader.push({\r\n columnName: tempArr[0].trim(),\r\n columnAlignment: tempArr[1].trim().toLowerCase(),\r\n showPopup: popArr.length ? true : false,\r\n showDrillDown: drillArr.length ? true : false,\r\n DrillDowndbColumn: drillArr.length ? drillArr[0].dbColumn.trim() : '',\r\n DrillDownprocedure: drillArr.length ? drillArr[0].procedure.trim() : '',\r\n showPopupColumn: popArr.length ? popArr[0].value.trim() : ''\r\n \r\n })\r\n }\r\n });\r\n\r\n this.reportTableData = response.data.reportData\r\n if (this.isExportingReport) {\r\n if (this.exportType == 'excel') {\r\n setTimeout(() => this.exportexcel(), 2300);\r\n } else {\r\n setTimeout(() => this.SavePDF(), 2300);\r\n }\r\n } else {\r\n this.spinner.hide('FormLoader')\r\n }\r\n this.noDataFlag = response.data.reportData.length ? false : true\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n setAndOpenDescriptionPopup(field, content, docType = 'O',voidTitle:any='') {\r\n // console.log('xyz',voidTitle)\r\n this.title=\"\"\r\n voidTitle?this.title=' : Voided Invoice':''\r\n // console.log('content',content)\r\n this.currentPopupField = ''\r\n this.modelHeading = field + ' Information'\r\n if (field == 'Media File(s)') {\r\n let imgArr = content.split(',')\r\n let tempContent = ''\r\n imgArr.forEach(function (item) {\r\n tempContent += `

`\r\n })\r\n this.modelText = tempContent\r\n }\r\n else if (field == 'Invoice Number') {\r\n if (content) {\r\n this.iframePdfUrl = content\r\n let tempContent = ``\r\n this.modelText = tempContent\r\n } else {\r\n this.modelText = 'No attachment found!'\r\n }\r\n\r\n }\r\n else if (field == 'Shipper / Consignee') {\r\n this.modelHeading = docType == 'O' ? 'Consignee Information' : 'Shipper Information'\r\n this.modelText = content\r\n }\r\n \r\n else if (field == 'Download(s)') {\r\n \r\n this.modelHeading = 'View Files(s)'\r\n this.modelText = content.length ? content.split(',') : []\r\n this.currentPopupField = field\r\n }\r\n else if (field == 'Doc.Download(s)') {\r\n \r\n this.modelHeading = 'View Files(s)'\r\n this.modelText = content\r\n this.currentPopupField = field\r\n this.currentUrl=this.modelText.split(\"/\").pop()\r\n \r\n this.downLoadFilePDF(this.modelText,this.currentUrl)\r\n return \r\n \r\n }\r\n else if (field == 'BOL Download') {\r\n \r\n //this.modelHeading = 'View Files(s)'\r\n this.modelText = content\r\n this.currentPopupField = field\r\n this.currentUrl=this.modelText.split(\"/\").pop()\r\n \r\n this.downLoadFilePDF(this.modelText,this.currentUrl)\r\n return \r\n \r\n }\r\n else if (field == 'Other Documents Dwnld') {\r\n \r\n //When we want to show the files/pdf in popup\r\n // this.modelText = content.length ? content.split(',') : []\r\n // this.currentPopupField = field\r\n\r\n //When we want to direct download the files/pdf\r\n let modelTextArray:any[]=[]\r\n modelTextArray=content.split(\",\")\r\n this.currentPopupField = field\r\n modelTextArray.forEach((eachFile)=>{\r\n this.currentUrl=eachFile.split(\"/\").pop()\r\n this.downLoadFilePDF(eachFile,this.currentUrl)\r\n })\r\n return\r\n \r\n }\r\n\r\n else if (field == 'Inbound Docs') {\r\n \r\n this.modelHeading = 'View Files(s)'\r\n this.modelText = content\r\n this.currentPopupField = field\r\n this.currentUrl=this.modelText.split(\"/\").pop()\r\n \r\n this.downLoadFilePDF(this.modelText,this.currentUrl)\r\n return \r\n \r\n }\r\n else if (field == 'Document Docs') {\r\n \r\n this.modelHeading = 'View Files(s)'\r\n this.modelText = content.length ? content.split(',') : []\r\n this.currentPopupField = field\r\n \r\n }\r\n\r\n\r\n else {\r\n this.iframePdfUrl = ''\r\n this.modelText = content\r\n }\r\n this.openlinksPopupModel(this.linksPopup);\r\n }\r\n\r\n // downloadExcelFile(): void {\r\n // const link = document.createElement('a');\r\n // link.setAttribute('href', this.modelText);\r\n \r\n // link.setAttribute('download', 'this.modelText.split(\"/\").pop()');\r\n // document.body.appendChild(link);\r\n // link.click();\r\n // document.body.removeChild(link);\r\n // }\r\n\r\n /* function for download files */\r\n downLoadFilePDF(filepath, filename) {\r\n this.spinner.show('FormLoader');\r\n let url = filepath;\r\n fetch(url).then(res => res.blob()).then(file => {\r\n let temUrl = URL.createObjectURL(file);\r\n let aTag = document.createElement(\"a\");\r\n aTag.href = temUrl;\r\n aTag.download = filename;\r\n document.body.appendChild(aTag)\r\n aTag.click()\r\n aTag.remove()\r\n this.spinner.hide('FormLoader');\r\n })\r\n }\r\n\r\n\r\n\r\n openlinksPopupModel(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n /* function for download files */\r\n downLoadFile(filepath) {\r\n this.spinner.show('FormLoader');\r\n let url = filepath;\r\n fetch(url).then(res => res.blob()).then(file => {\r\n let temUrl = URL.createObjectURL(file)\r\n let aTag = document.createElement(\"a\")\r\n aTag.href = temUrl\r\n aTag.download = filepath.split(\"/\").pop()\r\n document.body.appendChild(aTag)\r\n aTag.click()\r\n aTag.remove()\r\n this.spinner.hide('FormLoader');\r\n })\r\n }\r\n\r\n /* function for download files */\r\n downLoadFileForReport(filepath, filename) {\r\n this.spinner.show('FormLoader');\r\n let url = filepath;\r\n fetch(url).then(res => res.blob()).then(file => {\r\n let temUrl = URL.createObjectURL(file);\r\n let aTag = document.createElement(\"a\");\r\n aTag.href = temUrl;\r\n aTag.download = filename;\r\n document.body.appendChild(aTag)\r\n aTag.click()\r\n aTag.remove()\r\n this.spinner.hide('FormLoader');\r\n })\r\n }\r\n\r\n\r\n exportexcel(): void {\r\n /* pass here the table id */\r\n let element = document.getElementById('header-fixed');\r\n \r\n // Remove hyperlinks from the HTML content\r\n const removeHyperlinks = (element: HTMLElement) => {\r\n const links = element.getElementsByTagName('a');\r\n for (let i = links.length - 1; i >= 0; i--) {\r\n const link = links[i];\r\n link.removeAttribute('href');\r\n link.style.color = 'black'; // Set color to black\r\n link.style.textDecoration = 'none'; // Remove underline\r\n }\r\n };\r\n \r\n if (element) {\r\n removeHyperlinks(element);\r\n }\r\n\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element, { origin: \"A6\", raw: true });\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n\r\n // Add metadata to the sheet\r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop();\r\n SearchParams.pop();\r\n\r\n if (this.isDrillDownReport) {\r\n XLSX.utils.sheet_add_aoa(ws, [\r\n [\"Report Title\", this.drillDownTitle],\r\n [\"Search Params\", this.drillDownPayload],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ], { origin: \"A1\" });\r\n } else {\r\n XLSX.utils.sheet_add_aoa(ws, [\r\n [\"Report ID\", this.reportId],\r\n [\"Report Title\", this.reportTitle],\r\n [\"Search Params\", SearchParams.join('|')],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ], { origin: \"A1\" });\r\n }\r\n\r\n // Convert all cells to text format\r\n const range = XLSX.utils.decode_range(ws['!ref']);\r\n for (let R = range.s.r; R <= range.e.r; ++R) {\r\n for (let C = range.s.c; C <= range.e.c; ++C) {\r\n const address = { c: C, r: R };\r\n const cell_ref = XLSX.utils.encode_cell(address);\r\n if (!ws[cell_ref]) continue;\r\n\r\n // Ensure cell data is treated as plain text\r\n ws[cell_ref].t = 's'; // 's' is for string\r\n\r\n // Apply plain text style\r\n if (!ws[cell_ref].s) ws[cell_ref].s = {};\r\n ws[cell_ref].s.font = {\r\n color: { rgb: \"000000\" }, // Black color\r\n underline: false // Remove underline\r\n };\r\n }\r\n }\r\n\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, this.isDrillDownReport ? this.drillDownTitle + '_' + Date.now() + '.xlsx' : this.reportTitle + '_' + Date.now() + '.xlsx');\r\n\r\n // Restore previous states\r\n this.itemsPerPage = this.itemsPerPageBackup;\r\n this.page = this.pageBackup;\r\n this.reportTableData = this.reportTableDataBackup;\r\n this.reportTableHeader = this.reportTableHeaderBackup;\r\n this.spinner.hide('FormLoader');\r\n this.backPayload.pop();\r\n this.isExportingReport = false;\r\n}\r\n\r\n\r\n\r\n @ViewChild('header-fixed', { static: true }) content: ElementRef;\r\n public SavePDF(): void {\r\n //const DATA = this.content.nativeElement; \r\n\r\n let DATA: any = document.getElementById('header-fixed');\r\n html2canvas(DATA).then((canvas) => {\r\n var imgData = canvas.toDataURL('image/png');\r\n var margin = 2;\r\n var imgWidth = 210 - 2 * margin;\r\n var pageHeight = 295;\r\n var imgHeight = canvas.height * imgWidth / canvas.width;\r\n var heightLeft = imgHeight;\r\n var doc = new jsPDF('p', 'mm');\r\n var position = 40;\r\n doc.setFontSize(7);\r\n\r\n /* Selected Filters for selected search params */\r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop()\r\n SearchParams.pop()\r\n\r\n\r\n if (this.isDrillDownReport) {\r\n var splitSelected = doc.splitTextToSize(`Selected Filters: ${this.drillDownPayload}`, 180);\r\n doc.text(`Report Title: ${this.drillDownTitle}`, 5, 10);\r\n doc.text(`Generated At: ${new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()}`, 5, 15);\r\n doc.text(splitSelected, 5, 20);\r\n } else {\r\n var splitSelected = doc.splitTextToSize(`Selected Filters: ${SearchParams.join('|')}`, 180);\r\n doc.text(`Report ID: ${this.reportId}`, 5, 5);\r\n doc.text(`Report Title: ${this.reportTitle}`, 5, 10);\r\n doc.text(`Generated At: ${new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()}`, 5, 15);\r\n doc.text(splitSelected, 5, 20);\r\n }\r\n doc.setFontSize(14);\r\n\r\n doc.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n let pdfTitle = this.isDrillDownReport ? this.drillDownTitle : this.reportTitle\r\n doc.save(`${pdfTitle + '_' + Date.now()}.pdf`);\r\n\r\n this.itemsPerPage = this.itemsPerPageBackup\r\n this.page = this.pageBackup\r\n this.reportTableData = this.reportTableDataBackup\r\n this.reportTableHeader = this.reportTableHeaderBackup\r\n this.spinner.hide('FormLoader')\r\n this.backPayload.pop()\r\n this.isExportingReport = false\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @returns - Print Packing List ON Report ID - OUTBR022.00\r\n */\r\n printPackingList() {\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#']\r\n })\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = { outboundOrdersList: printableData.join(',') }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetPackingListInformation, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n let pdfs = response.data ? response.data.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n\r\n printDocument() {\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order No.']\r\n })\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = { inboundOrdersList: printableData.join(',') }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetInboundWarehouseRcptInfo, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n let pdfs = response.data ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n\r\n // uploadFiles(){\r\n\r\n // }\r\n\r\n // downloadFiles(){\r\n\r\n // }\r\n\r\n //Email Report\r\n emailReport() {\r\n if (!this.allUserEmails.length) {\r\n let params = {\r\n UserName: this.userData.username\r\n }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.get(APIConstant.GetAllUserEmails, params).subscribe((response) => {\r\n if (response.result) {\r\n this.allUserEmails = response.data;\r\n this.modalService.dismissAll();\r\n this.openReportEmailPopupModel(this.EmailReportPopup)\r\n this.createSearchForm();\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n } else {\r\n this.modalService.dismissAll();\r\n this.openReportEmailPopupModel(this.EmailReportPopup)\r\n }\r\n }\r\n\r\n submitReportEmail() {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n if (key != 'dateRange') {\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n }\r\n })\r\n\r\n let params: any = {}\r\n if (this.isDrillDownReport) {\r\n // this.drillDownfilterOptions.push('PageNumber:'+1)\r\n this.drillDownfilterOptions.push('ShowAll:' + 1)\r\n params = {\r\n username: this.userData.username,\r\n reportTitle: this.drillDownTitle,\r\n params: this.drillDownfilterOptions.join('|~'),\r\n isEmail: true,\r\n emailIds: this.emailReportForm.value['emails'].join(','),\r\n comments: this.emailReportForm.value['comment'],\r\n procedureName: this.drillDownProcedure\r\n }\r\n } else {\r\n filterOptions.push('showAll:' + 1)\r\n params = {\r\n username: this.userData.username,\r\n reportID: this.reportId,\r\n reportTitle: this.reportTitle,\r\n params: filterOptions.join('|~'),\r\n isEmail: true,\r\n emailIds: this.emailReportForm.value['emails'].join(','),\r\n comments: this.emailReportForm.value['comment']\r\n }\r\n }\r\n\r\n\r\n //console.log('PAYLOAD = ', params ) return;\r\n this.spinner.show('popupForm')\r\n this.apiserviceService.post(APIConstant.GetReportDetailbyReportID, params, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.commonService.notification(this.validationMessage.toasterClass.success, `${params.reportTitle} sent on emails successfully`)\r\n }\r\n this.emailReportForm.reset()\r\n this.modalService.dismissAll()\r\n this.spinner.hide('popupForm')\r\n }, error => {\r\n this.spinner.hide('popupForm')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n openReportEmailPopupModel(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n setEmailCounter(event) {\r\n this.selectedEmailCounter = this.emailReportForm.get('emails').value.length\r\n }\r\n onSelectAll() {\r\n const selected = this.allUserEmails.map(x => x.dropDownValue)\r\n this.emailReportForm.get('emails').patchValue(selected)\r\n this.selectedEmailCounter = this.allUserEmails.length;\r\n }\r\n\r\n onClearAll() {\r\n this.emailReportForm.get('emails').patchValue([])\r\n this.selectedEmailCounter = 0\r\n }\r\n\r\n goBackReport() {\r\n this.backPayload.pop()\r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n this.backPayload.pop()\r\n\r\n if (payload.procedureName == undefined) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(payload)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload)\r\n }\r\n }\r\n\r\n funPagination(page: any = 1) {\r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n\r\n\r\n let tmpArr = payload.params.split('|~')\r\n let HoldArr = tmpArr.map((x) => {\r\n if (x.includes('PageNumber')) {\r\n return x = 'PageNumber:' + page\r\n }\r\n else {\r\n return x;\r\n }\r\n })\r\n\r\n payload.params = HoldArr.join('|~')\r\n\r\n if (!this.isDrillDownReport) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(null, page)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload, page)\r\n }\r\n }\r\n\r\n exportReport(exportType) {\r\n this.exportType = exportType\r\n this.isExportingReport = true\r\n //this.backPayload.pop() \r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n //this.backPayload.pop() \r\n\r\n if (payload.procedureName == undefined) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(payload, this.page)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload, this.page)\r\n }\r\n }\r\n\r\n checkAllCheckBox(ev: any) {\r\n this.reportTableData.forEach(x => x.checked = ev.target.checked);\r\n this.checkAndSetFlags();\r\n }\r\n\r\n isAllCheckBoxChecked() {\r\n return this.reportTableData.every(p => p.checked);\r\n }\r\n\r\n checkAndSetFlags() {\r\n const isAnySelected = this.reportTableData.some(x => x.checked);\r\n\r\n this.drivernamerequired = this.reportTableData.some(x => x.checked && x['BOL Signed/Printed'] === 'No');\r\n this.reflectError = this.drivernamerequired ? false : true;\r\n this.drivername = this.reflectError ? '' : this.drivername;\r\n\r\n // Populate selectedRows array with selected row data\r\n this.selectedRows = this.reportTableData.filter(x => x.checked);\r\n\r\n this.anyItemSelect = isAnySelected;\r\n }\r\n getDriverValue(event) {\r\n if (event.target.value) {\r\n this.reflectError = false\r\n return\r\n }\r\n\r\n this.reflectError = true\r\n\r\n }\r\n\r\n printTicket() {\r\n let signRequired = false\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n const bolSignedValue = item['BOL Signed/Printed'] === 'Yes' ? 1 : 0;\r\n if (bolSignedValue === 0) {\r\n signRequired = true;\r\n }\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#'] + '~' + bolSignedValue;\r\n });\r\n const printableData2 = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#'] //+'~'+item['BOL Signed']\r\n })\r\n // if(signRequired && this.signatureImg==''){\r\n // this.commonService.notification(this.validationMessage.toasterClass.info, 'Driver signature not captured yet, Please try agian.')\r\n // return false \r\n // }\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = {\r\n 'bolPrintCopy': this.form.value.BOLPrintCopy.join(','),\r\n 'outboundOrdersListID': printableData.join(','),\r\n 'signatureImage': this.signatureImg ? this.signatureImg : null,\r\n 'userName': this.userData.username,\r\n 'driverName': this.drivername,\r\n 'outboundOrdersListID2': printableData2.join(','),\r\n 'IsRegenerate': this.isRegenerate,\r\n }\r\n\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetDTBOL, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.signatureImg = ''\r\n let pdfs = response.data.pdfPath ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n //window.open(response.data.pdfPath)\r\n // window.open(response.data.pdfPath)\r\n // window.location.reload();\r\n this.getReport()\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n /********\r\n * MANAGE SIGNATURE\r\n */\r\n\r\n StartSignPrint() {\r\n if (!this.drivername && this.drivernamerequired) {\r\n this.reflectError = true\r\n return false\r\n }\r\n\r\n let signRequired = false\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~~' + item['Client ID'] + '~~' + item['Warehouse Order#'] + '~~' + item['BOL Signed/Printed']\r\n })\r\n\r\n\r\n if (signRequired) {\r\n let isInstalled = document.documentElement.getAttribute('SigPlusExtLiteExtension-installed');\r\n if (!isInstalled) {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'SigPlusExtLite extension is either not installed or disabled. Please install or enable extension.')\r\n\r\n this.confirmDialogService.confirmThis(`No Signature Pad Detected, Signature pad not connected. Proceed to print without a digital signature? Note: Manual signing may be needed later.`, () => {\r\n this.printTicket(); // console.log(\"When device is not installed and connected\");\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n } else {\r\n var message = { \"firstName\": \"\", \"lastName\": \"\", \"eMail\": \"\", \"location\": \"\", \"imageFormat\": 1, \"imageX\": 500, \"imageY\": 100, \"imageTransparency\": false, \"imageScaling\": false, \"maxUpScalePercent\": 0.0, \"rawDataFormat\": \"ENC\", \"minSigPoints\": 25 };\r\n top.document.addEventListener('SignResponse', this.SignResponse.bind(this), { once: true });\r\n var messageData = JSON.stringify(message);\r\n var element = document.createElement(\"MyExtensionDataElement\");\r\n element.setAttribute(\"messageAttribute\", messageData);\r\n document.documentElement.appendChild(element);\r\n var evt = document.createEvent(\"Events\");\r\n evt.initEvent(\"SignStartEvent\", true, false);\r\n element.dispatchEvent(evt);\r\n }\r\n } else {\r\n this.printTicket()\r\n }\r\n }\r\n\r\n SignResponse(event) {\r\n var str = event.target.getAttribute(\"msgAttribute\");\r\n var obj = JSON.parse(str);\r\n\r\n if (typeof (obj) === 'string') {\r\n obj = JSON.parse(obj);\r\n } else {\r\n obj = JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n if (obj.errorMsg != null && obj.errorMsg != \"\" && obj.errorMsg != \"undefined\" && obj.isSigned == false) {\r\n this.confirmDialogService.confirmThis(`Signature Declined, No signature captured. Proceed without a signature? This may require manual signing later.`, () => {\r\n this.printTicket(); // console.log(\"without signature\")\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n return\r\n }\r\n else {\r\n if (obj.isSigned) {\r\n this.signatureImg = obj.imageData\r\n this.printTicket()\r\n }\r\n }\r\n }\r\n\r\n /*********\r\n * Signature code end here\r\n */\r\n\r\n //InsUpdScheduleReport\r\n scheduleReportNotification() {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.split('/');\r\n const lastPart = urlParts[urlParts.length - 1];\r\n if (this.form.valid) {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n // if(key != 'dateRange'){\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n // }\r\n })\r\n\r\n let inputData = {\r\n \"scheduleid\": this.isEdit ? this.scheduleid : 0,\r\n \"reportid\": this.reportId,\r\n \"username\": this.userData.username,\r\n \"params\": filterOptions.join('|~'),\r\n \"durationtype\": 0,\r\n \"schedulereportday\": 0,\r\n \"schedulereporttime\": \"\",\r\n \"scheduleemails\": \"\",\r\n \"createdby\": this.userData.username,\r\n \"lastupdatedby\": this.userData.username,\r\n \"schedulestatus\": 0,\r\n \"updatereportsearchparams\": this.isEdit ? 1 : 0\r\n }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.InsUpdScheduleReport, inputData, {}).subscribe((response) => {\r\n if (response.result) {\r\n const notificationMessage = this.isEdit ? 'Schedule updated successfully' : 'Schedule saved successfully';\r\n this.commonService.notification(this.validationMessage.toasterClass.success, notificationMessage)\r\n if (this.isEdit) {\r\n this.router.navigate(['/alerts-notifications/schedule-task', lastPart])\r\n }\r\n this.spinner.hide('FormLoader')\r\n }\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n }\r\n\r\n /*********************************** Start Print Master BOL *******************************/\r\n printMasterBOL() {\r\n let signRequired = false\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~' + item['Trailer Number']\r\n })\r\n // if(signRequired && this.signatureImg==''){\r\n // this.commonService.notification(this.validationMessage.toasterClass.info, 'Driver signature not captured yet, Please try agian.')\r\n // return false \r\n // }\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = {\r\n 'bolPrintCopy': this.form.value.BOLPrintCopy.join(','),\r\n 'outboundOrdersListID': printableData.join(','),\r\n 'signatureImage': this.signatureImg ? this.signatureImg : null,\r\n 'userName': this.userData.username,\r\n 'driverName': this.drivername\r\n }\r\n\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetMasterBOL, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.signatureImg = ''\r\n let pdfs = response.data.pdfPath ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n /***MANAGE SIGNATURE***/\r\n StartSignPrintMasterBOL() {\r\n if (!this.drivername && this.drivernamerequired) {\r\n this.reflectError = true\r\n return false\r\n }\r\n\r\n let signRequired = false\r\n const printableData = this.reportTableData.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~~' + item['Trailer Number'] + '~~' + item['BOL Signed/Printed']\r\n })\r\n\r\n\r\n if (signRequired) {\r\n let isInstalled = document.documentElement.getAttribute('SigPlusExtLiteExtension-installed');\r\n if (!isInstalled) {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'SigPlusExtLite extension is either not installed or disabled. Please install or enable extension.')\r\n\r\n this.confirmDialogService.confirmThis(`No Signature Pad Detected, Signature pad not connected. Proceed to print without a digital signature? Note: Manual signing may be needed later.`, () => {\r\n this.printMasterBOL(); // console.log(\"When device is not installed and connected\");\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n } else {\r\n var message = { \"firstName\": \"\", \"lastName\": \"\", \"eMail\": \"\", \"location\": \"\", \"imageFormat\": 1, \"imageX\": 500, \"imageY\": 100, \"imageTransparency\": false, \"imageScaling\": false, \"maxUpScalePercent\": 0.0, \"rawDataFormat\": \"ENC\", \"minSigPoints\": 25 };\r\n top.document.addEventListener('SignResponse', this.SignResponsePrintMasterBOL.bind(this), { once: true });\r\n var messageData = JSON.stringify(message);\r\n var element = document.createElement(\"MyExtensionDataElement\");\r\n element.setAttribute(\"messageAttribute\", messageData);\r\n document.documentElement.appendChild(element);\r\n var evt = document.createEvent(\"Events\");\r\n evt.initEvent(\"SignStartEvent\", true, false);\r\n element.dispatchEvent(evt);\r\n }\r\n } else {\r\n this.printMasterBOL()\r\n }\r\n }\r\n\r\n SignResponsePrintMasterBOL(event) {\r\n var str = event.target.getAttribute(\"msgAttribute\");\r\n var obj = JSON.parse(str);\r\n\r\n if (typeof (obj) === 'string') {\r\n obj = JSON.parse(obj);\r\n } else {\r\n obj = JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n if (obj.errorMsg != null && obj.errorMsg != \"\" && obj.errorMsg != \"undefined\" && obj.isSigned == false) {\r\n this.confirmDialogService.confirmThis(`Signature Declined, No signature captured. Proceed without a signature? This may require manual signing later.`, () => {\r\n this.printMasterBOL(); // console.log(\"without signature\")\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n return\r\n } else {\r\n if (obj.isSigned) {\r\n this.signatureImg = obj.imageData\r\n this.printMasterBOL()\r\n }\r\n }\r\n }\r\n\r\n /*********************************** End Print Master BOL *******************************/\r\n}","
\r\n
\r\n
\r\n

{{ drillDownTitle ? drillDownTitle : reportTitle}}

\r\n
\r\n
\r\n {{ drillDownPayload }}\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Date Range *
\r\n \r\n
\r\n
\r\n
From *
\r\n \r\n \r\n
\r\n
\r\n
To *
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n\r\n
\r\n
Driver Name
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{header.columnName}}
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
{{ row[header.columnName] }}
\r\n
\r\n
No record found!
\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
{{modelHeading}} {{title}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ selected.split(\"/\").pop() }}   \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
Email Report ({{isDrillDownReport? drillDownTitle : reportTitle}})
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{item.dropDownText}}\r\n \r\n\r\n \r\n
\r\n
\r\n {{item.dropDownText}}\r\n ×\r\n
\r\n
\r\n
1\" class=\"ng-summary-list\">\r\n
\r\n {{ selectedEmailCounter }} Selected\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
Upload(s)
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    {{ item.key }}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    {{ fitem.fileName }}
    \r\n
    \r\n
    \r\n
    \r\n

    No file available for this order.\r\n

    \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    {{ selected.name }}
    \r\n \r\n
    \r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
Download(s)
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ item.key }}
\r\n
    \r\n
  • \r\n \r\n
    \r\n
    {{ litem.fileName }}
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n

    No file available for this order.

    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
Are you sure you want to delete this file?
\r\n

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

\r\n
\r\n
","import { Component, OnInit, ViewChild, ElementRef } from '@angular/core';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { Router, NavigationEnd, ActivatedRoute } from '@angular/router';\r\nimport { CommonService } from 'src/app/services/common.service';\r\nimport { ApiserviceService } from \"src/app/services/apiservice.service\";\r\nimport { APIConstant } from 'src/app/constants/apiConstants';\r\nimport { validationMessage } from \"src/app/constants/validationMessage\";\r\nimport { NgxSpinnerService } from \"ngx-spinner\";\r\nimport * as _ from 'lodash'\r\nimport { NgbModal } from '@ng-bootstrap/ng-bootstrap';\r\nimport * as XLSX from 'xlsx';\r\nimport jsPDF from 'jspdf';\r\nimport html2canvas from 'html2canvas';\r\nimport { navigationConstants } from 'src/app/constants/navigationConstant';\r\nimport { ConfirmDialogService } from 'src/app/services/confirm-dialog.service';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\n\r\nexport class Group {\r\n level = 0;\r\n parent: Group | undefined;\r\n expanded = true;\r\n totalCounts = 0;\r\n [key: string]: any; // Add index signature\r\n get visible(): boolean {\r\n return !this.parent || (this.parent.visible && this.parent.expanded);\r\n }\r\n}\r\n\r\n@Component({\r\n selector: 'app-report-filters1',\r\n templateUrl: './report-filters1.component.html',\r\n styleUrls: ['./report-filters1.component.css']\r\n})\r\n\r\nexport class ReportFilters1Component implements OnInit {\r\n public form: FormGroup | any;\r\n emailReportForm: FormGroup;\r\n unsubcribe: any\r\n userData: any = []\r\n reportId: string = null\r\n defaultDateRange: string\r\n defaultSrchDateFrom: string\r\n defaultSrchDateTo: string\r\n validationMessage = validationMessage;\r\n showDateControls: boolean = false;\r\n SrchDateFrom: Date;\r\n SrchDateTo: Date;\r\n isFormControlsReady: boolean = false\r\n dateControlsDisabled: boolean = true\r\n reportTitle: string = ''\r\n showScheduleButton: boolean = false;\r\n reportTableHeader: any = [];\r\n reportTableHeaderColumns: any = [];\r\n reportTableHeaderBackup: any = [];\r\n reportTableHeaderExport: any = [];\r\n reportTableData = new MatTableDataSource([]);\r\n reportTableDataBackup: any = [];\r\n reportTableDataExport: any = [];\r\n reportExcludeColumns: any = [];\r\n noDataFlag: boolean = false;\r\n popupColumnsArr: any = [];\r\n drillDownColumnsArr: any = [];\r\n accountCodeHelpShow: boolean = false;\r\n closeResult: string;\r\n modelText: string = '';\r\n modelHeading: string = '';\r\n selectedSearchParams: any = '';\r\n selectedAccounts: any = [];\r\n currentPopupField: string = ''\r\n listOfFiles: any = [];\r\n selectedRows: any[] = [];\r\n fileList: File[] = [];\r\n deleteFile: any = [];\r\n isLoading = false;\r\n allowedUploadFileType: any = ['pdf', 'docx', 'doc', 'png', 'xlsx', 'txt']\r\n responseData: any[] = [];\r\n responseDataDisplay: any = [];\r\n downloadDisplay: any = [];\r\n ondeleteupload: boolean = false;\r\n uploadModal: any = '';\r\n downloadModal: any = '';\r\n isdeleted: boolean = false;\r\n scheduleid: number = 0;\r\n isEdit = false;\r\n selectDateRange: any = null\r\n\r\n displayChanges = false;\r\n groupColumn: any[] = [];\r\n _alldata: any[] = [];\r\n columns: any[];\r\n displayedColumns: string[];\r\n groupByColumns: string[] = [];\r\n\r\n public group: any = {\r\n name: \"search\",\r\n fields: []\r\n }\r\n timeRange: any = [\r\n { id: 'today', label: 'Today' },\r\n { id: 'yesterday', label: 'Yesterday' },\r\n { id: 'thisweek', label: 'This week' },\r\n { id: 'lastweek', label: 'Last week' },\r\n { id: 'thismonth', label: 'This Month' },\r\n { id: 'lastmonth', label: 'Last Month' },\r\n { id: 'custom', label: 'Custom' }\r\n ];\r\n siteOptions: any = [];\r\n allUserEmails: any = [];\r\n selectedEmailCounter: number = 0\r\n openSkyInvoices: any = ['INVCR023.00', 'INVCR024.00']\r\n isMainReport: boolean = true\r\n isDrillDownReport: boolean = false\r\n backPayload: any = []\r\n anyItemSelect: boolean = false\r\n drillDownTitle: string = ''\r\n drillDownPayload: string = ''\r\n drillDownProcedure: string = ''\r\n drillDownfilterOptions: any = []\r\n isRegenerate: boolean = false;\r\n\r\n page: number = 1\r\n itemsPerPage: 5\r\n pageBackup: number = 1\r\n itemsPerPageBackup: 5\r\n totalItems: any\r\n isExportingReport: boolean = false\r\n exportType: string = ''\r\n signatureImg: string = ''\r\n iframePdfUrl: string = ''\r\n\r\n drivername: string = '';\r\n drivernamerequired: boolean = false;\r\n reflectError: boolean = false\r\n\r\n @ViewChild('linksPopup') linksPopup: any;\r\n @ViewChild('EmailReportPopup') EmailReportPopup: any;\r\n @ViewChild('deleteconfirmation') deleteconfirmation: any;\r\n\r\n constructor(\r\n public router: Router,\r\n private route: ActivatedRoute,\r\n private commonService: CommonService,\r\n private apiserviceService: ApiserviceService,\r\n private spinner: NgxSpinnerService,\r\n private formBuilder: FormBuilder,\r\n private modalService: NgbModal,\r\n private confirmDialogService: ConfirmDialogService,\r\n ) {\r\n let token = this.commonService.getToken();\r\n if (token == null || token == undefined || token == '') {\r\n //this.commonService.notification(validationMessage.toasterClass.error, validationMessage.common.tokenInvalid);\r\n this.commonService.clearSession();\r\n this.commonService.redirectToPage(navigationConstants.LOGIN);\r\n }\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n this.selectedAccounts = this.userData.allAccounts.filter(item => item.checked == true).map(i => i.cust_id);\r\n router.events.forEach((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n const trimUrl = router.url.slice(1).split('/');\r\n const trimedUrlLength = trimUrl.length\r\n if (trimedUrlLength === 3) {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.split('/');\r\n const lastPart = urlParts[urlParts.length - 1];\r\n const decryptedValue = this.commonService.decrypt(lastPart);\r\n this.scheduleid = decryptedValue;\r\n // console.log('Decrypted Value:', decryptedValue);\r\n }\r\n trimUrl.pop()\r\n const trimedUrl = trimUrl.join('/')\r\n\r\n const pageUrl = trimedUrlLength === 3 ? trimedUrl : router.url.slice(1);\r\n // console.log(pageUrl)\r\n if (pageUrl && this.userData) {\r\n let urlSegments = router.url.slice(1).split('/');\r\n\r\n const reportArr = this.userData.menu?.filter((x) => {\r\n return x.menuURL == urlSegments[0] && x.reportMenu != null\r\n }).map((y) => {\r\n return y.reportMenu.filter(z => z.reportURL === pageUrl)\r\n })[0];\r\n\r\n\r\n if (reportArr && reportArr.length) {\r\n this.reportId = reportArr[0].reportid\r\n this.reportTitle = reportArr[0].reporttitlename\r\n this.showScheduleButton = reportArr[0].reportallowschedule;\r\n\r\n if(this.reportId == \"INVTR004.00\")\r\n this.displayChanges = true;\r\n \r\n // console.log(this.showScheduleButton);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n\r\n ngOnInit() {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.slice(1).split('/');\r\n // const lastPart = urlParts[urlParts.length - 1];\r\n\r\n this.form = new FormGroup({});\r\n if (urlParts.length === 3) {\r\n this.getAndEditReportFilters();\r\n this.isEdit = true;\r\n } else {\r\n this.getAndSetReportFilters()\r\n }\r\n\r\n var resArr = [];\r\n this.userData.allAccounts.filter((item) => {\r\n var i = resArr.findIndex(x => (x.whse_code == item.whse_code));\r\n if (i <= -1 && item.checked) {\r\n resArr.push(item);\r\n }\r\n return null;\r\n });\r\n\r\n resArr.map((x) => {\r\n this.siteOptions.push({\r\n dropDownValue: x.whse_code,\r\n dropDownText: x.wh_name\r\n })\r\n })\r\n this.emailReportForm = this.formBuilder.group({\r\n emails: [null, [Validators.required]],\r\n comment: ['', []]\r\n });\r\n }\r\n\r\n onFileChanged(event: any) {\r\n const selectedFiles = event.target.files;\r\n\r\n for (let i = 0; i < selectedFiles.length; i++) {\r\n const selectedFile = selectedFiles[i];\r\n\r\n if ((selectedFile.size / 1024) / 1024 > 2) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, `File size can't be more than 2 MB`);\r\n return false;\r\n }\r\n\r\n if (this.responseData.some(item => item.fileName === selectedFile.name)) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Duplicate File Not Allowed');\r\n event.target.value = '';\r\n return false;\r\n }\r\n\r\n if (this.fileList.some(file => file.name === selectedFile.name)) {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Duplicate File Not Allowed');\r\n event.target.value = '';\r\n return false;\r\n }\r\n this.fileList.push(selectedFile);\r\n this.listOfFiles.push({ name: selectedFile.name, size: selectedFile.size / 1024 / 1024 });\r\n }\r\n }\r\n\r\n removeSelectedFile(index) {\r\n this.deleteFile.push(this.listOfFiles[index].name)\r\n this.listOfFiles.splice(index, 1);\r\n this.fileList.splice(index, 1);\r\n }\r\n\r\n openUploadPopup(content?: any) {\r\n if (!this.ondeleteupload) {\r\n this.ondeleteupload = true\r\n this.uploadModal = content\r\n }\r\n if (this.selectedRows.length === 0) {\r\n this.commonService.notification(this.validationMessage.toasterClass.warning, 'Select the order(s) first.');\r\n return;\r\n }\r\n else {\r\n this.modalService.open(this.uploadModal, {\r\n size: \"xl modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n });\r\n let SiteID: any = [];\r\n let ClientID: any = [];\r\n let OrderNumber: any = [];\r\n const currentRoute = this.router.url;\r\n\r\n if (currentRoute == '/receipts/inbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order No.'])\r\n })\r\n }\r\n else if (currentRoute == '/shipment-info/outbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order#'])\r\n })\r\n }\r\n let payload: any = {\r\n SiteID: SiteID.join('~'),\r\n ClientID: ClientID.join('~'),\r\n OrderNumber: OrderNumber.join(','),\r\n }\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.get(APIConstant.GetOrderUploadFilesByOrderNo, payload).subscribe(\r\n (response) => {\r\n this.responseData = []\r\n this.responseData = response.data;\r\n\r\n response.data?.map((ele) => {\r\n ele.siteClientOrder = ele.siteID + '~' + ele.clientID + '~' + ele.orderNumber;\r\n })\r\n\r\n this.responseDataDisplay = _.groupBy(response.data, itm => itm.siteClientOrder)\r\n this.spinner.hide('dataTableLoader')\r\n },\r\n (error) => {\r\n this.spinner.hide('dataTableLoader')\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n }\r\n }\r\n\r\n openDownloadPopup(downloadModal) {\r\n if (this.selectedRows.length === 0) {\r\n this.commonService.notification(this.validationMessage.toasterClass.warning, 'Select the order first');\r\n return;\r\n }\r\n else {\r\n this.modalService.open(downloadModal, {\r\n size: \"md modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n });\r\n let SiteID: any = [];\r\n let ClientID: any = [];\r\n let OrderNumber: any = [];\r\n const currentRoute = this.router.url;\r\n\r\n if (currentRoute == '/receipts/inbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order No.'])\r\n })\r\n }\r\n else if (currentRoute == '/shipment-info/outbound-documents') {\r\n this.selectedRows.forEach((item) => {\r\n SiteID.push(item.Warehouse)\r\n ClientID.push(item['Client ID'])\r\n OrderNumber.push(item.Warehouse + '~' + item['Client ID'] + '~' + item['Warehouse Order#'])\r\n })\r\n }\r\n let payload: any = {\r\n SiteID: SiteID.join('~'),\r\n ClientID: ClientID.join('~'),\r\n OrderNumber: OrderNumber.join(','),\r\n }\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.get(APIConstant.GetOrderUploadFilesByOrderNo, payload).subscribe(\r\n (response) => {\r\n this.responseData = []\r\n this.responseData = response.data;\r\n\r\n response.data?.map((ele) => {\r\n ele.downloadHeader = 'SiteID:' + ele.siteID + ', ClientID:' + ele.clientID + ', OrderNumber:' + ele.orderNumber;\r\n })\r\n\r\n this.downloadDisplay = _.groupBy(response.data, itm => itm.downloadHeader)\r\n this.spinner.hide('dataTableLoader')\r\n },\r\n (error) => {\r\n this.spinner.hide('dataTableLoader')\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n }\r\n }\r\n\r\n onCancelClick() {\r\n if (this.isdeleted == true) {\r\n this.selectedRows = [];\r\n this.getReport()\r\n }\r\n this.listOfFiles = [];\r\n this.ondeleteupload = false\r\n this.uploadModal = ''\r\n this.modalService.dismissAll();\r\n }\r\n\r\n isFileNameEmpty(fileName: string | null | undefined): boolean {\r\n return !fileName || fileName.trim().length === 0;\r\n }\r\n\r\n submitUpload() {\r\n this.listOfFiles = [];\r\n let selectedFieldsData = []\r\n this.responseData.map(item => {\r\n if (selectedFieldsData.filter((e => e.siteId == item.siteID && e.clientID == item.clientID && e.orderNumber == item.orderNumber)).length == 0) {\r\n selectedFieldsData.push({\r\n \"siteId\": item.siteID,\r\n \"clientID\": item.clientID,\r\n \"orderType\": item.orderTYpe,\r\n \"orderNumber\": item.orderNumber,\r\n })\r\n }\r\n });\r\n const formData = new FormData();\r\n formData.append('UserName', this.userData.username);\r\n formData.append('typeUploadDocumentsjson', JSON.stringify(selectedFieldsData));\r\n [...this.fileList].forEach((item) => {\r\n formData.append('File', item);\r\n })\r\n\r\n this.spinner.show('dataTableLoader')\r\n this.apiserviceService.postFile(APIConstant.OrderUploadFiles, formData, {}).subscribe(\r\n response => {\r\n if (response.result) {\r\n this.spinner.hide('dataTableLoader')\r\n const successMessage = \"Files(s) uploaded successfully!\";\r\n this.commonService.notification(this.validationMessage.toasterClass.success, successMessage);\r\n this.getReport()\r\n this.selectedRows = [];\r\n this.reportTableData.data.forEach(item => {\r\n if (item.checked == true) {\r\n item.checked = false;\r\n }\r\n });\r\n this.selectedRows.length === 0\r\n if (this.modalService) {\r\n this.modalService.dismissAll();\r\n this.fileList = [];\r\n this.listOfFiles = [];\r\n }\r\n } else {\r\n this.spinner.hide('dataTableLoader')\r\n const errorMessage = response.message || 'Upload failed.';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errorMessage);\r\n }\r\n },\r\n error => {\r\n this.spinner.hide('dataTableLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!'\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n }\r\n );\r\n }\r\n\r\n // deleteUploadFiles(item: any) {\r\n // let payload = {\r\n // \"Id\": item.id,\r\n // \"UserName\": this.userData.username,\r\n // };\r\n // this.apiserviceService.get(APIConstant.DeleteOrderUploadFiles, payload).subscribe(\r\n // (response) => {\r\n // this.isdeleted = true;\r\n // this.openUploadPopup()\r\n // this.commonService.notification(this.validationMessage.toasterClass.success, 'File Deleted Successfully');\r\n\r\n // },\r\n // (error) => {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n // }\r\n // );\r\n // }\r\n\r\n deleteUploadFiles(item: any) {\r\n let id = item.id;\r\n if (id) {\r\n const modalRef = this.modalService.open(this.deleteconfirmation, {\r\n size: \"sm shortBox\",\r\n centered: true,\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n });\r\n modalRef.result.then((result) => {\r\n if (result === 'Yes') {\r\n let payload = {\r\n \"Id\": item.id,\r\n \"UserName\": this.userData.username,\r\n };\r\n this.apiserviceService.get(APIConstant.DeleteOrderUploadFiles, payload).subscribe(\r\n (response) => {\r\n this.isdeleted = true;\r\n this.openUploadPopup();\r\n this.commonService.notification(this.validationMessage.toasterClass.success, 'File Deleted Successfully');\r\n },\r\n (error) => {\r\n this.commonService.notification(this.validationMessage.toasterClass.error, 'Something went wrong!');\r\n }\r\n );\r\n } else {\r\n this.modalService.dismissAll(this.deleteconfirmation);\r\n }\r\n });\r\n }\r\n }\r\n\r\n\r\n onConfirmDelete() {\r\n this.modalService.dismissAll('Yes');\r\n }\r\n\r\n downloadDocumentPopup(modelContent, order) {\r\n this.listOfFiles = [];\r\n let filepath = order.attachFileNamesPath ? order.attachFileNamesPath.split(',') : [];\r\n let attachedFileSize = order.filzeSize ? order.filzeSize.split(',') : [];\r\n filepath.map((path, i) => {\r\n if (path !== \"\") {\r\n this.listOfFiles.push({\r\n name: path.split('/').pop(),\r\n size: attachedFileSize[i] > 0 ? (attachedFileSize[i] / 1024) / 1024 : 0,\r\n filepath: path\r\n })\r\n }\r\n })\r\n this.OpenModal(modelContent)\r\n }\r\n\r\n OpenModal(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n });\r\n }\r\n\r\n\r\n createSearchForm() {\r\n this.group.fields.forEach(x => {\r\n if (x.filterType == 'checkbox') {\r\n this.form.addControl(x.filterCode, new FormGroup({}))\r\n if (x.options) {\r\n // console.log(x)\r\n x.options.forEach(o => {\r\n (this.form.get(x.filterCode) as FormGroup).addControl(o.key, new FormControl(x.defaultSelectedValue == 'true' ? true : false))\r\n })\r\n }\r\n }\r\n else {\r\n let controlInitVal = [];\r\n\r\n if (x.filterCode === 'SiteID') {\r\n x.options = this.siteOptions;\r\n controlInitVal = (this.siteOptions.length === 1) ? [this.siteOptions[0].dropDownValue] : [];\r\n }\r\n\r\n // console.log(x.defaultSelectedValue.split(','));\r\n // console.log(x.defaultSelectedValue);\r\n\r\n x.defaultSelectedValue = x.defaultSelectedValue ?\r\n x.allowMultipleSelection ? [x.defaultSelectedValue] : x.defaultSelectedValue.split(',')\r\n : controlInitVal ? controlInitVal : null;\r\n\r\n // Check if x.defaultSelectedValue is defined before accessing its properties\r\n // console.log(x.defaultSelectedValue[0].split(',') );\r\n // console.log(x.defaultSelectedValue);\r\n\r\n if (x.defaultSelectedValue && x.defaultSelectedValue.length > 0) {\r\n let data: any = x.defaultSelectedValue[0];\r\n\r\n this.form.addControl(x.filterCode,\r\n new FormControl(x.defaultSelectedValue ?\r\n x.allowMultipleSelection ? data.split(',') : data : null,\r\n x.isRequired ? Validators.required : null));\r\n } else {\r\n this.form.addControl(x.filterCode,\r\n new FormControl(null, x.isRequired ? Validators.required : null));\r\n }\r\n }\r\n\r\n });\r\n\r\n // console.log(this.form)\r\n\r\n if (this.showDateControls) {\r\n this.form.addControl('dateRange', new FormControl(null, [Validators.required]))\r\n this.form.addControl('SrchDateFrom', new FormControl(null, [Validators.required]))\r\n this.form.addControl('SrchDateTo', new FormControl(null, [Validators.required]))\r\n }\r\n this.isFormControlsReady = true;\r\n }\r\n\r\n get formFormControl() { return this.form.controls; }\r\n\r\n shouldDisplayButtons(): boolean {\r\n const currentRoute = this.router.url;\r\n const hideButtonsRoutes = ['/receipts/inbound-documents', '/shipment-info/outbound-documents'];\r\n\r\n if (hideButtonsRoutes.includes(currentRoute)) {\r\n // Hide buttons for specified routes\r\n return true;\r\n } else {\r\n // Show buttons for other routes\r\n return false;\r\n }\r\n }\r\n\r\n\r\n binddataenable = false\r\n onChangeDropdown(event) {\r\n // console.log(event);\r\n\r\n const bindFieldsArr = (event !== null && event.filterTypeBind !== null) ? event.filterTypeBind.split(',') : [];\r\n // console.log(bindFieldsArr);\r\n\r\n // console.log(this.form)\r\n if (event && event.onchangevalue == true) {\r\n let filterTypeBind = event.filterTypeBind.split(',')\r\n filterTypeBind.forEach(element => {\r\n // console.log(element)\r\n // console.log(this.form.controls[element])\r\n this.form.controls[element].setValue(null)\r\n });\r\n\r\n // if(event.filterTypeBind !== 'ClientID') {\r\n // this.binddataenable = false\r\n // this.form.reset()\r\n // this\r\n\r\n // }\r\n // return\r\n }\r\n\r\n\r\n if (event && event.value && !event.value.length) {\r\n bindFieldsArr.map((item) => {\r\n let bindToEleIndex = this.group.fields.findIndex(x => x.filterCode == item)\r\n this.group.fields[bindToEleIndex].options = []\r\n })\r\n }\r\n\r\n\r\n if (event !== null && event.value.length && bindFieldsArr.length) {\r\n bindFieldsArr.map((item) => {\r\n let bindToEleIndex = this.group.fields.findIndex(x => x.filterCode == item);\r\n let payload = {\r\n username: this.userData.username,\r\n companyCode: this.userData.userCompanyInfo[0].companyCode\r\n };\r\n let apiParamsArr = (this.group.fields[bindToEleIndex].apiParameterName) ? this.group.fields[bindToEleIndex].apiParameterName.split(',') : [];\r\n\r\n let excludeArr = ['UserName', 'UserType']\r\n apiParamsArr.map((param) => {\r\n if (!excludeArr.includes(param)) {\r\n payload[param] = Array.isArray(this.form.controls[param].value) ? this.form.controls[param].value.join() : this.form.controls[param].value\r\n }\r\n })\r\n this.spinner.show('FormLoader')\r\n this.binddataenable = true\r\n this.apiserviceService.get(this.group.fields[bindToEleIndex].apiName, payload).subscribe((response) => {\r\n if (response.result) {\r\n if (this.group.fields[bindToEleIndex].filterCode == 'ClientID' && this.userData.userCompanyInfo[0].companyCode != 'Arcadia') {\r\n const tempClientIDs = [];\r\n // let temRes = response.data.map((item)=>{ \r\n // let itemSplit = item.dropDownValue.split('~')\r\n // if(this.selectedAccounts.includes(itemSplit[1])){\r\n // tempClientIDs.push(item)\r\n // }\r\n // })\r\n let sWarehouses = event.value?.map((w) => w.dropDownValue)\r\n this.userData.allAccounts?.filter(i => i.checked == true && sWarehouses.includes(i.whse_code)).map((item) => {\r\n tempClientIDs.push({\r\n \"dropDownValue\": item.whse_code + \"~\" + item.cust_id,\r\n \"dropDownText\": item.cust_name + \" (\" + item.wh_name + \")\"\r\n })\r\n })\r\n this.group.fields[bindToEleIndex].options = tempClientIDs;\r\n } else {\r\n this.group.fields[bindToEleIndex].options = response.data;\r\n }\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = Object.keys(error.error.errors).length ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n })\r\n\r\n });\r\n }\r\n\r\n if (this.binddataenable && this.isEdit) {\r\n let payload = {\r\n username: this.userData.username,\r\n companyCode: this.userData.userCompanyInfo[0].companyCode,\r\n SiteID: this.form.value.SiteID.join(),\r\n ClientID: this.form.value.ClientID.join()\r\n };\r\n\r\n this.group.fields.map((item, bindToEleIndex) => {\r\n if (item.apiName && bindToEleIndex > 1) {\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.get(item.apiName, payload).subscribe((response) => {\r\n if (response.result) {\r\n if (this.group.fields[bindToEleIndex].filterCode == 'ClientID' && this.userData.userCompanyInfo[0].companyCode != 'Arcadia') {\r\n const tempClientIDs = [];\r\n // let temRes = response.data.map((item)=>{ \r\n // let itemSplit = item.dropDownValue.split('~')\r\n // if(this.selectedAccounts.includes(itemSplit[1])){\r\n // tempClientIDs.push(item)\r\n // }\r\n // })\r\n let sWarehouses = event.value?.map((w) => w.dropDownValue)\r\n this.userData.allAccounts?.filter(i => i.checked == true && sWarehouses.includes(i.whse_code)).map((item) => {\r\n tempClientIDs.push({\r\n \"dropDownValue\": item.whse_code + \"~\" + item.cust_id,\r\n \"dropDownText\": item.cust_name + \" (\" + item.wh_name + \")\"\r\n })\r\n })\r\n this.group.fields[bindToEleIndex].options = tempClientIDs;\r\n } else {\r\n this.group.fields[bindToEleIndex].options = response.data;\r\n }\r\n }\r\n this.spinner.hide('FormLoader')\r\n },\r\n error => {\r\n this.spinner.hide('FormLoader')\r\n // let errMsg = Object.keys(error.error.errors).length ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong!';\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n }\r\n )\r\n }\r\n })\r\n\r\n\r\n }\r\n }\r\n resetForm() {\r\n this.form.reset();\r\n this.reportTableHeader = [];\r\n this.reportExcludeColumns = [];\r\n this.reportTableData.data = [];\r\n Object.keys(this.form.controls).forEach((k) => {\r\n let tempItem = this.group.fields.filter((x) => {\r\n return x.filterCode == k && x.defaultSelectedValue != null\r\n })[0];\r\n if (tempItem !== undefined) {\r\n this.form.get([k]).patchValue(tempItem.defaultSelectedValue);\r\n }\r\n });\r\n this.noDataFlag = false\r\n this.drivernamerequired = false\r\n this.drivername = ''\r\n }\r\n\r\n ngDistroy() {\r\n this.unsubcribe();\r\n }\r\n\r\n getReport(bkPayload = null, page: any = 1) {\r\n this.drivernamerequired = false\r\n this.drivername = ''\r\n\r\n if (!this.isExportingReport) {\r\n this.reportTableData.data = []\r\n this.reportTableHeaderColumns = []\r\n this.reportTableDataExport = []\r\n this.reportExcludeColumns = []\r\n this.reportTableHeader = []\r\n this.reportTableHeaderExport = []\r\n this.drillDownColumnsArr = []\r\n this.drillDownTitle = ''\r\n this.drillDownPayload = ''\r\n this.drillDownProcedure = ''\r\n this.page = page\r\n } else {\r\n this.reportTableHeaderBackup = this.reportTableHeader\r\n this.reportTableDataBackup = this.reportTableData.data\r\n this.itemsPerPageBackup = this.itemsPerPage\r\n this.pageBackup = page\r\n this.page = 1\r\n }\r\n\r\n if (this.form.valid) {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n if (key != 'dateRange') {\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n }\r\n })\r\n\r\n let showAll = this.isExportingReport ? 1 : 0\r\n filterOptions.push('PageNumber' + ':' + page)\r\n filterOptions.push('ShowAll' + ':' + showAll)\r\n\r\n let inputData = {\r\n username: this.userData.username,\r\n // reportID: this.reportId,\r\n reportID: 'INVTR079.00', // id for Inventory Summary & Detail Report\r\n params: filterOptions.join('|~')\r\n }\r\n this.selectedSearchParams = filterOptions.join('|');\r\n this.spinner.show('FormLoader')\r\n this.backPayload.push(inputData)\r\n this.apiserviceService.post(APIConstant.GetReportDetailbyReportID, inputData, {}).subscribe((response) => {\r\n if (response.result) {\r\n if (this.isExportingReport) {\r\n this.reportTableHeader = []\r\n this.reportTableData.data = []\r\n this.reportTableHeaderColumns = []\r\n }\r\n\r\n this._alldata = response.data.reportData;\r\n\r\n setTimeout(() => {\r\n this.reportTableData.data = this.addGroups(this._alldata, this.groupByColumns);\r\n this.reportTableData.filterPredicate = this.customFilterPredicate.bind(this);\r\n this.reportTableData.filter = performance.now().toString();\r\n }, 0);\r\n\r\n this.totalItems = response.data.reportData.length ? response.data.reportData[0].TotalRecords : null\r\n this.itemsPerPage = response.data.pageSize\r\n\r\n this.reportExcludeColumns = response.data.excludeColumns.split(',');\r\n const popupColumns = response.data.popupColumns.split(',');\r\n const drillColumns = response.data.drillDownColumns?.split(',');\r\n\r\n popupColumns.map((x) => {\r\n let tempArr = x.split('_')\r\n this.popupColumnsArr.push({\r\n key: tempArr[0],\r\n value: tempArr[1]\r\n })\r\n });\r\n drillColumns?.map((x) => {\r\n let tempArr = x.split('|')\r\n this.drillDownColumnsArr.push({\r\n showColumn: tempArr[0],\r\n dbColumn: tempArr[1],\r\n procedure: tempArr[2]\r\n })\r\n })\r\n\r\n const tableHeaderColumns = response.data.columnAlignment.split(',');\r\n tableHeaderColumns.map((x) => {\r\n let tempArr = x.split('~')\r\n if (!this.reportExcludeColumns.includes(tempArr[0].trim())) {\r\n const popArr = this.popupColumnsArr.filter((pop) => pop.key == tempArr[0].trim());\r\n const drillArr = this.drillDownColumnsArr.filter((drill) => drill.showColumn == tempArr[0].trim());\r\n\r\n this.reportTableHeaderColumns.push(tempArr[0].trim());\r\n\r\n this.reportTableHeader.push({\r\n columnName: tempArr[0].trim(),\r\n columnAlignment: tempArr[1] ? tempArr[1].trim().toLowerCase() : '',\r\n showPopup: popArr.length ? true : false,\r\n showDrillDown: drillArr.length ? true : false,\r\n DrillDowndbColumn: drillArr.length ? drillArr[0].dbColumn.trim() : '',\r\n DrillDownprocedure: drillArr.length ? drillArr[0].procedure.trim() : '',\r\n showPopupColumn: popArr.length ? popArr[0].value.trim() : ''\r\n })\r\n }\r\n });\r\n\r\n if (this.isExportingReport) {\r\n if (this.exportType == 'excel') {\r\n setTimeout(() => this.exportexcel1(), 2300);\r\n } else {\r\n setTimeout(() => this.SavePDF(), 2300);\r\n }\r\n } else {\r\n this.spinner.hide('FormLoader')\r\n }\r\n this.noDataFlag = response.data.reportData.length ? false : true;\r\n\r\n }\r\n\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n }\r\n getFileNameFromPath(filePath: string): string {\r\n const parts = filePath.split('/');\r\n return parts[parts.length - 1];\r\n }\r\n getAndEditReportFilters() {\r\n let params = {\r\n usertype: this.userData.userCompanyInfo[0].userType,\r\n reportid: this.reportId,\r\n username: this.userData.username,\r\n scheduleid: this.scheduleid\r\n };\r\n\r\n this.spinner.show('FormLoader');\r\n this.apiserviceService.get(APIConstant.GetFilterReportData, params).subscribe((response) => {\r\n if (response.result) {\r\n let temArr = response.data.filter((item) => {\r\n if (item.filterType === 'checkbox') {\r\n item.options = [{ key: item.filterCode, label: item.filterLabel }];\r\n }\r\n\r\n if (item.filterType === \"date\") {\r\n this.showDateControls = true;\r\n this.selectDateRange = 'custom'\r\n this.dateControlsDisabled = false;\r\n this.SrchDateFrom = new Date(response.data.find(item => item.filterCode === 'SrchDateFrom')?.defaultSelectedValue)\r\n this.SrchDateTo = new Date(response.data.find(item => item.filterCode === 'SrchDateTo')?.defaultSelectedValue)\r\n }\r\n\r\n return item.filterType !== \"date\";\r\n });\r\n this.group.fields = temArr;\r\n }\r\n this.createSearchForm();\r\n this.spinner.hide('FormLoader');\r\n }, error => {\r\n this.spinner.hide('FormLoader');\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n });\r\n }\r\n\r\n getAndSetReportFilters() {\r\n // let params = {\r\n // usertype: this.userData.userCompanyInfo[0].userType, \r\n // reportid: this.reportId,\r\n // username: this.userData.username,\r\n // };\r\n\r\n let params = {\r\n usertype: \"IT Arcadia\", \r\n reportid: \"INVTR004.00\",\r\n username: \"Arcadia_Admin\",\r\n };\r\n\r\n this.spinner.show('FormLoader');\r\n this.apiserviceService.get(APIConstant.GetFilterReportData, params).subscribe((response) => {\r\n if (response.result) {\r\n let temArr = response.data.filter((item) => {\r\n if (item.filterType === 'checkbox') {\r\n item.options = [{ key: item.filterCode, label: item.filterLabel }];\r\n }\r\n\r\n if (item.filterType === \"date\") {\r\n this.showDateControls = true;\r\n this.defaultSrchDateFrom = response.data.find(item => item.filterCode === 'SrchDateFrom')?.defaultSelectedValue;\r\n this.defaultSrchDateTo = response.data.find(item => item.filterCode === 'SrchDateTo')?.defaultSelectedValue;\r\n }\r\n\r\n return item.filterType !== \"date\";\r\n });\r\n this.group.fields = temArr;\r\n }\r\n this.createSearchForm();\r\n this.spinner.hide('FormLoader');\r\n }, error => {\r\n this.spinner.hide('FormLoader');\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg);\r\n });\r\n }\r\n\r\n setToFromDates(event) {\r\n if (event && event.id === 'custom') {\r\n this.dateControlsDisabled = false;\r\n }\r\n if (event && event.id === 'thisweek') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - curr.getDay()));\r\n var lastday = new Date(curr.setDate(curr.getDate() - curr.getDay() + 6));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'yesterday') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - 1));\r\n var lastday = new Date(curr.setDate(curr.getDate()));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'today') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate()));\r\n var lastday = new Date(curr.setDate(curr.getDate()));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'lastweek') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.setDate(curr.getDate() - curr.getDay() - 7));\r\n var lastday = new Date(curr.setDate(curr.getDate() - (curr.getDay()) + 6));\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n } else if (event && event.id === 'thismonth') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.getFullYear(), curr.getMonth(), 1);\r\n var lastday = new Date(curr.getFullYear(), curr.getMonth() + 1, 0);\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n }\r\n else if (event && event.id === 'lastmonth') {\r\n this.dateControlsDisabled = true;\r\n var curr = new Date;\r\n var firstday = new Date(curr.getFullYear(), curr.getMonth() - 1, 1);\r\n var lastday = new Date(curr.getFullYear(), curr.getMonth(), 0);\r\n this.SrchDateFrom = firstday;\r\n this.SrchDateTo = lastday;\r\n }\r\n else {\r\n this.SrchDateFrom = null;\r\n this.SrchDateTo = null;\r\n }\r\n }\r\n\r\n callDrillDownReport(DrillDowndbColumn = null, DrillDownprocedure = null, value = null, siteID = null, clientID = null, bkPayload = null, page: any = 1) {\r\n if (!this.isExportingReport) {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.reportTableData.data = []\r\n this.reportTableHeader = []\r\n this.drillDownColumnsArr = []\r\n this.page = page\r\n } else {\r\n this.reportTableHeaderBackup = this.reportTableHeader\r\n this.reportTableDataBackup = this.reportTableData.data\r\n this.itemsPerPageBackup = this.itemsPerPage\r\n this.pageBackup = page\r\n this.page = 1\r\n }\r\n\r\n let showAll = this.isExportingReport ? 1 : 0\r\n let filterOptions = [\r\n 'SiteID:' + siteID,\r\n 'ClientID:' + clientID,\r\n `${DrillDowndbColumn}:` + value,\r\n 'PageNumber:' + page,\r\n 'ShowAll:' + showAll\r\n ]\r\n\r\n let payload = bkPayload ? bkPayload : {\r\n \"procedureName\": DrillDownprocedure,\r\n \"username\": this.userData.username,\r\n \"params\": filterOptions.join('|~')\r\n }\r\n if (bkPayload) {\r\n this.drillDownProcedure = bkPayload.procedureName\r\n let tpArr = bkPayload.params.split('|~')\r\n tpArr.pop()\r\n tpArr.pop()\r\n this.drillDownfilterOptions = tpArr\r\n this.drillDownPayload = tpArr.join(', ')\r\n } else {\r\n let tpParamsArr = filterOptions\r\n tpParamsArr.pop()\r\n tpParamsArr.pop()\r\n this.drillDownPayload = tpParamsArr.join(', ')\r\n\r\n this.drillDownProcedure = DrillDownprocedure\r\n this.drillDownfilterOptions = filterOptions\r\n }\r\n\r\n\r\n\r\n this.spinner.show('FormLoader')\r\n this.backPayload.push(payload)\r\n this.apiserviceService.post(APIConstant.GetDrillDownReport, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n if (this.isExportingReport) {\r\n this.reportTableHeader = []\r\n this.reportTableData.data = []\r\n }\r\n\r\n this.totalItems = response.data.reportData.length ? response.data.reportData[0].TotalRecords : null\r\n this.itemsPerPage = response.data.pageSize\r\n\r\n this.reportExcludeColumns = response.data.excludeColumns.split(',');\r\n const popupColumns = response.data.popupColumns.split(',');\r\n const drillColumns = response.data.drillDownColumns?.split(',');\r\n this.drillDownTitle = response.data.drillDownTitle\r\n\r\n popupColumns.map((x) => {\r\n let tempArr = x.split('_')\r\n this.popupColumnsArr.push({\r\n key: tempArr[0],\r\n value: tempArr[1]\r\n })\r\n });\r\n drillColumns?.map((x) => {\r\n let tempArr = x.split('|')\r\n this.drillDownColumnsArr.push({\r\n showColumn: tempArr[0],\r\n dbColumn: tempArr[1],\r\n procedure: tempArr[2]\r\n })\r\n })\r\n\r\n const tableHeaderColumns = response.data.columnAlignment.split(',');\r\n tableHeaderColumns.map((x) => {\r\n let tempArr = x.split('~')\r\n if (!this.reportExcludeColumns.includes(tempArr[0].trim())) {\r\n const popArr = this.popupColumnsArr.filter((pop) => pop.key == tempArr[0].trim());\r\n const drillArr = this.drillDownColumnsArr.filter((drill) => drill.showColumn == tempArr[0].trim());\r\n this.reportTableHeader.push({\r\n columnName: tempArr[0].trim(),\r\n columnAlignment: tempArr[1].trim().toLowerCase(),\r\n showPopup: popArr.length ? true : false,\r\n showDrillDown: drillArr.length ? true : false,\r\n DrillDowndbColumn: drillArr.length ? drillArr[0].dbColumn.trim() : '',\r\n DrillDownprocedure: drillArr.length ? drillArr[0].procedure.trim() : '',\r\n showPopupColumn: popArr.length ? popArr[0].value.trim() : ''\r\n })\r\n }\r\n });\r\n\r\n this.reportTableData.data = response.data.reportData\r\n if (this.isExportingReport) {\r\n if (this.exportType == 'excel') {\r\n setTimeout(() => this.exportexcel2(), 2300);\r\n } else {\r\n setTimeout(() => this.SavePDF(), 2300);\r\n }\r\n } else {\r\n this.spinner.hide('FormLoader')\r\n }\r\n this.noDataFlag = response.data.reportData.length ? false : true\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n setAndOpenDescriptionPopup(field, content, docType = 'O') {\r\n this.currentPopupField = ''\r\n this.modelHeading = field + ' Information'\r\n if (field == 'Media File(s)') {\r\n let imgArr = content.split(',')\r\n let tempContent = ''\r\n imgArr.forEach(function (item) {\r\n tempContent += `

`\r\n })\r\n this.modelText = tempContent\r\n }\r\n else if (field == 'Invoice Number') {\r\n if (content) {\r\n this.iframePdfUrl = content\r\n let tempContent = ``\r\n this.modelText = tempContent\r\n } else {\r\n this.modelText = 'No attachment found!'\r\n }\r\n\r\n }\r\n else if (field == 'Shipper / Consignee') {\r\n this.modelHeading = docType == 'O' ? 'Consignee Information' : 'Shipper Information'\r\n this.modelText = content\r\n }\r\n else if (field == 'Download(s)') {\r\n this.modelHeading = 'View Files(s)'\r\n this.modelText = content.length ? content.split(',') : []\r\n this.currentPopupField = field\r\n }\r\n else {\r\n this.iframePdfUrl = ''\r\n this.modelText = content\r\n }\r\n this.openlinksPopupModel(this.linksPopup);\r\n }\r\n openlinksPopupModel(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"lg modal-dialog-centered\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n /* function for download files */\r\n downLoadFile(filepath) {\r\n this.spinner.show('FormLoader');\r\n let url = filepath;\r\n fetch(url).then(res => res.blob()).then(file => {\r\n let temUrl = URL.createObjectURL(file)\r\n let aTag = document.createElement(\"a\")\r\n aTag.href = temUrl\r\n aTag.download = filepath.split(\"/\").pop()\r\n document.body.appendChild(aTag)\r\n aTag.click()\r\n aTag.remove()\r\n this.spinner.hide('FormLoader');\r\n })\r\n }\r\n\r\n /* function for download files */\r\n downLoadFileForReport(filepath, filename) {\r\n this.spinner.show('FormLoader');\r\n let url = filepath;\r\n fetch(url).then(res => res.blob()).then(file => {\r\n let temUrl = URL.createObjectURL(file);\r\n let aTag = document.createElement(\"a\");\r\n aTag.href = temUrl;\r\n aTag.download = filename;\r\n document.body.appendChild(aTag)\r\n aTag.click()\r\n aTag.remove()\r\n this.spinner.hide('FormLoader');\r\n })\r\n }\r\n\r\n\r\n exportexcel(): void {\r\n /* pass here the table id */\r\n let element = document.getElementById('header-fixed');\r\n console.log(\"element:\", element);\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element, { origin: \"A6\", raw: true });\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n\r\n // Add a bold format to use to highlight cells.\r\n //bold = wb.add_format({'bold': True})\r\n\r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop()\r\n SearchParams.pop()\r\n\r\n if (this.isDrillDownReport) {\r\n XLSX.utils.sheet_add_aoa(ws, [\r\n [\"Report Title\", this.drillDownTitle],\r\n [\"Search Params\", this.drillDownPayload],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ], { origin: \"A1\" });\r\n } else {\r\n XLSX.utils.sheet_add_aoa(ws, [\r\n [\"Report ID\", this.reportId],\r\n [\"Report Title\", this.reportTitle],\r\n [\"Search Params\", SearchParams.join('|')],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ], { origin: \"A1\" });\r\n }\r\n\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, this.isDrillDownReport ? this.drillDownTitle + '_' + Date.now() + '.xlsx' : this.reportTitle + '_' + Date.now() + '.xlsx');\r\n\r\n\r\n this.itemsPerPage = this.itemsPerPageBackup\r\n this.page = this.pageBackup\r\n this.reportTableData.data = this.reportTableDataBackup\r\n this.reportTableHeader = this.reportTableHeaderBackup\r\n this.spinner.hide('FormLoader')\r\n this.backPayload.pop()\r\n this.isExportingReport = false\r\n }\r\n\r\n\r\n\r\n @ViewChild('header-fixed', { static: true }) content: ElementRef;\r\n public SavePDF(): void {\r\n //const DATA = this.content.nativeElement; \r\n\r\n let DATA: any = document.getElementById('header-fixed');\r\n html2canvas(DATA).then((canvas) => {\r\n var imgData = canvas.toDataURL('image/png');\r\n var margin = 2;\r\n var imgWidth = 210 - 2 * margin;\r\n var pageHeight = 295;\r\n var imgHeight = canvas.height * imgWidth / canvas.width;\r\n var heightLeft = imgHeight;\r\n var doc = new jsPDF('p', 'mm');\r\n var position = 40;\r\n doc.setFontSize(7);\r\n\r\n /* Selected Filters for selected search params */\r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop()\r\n SearchParams.pop()\r\n\r\n\r\n if (this.isDrillDownReport) {\r\n var splitSelected = doc.splitTextToSize(`Selected Filters: ${this.drillDownPayload}`, 180);\r\n doc.text(`Report Title: ${this.drillDownTitle}`, 5, 10);\r\n doc.text(`Generated At: ${new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()}`, 5, 15);\r\n doc.text(splitSelected, 5, 20);\r\n } else {\r\n var splitSelected = doc.splitTextToSize(`Selected Filters: ${SearchParams.join('|')}`, 180);\r\n doc.text(`Report ID: ${this.reportId}`, 5, 5);\r\n doc.text(`Report Title: ${this.reportTitle}`, 5, 10);\r\n doc.text(`Generated At: ${new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()}`, 5, 15);\r\n doc.text(splitSelected, 5, 20);\r\n }\r\n doc.setFontSize(14);\r\n\r\n doc.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n\r\n while (heightLeft >= 0) {\r\n position = heightLeft - imgHeight;\r\n doc.addPage();\r\n doc.addImage(imgData, 'PNG', margin, position, imgWidth, imgHeight);\r\n heightLeft -= pageHeight;\r\n }\r\n let pdfTitle = this.isDrillDownReport ? this.drillDownTitle : this.reportTitle\r\n doc.save(`${pdfTitle + '_' + Date.now()}.pdf`);\r\n\r\n this.itemsPerPage = this.itemsPerPageBackup\r\n this.page = this.pageBackup\r\n this.reportTableData.data = this.reportTableDataBackup\r\n this.reportTableHeader = this.reportTableHeaderBackup\r\n this.spinner.hide('FormLoader')\r\n this.backPayload.pop()\r\n this.isExportingReport = false\r\n });\r\n }\r\n\r\n /**\r\n * \r\n * @returns - Print Packing List ON Report ID - OUTBR022.00\r\n */\r\n printPackingList() {\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#']\r\n })\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = { outboundOrdersList: printableData.join(',') }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetPackingListInformation, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n let pdfs = response.data ? response.data.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n\r\n printDocument() {\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order No.']\r\n })\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = { inboundOrdersList: printableData.join(',') }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetInboundWarehouseRcptInfo, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n let pdfs = response.data ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n\r\n }\r\n\r\n // uploadFiles(){\r\n\r\n // }\r\n\r\n // downloadFiles(){\r\n\r\n // }\r\n\r\n //Email Report\r\n emailReport() {\r\n if (!this.allUserEmails.length) {\r\n let params = {\r\n UserName: this.userData.username\r\n }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.get(APIConstant.GetAllUserEmails, params).subscribe((response) => {\r\n if (response.result) {\r\n this.allUserEmails = response.data;\r\n this.modalService.dismissAll();\r\n this.openReportEmailPopupModel(this.EmailReportPopup)\r\n this.createSearchForm();\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n } else {\r\n this.modalService.dismissAll();\r\n this.openReportEmailPopupModel(this.EmailReportPopup)\r\n }\r\n }\r\n\r\n submitReportEmail() {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n if (key != 'dateRange') {\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n }\r\n })\r\n\r\n let params: any = {}\r\n if (this.isDrillDownReport) {\r\n // this.drillDownfilterOptions.push('PageNumber:'+1)\r\n this.drillDownfilterOptions.push('ShowAll:' + 1)\r\n params = {\r\n username: this.userData.username,\r\n reportTitle: this.drillDownTitle,\r\n params: this.drillDownfilterOptions.join('|~'),\r\n isEmail: true,\r\n emailIds: this.emailReportForm.value['emails'].join(','),\r\n comments: this.emailReportForm.value['comment'],\r\n procedureName: this.drillDownProcedure\r\n }\r\n } else {\r\n filterOptions.push('showAll:' + 1)\r\n params = {\r\n username: this.userData.username,\r\n reportID: this.reportId,\r\n reportTitle: this.reportTitle,\r\n params: filterOptions.join('|~'),\r\n isEmail: true,\r\n emailIds: this.emailReportForm.value['emails'].join(','),\r\n comments: this.emailReportForm.value['comment']\r\n }\r\n }\r\n\r\n\r\n //console.log('PAYLOAD = ', params ) return;\r\n this.spinner.show('popupForm')\r\n this.apiserviceService.post(APIConstant.GetReportDetailbyReportID, params, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.commonService.notification(this.validationMessage.toasterClass.success, `${params.reportTitle} sent on emails successfully`)\r\n }\r\n this.emailReportForm.reset()\r\n this.modalService.dismissAll()\r\n this.spinner.hide('popupForm')\r\n }, error => {\r\n this.spinner.hide('popupForm')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n openReportEmailPopupModel(modelContent) {\r\n this.modalService.open(modelContent, {\r\n size: \"md\",\r\n backdrop: 'static',\r\n windowClass: \"modalClass-700\",\r\n keyboard: false,\r\n ariaLabelledBy: \"modal-basic-title\"\r\n }).result.then(result => {\r\n this.closeResult = `Closed with: ${result}`;\r\n }, reason => {\r\n this.closeResult = `Dismissed`;\r\n }\r\n );\r\n }\r\n\r\n setEmailCounter(event) {\r\n this.selectedEmailCounter = this.emailReportForm.get('emails').value.length\r\n }\r\n onSelectAll() {\r\n const selected = this.allUserEmails.map(x => x.dropDownValue)\r\n this.emailReportForm.get('emails').patchValue(selected)\r\n this.selectedEmailCounter = this.allUserEmails.length;\r\n }\r\n\r\n onClearAll() {\r\n this.emailReportForm.get('emails').patchValue([])\r\n this.selectedEmailCounter = 0\r\n }\r\n\r\n goBackReport() {\r\n this.backPayload.pop()\r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n this.backPayload.pop()\r\n\r\n if (payload.procedureName == undefined) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(payload)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload)\r\n }\r\n }\r\n\r\n funPagination(page: any = 1) {\r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n\r\n\r\n let tmpArr = payload.params.split('|~')\r\n let HoldArr = tmpArr.map((x) => {\r\n if (x.includes('PageNumber')) {\r\n return x = 'PageNumber:' + page\r\n }\r\n else {\r\n return x;\r\n }\r\n })\r\n\r\n payload.params = HoldArr.join('|~')\r\n\r\n if (!this.isDrillDownReport) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(null, page)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload, page)\r\n }\r\n }\r\n\r\n exportReport(exportType) {\r\n this.exportType = exportType\r\n this.isExportingReport = true\r\n //this.backPayload.pop() \r\n let payload = this.backPayload[this.backPayload.length - 1]\r\n //this.backPayload.pop() \r\n\r\n if (payload.procedureName == undefined) {\r\n this.isMainReport = true\r\n this.isDrillDownReport = false\r\n this.getReport(payload, this.page)\r\n } else {\r\n this.isMainReport = false\r\n this.isDrillDownReport = true\r\n this.callDrillDownReport(null, null, null, null, null, payload, this.page)\r\n }\r\n }\r\n\r\n checkAllCheckBox(ev: any) {\r\n this.reportTableData.data.forEach(x => x.checked = ev.target.checked);\r\n this.checkAndSetFlags();\r\n }\r\n\r\n isAllCheckBoxChecked() {\r\n return this.reportTableData.data.every(p => p.checked);\r\n }\r\n\r\n checkAndSetFlags() {\r\n const isAnySelected = this.reportTableData.data.some(x => x.checked);\r\n\r\n this.drivernamerequired = this.reportTableData.data.some(x => x.checked && x['BOL Signed/Printed'] === 'No');\r\n this.reflectError = this.drivernamerequired ? false : true;\r\n this.drivername = this.reflectError ? '' : this.drivername;\r\n\r\n // Populate selectedRows array with selected row data\r\n this.selectedRows = this.reportTableData.data.filter(x => x.checked);\r\n\r\n this.anyItemSelect = isAnySelected;\r\n }\r\n getDriverValue(event) {\r\n if (event.target.value) {\r\n this.reflectError = false\r\n return\r\n }\r\n\r\n this.reflectError = true\r\n\r\n }\r\n\r\n printTicket() {\r\n let signRequired = false\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n const bolSignedValue = item['BOL Signed/Printed'] === 'Yes' ? 1 : 0;\r\n if (bolSignedValue === 0) {\r\n signRequired = true;\r\n }\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#'] + '~' + bolSignedValue;\r\n });\r\n const printableData2 = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~' + item['Client ID'] + '~' + item['Warehouse Order#'] //+'~'+item['BOL Signed']\r\n })\r\n // if(signRequired && this.signatureImg==''){\r\n // this.commonService.notification(this.validationMessage.toasterClass.info, 'Driver signature not captured yet, Please try agian.')\r\n // return false \r\n // }\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = {\r\n 'bolPrintCopy': this.form.value.BOLPrintCopy.join(','),\r\n 'outboundOrdersListID': printableData.join(','),\r\n 'signatureImage': this.signatureImg ? this.signatureImg : null,\r\n 'userName': this.userData.username,\r\n 'driverName': this.drivername,\r\n 'outboundOrdersListID2': printableData2.join(','),\r\n 'IsRegenerate': this.isRegenerate,\r\n }\r\n\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetDTBOL, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.signatureImg = ''\r\n let pdfs = response.data.pdfPath ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n //window.open(response.data.pdfPath)\r\n // window.open(response.data.pdfPath)\r\n // window.location.reload();\r\n this.getReport()\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n /********\r\n * MANAGE SIGNATURE\r\n */\r\n\r\n StartSignPrint() {\r\n if (!this.drivername && this.drivernamerequired) {\r\n this.reflectError = true\r\n return false\r\n }\r\n\r\n let signRequired = false\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~~' + item['Client ID'] + '~~' + item['Warehouse Order#'] + '~~' + item['BOL Signed/Printed']\r\n })\r\n\r\n\r\n if (signRequired) {\r\n let isInstalled = document.documentElement.getAttribute('SigPlusExtLiteExtension-installed');\r\n if (!isInstalled) {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'SigPlusExtLite extension is either not installed or disabled. Please install or enable extension.')\r\n\r\n this.confirmDialogService.confirmThis(`No Signature Pad Detected, Signature pad not connected. Proceed to print without a digital signature? Note: Manual signing may be needed later.`, () => {\r\n this.printTicket(); // console.log(\"When device is not installed and connected\");\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n } else {\r\n var message = { \"firstName\": \"\", \"lastName\": \"\", \"eMail\": \"\", \"location\": \"\", \"imageFormat\": 1, \"imageX\": 500, \"imageY\": 100, \"imageTransparency\": false, \"imageScaling\": false, \"maxUpScalePercent\": 0.0, \"rawDataFormat\": \"ENC\", \"minSigPoints\": 25 };\r\n top.document.addEventListener('SignResponse', this.SignResponse.bind(this), { once: true });\r\n var messageData = JSON.stringify(message);\r\n var element = document.createElement(\"MyExtensionDataElement\");\r\n element.setAttribute(\"messageAttribute\", messageData);\r\n document.documentElement.appendChild(element);\r\n var evt = document.createEvent(\"Events\");\r\n evt.initEvent(\"SignStartEvent\", true, false);\r\n element.dispatchEvent(evt);\r\n }\r\n } else {\r\n this.printTicket()\r\n }\r\n }\r\n\r\n SignResponse(event) {\r\n var str = event.target.getAttribute(\"msgAttribute\");\r\n var obj = JSON.parse(str);\r\n\r\n if (typeof (obj) === 'string') {\r\n obj = JSON.parse(obj);\r\n } else {\r\n obj = JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n if (obj.errorMsg != null && obj.errorMsg != \"\" && obj.errorMsg != \"undefined\" && obj.isSigned == false) {\r\n this.confirmDialogService.confirmThis(`Signature Declined, No signature captured. Proceed without a signature? This may require manual signing later.`, () => {\r\n this.printTicket(); // console.log(\"without signature\")\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n return\r\n }\r\n else {\r\n if (obj.isSigned) {\r\n this.signatureImg = obj.imageData\r\n this.printTicket()\r\n }\r\n }\r\n }\r\n\r\n /*********\r\n * Signature code end here\r\n */\r\n\r\n //InsUpdScheduleReport\r\n scheduleReportNotification() {\r\n const currentUrl = this.router.url;\r\n const urlParts = currentUrl.split('/');\r\n const lastPart = urlParts[urlParts.length - 1];\r\n if (this.form.valid) {\r\n let payload = {}\r\n Object.keys(this.form.value).forEach((k) => {\r\n if (k === 'SrchDateFrom' || k === 'SrchDateTo' || k === 'InventoryAsof') {\r\n payload[k] = (this.form.value[k] !== undefined) ? new Date(this.form.value[k]).toLocaleDateString(\"en-US\") : '';\r\n } else {\r\n payload[k] = (typeof this.form.value[k] === 'object' && this.form.value[k] !== null)\r\n ? Array.isArray(this.form.value[k]) ? this.form.value[k].join() : this.form.value[k][k]\r\n : this.form.value[k];\r\n }\r\n })\r\n\r\n let filterOptions = [];\r\n Object.keys(payload).forEach((key) => {\r\n // if(key != 'dateRange'){\r\n let value = (payload[key] !== null) ? payload[key] : '';\r\n filterOptions.push(key + ':' + value)\r\n // }\r\n })\r\n\r\n let inputData = {\r\n \"scheduleid\": this.isEdit ? this.scheduleid : 0,\r\n \"reportid\": this.reportId,\r\n \"username\": this.userData.username,\r\n \"params\": filterOptions.join('|~'),\r\n \"durationtype\": 0,\r\n \"schedulereportday\": 0,\r\n \"schedulereporttime\": \"\",\r\n \"scheduleemails\": \"\",\r\n \"createdby\": this.userData.username,\r\n \"lastupdatedby\": this.userData.username,\r\n \"schedulestatus\": 0,\r\n \"updatereportsearchparams\": this.isEdit ? 1 : 0\r\n }\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.InsUpdScheduleReport, inputData, {}).subscribe((response) => {\r\n if (response.result) {\r\n const notificationMessage = this.isEdit ? 'Schedule updated successfully' : 'Schedule saved successfully';\r\n this.commonService.notification(this.validationMessage.toasterClass.success, notificationMessage)\r\n if (this.isEdit) {\r\n this.router.navigate(['/alerts-notifications/schedule-task', lastPart])\r\n }\r\n this.spinner.hide('FormLoader')\r\n }\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n }\r\n\r\n /*********************************** Start Print Master BOL *******************************/\r\n printMasterBOL() {\r\n let signRequired = false\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~' + item['Trailer Number']\r\n })\r\n // if(signRequired && this.signatureImg==''){\r\n // this.commonService.notification(this.validationMessage.toasterClass.info, 'Driver signature not captured yet, Please try agian.')\r\n // return false \r\n // }\r\n\r\n if (!printableData.length) {\r\n this.commonService.notification(this.validationMessage.toasterClass.info, 'You have to select atleast one item to print.')\r\n return false\r\n }\r\n\r\n let payload = {\r\n 'bolPrintCopy': this.form.value.BOLPrintCopy.join(','),\r\n 'outboundOrdersListID': printableData.join(','),\r\n 'signatureImage': this.signatureImg ? this.signatureImg : null,\r\n 'userName': this.userData.username,\r\n 'driverName': this.drivername\r\n }\r\n\r\n this.spinner.show('FormLoader')\r\n this.apiserviceService.post(APIConstant.GetMasterBOL, payload, {}).subscribe((response) => {\r\n if (response.result) {\r\n this.signatureImg = ''\r\n let pdfs = response.data.pdfPath ? response.data.pdfPath.split(',') : []\r\n pdfs?.forEach(i => {\r\n window.open(i)\r\n })\r\n }\r\n this.spinner.hide('FormLoader')\r\n }, error => {\r\n this.spinner.hide('FormLoader')\r\n let errMsg = (Object.keys(error.error.errors).length) ? error.error.errors[Object.keys(error.error.errors)[0]] : 'Something went wrong';\r\n this.commonService.notification(this.validationMessage.toasterClass.error, errMsg)\r\n })\r\n }\r\n\r\n /***MANAGE SIGNATURE***/\r\n StartSignPrintMasterBOL() {\r\n if (!this.drivername && this.drivernamerequired) {\r\n this.reflectError = true\r\n return false\r\n }\r\n\r\n let signRequired = false\r\n const printableData = this.reportTableData.data.filter((x) => x.checked == true && x['Client ID']).map((item) => {\r\n if (item['BOL Signed/Printed'] == 'No') {\r\n signRequired = true\r\n }\r\n return item['Warehouse'] + '~~' + item['Trailer Number'] + '~~' + item['BOL Signed/Printed']\r\n })\r\n\r\n\r\n if (signRequired) {\r\n let isInstalled = document.documentElement.getAttribute('SigPlusExtLiteExtension-installed');\r\n if (!isInstalled) {\r\n // this.commonService.notification(this.validationMessage.toasterClass.error, 'SigPlusExtLite extension is either not installed or disabled. Please install or enable extension.')\r\n\r\n this.confirmDialogService.confirmThis(`No Signature Pad Detected, Signature pad not connected. Proceed to print without a digital signature? Note: Manual signing may be needed later.`, () => {\r\n this.printMasterBOL(); // console.log(\"When device is not installed and connected\");\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n } else {\r\n var message = { \"firstName\": \"\", \"lastName\": \"\", \"eMail\": \"\", \"location\": \"\", \"imageFormat\": 1, \"imageX\": 500, \"imageY\": 100, \"imageTransparency\": false, \"imageScaling\": false, \"maxUpScalePercent\": 0.0, \"rawDataFormat\": \"ENC\", \"minSigPoints\": 25 };\r\n top.document.addEventListener('SignResponse', this.SignResponsePrintMasterBOL.bind(this), { once: true });\r\n var messageData = JSON.stringify(message);\r\n var element = document.createElement(\"MyExtensionDataElement\");\r\n element.setAttribute(\"messageAttribute\", messageData);\r\n document.documentElement.appendChild(element);\r\n var evt = document.createEvent(\"Events\");\r\n evt.initEvent(\"SignStartEvent\", true, false);\r\n element.dispatchEvent(evt);\r\n }\r\n } else {\r\n this.printMasterBOL()\r\n }\r\n }\r\n\r\n SignResponsePrintMasterBOL(event) {\r\n var str = event.target.getAttribute(\"msgAttribute\");\r\n var obj = JSON.parse(str);\r\n\r\n if (typeof (obj) === 'string') {\r\n obj = JSON.parse(obj);\r\n } else {\r\n obj = JSON.parse(JSON.stringify(obj));\r\n }\r\n\r\n if (obj.errorMsg != null && obj.errorMsg != \"\" && obj.errorMsg != \"undefined\" && obj.isSigned == false) {\r\n this.confirmDialogService.confirmThis(`Signature Declined, No signature captured. Proceed without a signature? This may require manual signing later.`, () => {\r\n this.printMasterBOL(); // console.log(\"without signature\")\r\n }, () => {\r\n return;\r\n },\r\n 'bgRed'\r\n );\r\n return\r\n } else {\r\n if (obj.isSigned) {\r\n this.signatureImg = obj.imageData\r\n this.printMasterBOL()\r\n }\r\n }\r\n }\r\n\r\n /*********************************** End Print Master BOL *******************************/\r\n\r\n drop(event: any) {\r\n console.log(event);\r\n if(this.groupColumn.includes(event.item.data.columnName))\r\n return;\r\n\r\n this.groupColumn.push(event.item.data.columnName);\r\n this.groupBy(event, event.item.data);\r\n // moveItemInArray(this.columns, event.previousIndex, event.currentIndex);\r\n }\r\n\r\n groupBy(event: any, column: any) {\r\n // event.stopPropagation();\r\n this.checkGroupByColumn(column.columnName, true);\r\n this.reportTableData.data = this.addGroups(this._alldata, this.groupByColumns);\r\n this.reportTableData.filter = performance.now().toString();\r\n }\r\n\r\n checkGroupByColumn(field: any, add: any ) {\r\n let found = null;\r\n for (const column of this.groupByColumns) {\r\n if (column === field) {\r\n found = this.groupByColumns.indexOf(column, 0);\r\n }\r\n }\r\n if (found != null && found >= 0) {\r\n if (!add) {\r\n this.groupByColumns.splice(found, 1);\r\n }\r\n } else {\r\n if ( add ) {\r\n this.groupByColumns.push(field);\r\n }\r\n }\r\n }\r\n\r\n unGroupBy(event: any, column: any) {\r\n // event.stopPropagation();\r\n this.checkGroupByColumn(column.field, false);\r\n this.reportTableData.data = this.addGroups(this._alldata, this.groupByColumns);\r\n this.reportTableData.filter = performance.now().toString();\r\n }\r\n\r\n // below is for grid row grouping\r\n customFilterPredicate(data: any | Group, filter: string): boolean {\r\n return (data instanceof Group) ? data.visible : this.getDataRowVisible(data);\r\n }\r\n\r\n getDataRowVisible(data: any): boolean {\r\n const groupRows = this.reportTableData.data.filter((row : Group) => {\r\n if (!(row instanceof Group)) {\r\n return false;\r\n }\r\n\r\n let match = true;\r\n this.groupByColumns.forEach((column: string) => {\r\n const key = column as keyof Group; // Convert column to keyof Group\r\n if (!row[key] || !data[key] || row[key] !== data[key]) {\r\n match = false;\r\n }\r\n });\r\n return match;\r\n }\r\n );\r\n\r\n if (groupRows.length === 0) {\r\n return true;\r\n }\r\n const parent = groupRows[0] as Group;\r\n return parent.visible && parent.expanded;\r\n }\r\n\r\n groupHeaderClick(row : any) {\r\n row.expanded = !row.expanded;\r\n this.reportTableData.filter = performance.now().toString();\r\n }\r\n\r\n addGroups(data: any[], groupByColumns: string[]): any[] {\r\n const rootGroup = new Group();\r\n rootGroup.expanded = true;\r\n return this.getSublevel(data, 0, groupByColumns, rootGroup);\r\n }\r\n\r\n getSublevel(data: any[], level: number, groupByColumns: string[], parent: Group): any[] {\r\n if (level >= groupByColumns.length) {\r\n return data;\r\n }\r\n const groups = this.uniqueBy(\r\n data.map(\r\n row => {\r\n const result = new Group();\r\n result.level = level + 1;\r\n result.parent = parent;\r\n for (let i = 0; i <= level; i++) {\r\n result[groupByColumns[i]] = row[groupByColumns[i]];\r\n }\r\n return result;\r\n }\r\n ),\r\n JSON.stringify);\r\n\r\n const currentColumn = groupByColumns[level];\r\n let subGroups: any[] = [];\r\n groups.forEach((group: any) => {\r\n const rowsInGroup = data.filter(row => group[currentColumn] === row[currentColumn]);\r\n group.totalCounts = rowsInGroup.length;\r\n const subGroup = this.getSublevel(rowsInGroup, level + 1, groupByColumns, group);\r\n subGroup.push(this.addRow(group[currentColumn], rowsInGroup));\r\n subGroup.unshift(group);\r\n subGroups = subGroups.concat(subGroup);\r\n });\r\n return subGroups;\r\n }\r\n\r\n addRow(currentColumn, rowsInGroup){\r\n let header = this.reportTableHeader[0].columnName;\r\n let obj = {};\r\n\r\n obj[header] = `Sub Total( ${currentColumn})`;\r\n obj[\"On Hand Quantity\"] = this.getTotal('On Hand Quantity', rowsInGroup);\r\n obj[\"On Receipt Quantity\"] = this.getTotal('On Receipt Quantity', rowsInGroup);\r\n obj[\"On Order Quantity\"] = this.getTotal('On Order Quantity', rowsInGroup);\r\n obj[\"On Hold Quantity\"] = this.getTotal('On Hold Quantity', rowsInGroup);\r\n obj[\"Available Quantity\"] = this.getTotal('Available Quantity', rowsInGroup);\r\n obj[\"Damaged Quantity\"] = this.getTotal('Damaged Quantity', rowsInGroup);\r\n obj[\"Expired Quantity\"] = this.getTotal('Expired Quantity', rowsInGroup);\r\n obj[\"On Hand Pallet\"] = this.getTotal('On Hand Pallet', rowsInGroup);\r\n obj[\"On Hand Gross Weight\"] = this.getTotal('On Hand Gross Weight', rowsInGroup);\r\n obj[\"On Hand Est. Weight\"] = this.getTotal('On Hand Est. Weight', rowsInGroup);\r\n obj[\"On Hand Catch Weight\"] = this.getTotal('On Hand Catch Weight', rowsInGroup); \r\n\r\n return obj;\r\n }\r\n\r\n getTotal(key, rowsInGroup){\r\n let sum = 0;\r\n\r\n rowsInGroup.forEach(element => {\r\n const numberWithCommas = element[key];\r\n // const numberWithoutCommas = numberWithCommas.replace(/,/g, '');\r\n const parsedNumber = parseFloat(numberWithCommas);\r\n\r\n sum = sum + parsedNumber;\r\n });\r\n\r\n return sum;\r\n }\r\n\r\n convertNumberToStringWithCommas(num: number): string {\r\n // Convert number to string\r\n let numString = num.toString();\r\n \r\n // Check if number is greater than 999 (i.e., requires comma separation)\r\n // if (num >= 1000) {\r\n // // Split the number into parts separated by commas\r\n // const parts = numString.split('.');\r\n // parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\r\n // // Join the parts back together with commas\r\n // numString = parts.join('.');\r\n // }\r\n \r\n return numString;\r\n }\r\n\r\n uniqueBy(a: any, key: any) {\r\n const seen: any = {};\r\n return a.filter((item: any) => {\r\n const k = key(item);\r\n return seen.hasOwnProperty(k) ? false : (seen[k] = true);\r\n });\r\n }\r\n\r\n isGroup(index : number, item: any): boolean {\r\n return item.level;\r\n }\r\n\r\n removeitem(item: any){\r\n let index = this.groupColumn.findIndex(ele => ele == item);\r\n this.groupColumn.splice(index, 1);\r\n\r\n this.unGroupBy('', {field: item});\r\n }\r\n\r\n customSort(a: any, b: any, sortBy: string, dir: string): number {\r\n const valueA = a[sortBy];\r\n const valueB = b[sortBy];\r\n \r\n if ((valueA === valueB) || valueA == null || valueB == null || dir == '') {\r\n return 0;\r\n }\r\n \r\n if (dir === 'asc') {\r\n return valueA < valueB ? -1 : 1;\r\n } else if(dir === 'desc') {\r\n return valueA > valueB ? -1 : 1;\r\n }\r\n }\r\n \r\n sortData(e) {\r\n this.reportTableData.data = this.reportTableData.data.slice().sort((a, b) => this.customSort(a, b, e.active, e.direction));\r\n\r\n // this.reportTableData.data = this.addGroups(this.reportTableData.data, this.groupByColumns);\r\n }\r\n\r\n exportexcel1(): void {\r\n let formattedData: any[] = []; \r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop()\r\n SearchParams.pop()\r\n\r\n if (this.isDrillDownReport) {\r\n formattedData = [\r\n [\"Report Title\", this.drillDownTitle],\r\n [\"Search Params\", this.drillDownPayload],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ]\r\n } else {\r\n formattedData = [\r\n [\"Report ID\", this.reportId],\r\n [\"Report Title\", this.reportTitle],\r\n [\"Search Params\", SearchParams.join('|')],\r\n [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n ]\r\n } \r\n\r\n formattedData.push([]); // to add empty row \r\n\r\n let tableHeader = this.reportTableHeader.map(header => header.columnName);\r\n formattedData.push(tableHeader);\r\n\r\n this.reportTableData.data.forEach(element => {\r\n let obj = []\r\n\r\n if(element instanceof Group){\r\n for(let i = 0; i < element.level; i++){\r\n let key = this.groupColumn[i];\r\n obj.push((i == 0 ? 'Group By: ' : 'Sub Group: ') + key +'('+ element[key] + ')');\r\n }\r\n }\r\n else{\r\n this.reportTableHeader.forEach(key => {\r\n obj.push(element[key.columnName] ?? '');\r\n });\r\n }\r\n\r\n formattedData.push(obj);\r\n\r\n });\r\n \r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(formattedData, {skipHeader:true});\r\n const workbook: XLSX.WorkBook = { Sheets: { ['sheet1']: worksheet }, SheetNames: ['sheet1'] };\r\n XLSX.writeFile(workbook, this.isDrillDownReport ? this.drillDownTitle + '_' + Date.now() + '.xlsx' : this.reportTitle + '_' + Date.now() + '.xlsx');\r\n\r\n this.itemsPerPage = this.itemsPerPageBackup\r\n this.page = this.pageBackup\r\n this.reportTableData.data = this.reportTableDataBackup\r\n this.reportTableHeader = this.reportTableHeaderBackup\r\n this.spinner.hide('FormLoader')\r\n this.backPayload.pop()\r\n this.isExportingReport = false\r\n }\r\n\r\n exportexcel2() {\r\n // Get the table element from the DOM\r\n const table = document.getElementById('header-fixed');\r\n\r\n let ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(table, { origin: \"A6\", raw: true });\r\n\r\n // Create a new workbook\r\n const wb = XLSX.utils.book_new();\r\n\r\n // Extract data from the table\r\n const wsData = [];\r\n const rows = table.querySelectorAll('mat-row');\r\n rows.forEach(row => {\r\n const rowData = [];\r\n const cells = row.querySelectorAll('.mat-cell');\r\n cells.forEach(cell => {\r\n rowData.push(cell.textContent.trim());\r\n });\r\n wsData.push(rowData);\r\n });\r\n\r\n // Create a worksheet and add data to it\r\n ws = XLSX.utils.sheet_add_aoa(ws, wsData);\r\n\r\n let SearchParams = this.selectedSearchParams.split('|');\r\n SearchParams.pop()\r\n SearchParams.pop()\r\n\r\n // if (this.isDrillDownReport) {\r\n // XLSX.utils.sheet_add_aoa(ws, [\r\n // [\"Report Title\", this.drillDownTitle],\r\n // [\"Search Params\", this.drillDownPayload],\r\n // [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n // ], { origin: \"A1\" });\r\n // } else {\r\n // XLSX.utils.sheet_add_aoa(ws, [\r\n // [\"Report ID\", this.reportId],\r\n // [\"Report Title\", this.reportTitle],\r\n // [\"Search Params\", SearchParams.join('|')],\r\n // [\"Generated At\", new Date().toLocaleDateString(\"en-US\") + \" \" + new Date().toLocaleTimeString()]\r\n // ], { origin: \"A1\" });\r\n // }\r\n\r\n // Add the worksheet to the workbook\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n\r\n\r\n /* save to file */\r\n XLSX.writeFile(wb, this.isDrillDownReport ? this.drillDownTitle + '_' + Date.now() + '.xlsx' : this.reportTitle + '_' + Date.now() + '.xlsx');\r\n\r\n\r\n // // Convert binary to Blob\r\n // const blob = new Blob([this.s2ab(wbout)], { type: 'application/octet-stream' });\r\n\r\n // // Trigger download\r\n // saveAs(blob, 'table_data.xlsx');\r\n\r\n this.itemsPerPage = this.itemsPerPageBackup\r\n this.page = this.pageBackup\r\n this.reportTableData.data = this.reportTableDataBackup\r\n this.reportTableHeader = this.reportTableHeaderBackup\r\n this.spinner.hide('FormLoader')\r\n this.backPayload.pop()\r\n this.isExportingReport = false\r\n}\r\n\r\n// Utility function to convert s to an array buffer\r\n s2ab(s) {\r\n const buf = new ArrayBuffer(s.length);\r\n const view = new Uint8Array(buf);\r\n for (let i = 0; i !== s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;\r\n return buf;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n

{{ drillDownTitle ? drillDownTitle : reportTitle}}

\r\n
\r\n
\r\n {{ drillDownPayload }}\r\n
\r\n
\r\n\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Date Range *
\r\n \r\n
\r\n
\r\n
From *
\r\n \r\n \r\n
\r\n
\r\n
To *
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n \r\n
    \r\n
  • \r\n \r\n
  • \r\n
\r\n\r\n
\r\n
Driver Name
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \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_indicator Drag a column header and drop it here to group by that column.\r\n \r\n
{{item}}close
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{ header.columnName }}\r\n \r\n \r\n {{ row[header.columnName] }}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n expand_less\r\n expand_more\r\n {{groupByColumns[group.level-1]}} = {{group[groupByColumns[group.level-1]]}}\r\n ({{group.totalCounts}})\r\n \r\n \r\n \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
{{modelHeading}}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n {{ selected.split(\"/\").pop() }}   \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n \r\n
\r\n
Email Report ({{isDrillDownReport? drillDownTitle : reportTitle}})
\r\n \r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{item.dropDownText}}\r\n \r\n\r\n \r\n
\r\n
\r\n {{item.dropDownText}}\r\n ×\r\n
\r\n
\r\n
1\" class=\"ng-summary-list\">\r\n
\r\n {{ selectedEmailCounter }} Selected\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n
\r\n
Upload(s)
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
    \r\n
  • \r\n
    {{ item.key }}
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    {{ fitem.fileName }}
    \r\n
    \r\n
    \r\n
    \r\n

    No file available for this order.\r\n

    \r\n
\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
    \r\n
  • \r\n
    \r\n
    {{ selected.name }}
    \r\n \r\n
    \r\n
  • \r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n\r\n\r\n \r\n
\r\n
Download(s)
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
{{ item.key }}
\r\n
    \r\n
  • \r\n \r\n
    \r\n
    {{ litem.fileName }}
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n

    No file available for this order.

    \r\n
    \r\n
    \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n
\r\n
Are you sure you want to delete this file?
\r\n

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

\r\n
\r\n
","import { Component, OnInit, Output,EventEmitter } from '@angular/core';\r\nimport { Title } from '@angular/platform-browser';\r\nimport { Router,NavigationEnd } from '@angular/router';\r\nimport { validationMessage } from 'src/app/constants/validationMessage';\r\ndeclare var $: any;\r\n\r\n@Component({\r\n selector: 'app-side-menu',\r\n templateUrl: './side-menu.component.html',\r\n styleUrls: ['./side-menu.component.css']\r\n})\r\nexport class SideMenuComponent implements OnInit {\r\n userData:any;\r\n sideMenu:any;\r\n showSideMenu:boolean=false;\r\n slug:string='';\r\n @Output() onChange = new EventEmitter();\r\n validationMessage = validationMessage;\r\n\r\n constructor( public router: Router,\r\n public titleService:Title) {\r\n router.events.forEach((event) => {\r\n if(event instanceof NavigationEnd) { \r\n let currentUrl=router.url;\r\n \r\n let currentUrlArr=currentUrl.split('/');\r\n let mainpath=currentUrlArr[1]; \r\n \r\n this.slug = currentUrl.slice(1); \r\n \r\n this.userData = JSON.parse(localStorage.getItem('ArcUser'));\r\n \r\n \r\n \r\n if(this.userData && this.userData.menu){\r\n let ress = this.userData.menu.filter((menuItem) => { \r\n return (menuItem.menuURL.includes(mainpath) && menuItem.reportMenu != null ) ? true : false;\r\n });\r\n \r\n if(ress.length > 0){\r\n this.showSideMenu = true;\r\n this.sideMenu = ress; \r\n let title = ress[0].reportMenu.filter((item)=>item.reportURL == this.slug).map(i => i.reporttitlename)\r\n if(title.length>0){ \r\n this.onChange.emit(title[0])\r\n this.titleService.setTitle(validationMessage.common.heading+ title)}\r\n }\r\n else{\r\n \r\n this.showSideMenu = false;\r\n this.sideMenu = [];\r\n \r\n } \r\n\r\n } \r\n } \r\n }); \r\n }\r\n\r\n ngOnInit(): void { \r\n }\r\n\r\n toggleClassOnBody(){\r\n $(\"body\").toggleClass(\"sidebar-icon-only\"); \r\n }\r\n}\r\n","\r\n
\r\n
\r\n \r\n
\r\n \r\n
{{ menuItem.reporttitlename }}
\r\n
\r\n
\r\n","/**\r\n * JQuery Simple MobileMenu\r\n * Copyright (c) 2017 Position2 Inc.\r\n * Licensed under MIT (http://opensource.org/licenses/MIT)\r\n * https://github.com/Position2/jQuery-Simple-MobileMenu\r\n */\r\n(function($) {\r\n var defaults = {\r\n \"hamburgerId\": \"sm_menu_ham\", //Hamburger Id\r\n \"wrapperClass\": \"sm_menu_outer\", //Menu Wrapper Class\r\n \"submenuClass\": \"submenu\", //Submenu Class\r\n \"menuStyle\": \"slide\", //Menu Style\r\n \"onMenuLoad\": function() { return true; }, //Calls when menu loaded\r\n \"onMenuToggle\": function() { return true; } //Calls when menu open/close\r\n };\r\n $.fn.simpleMobileMenu = function(options) {\r\n if (this.length === 0) { return this; }\r\n var smMenu = {},\r\n ds = $(this);\r\n var init = function() {\r\n smMenu.settings = $.extend({}, defaults, options);\r\n smMenu.styleClass = smMenu.settings.menuStyle.toLowerCase() === 'slide' ? \"slide\" : \"accordion\";\r\n // Create Wrapper div & hamburger\r\n createWrapper_Ham();\r\n // Create Back Menu for each sub menu\r\n createBackButton();\r\n // Callback - Menu loaded\r\n if (typeof smMenu.settings.onMenuLoad == 'function') {\r\n smMenu.settings.onMenuLoad(ds);\r\n }\r\n },\r\n createWrapper_Ham = function() {\r\n smMenu.hamburger = $(\"
\", {\r\n \"id\": smMenu.settings.hamburgerId,\r\n \"html\": \"\"\r\n }),\r\n smMenu.smmOuter = $(\"
\", { \"class\": smMenu.settings.wrapperClass+\" \"+smMenu.styleClass });\r\n ds.appendTo(smMenu.smmOuter);\r\n smMenu.hamburger.add(smMenu.smmOuter).appendTo($(\"body\"));\r\n },\r\n createBackButton = function() {\r\n smMenu.smmOuter.find(\"ul.\" + smMenu.settings.submenuClass).each(function() {\r\n var dis = $(this),\r\n disPar = dis.closest(\"li\"),\r\n disfA = disPar.find(\"> a\"),\r\n disBack = $(\"
  • \", {\r\n \"class\": \"back\",\r\n \"html\": \"\" + disfA.text() + \"\"\r\n })\r\n disPar.addClass(\"hasChild\");\r\n if(smMenu.settings.menuStyle.toLowerCase() === 'slide') {\r\n disBack.prependTo(dis);\r\n }\r\n });\r\n },\r\n toggleMobileMenu = function(e) {\r\n $(\"#\" + smMenu.settings.hamburgerId).toggleClass(\"open\");\r\n $(\".\" + smMenu.settings.wrapperClass).toggleClass(\"active\").find(\"li.active\").removeClass(\"active\");\r\n $(\"body\").toggleClass(\"mmactive\");\r\n if(smMenu.settings.menuStyle.toLowerCase() === 'accordion') {\r\n $(\".\"+smMenu.settings.wrapperClass).find(\"ul.\"+smMenu.settings.submenuClass).hide();\r\n }\r\n // Callback - Menu Toggle\r\n if (typeof smMenu.settings.onMenuToggle == 'function') {\r\n smMenu.settings.onMenuToggle(ds, $(\"#\" + smMenu.settings.hamburgerId).hasClass(\"open\"));\r\n }\r\n },\r\n showSlideSubMenu = function(e) {\r\n $(\".\" + smMenu.settings.wrapperClass).scrollTop(0);\r\n $(this).parent().addClass(\"active\").siblings().removeClass(\"active\");\r\n },\r\n showAccordionSubMenu = function(e) {\r\n e.preventDefault();\r\n var dis = $(this),\r\n dispar = $(this).parent(),\r\n lastActive = dispar.siblings(\".active\");\r\n dispar.find(\"> .\"+smMenu.settings.submenuClass).slideToggle(function() {\r\n if ($(this).is(\":visible\")) { \r\n var offset = dis[0].offsetTop;\r\n $(\".\" + smMenu.settings.wrapperClass).stop().animate({ scrollTop: offset }, 300);\r\n }\r\n });\r\n lastActive.find(\"ul.\"+ smMenu.settings.submenuClass).slideUp(function() {\r\n $(this).find(\".hasChild\").removeClass(\"active\");\r\n })\r\n dispar.toggleClass(\"active\").siblings().removeClass(\"active\");\r\n },\r\n goBack = function(e) {\r\n e.preventDefault();\r\n $(this).closest(\"ul.\" + smMenu.settings.submenuClass).parent().removeClass(\"active\");\r\n }\r\n /*Init*/\r\n init();\r\n /* Open Menu */\r\n smMenu.hamburger.click(toggleMobileMenu);\r\n /* Show Slide SubMenu */\r\n smMenu.smmOuter.filter(\".slide\").find(\"li.hasChild > a\").click(showSlideSubMenu);\r\n /* Show Accordion SubMenu */\r\n smMenu.smmOuter.filter(\".accordion\").find(\"li.hasChild > a\").click(showAccordionSubMenu);\r\n /* Go Back */\r\n smMenu.smmOuter.find(\"li.back a\").click(goBack);\r\n };\r\n})(jQuery)","// 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 frontendUrl: 'https://portal.arcadiaone.com/',\r\n backendUrl: 'https://api.arcadiaone.com/', \r\n sessionExpireInMinutes: 45,\r\n sessionExpireMessage: \"Session Expired: Due to 45 minutes of inactivity, you've been logged out. Please log in again to continue.\",\r\n signalrPath: 'https://api.arcadiaone.com/signalr',\r\n httpRequestTimeout: 6000000\r\n}; \r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\nimport {MatIconModule} from '@angular/material/icon';\r\n\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\nimports:[\r\n MatIconModule,\r\n]\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n"],"sourceRoot":"webpack:///"}