{"version":3,"sources":["./$_lazy_route_resource lazy namespace object","./node_modules/moment/locale sync ^\\.\\/.*$","./node_modules/xml-viewer-component/dist/esm lazy ^\\.\\/.*\\.entry\\.js$ include: \\.entry\\.js$ exclude: \\.system\\.entry\\.js$ namespace object","./src/admin-market-location/market_location.component.ts","./src/admin-market-location/market_location.component.html","./src/admin-market-location/market_location.editing/market_location.edit.component.ts","./src/admin-market-location/market_location.editing/market_location.edit.component.html","./src/admin-market-location/models/market_location.ts","./src/admin-market-location/services/admin.service.ts","./src/admin/models/user.ts","./src/admin/services/admin.service.ts","./src/admin/user.editing/user.edit.component.ts","./src/admin/user.editing/user.edit.component.html","./src/admin/users.component.ts","./src/admin/users.component.html","./src/app-routing/app-routing.module.ts","./src/app/app.component.ts","./src/app/app.component.html","./src/app/app.module.ts","./src/app/services/auth-interceptor.ts","./src/app/services/auth.guard.ts","./src/app/services/auth.service.ts","./src/app/split.pipe.ts","./src/environments/environment.ts","./src/file-uploader/file-uploader.component.ts","./src/file-uploader/file-uploader.component.html","./src/file-uploader/service/file-upload.service.ts","./src/folder-manager/folder-manager.component.ts","./src/folder-manager/folder-manager.component.html","./src/homepage/added-units-graph/added-units-graph.component.ts","./src/homepage/added-units-graph/added-units-graph.component.html","./src/homepage/homepage.component.ts","./src/homepage/homepage.component.html","./src/homepage/monitor-units-graph/monitor-units-graph.component.ts","./src/homepage/monitor-units-graph/monitor-units-graph.component.html","./src/homepage/provision-units-graph/provision-units-graph.component.ts","./src/homepage/provision-units-graph/provision-units-graph.component.html","./src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component.ts","./src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component.html","./src/homepage/quick-actions/dialog-status.component/dialog-status.component.ts","./src/homepage/quick-actions/dialog-status.component/dialog-status.component.html","./src/homepage/quick-actions/quick-actions.component.ts","./src/homepage/quick-actions/quick-actions.component.html","./src/homepage/shared/home.models.ts","./src/homepage/shared/home.service.ts","./src/homepage/status-units-graph/status-units-graph.component.ts","./src/homepage/status-units-graph/status-units-graph.component.html","./src/loginpage/loginpage.component.ts","./src/loginpage/loginpage.component.html","./src/loginpageSSO/loginpagesso.component.ts","./src/loginpageSSO/loginpagesso.component.html","./src/logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component.ts","./src/logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component.html","./src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component.ts","./src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component.html","./src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component.ts","./src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component.html","./src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component.ts","./src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component.html","./src/logs/loggingComponent/logging.component.ts","./src/logs/loggingComponent/logging.component.html","./src/logs/logs.component.ts","./src/logs/logs.component.html","./src/logs/shared/logging.service.ts","./src/main.ts","./src/navbar/navbar.component.ts","./src/navbar/navbar.component.html","./src/phonebook-manager/phonebook-manager.component.ts","./src/phonebook-manager/phonebook-manager.component.html","./src/report-generator/report-generator.component.ts","./src/report-generator/report-generator.component.html","./src/report-generator/report-generator.service.ts","./src/shared/404/404.component.ts","./src/shared/404/404.component.html","./src/shared/Dialogs/bulk-actions/bulkActions.service.ts","./src/shared/Dialogs/bulk-actions/dialog.bulkActions.component.ts","./src/shared/Dialogs/bulk-actions/dialog.bulkActions.component.html","./src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component.ts","./src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component.html","./src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component.ts","./src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component.html","./src/shared/Dialogs/dialog-search/dialog.search.component.ts","./src/shared/Dialogs/dialog-search/dialog.search.component.html","./src/shared/Dialogs/dialog-search/model/VcUnitData.ts","./src/shared/Dialogs/dialog-search/service/search.service.ts","./src/shared/Dialogs/lm-lists/lm-lists.component.ts","./src/shared/Dialogs/lm-lists/lm-lists.component.html","./src/shared/Dialogs/report-issue/dialog.reportIssue.component.ts","./src/shared/Dialogs/report-issue/dialog.reportIssue.component.html","./src/shared/Dialogs/report-issue/reportIssue.service.ts","./src/shared/Dialogs/reset-password/dialog.resetPassword.component.ts","./src/shared/Dialogs/reset-password/dialog.resetPassword.component.html","./src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component.ts","./src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component.html","./src/shared/Dialogs/wallpaper-upload/wallpaperUpload.service.ts","./src/shared/access.auth.service.ts","./src/shared/global.shared.service.ts","./src/shared/logger/levels.enum.ts","./src/shared/logger/logger.service.ts","./src/shared/search.module.service.ts","./src/software-upgrade/software-upgrade.component.ts","./src/software-upgrade/software-upgrade.component.html","./src/sql-data-table/sql-data-table.component.ts","./src/sql-data-table/sql-data-table.component.html","./src/system-profile-manager/dialog-insert-system/insert.systems.component.ts","./src/system-profile-manager/dialog-insert-system/insert.systems.component.html","./src/system-profile-manager/shared/state.enum.ts","./src/system-profile-manager/shared/system-profile-V2.service.ts","./src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component.ts","./src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component.html","./src/system-profile-manager/system-profile-V2/system-password/system-password.component.ts","./src/system-profile-manager/system-profile-V2/system-password/system-password.component.html","./src/system-profile-manager/system-profile-V2/system-profile-V2.component.ts","./src/system-profile-manager/system-profile-V2/system-profile-V2.component.html","./src/system-profile-manager/system-profile-V2/system-setting/system-setting.component.ts","./src/system-profile-manager/system-profile-V2/system-setting/system-setting.component.html","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component.ts","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component.html","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component.ts","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component.html","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component.ts","./src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component.html","./src/system-profile-manager/system-profile-V2/system-update/timeZones.ts","./src/system-profile-manager/system-profile-V2/system-update/update.system.component.ts","./src/system-profile-manager/system-profile-V2/system-update/update.system.component.html","./src/system-profile-manager/system-profile-manager.component.ts","./src/system-profile-manager/system-profile-manager.component.html","./src/template-manager/template-manager.component.ts","./src/template-manager/template-manager.component.html","./src/treeview-systems/treeview-systems.component.ts","./src/treeview-systems/treeview-systems.component.html"],"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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CF;AACA;AACuB;AACb;AACK;AACQ;AACrB;AACE;AACE;AACF;AACW;AACN;AACT;AACE;AACF;AACM;AACA;AACN;AACmC;AAC/B;AACR;AACuC;AACG;AAC/C;AACL;AAC4B;AACT;AACwC;AAClC;AACa;AACjB;AACP;AAC6D;AACU;AACkC;AAChD;AACsC;AAC3B;AACsB;AAC3C;AACX;AACjD;AACwE;AACN;AACH;AACgC;AACX;AACX;AACT;AACnD;AACmD;AACY;AACN;AACa;AACuB;AAEzD;AACmC;AAEyB;AACrE;AACnC;AACiC;;;AArGhF,8CAA8C,CAAC;AAmOxC,MAAM,SAAS;;wFAAT,SAAS,cAFR,4DAAY;4IAEb,SAAS,mBART,CAAC,EAAE;YACZ,OAAO,EAAE,uEAAiB;YAC1B,QAAQ,EAAE,kFAAsB;YAChC,KAAK,EAAE,IAAI;SACZ,CAAC,YAlEO;YACP,kEAAiB;YACjB,wEAAuB;YACvB,yEAAoB;YACpB,uEAAa;YACb,iFAAgB;YAChB,sEAAgB;YAChB,2DAAW;YACX,2DAAW;YACX,mEAAmB;YACnB,6FAAuB;YACvB,6DAAU;YACV,uEAAe;YACf,sEAAgB;YAChB,kEAAc;YACd,gEAAa;YACb,sEAAc;YACd,qFAAqB;YACrB,uEAAc;YACd,oFAAoB;YACpB,yEAAe;YACf,sFAAqB;YACrB,qEAAa;YACb,6EAAiB;YACjB,uEAAc;YACd,2EAAgB;YAChB,iFAAmB;YACnB,yEAAe;YACf,2EAAgB;YAChB,+EAAkB;YAClB,8EAAiB;YACjB,qEAAa;YACb,uEAAc;YACd,qEAAa;YACb,qEAAa;YACb,2EAAmB;YACnB,oFAAoB;YACpB,4FAAwB;YACxB,uEAAc;YACd,uEAAe;YACf,yEAAe;YACf,2EAAgB;YAChB,yEAAe;YACf,oFAAoB;YACpB,8EAAiB;YACjB,qEAAa;YACb,uEAAc;YACd,qEAAa;YACb,2EAAgB;YAChB,2EAAgB;YAChB,qEAAa;YACb,iEAAY;YACZ,uEAAe;YACf,iEAAgB;YAChB,4DAAc,CAAC,OAAO,EAAE;YACxB,gFAAkB;YAClB,+EAAkB;YAClB,qEAAS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","file":"main-es2015.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.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-SG\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-SG.js\": \"./node_modules/moment/locale/en-SG.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","var map = {\n\t\"./xml-viewer-component.entry.js\": [\n\t\t\"./node_modules/xml-viewer-component/dist/esm/xml-viewer-component.entry.js\",\n\t\t0\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = \"./node_modules/xml-viewer-component/dist/esm lazy recursive ^\\\\.\\\\/.*\\\\.entry\\\\.js$ include: \\\\.entry\\\\.js$ exclude: \\\\.system\\\\.entry\\\\.js$\";\nmodule.exports = webpackAsyncContext;","import { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { OnInit } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { AdminService } from \"./services/admin.service\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { market_location } from './models/market_location';\r\n\r\n@Component({\r\n selector: \"admin-market_location-component\",\r\n templateUrl: \"./market_location.component.html\",\r\n styleUrls: [\"./market_location.component.css\"]\r\n})\r\nexport class AdminMarketLocationController implements OnInit {\r\n market_locations: market_location[] = [];\r\n fetchingData: boolean = false;\r\n displayedColumns: string[] = ['marketId', 'marketName', 'locationName', 'emailAdd', 'remedySupportGroup', 'remedyTicketSummary','actions'];\r\n tableData: MatTableDataSource;\r\n\r\n constructor(public adminService: AdminService, public dialog: MatDialog,\r\n public router: Router, public activatedRoute: ActivatedRoute,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getData() {\r\n this.fetchingData = true;\r\n this.adminService.getMarkets().subscribe(data => {\r\n this.market_locations = data;\r\n this.tableData = new MatTableDataSource(this.market_locations);\r\n this.fetchingData = false;\r\n }, err => {\r\n this.fetchingData = false;\r\n this.loggerService.log(\"AdminMarketLocationController\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n\r\n deleteMarket(marketId: number) {\r\n this.adminService.deleteMarket(marketId).subscribe(data => {\r\n this.openSnackBar(\"Market deleted successfully.\", \"Success\");\r\n this.loggerService.log(\"AdminMarketLocationController\", `market with market id =${marketId} deleted successfully.`, Levels.info)\r\n this.getData();\r\n }, err => {\r\n this.openSnackBar(\"Market does not exist.\", \"Error\");\r\n this.loggerService.log(\"AdminMarketLocationController\", err.message, Levels.error)\r\n this.getData();\r\n })\r\n\r\n }\r\n\r\n sendMarketToChildComponent_update(marketToBeUpdated: market_location) {\r\n this.adminService.updatedMarketID.next(marketToBeUpdated.id);\r\n this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n openDialog(marketId: number): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete Market\", message: \"Please confirm market deletion!\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteMarket(marketId);\r\n }\r\n });\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n //to be deleted just trial for other dialog\r\n // openDialog2(): void {\r\n\r\n // const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n // minWidth:'700px',\r\n // maxHeight: '100vh',\r\n // data: [],\r\n // disableClose:true,\r\n // });\r\n\r\n // let instance = dialogRef.componentInstance;\r\n // instance.allowMultipleSelect=true;\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // //('The dialog was closed',result);\r\n // });\r\n // }\r\n\r\n}\r\n","\r\n\r\n
\r\n

Markets Data

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
0 && !fetchingData\" style=\"max-height:90vh;overflow-y:auto;\">\r\n\r\n\r\n
\r\n \r\n Filter\r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ID {{i+1}} Market Name {{element.market_name}} Location Name {{element.location_name}} Email Address {{element.email_address}} Remedy Support Group {{element.remedy_support_group}} Remedy Ticket Summary {{element.remedy_ticket_summary}} \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n

No data available

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

Choose a market to update or insert new market

\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, ViewChild } from \"@angular/core\";\r\nimport { AdminService } from \"../services/admin.service\";\r\nimport { market_location } from '../models/market_location';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { OnInit } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'market_location-edit-component',\r\n templateUrl: './market_location.edit.component.html',\r\n styleUrls: ['./market_location.edit.component.css']\r\n})\r\nexport class MarketLocationEditComponent implements OnInit {\r\n market_location: market_location = new market_location();\r\n\r\n editMode: boolean = false;\r\n\r\n @ViewChild('f') editForm: NgForm;\r\n constructor(\r\n private adminService: AdminService,\r\n private activatedRouter: ActivatedRoute,\r\n private routingRouter: Router,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService\r\n ) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRouter.url.subscribe(url => {\r\n if (url.length > 0) {\r\n if (url[0].path == 'new') {\r\n this.editMode = false;\r\n } else if (url[0].path == 'edit') {\r\n this.editMode = true;\r\n this.adminService.updatedMarketID.subscribe(data => {\r\n this.getUpdatedMarketData(data);\r\n });\r\n } else {\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n insertData(newMarket: market_location) {\r\n this.adminService.insertMarket(newMarket).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Market was successfully inserted\", \"Success\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", 'market inserted successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n updateData(updatedMarket: market_location) {\r\n this.adminService.updateMarket(updatedMarket).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Market was updated\", \"Success\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", 'market updated successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n\r\n onSubmit() {\r\n if (this.editForm.valid) {\r\n if (this.editMode) {\r\n this.updateData(this.market_location);\r\n } else {\r\n this.insertData(this.market_location);\r\n }\r\n }\r\n }\r\n\r\n getUpdatedMarketData(updatedMarketID: number) {\r\n if (!updatedMarketID) {\r\n this.routingRouter.navigate(['marketlocation']);\r\n this.openSnackBar(\"Unauthorized\", \"Error\");\r\n return;\r\n }\r\n this.adminService.getById(updatedMarketID).subscribe(data => {\r\n this.market_location = JSON.parse(JSON.stringify(data[0]));\r\n }, err => {\r\n this.loggerService.log(\"MarketLocationEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n reloadComponent() {\r\n this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.routingRouter.onSameUrlNavigation = 'reload';\r\n this.routingRouter.navigate(['/marketlocation']);\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n Market Name is required.\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Location Name is required.\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Email is required.\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Remedy Support Group is required.\r\n \r\n\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n \r\n \r\n Remedy Support Group is required.\r\n \r\n\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n","export class market_location{\r\n id:number;\r\n market_name:string;\r\n location_name:string;\r\n email_address:string;\r\n remedy_support_group:string;\r\n remedy_ticket_summary:string;\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Observable } from \"rxjs\";\r\nimport { market_location } from \"../models/market_location\";\r\nimport { market_location_server } from \"../../assets/conf_urls.json\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminService {\r\n updatedMarketID = new BehaviorSubject(null);\r\n private token = localStorage.getItem('accessToken');\r\n\r\n /**\r\n class to manage creating/ editing / deleting users in the application.\r\n */\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getMarkets(): Observable {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.get(market_location_server.getAll, { headers });\r\n }\r\n\r\n getById(id: number): Observable {\r\n if (id) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.getById, { id: id }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n deleteMarket(marketId: number): Observable {\r\n if (marketId) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.delete, {\r\n id: marketId\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n insertMarket(market_location: market_location): Observable {\r\n if (market_location) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(market_location_server.create, {\r\n market_name: market_location.market_name,\r\n location_name: market_location.location_name,\r\n email_address: market_location.email_address,\r\n remedy_support_group: market_location.remedy_support_group, \r\n remedy_ticket_summary: market_location.remedy_ticket_summary\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateMarket(market_location: market_location): Observable {\r\n if (market_location) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(market_location_server.update, {\r\n id: market_location.id,\r\n market_name: market_location.market_name,\r\n location_name: market_location.location_name,\r\n email_address: market_location.email_address,\r\n remedy_support_group: market_location.remedy_support_group, \r\n remedy_ticket_summary: market_location.remedy_ticket_summary\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n}\r\n","export class user {\r\n id: number;\r\n user_upn: string;\r\n user_email: string;\r\n user_role: string;\r\n createdAt: string;\r\n updatedAt: string;\r\n createdBy: string;\r\n lastUpdatedBy: string;\r\n is_active: number;\r\n}\r\n\r\n\r\n//this is the old code\r\n\r\n\r\n// export class user {\r\n// id: number;\r\n// user_email: string;\r\n// email_address: string;\r\n// user_role: string;\r\n// createdAt: string;\r\n// updatedAt: string;\r\n// is_active:number\r\n\r\n// }\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Observable } from \"rxjs\";\r\nimport { user } from \"../models/user\";\r\nimport { auth_server, auth_server_sso } from \"../../assets/conf_urls.json\";\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class AdminService {\r\n updatedUserID = new BehaviorSubject(null);\r\n private token = null;\r\n\r\n /**\r\n class to manage creating/ editing / deleting users in the application.\r\n */\r\n constructor(private http: HttpClient) {\r\n this.token = localStorage.getItem('accessToken');\r\n }\r\n\r\n getUsers(): Observable {\r\n this.token = localStorage.getItem('accessToken');\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.get(auth_server_sso.getAll, { headers });\r\n }\r\n\r\n getById(id: number): Observable {\r\n if (id) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.getById, { id: id }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n deleteUser(userId: number): Observable {\r\n if (userId) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.delete, {\r\n id: userId\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n postUser(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post(auth_server_sso.create, {\r\n user_upn: user.user_upn,\r\n user_email: user.user_upn,\r\n user_role: user.user_role\r\n }, { headers });\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateUser(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(auth_server_sso.update, {\r\n id: user.id,\r\n user_upn: user.user_upn,\r\n user_email: user.user_upn,\r\n user_role: user.user_role\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n updateUserActivationStatus(user: user): Observable {\r\n if (user) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n const returnedData = this.http.post(auth_server_sso.update, {\r\n id: user.id,\r\n is_active: user.is_active\r\n }, { headers });\r\n return returnedData;\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n}\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n// import { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// import { Injectable } from '@angular/core';\r\n// import { BehaviorSubject } from 'rxjs';\r\n// import { Observable } from \"rxjs\";\r\n// import { user } from \"../models/user\";\r\n// import { auth_server } from \"../../assets/conf_urls.json\";\r\n\r\n// @Injectable({ providedIn: 'root' })\r\n// export class AdminService {\r\n// updatedUserID = new BehaviorSubject(null);\r\n// private token = localStorage.getItem('accessToken');\r\n\r\n// /**\r\n// class to manage creating/ editing / deleting users in the application.\r\n// */\r\n// constructor(private http: HttpClient) {\r\n// }\r\n\r\n// getUsers(): Observable {\r\n// this.token = localStorage.getItem('accessToken');\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.get(auth_server.getAll, { headers });\r\n// }\r\n\r\n// getById(id: number): Observable {\r\n// if (id) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.getById, { id: id }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// deleteUser(userId: number): Observable {\r\n// if (userId) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.delete, {\r\n// id: userId\r\n// }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// postUser(user: user, password: string, folderArr: number[]): Observable {\r\n// if (user) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.create, {\r\n// user_email: user.user_email,\r\n// user_password: password,\r\n// user_role: user.user_role,\r\n// email_address: user.email_address,\r\n// is_active: user.is_active,\r\n// folders: folderArr\r\n// }, { headers });\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n// updateUser(user: user): Observable {\r\n// if (user) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// const returnedData = this.http.post(auth_server.update, {\r\n// id: user.id,\r\n// user_email: user.user_email,\r\n// user_role: user.user_role,\r\n// email_address: user.email_address,\r\n// is_active: user.is_active\r\n// //user_enabled logic\r\n// }, { headers });\r\n// return returnedData;\r\n// } else {\r\n// return null;\r\n// }\r\n// }\r\n\r\n\r\n// resetUserPassword(id: number, password: string): Observable {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.update, {\r\n// id: id,\r\n// user_password: password\r\n// }, { headers });\r\n// }\r\n\r\n// updatePasswordByToken(newPassword: string): Observable {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n// return this.http.post(auth_server.updateByToken, {\r\n// user_password: newPassword\r\n// }, { headers });\r\n// }\r\n\r\n// }\r\n","// import { Component, ViewChild } from \"@angular/core\";\r\n// import { AdminService } from \"../services/admin.service\";\r\n// import { user } from '../models/user';\r\n// import { ActivatedRoute, Router } from \"@angular/router\";\r\n// import { NgForm } from \"@angular/forms\";\r\n// import { OnInit } from \"@angular/core\";\r\n// import { MatSnackBar } from \"@angular/material/snack-bar\";\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n// @Component({\r\n// selector: 'user-edit-component',\r\n// templateUrl: './user.edit.component.html',\r\n// styleUrls: ['./user.edit.component.css']\r\n// })\r\n// export class UserEditComponent implements OnInit {\r\n// user: user = new user();\r\n// editMode: boolean = false;\r\n// // activateDeactivateMode: boolean = false;\r\n\r\n// //dropdown list for roles\r\n// // userRoles: string[] = ['admin', 'operator'];\r\n// userRoles: string[] = ['admin', 'operator'];\r\n\r\n// @ViewChild('f') editForm: NgForm;\r\n// constructor(\r\n// private adminService: AdminService,\r\n// private activatedRouter: ActivatedRoute,\r\n// private routingRouter: Router,\r\n// private _snackBar: MatSnackBar,\r\n// private loggerService: LoggerService\r\n// ) {\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// this.activatedRouter.url.subscribe(url => {\r\n// if (url.length > 0) {\r\n// if (url[0].path == 'new') {\r\n// this.editMode = false\r\n// // this.activateDeactivateMode = false;\r\n// } else if (url[0].path == 'edit') {\r\n// this.editMode = true;\r\n// // this.activateDeactivateMode = false;\r\n// this.adminService.updatedUserID.subscribe(data => {\r\n// this.getUpdatedUserData(data);\r\n// });\r\n// } else {\r\n// this.editMode = false;\r\n// // this.activateDeactivateMode = true;\r\n// this.adminService.updatedUserID.subscribe(data => {\r\n// this.getUpdatedUserData(data);\r\n// });\r\n// }\r\n// }\r\n// }, err => {\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// })\r\n// }\r\n\r\n// insertData(newUser: user) {\r\n// this.adminService.postUser(newUser).subscribe(data => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"User was successfully inserted\", \"Success\");\r\n// this.loggerService.log(\"UserEditComponent\", 'user inserted successfully', Levels.info)\r\n\r\n// }, err => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n// });\r\n// }\r\n\r\n// updateData(updatedUser: user) {\r\n// this.adminService.updateUser(updatedUser).subscribe(data => {\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"User was updated\", \"Success\");\r\n// this.loggerService.log(\"UserEditComponent\", 'user updated successfully', Levels.info)\r\n\r\n// }, err => {\r\n// // (\"user was not updated. \", err);\r\n// this.reloadComponent();\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n// });\r\n// }\r\n\r\n\r\n\r\n// onSubmit() {\r\n// if (this.editForm.valid) {\r\n// this.user.user_email = this.user.user_email.trim()\r\n// this.user.user_upn = this.user.user_upn.trim()\r\n// if (this.editMode) {\r\n// this.updateData(this.user);\r\n// } else {\r\n// this.insertData(this.user);\r\n// }\r\n// }\r\n// }\r\n\r\n// getUpdatedUserData(updatedUserID: number) {\r\n// if (!updatedUserID) {\r\n// this.routingRouter.navigate(['admin']);\r\n// this.openSnackBar(\"Unauthorized\", \"Error\");\r\n// return;\r\n// }\r\n// this.adminService.getById(updatedUserID).subscribe(data => {\r\n// this.user = JSON.parse(JSON.stringify(data[0]));\r\n// }, err => {\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// })\r\n// }\r\n\r\n// reloadComponent() {\r\n// this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n// this.routingRouter.onSameUrlNavigation = 'reload';\r\n// this.routingRouter.navigate(['/admin']);\r\n// }\r\n\r\n// openSnackBar(message: string, action: string) {\r\n// this._snackBar.open(message, action, {\r\n// duration: 8000,\r\n// panelClass: ['mat-toolbar', 'mat-primary']\r\n// });\r\n\r\n// }\r\n// }\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n\r\nimport { Component, ViewChild } from \"@angular/core\";\r\nimport { AdminService } from \"../services/admin.service\";\r\nimport { user } from '../models/user';\r\nimport { ActivatedRoute, Router } from \"@angular/router\";\r\nimport { NgForm } from \"@angular/forms\";\r\nimport { OnInit } from \"@angular/core\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\nimport { MatDialog } from \"@angular/material/dialog\";\r\nimport { folderAccess } from \"src/shared/models/folderAccess.model\";\r\nimport { data } from \"jquery\";\r\n@Component({\r\n selector: 'user-edit-component',\r\n templateUrl: './user.edit.component.html',\r\n styleUrls: ['./user.edit.component.css']\r\n})\r\nexport class UserEditComponent implements OnInit {\r\n user: user = new user();\r\n userPassword: string = null;\r\n\r\n editMode: boolean = false;\r\n resetPasswordMode: boolean = false;\r\n marketsReceivedIds: number[] = [];\r\n userEnabled:number = 0;\r\n\r\n //dropdown list for roles\r\n // userRoles: string[] = ['admin', 'operator'];\r\n userRoles: string[] = ['admin', 'operator'];\r\n\r\n @ViewChild('f') editForm: NgForm;\r\n\r\n constructor(\r\n private adminService: AdminService,\r\n private activatedRouter: ActivatedRoute,\r\n private routingRouter: Router,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n private dialog: MatDialog\r\n ) {\r\n //console.log(this.user);\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.activatedRouter.url.subscribe(url => {\r\n if (url.length > 0) {\r\n //console.log(url[0].path);\r\n if (url[0].path == 'new') {\r\n this.editMode = this.resetPasswordMode = false;\r\n } else if (url[0].path == 'edit') {\r\n this.editMode = true;\r\n this.resetPasswordMode = false;\r\n this.adminService.updatedUserID.subscribe(data => {\r\n this.getUpdatedUserData(data);\r\n });\r\n this.userEnabled = 0;\r\n console.log(\"USER STATUS: \",this.user);\r\n } else {\r\n this.editMode = false;\r\n this.resetPasswordMode = true;\r\n this.adminService.updatedUserID.subscribe(data => {\r\n this.getUpdatedUserData(data);\r\n });\r\n }\r\n }\r\n }, err => {\r\n //console.log(err);\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n insertData(newUser: user) {\r\n this.adminService.postUser(newUser).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"User was successfully inserted\", \"Success\");\r\n this.loggerService.log(\"UserEditComponent\", 'user inserted successfully', Levels.info)\r\n\r\n }, err => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n updateData(updatedUser: user) {\r\n this.adminService.updateUser(updatedUser).subscribe(data => {\r\n this.reloadComponent();\r\n this.openSnackBar(\"User was updated\", \"Success\");\r\n this.loggerService.log(\"UserEditComponent\", 'user updated successfully', Levels.info)\r\n\r\n }, err => {\r\n // console.log(\"user was not updated. \", err);\r\n this.reloadComponent();\r\n this.openSnackBar(\"Error has occurred try again later\", \"Error\");\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n\r\n });\r\n }\r\n\r\n resetPassword(updatedUser: user) {\r\n // this.adminService.resetUserPassword(updatedUser.id, this.userPassword).subscribe(data => {\r\n // this.reloadComponent();\r\n // this.openSnackBar(\"Password updated successfully\", \"Success\")\r\n // this.loggerService.log(\"UserEditComponent\", `updated password for user with id ${updatedUser.id} successfully`, Levels.info)\r\n // }, err => {\r\n // //console.log(\"user was not updated. \",err);\r\n // this.reloadComponent();\r\n // this.openSnackBar(\"Error has occurred try again later\", \"Error\")\r\n // this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n // });\r\n }\r\n\r\n onSubmit() {\r\n if (this.editForm.valid) {\r\n if (this.editMode) {\r\n this.updateData(this.user);\r\n } else if (this.resetPasswordMode) {\r\n this.resetPassword(this.user);\r\n } else {\r\n this.insertData(this.user);\r\n }\r\n }\r\n }\r\n\r\n getUpdatedUserData(updatedUserID: number) {\r\n if (!updatedUserID) {\r\n this.routingRouter.navigate(['admin']);\r\n this.openSnackBar(\"Unauthorized\", \"Error\");\r\n return;\r\n }\r\n this.adminService.getById(updatedUserID).subscribe(data => {\r\n this.user = JSON.parse(JSON.stringify(data[0]));\r\n }, err => {\r\n //console.log(err);\r\n this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n reloadComponent() {\r\n this.routingRouter.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.routingRouter.onSameUrlNavigation = 'reload';\r\n this.routingRouter.navigate(['/admin']);\r\n }\r\n\r\n\r\n loadLMSelector(): void {\r\n\r\n\r\n const dialogRef = this.dialog.open(LmListsComponent, {\r\n maxHeight: '100vh',\r\n data: [],\r\n disableClose: true,\r\n });\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n for (let idObj of result) {\r\n this.marketsReceivedIds.push(idObj.id)\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n validateButton():boolean{\r\n if (this.editMode){\r\n // if(!this.editForm.valid) return true;\r\n }else if(this.resetPassword){\r\n // if(!this.editForm.valid) return true;\r\n }else{\r\n if(this.marketsReceivedIds.length==0) return true;\r\n }\r\n return false\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n User UPN is required.\r\n \r\n \r\n User UPN must be at least 5 characters long.\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n User role\r\n \r\n \r\n {{item}}\r\n \r\n \r\n \r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\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 { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n// import { OnInit } from \"@angular/core\";\r\n// import { Component } from \"@angular/core\";\r\n// import { MatTableDataSource } from \"@angular/material/table\";\r\n// import { user } from \"./models/user\";\r\n// import { AdminService } from \"./services/admin.service\";\r\n// import { MatDialog } from '@angular/material/dialog';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\n// import { MatSnackBar } from '@angular/material/snack-bar';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n// @Component({\r\n// selector: \"admin-users-component\",\r\n// templateUrl: \"./users.component.html\",\r\n// styleUrls: [\"./users.component.css\"]\r\n// })\r\n// export class AdminController implements OnInit {\r\n// users: user[] = [];\r\n// fetchingData: boolean = false;\r\n// displayedColumns: string[] = ['userId', 'user_upn', 'user_email', 'createdAt',\r\n// 'updatedAt', 'createdBy', 'lastUpdatedBy', 'user_role', 'actions'];\r\n// tableData: MatTableDataSource;\r\n\r\n// constructor(public adminService: AdminService, public dialog: MatDialog,\r\n// public router: Router, public activatedRoute: ActivatedRoute,\r\n// private _snackBar: MatSnackBar,\r\n// private loggerService: LoggerService) {\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// this.getData();\r\n// }\r\n\r\n// applyFilter(event: Event) {\r\n// const filterValue = (event.target as HTMLInputElement).value;\r\n// this.tableData.filter = filterValue.trim().toLowerCase();\r\n// }\r\n\r\n\r\n// getData() {\r\n// this.fetchingData = true;\r\n// this.adminService.getUsers().subscribe(data => {\r\n// this.users = data;\r\n// this.tableData = new MatTableDataSource(this.users);\r\n// this.fetchingData = false;\r\n// }, err => {\r\n// this.fetchingData = false;\r\n// this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n// });\r\n// }\r\n\r\n\r\n// deleteUser(userId: number) {\r\n// this.adminService.deleteUser(userId).subscribe(data => {\r\n// this.openSnackBar(\"User deleted successfully.\", \"Success\");\r\n// this.loggerService.log(\"AdminController\", `user with user id =${userId} deleted successfully.`, Levels.info)\r\n// this.getData();\r\n// }, err => {\r\n// this.openSnackBar(\"User does not exist.\", \"Error\");\r\n// this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n// this.getData();\r\n// })\r\n\r\n// }\r\n\r\n// sendUserToChildComponent_update(userToBeUpdated: user) {\r\n// this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n// }\r\n\r\n// sendUserToChildComponent_activateOrDeactivateUser(userToBeUpdated: user) {\r\n// // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// // this.router.navigate(['sendUserToChildComponent_activateOrDeactivateUser'], { relativeTo: this.activatedRoute })\r\n\r\n// const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n// width: '450px',\r\n// data: { title: `${userToBeUpdated?.is_active ? \"Deactivate User\" : \"Activate User\"}`, message: \"Please confirm!\" },\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// userToBeUpdated.is_active = userToBeUpdated.is_active ? 0 : 1\r\n// this.adminService.updateUserActivationStatus(userToBeUpdated).subscribe(data => {\r\n// this.getData();\r\n// this.openSnackBar(\"Status updated successfully\", \"Success\")\r\n// this.loggerService.log(\"UserEditComponent\", `Status updated successfully for user with id ${userToBeUpdated.id} successfully`, Levels.info)\r\n// }, err => {\r\n// this.openSnackBar(\"Error has occurred try again later\", \"Error\")\r\n// this.loggerService.log(\"UserEditComponent\", err.message, Levels.error)\r\n// });\r\n// }\r\n// });\r\n// }\r\n\r\n// openDialog(userId: number): void {\r\n// const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n// width: '450px',\r\n// data: { title: \"Delete user\", message: \"Please confirm user deletion!\" },\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// this.deleteUser(userId);\r\n// }\r\n// });\r\n// }\r\n\r\n\r\n// openSnackBar(message: string, action: string) {\r\n// this._snackBar.open(message, action, {\r\n// duration: 8000,\r\n// panelClass: ['mat-toolbar', 'mat-primary']\r\n// });\r\n// }\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n// this is the old code\r\n\r\n\r\n\r\n\r\n\r\nimport { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { DialogConfirmationComponent } from '../shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { OnInit } from \"@angular/core\";\r\nimport { Component } from \"@angular/core\";\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { user } from \"./models/user\";\r\nimport { AdminService } from \"./services/admin.service\";\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\n\r\n@Component({\r\n selector: \"admin-users-component\",\r\n templateUrl: \"./users.component.html\",\r\n styleUrls: [\"./users.component.css\"]\r\n})\r\nexport class AdminController implements OnInit {\r\n users: user[] = [];\r\n fetchingData: boolean = false;\r\n displayedColumns: string[] = ['userId', 'upn', 'createdAt', 'role', 'actions'];\r\n tableData: MatTableDataSource;\r\n\r\n constructor(public adminService: AdminService, public dialog: MatDialog,\r\n public router: Router, public activatedRoute: ActivatedRoute,\r\n private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n //console.log(filterValue);\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n\r\n getData() {\r\n this.fetchingData = true;\r\n this.adminService.getUsers().subscribe(data => {\r\n //console.log(data);\r\n this.users = data;\r\n this.tableData = new MatTableDataSource(this.users);\r\n this.fetchingData = false;\r\n }, err => {\r\n //console.log(err);\r\n this.fetchingData = false;\r\n this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n\r\n deleteUser(userId: number) {\r\n this.adminService.deleteUser(userId).subscribe(data => {\r\n //console.log(\"deleted\",data);\r\n this.openSnackBar(\"User deleted successfully.\", \"Success\");\r\n this.loggerService.log(\"AdminController\", `user with user id =${userId} deleted successfully.`, Levels.info)\r\n this.getData();\r\n }, err => {\r\n //console.log(err);\r\n this.openSnackBar(\"User does not exist.\", \"Error\");\r\n this.loggerService.log(\"AdminController\", err.message, Levels.error)\r\n this.getData();\r\n })\r\n\r\n }\r\n\r\n sendUserToChildComponent_update(userToBeUpdated: user) {\r\n this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n this.router.navigate(['edit'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n sendUserToChildComponent_resetPassword(userToBeUpdated: user) {\r\n this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n }\r\n\r\n\r\n\r\n openDialog(userId: number): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete user\", message: \"Please confirm user deletion!\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteUser(userId);\r\n }\r\n });\r\n }\r\n\r\n\r\n loadLMSelector(userId: number): void {\r\n\r\n const dialogRef = this.dialog.open(LmListsComponent, {\r\n //const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n maxHeight: '100vh',\r\n data: {userId:userId, isEditMode:true},\r\n disableClose: true\r\n });\r\n\r\n\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n }\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //to be deleted just trial for other dialog\r\n // openDialog2(): void {\r\n\r\n // const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n // minWidth:'700px',\r\n // maxHeight: '100vh',\r\n // data: [],\r\n // disableClose:true,\r\n // });\r\n\r\n // let instance = dialogRef.componentInstance;\r\n // instance.allowMultipleSelect=true;\r\n\r\n // dialogRef.afterClosed().subscribe(result => {\r\n // //console.log('The dialog was closed',result);\r\n // });\r\n // }\r\n\r\n}\r\n\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n

Users Data

\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
0 && !fetchingData\" style=\"max-height:90vh;overflow-y:auto;\">\r\n\r\n\r\n
\r\n \r\n Filter\r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ID {{i+1}} UPN {{element.user_upn?element.user_upn:\"NA\"}} Created Date {{element.createdAt}} Role {{element.user_role}} \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n

No data available

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

Choose a user to update or insert new user

\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { UserEditComponent } from './../admin/user.editing/user.edit.component';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { LoginpageComponent } from '../loginpage/loginpage.component';\r\nimport { HomepageComponent } from '../homepage/homepage.component';\r\nimport { FolderManagerComponent } from '../folder-manager/folder-manager.component';\r\nimport { FileUploaderComponent } from '../file-uploader/file-uploader.component'\r\nimport { SystemProfileManagerComponent } from '../system-profile-manager/system-profile-manager.component';\r\nimport { TemplateManagerComponent } from '../template-manager/template-manager.component';\r\nimport { HashLocationStrategy, LocationStrategy } from '@angular/common';\r\nimport { SoftwareUpgradeComponent } from \"../software-upgrade/software-upgrade.component\";\r\nimport { AuthGuard } from '../app/services/auth.guard';\r\nimport { AdminController } from 'src/admin/users.component';\r\nimport { LogsComponent } from 'src/logs/logs.component';\r\nimport { ErrorComponent } from 'src/shared/404/404.component';\r\nimport { MarketLocationEditComponent } from 'src/admin-market-location/market_location.editing/market_location.edit.component';\r\nimport { AdminMarketLocationController } from 'src/admin-market-location/market_location.component';\r\nimport { ReportGeneratorComponent } from 'src/report-generator/report-generator.component';\r\nimport { LoginpageSSOComponent } from 'src/loginpageSSO/loginpagesso.component';\r\n\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: HomepageComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'login',\r\n component: LoginpageSSOComponent,\r\n }, {\r\n path: 'admin-login',\r\n component: LoginpageComponent,\r\n }, {\r\n path: 'login-sso',\r\n component: LoginpageSSOComponent,\r\n },\r\n {\r\n path: 'home',\r\n component: HomepageComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n\r\n {\r\n path: 'foldermanager',\r\n component: FolderManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: 'systemprofile',\r\n component: SystemProfileManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'templatemanager',\r\n component: TemplateManagerComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'packagemanager',\r\n component: FileUploaderComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'softwareupdate',\r\n component: SoftwareUpgradeComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n // {\r\n // path: 'phonebook',\r\n // component: PhonebookManagerComponent,\r\n // canLoad: [AuthGuard],\r\n // canActivate: [AuthGuard],\r\n // },\r\n {\r\n path: 'admin',\r\n component: AdminController,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'new', component: UserEditComponent },\r\n { path: 'resetPassword', component: UserEditComponent },\r\n { path: 'edit', component: UserEditComponent }\r\n ]\r\n },\r\n {\r\n path: 'marketlocation',\r\n component: AdminMarketLocationController,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard],\r\n children: [\r\n { path: 'new', component: MarketLocationEditComponent },\r\n { path: 'resetPassword', component: MarketLocationEditComponent },\r\n { path: 'edit', component: MarketLocationEditComponent }\r\n ]\r\n },\r\n {\r\n path: 'logs',\r\n component: LogsComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }, {\r\n path: 'reportgenerator',\r\n component: ReportGeneratorComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n },\r\n {\r\n path: '**',\r\n component: ErrorComponent,\r\n canLoad: [AuthGuard],\r\n canActivate: [AuthGuard]\r\n }\r\n];\r\n\r\n@NgModule({\r\n imports: [\r\n RouterModule.forRoot(routes),\r\n\r\n\r\n ],\r\n exports: [\r\n RouterModule\r\n ],\r\n declarations: [],\r\n providers: [{ provide: LocationStrategy, useClass: HashLocationStrategy }],\r\n})\r\nexport class AppRoutingModule {\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Component } from '@angular/core';\r\nimport * as $ from 'jquery';\r\nimport { environment } from './../environments/environment';\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 showFiller = false;\r\n title = 'ng-tms2';\r\n constructor(public router: Router) {\r\n //console.log(environment.production);\r\n }\r\n\r\n goToHome() {\r\n this.router.navigate(['/home'])\r\n }\r\n\r\n}\r\n","
\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n

\r\n \"Vodafone\"\r\n\r\n Vodafone Group © 2023\r\n

\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n","import { SystemPasswordComponent } from './../system-profile-manager/system-profile-V2/system-password/system-password.component';\r\nimport { DialogDetailedLogsComponent } from './../logs/loggingComponent/dialog-detailedLogs/dialog.detailedLogs.component';\r\nimport { LogsComponent } from './../logs/logs.component';\r\nimport { DialogSearchComponent } from './../shared/Dialogs/dialog-search/dialog.search.component';\r\nimport { UserEditComponent } from './../admin/user.editing/user.edit.component';\r\nimport { MarketLocationEditComponent } from 'src/admin-market-location/market_location.editing/market_location.edit.component';\r\nimport { BrowserModule } from '@angular/platform-browser';\r\nimport { NgModule } from '@angular/core';\r\nimport { OwlDateTimeModule, OwlNativeDateTimeModule } from 'ng-pick-datetime';\r\n'@angular-material-components/datetime-picker';\r\nimport { FileUploaderComponent } from '../file-uploader/file-uploader.component'\r\nimport { AppComponent } from './app.component';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { LoginpageComponent } from '../loginpage/loginpage.component';\r\nimport { HomepageComponent } from '../homepage/homepage.component';\r\nimport { FolderManagerComponent } from '../folder-manager/folder-manager.component';\r\nimport { TreeviewSystemsComponent } from '../treeview-systems/treeview-systems.component';\r\nimport { AppRoutingModule } from '../app-routing/app-routing.module';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { NavbarComponent } from '../navbar/navbar.component';\r\nimport { SystemProfileManagerComponent } from '../system-profile-manager/system-profile-manager.component';\r\nimport { SqlDataTableComponent } from '../sql-data-table/sql-data-table.component';\r\nimport { TableModule } from 'ngx-easy-table';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport { A11yModule } from '@angular/cdk/a11y';\r\nimport { ClipboardModule } from '@angular/cdk/clipboard';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { PortalModule } from '@angular/cdk/portal';\r\nimport { ScrollingModule } from '@angular/cdk/scrolling';\r\nimport { CdkStepperModule } from '@angular/cdk/stepper';\r\nimport { CdkTableModule } from '@angular/cdk/table';\r\nimport { CdkTreeModule } from '@angular/cdk/tree';\r\nimport { MatAutocompleteModule } from '@angular/material/autocomplete';\r\nimport { MatBadgeModule } from '@angular/material/badge';\r\nimport { MatBottomSheetModule } from '@angular/material/bottom-sheet';\r\nimport { MatButtonModule } from '@angular/material/button';\r\nimport { MatButtonToggleModule } from '@angular/material/button-toggle';\r\nimport { MatCardModule } from '@angular/material/card';\r\nimport { MatCheckboxModule } from '@angular/material/checkbox';\r\nimport { MatChipsModule } from '@angular/material/chips';\r\nimport { MatStepperModule } from '@angular/material/stepper';\r\nimport { MatDatepickerModule } from '@angular/material/datepicker';\r\nimport { MatDialogModule } from '@angular/material/dialog';\r\nimport { MatDividerModule } from '@angular/material/divider';\r\nimport { MatExpansionModule } from '@angular/material/expansion';\r\nimport { MatGridListModule } from '@angular/material/grid-list';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatInputModule } from '@angular/material/input';\r\nimport { MatListModule } from '@angular/material/list';\r\nimport { MatMenuModule } from '@angular/material/menu';\r\nimport { MatNativeDateModule, MatRippleModule } from '@angular/material/core';\r\nimport { MatPaginatorModule } from '@angular/material/paginator';\r\nimport { MatProgressBarModule } from '@angular/material/progress-bar';\r\nimport { MatProgressSpinnerModule } from '@angular/material/progress-spinner';\r\nimport { MatRadioModule } from '@angular/material/radio';\r\nimport { MatSelectModule } from '@angular/material/select';\r\nimport { MatSidenavModule } from '@angular/material/sidenav';\r\nimport { MatSliderModule } from '@angular/material/slider';\r\nimport { MatSlideToggleModule } from '@angular/material/slide-toggle';\r\nimport { MatSnackBarModule } from '@angular/material/snack-bar';\r\nimport { MatSortModule } from '@angular/material/sort';\r\nimport { MatTableModule } from '@angular/material/table';\r\nimport { MatTabsModule } from '@angular/material/tabs';\r\nimport { MatToolbarModule } from '@angular/material/toolbar';\r\nimport { MatTooltipModule } from '@angular/material/tooltip';\r\nimport { MatTreeModule } from '@angular/material/tree';\r\nimport { TemplateManagerComponent } from '../template-manager/template-manager.component';\r\nimport { DateTimePickerModule } from 'ngx-datetime-picker';\r\nimport { FileUploadModule } from \"ng2-file-upload\";\r\nimport { SoftwareUpgradeComponent } from '../software-upgrade/software-upgrade.component';\r\nimport { PhonebookManagerComponent } from '../phonebook-manager/phonebook-manager.component';\r\nimport { TreeviewModule } from 'ngx-treeview';\r\nimport { SplitPipe } from './split.pipe';\r\nimport { AuthInterceptorService } from './services/auth-interceptor';\r\nimport { AdminController } from 'src/admin/users.component';\r\nimport { AdminMarketLocationController } from 'src/admin-market-location/market_location.component';\r\nimport { MatFormFieldModule } from '@angular/material/form-field';\r\nimport { LoggingComponent } from 'src/logs/loggingComponent/logging.component';\r\nimport { ErrorComponent } from 'src/shared/404/404.component';\r\nimport { NgbModule } from '@ng-bootstrap/ng-bootstrap';\r\nimport { SystemProfileV2Component } from 'src/system-profile-manager/system-profile-V2/system-profile-V2.component';\r\nimport { SystemSettingComponent } from 'src/system-profile-manager/system-profile-V2/system-setting/system-setting.component';\r\nimport { SystemStateProvisioningComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/system-state-provisioing.component';\r\nimport { InsertUnitsComponent } from 'src/system-profile-manager/dialog-insert-system/insert.systems.component';\r\nimport { AddNoteComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-add-note/addNote.dialog.component';\r\nimport { SystemUpdateComponent } from 'src/system-profile-manager/system-profile-V2/system-update/update.system.component';\r\nimport { RollbackComponent } from 'src/system-profile-manager/system-profile-V2/system-state-and-provisioing/dialog-rollback/rollback.component';\r\nimport { AddedUnitsGraphComponent } from 'src/homepage/added-units-graph/added-units-graph.component';\r\nimport { QuickActionsComponent } from 'src/homepage/quick-actions/quick-actions.component';\r\nimport { ChartsModule } from 'ng2-charts';\r\nimport { ProvisionUnitsGraphComponent } from 'src/homepage/provision-units-graph/provision-units-graph.component';\r\nimport { MonitorUnitsGraphComponent } from 'src/homepage/monitor-units-graph/monitor-units-graph.component';\r\nimport { StatusUnitsGraphComponent } from 'src/homepage/status-units-graph/status-units-graph.component';\r\nimport { DialogMonitorProvisionComponent } from 'src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { FolderSystemsComponent } from 'src/system-profile-manager/system-profile-V2/folder-systems/folder-systems.component';\r\nimport { DialogStatusComponent } from 'src/homepage/quick-actions/dialog-status.component/dialog-status.component';\r\nimport { BulkActionsDialogComponent } from 'src/shared/Dialogs/bulk-actions/dialog.bulkActions.component';\r\nimport { CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';\r\nimport { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\nimport { WallpaperUploadDialogComponent } from 'src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component';\r\nimport { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\nimport { StateDialogDetailedLogsComponent } from 'src/logs/loggingComponent/dialog-state/statedialog.detailedLogs.component';\r\nimport { DialogDetailedLogsTemplatesComponent } from 'src/logs/loggingComponent/dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component';\r\n\r\nimport { ReportGeneratorComponent } from 'src/report-generator/report-generator.component';\r\nimport { DialogReportGeneratorComponent } from 'src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component';\r\n\r\nimport { DialogDetailedLogsWallpaperComponent } from 'src/logs/loggingComponent/dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component';\r\nimport { LmListsComponent } from 'src/shared/Dialogs/lm-lists/lm-lists.component';\r\nimport { CommonModule } from '@angular/common';\r\nimport { LoginpageSSOComponent } from 'src/loginpageSSO/loginpagesso.component';\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginpageComponent,\r\n HomepageComponent,\r\n NavbarComponent,\r\n TreeviewSystemsComponent,\r\n FolderManagerComponent,\r\n SystemProfileManagerComponent,\r\n SqlDataTableComponent,\r\n TemplateManagerComponent,\r\n FileUploaderComponent,\r\n SoftwareUpgradeComponent,\r\n PhonebookManagerComponent,\r\n SplitPipe,\r\n AdminController,\r\n AdminMarketLocationController,\r\n UserEditComponent,\r\n MarketLocationEditComponent,\r\n DialogSearchComponent,\r\n LoggingComponent,\r\n LogsComponent,\r\n ErrorComponent,\r\n DialogDetailedLogsComponent,\r\n DialogDetailedLogsTemplatesComponent,\r\n SystemProfileV2Component,\r\n SystemSettingComponent,\r\n SystemPasswordComponent,\r\n SystemStateProvisioningComponent,\r\n InsertUnitsComponent,\r\n AddNoteComponent,\r\n SystemUpdateComponent,\r\n RollbackComponent,\r\n AddedUnitsGraphComponent,\r\n ProvisionUnitsGraphComponent,\r\n MonitorUnitsGraphComponent,\r\n QuickActionsComponent,\r\n StatusUnitsGraphComponent,\r\n DialogMonitorProvisionComponent,\r\n FolderSystemsComponent,\r\n DialogStatusComponent,\r\n BulkActionsDialogComponent,\r\n ReportIssueDialogComponent,\r\n WallpaperUploadDialogComponent,\r\n ResetPasswordDialogComponent,\r\n StateDialogDetailedLogsComponent,\r\n LoginpageSSOComponent,\r\n\r\n ReportGeneratorComponent,\r\n DialogReportGeneratorComponent,\r\n\r\n DialogDetailedLogsWallpaperComponent,\r\n LmListsComponent\r\n\r\n ],\r\n imports: [\r\n OwlDateTimeModule,\r\n OwlNativeDateTimeModule,\r\n DateTimePickerModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n HttpClientModule,\r\n TableModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n BrowserAnimationsModule,\r\n A11yModule,\r\n ClipboardModule,\r\n CdkStepperModule,\r\n CdkTableModule,\r\n CdkTreeModule,\r\n DragDropModule,\r\n MatAutocompleteModule,\r\n MatBadgeModule,\r\n MatBottomSheetModule,\r\n MatButtonModule,\r\n MatButtonToggleModule,\r\n MatCardModule,\r\n MatCheckboxModule,\r\n MatChipsModule,\r\n MatStepperModule,\r\n MatDatepickerModule,\r\n MatDialogModule,\r\n MatDividerModule,\r\n MatExpansionModule,\r\n MatGridListModule,\r\n MatIconModule,\r\n MatInputModule,\r\n MatListModule,\r\n MatMenuModule,\r\n MatNativeDateModule,\r\n MatProgressBarModule,\r\n MatProgressSpinnerModule,\r\n MatRadioModule,\r\n MatRippleModule,\r\n MatSelectModule,\r\n MatSidenavModule,\r\n MatSliderModule,\r\n MatSlideToggleModule,\r\n MatSnackBarModule,\r\n MatSortModule,\r\n MatTableModule,\r\n MatTabsModule,\r\n MatToolbarModule,\r\n MatTooltipModule,\r\n MatTreeModule,\r\n PortalModule,\r\n ScrollingModule,\r\n FileUploadModule,\r\n TreeviewModule.forRoot(),\r\n MatFormFieldModule,\r\n MatPaginatorModule,\r\n NgbModule,\r\n ChartsModule,\r\n CommonModule\r\n ],\r\n exports: [],\r\n providers: [, {\r\n provide: HTTP_INTERCEPTORS,\r\n useClass: AuthInterceptorService,\r\n multi: true\r\n }],\r\n schemas: [CUSTOM_ELEMENTS_SCHEMA],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule {\r\n}\r\n","import { AuthService } from './auth.service';\r\nimport { HttpEvent, HttpHandler, HttpInterceptor, HttpRequest, HttpHeaders, HttpParams } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { exhaustMap, take } from 'rxjs/operators';\r\nimport { BehaviorSubject } from 'rxjs';\r\n\r\nexport class SiteUser{\r\n token:string;\r\n /**\r\n * class for the logged in user credentials\"token for now\".\r\n */\r\n constructor(token:string) {\r\n this.token=token;\r\n }\r\n}\r\n\r\n@Injectable({\r\n providedIn:\"root\"\r\n})\r\nexport class AuthInterceptorService implements HttpInterceptor{\r\n //used for the http interceptor to better capture the user details.\r\n siteUser=new BehaviorSubject(null);\r\n /**\r\n * Used to add the token to any request.\r\n */\r\n constructor() {\r\n }\r\n intercept(req: HttpRequest, next: HttpHandler): Observable> {\r\n const token=localStorage.getItem('accessToken');\r\n const user=new SiteUser(token);\r\n this.siteUser.next(user);\r\n\r\n return this.siteUser.pipe(take(1),exhaustMap(user=>{\r\n if(!user.token){\r\n return next.handle(req);\r\n }\r\n //const requestHeader:HttpHeaders=new HttpHeaders({'token':user.token});\r\n //const modifiedRequest=req.clone({setHeaders:{'token':user.token}});\r\n const queryParams:HttpParams=new HttpParams().set('token',user.token);\r\n const modifiedRequest=req.clone({params:queryParams});\r\n return next.handle(modifiedRequest);\r\n }))\r\n }\r\n\r\n\r\n}\r\n","import jwt_decode from \"jwt-decode\";\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, CanLoad, Route, UrlSegment, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { Observable } from 'rxjs';\r\nimport { AuthService } from './auth.service';\r\nimport { ActivatedRoute } from '@angular/router';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\n\r\nexport class AuthGuard implements CanActivate, CanLoad {\r\n\r\n rejectedUserURL: string[] = ['admin', 'templatemanager', 'packagemanager',\r\n 'softwareupdate', 'logs', 'foldermanager',\r\n 'marketlocation', 'reportgenerator']\r\n constructor(private authService: AuthService, private router: Router,\r\n private activateRoute: ActivatedRoute\r\n ) {\r\n\r\n }\r\n\r\n\r\n\r\n canActivate(\r\n next: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot): Observable | Promise | boolean | UrlTree {\r\n\r\n let tokenStored: string = localStorage.getItem('accessToken')\r\n if (!tokenStored) {\r\n this.getSSOTokenFromQueryString(next);\r\n if (this.router.url == \"/admin-login\") {\r\n this.router.navigate(['/admin-login']);\r\n }\r\n this.router.navigate(['/login']);\r\n return false;\r\n } else {\r\n let user_info_obj: any = jwt_decode(localStorage.getItem('accessToken'));\r\n if (user_info_obj?.role?.trim() == \"operator\") {\r\n if (this.rejectedUserURL.includes(next.routeConfig.path)) {\r\n this.router.navigate(['/404']);\r\n return false;\r\n }\r\n }\r\n return this.authService.check_auth(tokenStored)\r\n }\r\n }\r\n\r\n canLoad(\r\n route: Route,\r\n segments: UrlSegment[]): Observable | Promise | boolean {\r\n return this.authService.check_auth(localStorage.getItem('accessToken'))\r\n }\r\n\r\n\r\n async getSSOTokenFromQueryString(next: ActivatedRouteSnapshot) {\r\n let receivedToken: string = next.queryParams.token\r\n if (receivedToken) {\r\n localStorage.setItem('accessToken', receivedToken);\r\n return await this.authService.check_auth(receivedToken)\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { auth_server } from '../../assets/conf_urls.json';\r\nimport { Observable, Subscription, of, Subject, BehaviorSubject } from 'rxjs';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\n\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthService {\r\n\r\n constructor(private http: HttpClient, private router: Router) { }\r\n //used for the http interceptor to better capture the user details.\r\n // user=new BehaviorSubject(null);\r\n\r\n check_auth(token: string): Observable {\r\n let result = new Subject();\r\n const headers = { 'Authorization': 'Bearer ' + token, responseType: 'text' };\r\n this.http.post(auth_server.verify, \"\", { headers }).subscribe(res => {\r\n if (res) {\r\n result.next(true);\r\n return true\r\n } else {\r\n this.router.navigate(['/login']);\r\n return false\r\n }\r\n }, (error) => {\r\n result.next(false)\r\n this.router.navigate(['/login']);\r\n return false\r\n });\r\n return result.asObservable()\r\n }\r\n}\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\n\r\n@Pipe({\r\n name: 'split'\r\n})\r\nexport class SplitPipe implements PipeTransform {\r\n transform(value:string, separator):string {\r\n let splits = value.split(separator);\r\n if(splits.length > 1) {\r\n splits.pop()\r\n return splits[0];\r\n } else {\r\n return '';\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: false\r\n};\r\n\r\n\r\nexport const AD = {\r\n \"nodejs_service_url\": \"http://10.1.2.13:3242/api/auth/ad\",\r\n \"username\": \"nodejsuser\",\r\n \"password\": \"nodejspass\"\r\n }\r\n export const auth_server = {\r\n \"auth\": \"https://127.0.0.1/users/auth\",\r\n \"verify\": \"https://127.0.0.1/users/verify\",\r\n \"getAll\": \"https://127.0.0.1/users/getAll\",\r\n \"create\": \"https://127.0.0.1/users/create\",\r\n \"update\": \"https://127.0.0.1/users/updateById\",\r\n \"delete\": \"https://127.0.0.1/users/deleteById\",\r\n \"getById\":\"https://127.0.0.1/users/getById\"\r\n }\r\n export const home = {\r\n \"statistics\":\"https://127.0.0.1/homeData\",\r\n \"bulkActions\":\"https://127.0.0.1/bulkActions\",\r\n \"reportIssue\":\"https://127.0.0.1/reportIssue\"\r\n }\r\n export const user_access = {\r\n \"url\": \"https://127.0.0.1/userdata\",\r\n \"newrequest_url\": \"https://127.0.0.1/newrequest\",\r\n \"check_newrequest_by_user_url\": \"https://127.0.0.1/requestbyuser\",\r\n \"new_user_session\": \"https://127.0.0.1/newsession\",\r\n \"update_user_session\": \"https://127.0.0.1/updatesession\"\r\n }\r\n export const folder_manager = {\r\n \"add_folder\": \"https://127.0.0.1/foldermanagement\",\r\n \"get_folder_id_by_name\": \"https://127.0.0.1/foldermanagement\",\r\n \"ngx_tree\": \"https://127.0.0.1/ngxtree\"\r\n }\r\n export const system_manager = {\r\n \"services\": \"https://127.0.0.1/systemmanagement\",\r\n \"pull_system_profile\": \"https://127.0.0.1/pullprofile\",\r\n \"push_system_profile\": \"https://127.0.0.1/pushprofile\",\r\n \"update_profile\":\"https://127.0.0.1/updateProfile\"\r\n }\r\n export const template_manager = {\r\n\r\n \"services\": \"https://127.0.0.1/templatemodule\",\r\n \"templatecommandsview\": \"https://127.0.0.1/templatecommandsview\",\r\n \"table_dataset\": \"https://127.0.0.1/tabledataset\"\r\n }\r\n export const software_update = {\r\n \"services\": \"https://127.0.0.1/softwareupgrade\",\r\n \"package_directory\": \"E:\\\\RTC_Dev\\\\RTC_Monitoring\\\\Backend\\\\nodejs\\\\uploads\"\r\n }\r\n export const phonebook = {\r\n \"phonebook_management\": \"https://127.0.0.1/phonebookmanagement\",\r\n \"catalog_management\": \"https://127.0.0.1/catalogmanagement\",\r\n \"phonebookcatalog_management\": \"https://127.0.0.1/phonebookcatalogmanagement\",\r\n \"entry_management\": \"https://127.0.0.1/entrymanagement\",\r\n \"route_management\": \"https://127.0.0.1/routemanagement\",\r\n \"phonebook_task_management\": \"https://127.0.0.1/phonebooktaskmanagement\"\r\n }\r\n export const searchModule = {\r\n \"postSearch\": \"https://127.0.0.1/search\"\r\n }\r\n export const logs = {\r\n \"getLogs\": \"https://127.0.0.1/getlogs\"\r\n }\r\n export const logger ={\r\n \"logEntry\":\"https://127.0.0.1/fe_logging\"\r\n\r\n }\r\n\r\n\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { availablePackage } from './models/availablePackage';\r\nimport { FileUploadService } from './service/file-upload.service';\r\nimport { AfterViewInit, Component, ElementRef, OnInit, ViewChild } from '@angular/core';\r\nimport { FileUploader } from 'ng2-file-upload';\r\n//@ts-ignore\r\nimport { software_update } from \"../assets/conf_urls.json\";\r\nimport { HttpClient } from \"@angular/common/http\";\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\nconst URL = 'http://echuqu013vw.internal.vodafone.com:3001/api/upload';\r\n\r\n@Component({\r\n selector: 'app-file-uploader',\r\n templateUrl: './file-uploader.component.html',\r\n styleUrls: ['./file-uploader.component.css'],\r\n providers: [FileUploadService]\r\n})\r\nexport class FileUploaderComponent implements OnInit, AfterViewInit {\r\n title = 'Upload a File';\r\n show_alert_upload_status = false\r\n show_alert_upload_msg = \"\"\r\n public uploader: FileUploader = new FileUploader({ url: URL, itemAlias: 'file' });\r\n response: string;\r\n\r\n //new attributes for the packages table\r\n packagesAvailable: availablePackage[] = [];\r\n displayedColumns: string[] = ['id', 'file_name', 'file_path', 'size'];\r\n tableData: MatTableDataSource = new MatTableDataSource([]);;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(private http: HttpClient,\r\n private fileUploadService: FileUploadService,\r\n private elem: ElementRef,\r\n private loggerService: LoggerService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getData();\r\n this.uploader.onAfterAddingFile = (file) => {\r\n file.withCredentials = false;\r\n };\r\n\r\n this.uploader.onCompleteItem = (item: any, response: any, status: any, headers: any) => {\r\n\r\n this.show_alert_upload_msg = \"Upload Completed\"\r\n this.show_alert_upload_status = true\r\n this.update_packages_list()\r\n };\r\n\r\n }\r\n\r\n\r\n ngAfterViewInit(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n const elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n }\r\n\r\n getData() {\r\n this.resetTable();\r\n this.fileUploadService.getAll().subscribe(response => {\r\n this.packagesAvailable = response.data;\r\n this.tableData = new MatTableDataSource(this.packagesAvailable);\r\n this.tableData.paginator = this.paginator;\r\n this.tableData.sort = this.sort;\r\n }, err => {\r\n this.loggerService.log(\"FileUploaderComponent\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n resetTable() {\r\n this.packagesAvailable = [];\r\n this.tableData = new MatTableDataSource(this.packagesAvailable);\r\n this.tableData.paginator = this.paginator;\r\n this.tableData.sort = this.sort;\r\n }\r\n update_packages_list() {\r\n this.http.post(software_update.services, {\r\n \"file_path\": software_update.package_directory,\r\n \"event\": \"reload_packages_list\"\r\n }).subscribe(data => {\r\n }, err => {\r\n this.loggerService.log(\"FileUploaderComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n if (this.tableData.paginator) {\r\n this.tableData.paginator.firstPage();\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n

Select files

\r\n \r\n
\r\n
\r\n
* Uploading packages from here is currently disabled !
\r\n
\r\n\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n

Packages available: {{ packagesAvailable.length }}

\r\n\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
ID {{element.id}} File Name {{element.file_name}} File Path {{element.file_path}} File Size {{element.size}}
\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n
\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport {software_update} from '../../assets/conf_urls.json'\r\nimport { availablePackage } from '../models/availablePackage';\r\n@Injectable()\r\nexport class FileUploadService{\r\n\r\n constructor(private http:HttpClient) {}\r\n\r\n getAll():Observable<{data:availablePackage[]}>{\r\n return this.http.post<{data:availablePackage[]}>(software_update.services,{\r\n \"event\": \"queryall\"\r\n });\r\n }\r\n}\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { FormBuilder, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { TreeviewSystemsComponent } from '../treeview-systems/treeview-systems.component'\r\n// @ts-ignore\r\nimport { folder_manager, user_access, system_manager } from '../assets/conf_urls.json';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-folder-manager',\r\n templateUrl: './folder-manager.component.html',\r\n styleUrls: ['./folder-manager.component.css']\r\n})\r\nexport class FolderManagerComponent implements OnInit {\r\n isLinear = false;\r\n parent_folder_id = '';\r\n selected_folder: any;\r\n selected_parent_folder_name = '';\r\n selected_parent_folder_id = '';\r\n message: any;\r\n // #create\r\n CreateFolder_FormGroup: FormGroup;\r\n updateFolderForm: FormGroup;\r\n moveFolderFormGroup: FormGroup;\r\n deleteFolderFormGroup: FormGroup;\r\n create_response_message = '';\r\n update_response_message = '';\r\n move_response_message = '';\r\n move_source_folder: any;\r\n move_dest_folder: any;\r\n delete_response_message = '';\r\n show_progressbar = false;\r\n parsed_data = []\r\n disable_upload_button = true\r\n msg_upload = ''\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n sort_tree_by = \"folder\"\r\n updateBtnErrorMsg: string;\r\n //old version\r\n // for user access\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n //old version\r\n check_auth() {\r\n // for user access\r\n this.user_permission = localStorage.getItem('ua');\r\n if (this.user_permission && this.user_email) {\r\n\r\n this.get_user_access_service(this.user_email);\r\n\r\n } else {\r\n // user has to login\r\n window.location.href = '/login';\r\n }\r\n //end\r\n }\r\n\r\n //end\r\n constructor(private _formBuilder: FormBuilder,\r\n private http: HttpClient,\r\n private _snackBar: MatSnackBar,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n @Inject(DOCUMENT) document,\r\n private route: Router) {\r\n }\r\n\r\n\r\n reload_treeView() {\r\n // let element: HTMLElement = document.getElementById('refreshID') as HTMLElement;\r\n // element.click();\r\n this.route.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.route.onSameUrlNavigation = 'reload';\r\n this.route.navigate([\"/foldermanager\"])\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.authService.check_auth(localStorage.getItem('accessToken'))\r\n\r\n this.CreateFolder_FormGroup = this._formBuilder.group({\r\n item_name: ['', Validators.required],\r\n item_parent_id: ['0', Validators.required],\r\n event: ['create']\r\n });\r\n this.updateFolderForm = this._formBuilder.group({\r\n item_name: ['', Validators.required],\r\n id: ['', Validators.required],\r\n event: ['update']\r\n });\r\n this.moveFolderFormGroup = this._formBuilder.group({\r\n id: ['', Validators.required],\r\n item_parent_id: ['', Validators.required],\r\n item_src_name: ['', Validators.required],\r\n item_dest_name: ['', Validators.required],\r\n event: ['move']\r\n });\r\n this.deleteFolderFormGroup = this._formBuilder.group({\r\n id: ['', Validators.required],\r\n item_name: ['',],\r\n event: ['delete']\r\n });\r\n }\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n //old version\r\n receiveMessage($event) {\r\n this.message = $event;\r\n this.parent_folder_id = $event;\r\n }\r\n\r\n\r\n receiveMessage2($event) {\r\n\r\n this.selected_folder = $event;\r\n this.selected_parent_folder_name = $event.text;\r\n this.selected_parent_folder_id = $event.value.id;\r\n this.updateFolderForm.get('item_name').setValue(this.selected_parent_folder_name);\r\n this.updateFolderForm.get('id').setValue(this.selected_parent_folder_id);\r\n this.deleteFolderFormGroup.get('item_name').setValue(this.selected_parent_folder_name);\r\n this.deleteFolderFormGroup.get('id').setValue(this.selected_parent_folder_id);\r\n }\r\n\r\n onSubmit_create_folder() {\r\n this.show_progressbar = true;\r\n this.CreateFolder_FormGroup.value['event'] = 'create'\r\n //return\r\n this.http.post(folder_manager.add_folder, this.CreateFolder_FormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.create_response_message = dataresponse['message'];\r\n this.reload_treeView()\r\n this.CreateFolder_FormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n this.show_progressbar = false;\r\n\r\n }\r\n\r\n assign_move_src_folder(item) {\r\n this.selectedFolderToMove = item;\r\n this.moveFolderFormGroup.patchValue({ \"item_src_name\": item['text'], \"id\": item[\"value\"]['id'] })\r\n this.parent_folder_id = \"\";\r\n }\r\n\r\n assign_move_dest_folder(item) {\r\n this.disableMoveButton()\r\n this.destinationFolder = item;\r\n this.moveFolderFormGroup.patchValue({ \"item_dest_name\": item['text'], \"item_parent_id\": item[\"value\"]['id'] })\r\n this.parent_folder_id = \"\";\r\n }\r\n\r\n onSubmit_update_folder() {\r\n if (confirm(\"Are you sure to update '\" + this.selected_folder.text + \"'?\")) {\r\n this.show_progressbar = true;\r\n this.updateFolderForm.value['event'] = 'update'\r\n this.http.post(folder_manager.add_folder, this.updateFolderForm.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.update_response_message = dataresponse['message'];\r\n this.reload_treeView()\r\n\r\n this.show_progressbar = false;\r\n this.updateFolderForm.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n }\r\n else {\r\n this.update_response_message = \"Cancelled\";\r\n this.updateFolderForm.reset();\r\n }\r\n }\r\n\r\n onSubmit_delete_folder() {\r\n if (confirm(\"Are you sure to delete '\" + this.deleteFolderFormGroup.get(\"item_name\").value + \"'?\")) {\r\n this.show_progressbar = true;\r\n this.deleteFolderFormGroup.value['event'] = 'delete'\r\n this.http.post(folder_manager.add_folder, this.deleteFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.delete_response_message = dataresponse['message'];\r\n this.openSnackBar(dataresponse['message'], \"Success\");\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.deleteFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n this.delete_response_message = err['message'];\r\n this.openSnackBar(err['message'], \"Error\");\r\n });\r\n\r\n }\r\n else {\r\n this.delete_response_message = \"Cancelled\";\r\n }\r\n }\r\n\r\n\r\n\r\n submit_move_folder(is_root: any) {\r\n if (!this.checkFoldersState() && is_root != 'root') {\r\n return;\r\n }\r\n if (confirm(\"Are you sure to move '\" + this.moveFolderFormGroup.get('item_src_name').value + \"' to be under '\" + this.moveFolderFormGroup.get('item_dest_name').value + \"'?\")) {\r\n this.move_response_message = \"\"\r\n if (is_root == 'root') {\r\n this.show_progressbar = true;\r\n this.moveFolderFormGroup.value['event'] = \"move\"\r\n this.moveFolderFormGroup.value['item_parent_id'] = 0\r\n this.http.post(folder_manager.add_folder, this.moveFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.move_response_message = dataresponse['message'];\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.moveFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n }\r\n\r\n else if (this.moveFolderFormGroup.valid) {\r\n\r\n\r\n this.show_progressbar = true;\r\n this.moveFolderFormGroup.value['event'] = \"move\"\r\n this.http.post(folder_manager.add_folder, this.moveFolderFormGroup.value).subscribe(dataresponse => {\r\n this.show_progressbar = false;\r\n this.move_response_message = dataresponse['message'];\r\n this.show_progressbar = false;\r\n this.reload_treeView()\r\n this.moveFolderFormGroup.reset();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n });\r\n\r\n\r\n\r\n }\r\n }\r\n else {\r\n this.move_response_message = \"Cancelled\";\r\n }\r\n }\r\n\r\n disableMoveButton(): boolean {\r\n let disableBtn = false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder.value.id == this.selectedFolderToMove.value.id) {\r\n this.updateBtnErrorMsg = \"* You chose the same parent folder.\"\r\n disableBtn = true;\r\n return disableBtn;\r\n } else if (this.selected_folder.children && this.selected_folder.children.length > 0\r\n && this.selected_folder.children[0].value.type == 'endpoint') {\r\n this.updateBtnErrorMsg = \"* Cannot move folder to another folder that contains endpoint(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n disableCreateButton(): boolean {\r\n let disableBtn = false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder.children && this.selected_folder.children.length > 0\r\n && this.selected_folder.children[0].value.type == 'endpoint' && this.CreateFolder_FormGroup.value['item_parent_id'] != 0) {\r\n this.updateBtnErrorMsg = \"* Cannot create folder under another folder that contains endpoint(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n parse_bulk_data() {\r\n let switcher = true;\r\n this.parsed_data = []\r\n this.msg_upload = ''\r\n this.disable_upload_button = true\r\n\r\n\r\n const csv_data = (document.getElementById('csv_data')).value.trim();\r\n this.parsed_data = csv_data.split('\\n')\r\n\r\n this.parsed_data.forEach(item => {\r\n\r\n\r\n if (!item.includes(',') || item.length == 0) {\r\n this.msg_upload = 'please make sure that you entered the correct data format, error in: ' + item + ' '\r\n this.disable_upload_button = true\r\n switcher = false\r\n } else {\r\n\r\n this.disable_upload_button = false\r\n }\r\n })\r\n if (switcher !== true) {\r\n\r\n this.disable_upload_button = true\r\n }\r\n }\r\n\r\n generateGuid() {\r\n var result, i, j;\r\n result = '';\r\n for (j = 0; j < 32; j++) {\r\n if (j == 8 || j == 12 || j == 16 || j == 20)\r\n result = result + '-';\r\n i = Math.floor(Math.random() * 16).toString(16).toUpperCase();\r\n result = result + i;\r\n }\r\n return result;\r\n }\r\n\r\n upload_systems_to_folder() {\r\n\r\n this.parsed_data.forEach(item => {\r\n var id = this.generateGuid().split('-')[0]\r\n var system_ip = item.split(',')[0].trim()\r\n var system_password = item.split(',')[1].trim()\r\n var system_name = \"new_system_\" + id\r\n var system_mac_address = \"temp_\" + id\r\n if (item.includes(',') || item.length > 0) {\r\n let json_obj = {\r\n \"event\": \"create\",\r\n \"system_name\": system_name,\r\n \"system_ip\": system_ip,\r\n \"system_mac_address\": system_mac_address,\r\n \"system_password\": system_password,\r\n \"phonebook_fk_id\": \"GeneralPhonebook\",\r\n \"product_id\": \"not synced\",\r\n \"software_version\": \"not synced\",\r\n \"software_name\": \"not synced\",\r\n \"folder_id_id\": this.selected_parent_folder_id\r\n }\r\n this.http.post(system_manager.services, json_obj).subscribe(data => {\r\n if (data['message'] == 'Success') {\r\n this.openSnackBar(\"Data was uploaded to \" + this.selected_parent_folder_name + \" \", \"\")\r\n }\r\n else {\r\n this.openSnackBar(data['message'], \"\")\r\n\r\n }\r\n document.getElementById('refreshID').click();\r\n }, err => {\r\n this.loggerService.log(\"FolderManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n //starting from here this code is for the iogic of allowing or disallowing the moving of a folder under another folder\r\n selectedFolderToMove: any = null;\r\n destinationFolder: any = null;\r\n //function this.submit_move_folder is used to confirm the folders movement but with the below additional logic confirmed.\r\n\r\n // to check if the folder is eligible to be under the destination folder or not based on:\r\n //1-the destination folder id is not a child of the selected folder.\r\n //2-the destination folder must be of type folder.\r\n moveFolderErrorMessage: string = null;\r\n\r\n //function to check if the id of a certain folder or endpoint lies under a child of a tree and return this element if found or null.\r\n searchTree(tree: any, searchedId: number) {\r\n if (tree) {\r\n if (tree.value.id == searchedId) {\r\n return tree;\r\n } else if (tree.children != null) {\r\n let result = null;\r\n for (let i = 0; result == null && i < tree.children.length; i++) {\r\n result = this.searchTree(tree.children[i], searchedId);\r\n }\r\n return result;\r\n }\r\n return null;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n checkFoldersState(): boolean {\r\n this.moveFolderErrorMessage = null;\r\n\r\n if (!this.selectedFolderToMove || !this.destinationFolder) {\r\n this.moveFolderErrorMessage = \"* Check selected and destination folder\"\r\n return false;\r\n } else if (this.selectedFolderToMove.value.type != 'folder') {\r\n this.moveFolderErrorMessage = \"* The selected element must be a folder.\"\r\n return false;\r\n } else if (this.destinationFolder.value.type != 'folder') {\r\n this.moveFolderErrorMessage = \"* The destination element must be a folder.\"\r\n return false;\r\n } else if (this.searchTree(this.selectedFolderToMove, this.destinationFolder.value.id)) {\r\n this.moveFolderErrorMessage = \"* The selected folder cannot move under one of its child folders.\"\r\n return false;\r\n }\r\n return true;\r\n }\r\n\r\n}\r\n","\r\n\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
\r\n Fill out Folder information\r\n \r\n Folder Name\r\n \r\n \r\n\r\n \r\n
\r\n Create as a root\r\n
\r\n Create as a subfolder\r\n under ({{selected_parent_folder_name}})\r\n \r\n
\r\n
{{updateBtnErrorMsg}}
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result : {{create_response_message}}

\r\n
\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n Select a folder to update\r\n \r\n New Name\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result:{{update_response_message}}

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

Select a folder to\r\n move.

\r\n
\r\n

use {{selected_parent_folder_name}} as a source folder ?

\r\n

Or select another folder from the tree.

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

1. Source {{this.moveFolderFormGroup.get('item_src_name').value }}

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

- select a destination folder..

\r\n

2. Destination: {{selected_parent_folder_name}}

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

2. Destination: {{this.moveFolderFormGroup.get('item_dest_name').value }}

\r\n\r\n \r\n
{{updateBtnErrorMsg}}
\r\n \r\n\r\n\r\n\r\n
\r\n\r\n \r\n \r\n

{{moveFolderErrorMessage}}

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

Result: {{move_response_message}}

\r\n\r\n
\r\n \r\n\r\n \r\n \r\n
\r\n Select a folder to Delete\r\n \r\n Folder Name\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n Done\r\n

You are now done.

\r\n

result: {{delete_response_message}}

\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\n\r\n@Component({\r\n selector: 'app-total-units-added-date-graph',\r\n templateUrl: './added-units-graph.component.html',\r\n styleUrls: ['./added-units-graph.component.css']\r\n})\r\nexport class AddedUnitsGraphComponent implements OnInit {\r\n //the received data to be drawn on chart\r\n public lineChartData1: Array<{ data: number[], label: string }> = [{ data: [0], label: 'no. of units added' }];\r\n //the received labels to be shown on x-axis\r\n public lineChartLabels1: Array = [\"1-2021\"];\r\n //chart options\r\n public lineChartOptions1 = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true\r\n },\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ],\r\n xAxes: [\r\n {\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ]\r\n },\r\n lineTension: 10,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n elements: { line: { tension: 0 } }\r\n };\r\n //chart colors\r\n public lineChartColors1: Array = [\r\n {\r\n // grey\r\n backgroundColor: 'rgba(6,215,156,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n },\r\n {\r\n // dark grey\r\n backgroundColor: 'rgba(57,139,247,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n }\r\n ];\r\n public lineChartLegend1 = false;\r\n public lineChartType1 = 'line';\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService) {\r\n }\r\n ngOnInit(): void {\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.lineChartData1[0].data = [0];\r\n this.lineChartLabels1 = [\"1-2021\"];\r\n data?.addedUnitsGraphData.forEach(i => this.lineChartLabels1.push(i.Month.toString() + '-' + i.Year))\r\n data?.addedUnitsGraphData.forEach(i => this.lineChartData1[0].data.push(this.lineChartData1[0].data[this.lineChartData1[0].data.length - 1] + i.count))\r\n })\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n Units Overview\r\n

\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { auth_server } from '../assets/conf_urls.json';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { HomeService } from './shared/home.service';\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n@Component({\r\n selector: 'app-homepage',\r\n templateUrl: './homepage.component.html',\r\n styleUrls: ['../../bootstrap/homepage/assets/css/styles.css'],\r\n providers: [HomeService]\r\n})\r\nexport class HomepageComponent implements OnInit {\r\n\r\n\r\n //for user access\r\n accessToken;\r\n user_role;\r\n roleArray: Array = ['admin', 'operator', 'viewer'];\r\n refetchingDataFlag: boolean = false;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private http: HttpClient,\r\n private homeService: HomeService,\r\n public accessAuthService: AccessAuthService,\r\n private loggerService: LoggerService) {\r\n\r\n }\r\n ngOnInit(): void {\r\n // if (localStorage.getItem('accessToken')) {\r\n // this.accessToken = jwt_decode(localStorage.getItem('accessToken'));\r\n // this.user_role = this.accessToken[\"role\"]\r\n // this.adminAuthorization = this.accessToken.role === \"admin\" ? true : false;\r\n // }\r\n this.accessAuthService.user_info_obj_BehaviorSubject.subscribe(data => this.user_role = data?.role)\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"HomepageComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n }\r\n\r\n\r\n refetchData() {\r\n if (!this.refetchingDataFlag) {\r\n this.refetchingDataFlag = true;\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n this.refetchingDataFlag = false;\r\n }, err => {\r\n this.loggerService.log(\"HomepageComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.refetchingDataFlag = false;\r\n })\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n

VMS Dashboard

\r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n \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, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogMonitorProvisionComponent } from '../quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-monitored-units-graph',\r\n templateUrl: './monitor-units-graph.component.html',\r\n styleUrls: ['./monitor-units-graph.component.css']\r\n})\r\nexport class MonitorUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [\"Monitored Units\", \"UnMonitored Units\"];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartData = [];\r\n data?.monitoredUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n data?.unmonitoredUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openUnMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Monitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"MonitorUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n\r\n }\r\n\r\n openMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"UnMonitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"MonitorUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n

Monitoring

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Monitored Units{{doughnutChartData[0]?doughnutChartData[0]:\"NA\"}}
UnMonitored Units{{doughnutChartData[1]?doughnutChartData[1]:\"NA\"}}
Total No. of Units{{doughnutChartData[1]+doughnutChartData[0]?doughnutChartData[1]+doughnutChartData[0]:\"NA\"}}
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogMonitorProvisionComponent } from '../quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-provisioned-units-graph',\r\n templateUrl: './provision-units-graph.component.html',\r\n styleUrls: ['./provision-units-graph.component.css']\r\n})\r\nexport class ProvisionUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [\"Provisioned Units\", \"UnProvisioned Units\"];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartData = [];\r\n data?.provisionedUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n data?.unprovisionedUnits.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openUnProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Provision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n\r\n }\r\n\r\n openProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"UnProvision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n}\r\n","
\r\n
\r\n

Provisioing

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
Provisioned Units{{doughnutChartData[0]?doughnutChartData[0]:\"NA\"}}
UnProvisioned Units{{doughnutChartData[1]?doughnutChartData[1]:\"NA\"}}
Total No. of Units{{doughnutChartData[1]+doughnutChartData[0]?doughnutChartData[1]+doughnutChartData[0]:\"NA\"}}
\r\n
\r\n
\r\n\r\n","import { MatTableDataSource } from '@angular/material/table';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from 'src/homepage/shared/home.service';\r\nimport { monitorProvisionObj } from 'src/homepage/shared/home.models';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n\r\n@Component({\r\n templateUrl: './dialog-monitor-provision.component.html',\r\n styleUrls: ['./dialog-monitor-provision.component.css'],\r\n providers: [HomeService]\r\n})\r\nexport class DialogMonitorProvisionComponent implements OnInit {\r\n unitsToBeHandled: monitorProvisionObj[] = [];\r\n displayedColumns = [\"provisionIcon\", \"description\", \"action\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n pageTitle: string = \"\";\r\n message: string = \"\";\r\n globalProcessingFlag: boolean = false;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private homeService: HomeService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService,\r\n @Inject(MAT_DIALOG_DATA) public monitorOrProvision: string\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.pageTitle = \"UnProvisioned\";\r\n this.homeService.getUnprovisionedUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.pageTitle = \"UnMonitored\";\r\n this.homeService.getUnmonitoredUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.pageTitle = \"Provisioned\";\r\n this.homeService.getProvisionedUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.pageTitle = \"Monitored\";\r\n this.homeService.getMonitoredUnits().subscribe(data => {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new monitorProvisionObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n\r\n } else {\r\n this.unitsToBeHandled = [];\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n }\r\n }\r\n\r\n onSubmitData() {\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n let dialogData = { title: this.monitorOrProvision + \" All Units\", message: \"You are going to send a request to \" + this.monitorOrProvision + \" all units\" }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: dialogData.title, message: dialogData.message },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendBulkAppropriateRequest()\r\n }\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n sendAppropriateRequest(element: monitorProvisionObj) {\r\n element.processingFlag = true;\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.homeService.provisionUnit(element.system_ip).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.homeService.monitorUnit(element.system_ip, 1).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.homeService.unProvisionUnit(element.system_ip).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.homeService.unMonitorUnit(element.system_ip, 0).subscribe(data => {\r\n element.processingFlag = false;\r\n element.resultSuccessFlag = true;\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n element.processingFlag = false;\r\n element.resultFailedFlag = true;\r\n })\r\n }\r\n\r\n }\r\n\r\n sendBulkAppropriateRequest() {\r\n this.globalProcessingFlag = true;\r\n let unitsBeSent: any = this.adjustHandledUnits();\r\n\r\n if (this.monitorOrProvision == \"Provision\") {\r\n this.homeService.bulkProvision(unitsBeSent).subscribe(data => {\r\n this.openSnackBar(data[\"message\"], \"Processing\");\r\n }, err => {\r\n this.globalProcessingFlag = false;\r\n this.openSnackBar(err[\"message\"], \"Erocessing\");\r\n })\r\n } else if (this.monitorOrProvision == \"UnProvision\") {\r\n this.homeService.bulkUnProvision(unitsBeSent).subscribe(data => {\r\n this.openSnackBar(data[\"message\"], \"Processing\");\r\n }, err => {\r\n this.globalProcessingFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error\", \"Error\");\r\n })\r\n } else if (this.monitorOrProvision == \"Monitor\") {\r\n this.adjustProcessingFlagForAllUnits();\r\n this.homeService.bulkMonitor(unitsBeSent).subscribe(data => {\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultSuccessFlag = true\r\n })\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultFailedFlag = true\r\n })\r\n })\r\n } else if (this.monitorOrProvision == \"UnMonitor\") {\r\n this.adjustProcessingFlagForAllUnits();\r\n this.homeService.bulkUnMonitor(unitsBeSent).subscribe(data => {\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultSuccessFlag = true\r\n })\r\n }, err => {\r\n this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.globalProcessingFlag = false;\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n item.resultFailedFlag = true\r\n })\r\n })\r\n } else {\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = false;\r\n })\r\n this.globalProcessingFlag = false;\r\n }\r\n\r\n }\r\n\r\n adjustProcessingFlagForAllUnits() {\r\n //let toBeSentUnits: any[] = []\r\n this.unitsToBeHandled.forEach(item => {\r\n item.processingFlag = true\r\n //toBeSentUnits.push({ \"system_ip\": item.system_ip })\r\n })\r\n //return toBeSentUnits;\r\n }\r\n\r\n adjustHandledUnits() {\r\n let unitsToBeSent: any;\r\n if (this.monitorOrProvision == \"Monitor\" || this.monitorOrProvision == \"UnMonitor\") {\r\n unitsToBeSent = \"\";\r\n this.unitsToBeHandled.forEach(item => {\r\n unitsToBeSent = unitsToBeSent + \"'\" + item.system_ip + \"'\" + \",\"\r\n })\r\n if (unitsToBeSent.endsWith(\",\")) {\r\n unitsToBeSent = unitsToBeSent.slice(0, unitsToBeSent.length - 1)\r\n }\r\n }\r\n if (this.monitorOrProvision == \"Provision\" || this.monitorOrProvision == \"UnProvision\") {\r\n unitsToBeSent = [];\r\n this.unitsToBeHandled.forEach(item => {\r\n unitsToBeSent.push({ \"system_ip\": item.system_ip })\r\n })\r\n }\r\n return unitsToBeSent;\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n\r\n
\r\n

{{pageTitle}} Units

\r\n
\r\n\r\n
\r\n close\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n

{{message}}

\r\n\r\n
\r\n\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n tablet_android\r\n
\r\n
\r\n
{{element.system_name}}
\r\n
IP: {{element.system_ip}}
\r\n
Parent Folder: {{element.parentFolder}}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n check_circle\r\n Done\r\n\r\n error\r\n Error\r\n\r\n
\r\n
\r\n
\r\n\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 { MatTableDataSource } from '@angular/material/table';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from 'src/homepage/shared/home.service';\r\nimport { monitorProvisionObj, statusUnitObj } from 'src/homepage/shared/home.models';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n\r\n\r\n@Component({\r\n templateUrl: './dialog-status.component.html',\r\n styleUrls: ['./dialog-status.component.css'],\r\n providers: [HomeService]\r\n})\r\nexport class DialogStatusComponent implements OnInit {\r\n unitsToBeHandled: statusUnitObj[] = [];\r\n displayedColumns = [\"icon\", \"description\", \"action\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n pageTitle: string = \"\";\r\n message: string = \"\";\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private homeService: HomeService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n @Inject(MAT_DIALOG_DATA) public statusReceived: string\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n if (this.statusReceived == \"In a call\") {\r\n this.pageTitle = \"In a call\";\r\n this.homeService.getInACallUnits().subscribe(data => {\r\n this.adjustDataForTable(data);\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"No HTTPS response\") {\r\n this.pageTitle = \"No Https Response\";\r\n this.homeService.getNoResponseUnits().subscribe(data => {\r\n this.adjustDataForTable(data);\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"Idle\") {\r\n this.pageTitle = \"Idle\";\r\n this.homeService.getIdleUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else if (this.statusReceived == \"Incorrect Password\") {\r\n this.pageTitle = \"Incorrect Password\";\r\n this.homeService.getIncorrectPasswordUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n } else {\r\n this.pageTitle = \"Relay-Unit connection error\";\r\n this.homeService.getInRelayErrorUnits().subscribe(data => {\r\n this.adjustDataForTable(data)\r\n }, err => {\r\n this.message = \"Total units retrieved are \" + 0 + \" units\";\r\n this.loggerService.log(\"DialogStatusComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n }\r\n\r\n adjustDataForTable(data) {\r\n for (const key in data.data) {\r\n for (let i = 0; i < data.data[key].length; i++) {\r\n this.unitsToBeHandled.push(new statusUnitObj(data.data[key][i][\"system_ip\"], data.data[key][i][\"system_name\"], key, data.data[key][i][\"status\"]))\r\n }\r\n }\r\n this.logsTableData = new MatTableDataSource(this.unitsToBeHandled);\r\n this.message = \"Total units retrieved are \" + this.unitsToBeHandled.length + \" units\";\r\n }\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n sendAppropriateRequest(element: monitorProvisionObj) {\r\n // element.processingFlag = true;\r\n // if (this.statusReceived == \"No HTTPS response\") {\r\n // this.homeService.provisionUnit(element.system_ip).subscribe(data => {\r\n // element.processingFlag = false;\r\n // element.resultSuccessFlag = true;\r\n // }, err => {\r\n // this.loggerService.log(\"DialogMonitorProvisionComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n // element.processingFlag = false;\r\n // element.resultFailedFlag = true;\r\n // })\r\n // }\r\n\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
\r\n\r\n
\r\n\r\n
\r\n

{{pageTitle}} Units

\r\n
\r\n\r\n
\r\n close\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n

{{message}}

\r\n\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n
\r\n
\r\n tablet_android\r\n
\r\n
\r\n
{{element.system_name}}
\r\n
IP: {{element.system_ip}}
\r\n
Status: {{element.status}}
\r\n
Parent Folder: {{element.parentFolder}}
\r\n
\r\n
\r\n\r\n \r\n\r\n \r\n\r\n check_circle\r\n Done\r\n\r\n error\r\n Error\r\n\r\n
\r\n
\r\n
\r\n\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 { DialogMonitorProvisionComponent } from 'src/homepage/quick-actions/dialog-monitor-provision/dialog-monitor-provision.component';\r\nimport { HomeService } from './../shared/home.service';\r\nimport { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { InsertUnitsComponent } from 'src/system-profile-manager/dialog-insert-system/insert.systems.component';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { BulkActionsDialogComponent } from 'src/shared/Dialogs/bulk-actions/dialog.bulkActions.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { WallpaperUploadDialogComponent } from 'src/shared/Dialogs/wallpaper-upload/dialog.wallpaperUpload.component';\r\n\r\n@Component({\r\n selector: 'quick-action-tabs',\r\n templateUrl: './quick-actions.component.html',\r\n styleUrls: ['./quick-actions.component.css']\r\n})\r\nexport class QuickActionsComponent implements OnInit { //the received data to be drawn on chart\r\n public lineChartData1: Array = [{ data: [0, 150, 110, 240, 200, 200, 300, 200, 380, 300, 400, 380], label: 'no. of units added' }];\r\n //the received labels to be shown on x-axis\r\n public lineChartLabels1: Array = ['January', 'February', 'March', 'April', 'May', 'June', 'July'];\r\n //chart options\r\n public lineChartOptions1 = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n beginAtZero: true\r\n },\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ],\r\n xAxes: [\r\n {\r\n gridLines: {\r\n color: 'rgba(0, 0, 0, 0.1)'\r\n }\r\n }\r\n ]\r\n },\r\n lineTension: 10,\r\n responsive: true,\r\n maintainAspectRatio: false,\r\n elements: { line: { tension: 0 } }\r\n };\r\n //chart colors\r\n public lineChartColors1: Array = [\r\n {\r\n // grey\r\n backgroundColor: 'rgba(6,215,156,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n },\r\n {\r\n // dark grey\r\n backgroundColor: 'rgba(57,139,247,0.0)',\r\n borderColor: 'rgba(57,139,247,1)',\r\n pointBackgroundColor: 'rgba(57,139,247,1)',\r\n pointBorderColor: '#fff',\r\n pointHoverBackgroundColor: '#fff',\r\n pointHoverBorderColor: 'rgba(57,139,247,0.5)'\r\n }\r\n ];\r\n public lineChartLegend1 = false;\r\n public lineChartType1 = 'line';\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar,\r\n public dialog: MatDialog,\r\n private homeService: HomeService) {\r\n }\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n\r\n });\r\n }\r\n\r\n openAddDialog() {\r\n const dialogRef = this.dialog.open(InsertUnitsComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openProvisionDIalog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: \"Provision\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openMonitorDialog() {\r\n const dialogRef = this.dialog.open(DialogMonitorProvisionComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n data: \"Monitor\",\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Pull All Units Configuration Files\", message: \"Confirm pulling all VMS units configuration files. This process takes time so please confirm or cancel\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.pullAllUnitsConfigurationFiles(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Pulling all units configuration files has begun, this process may takes several minutes.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openBulkActionsDialog(): void {\r\n const dialogRef = this.dialog.open(BulkActionsDialogComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n openWallpaperUploadActionDialog(): void {\r\n const dialogRef = this.dialog.open(WallpaperUploadDialogComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"QuickActionsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForPhonebookRefresh() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Refresh Phonebook\", message: `Confirm the update/refresh for phonebook` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.homeService.refreshPhonebook(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Phonebook reloaded successfully.\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n

\r\n Quick Actions\r\n

\r\n
\r\n
\r\n
\r\n
    \r\n
  • Add Units
  • \r\n \r\n
  • Bulk Management
  • \r\n
  • Push Wallpaper
  • \r\n
  • Refresh Phonebook
  • \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n","export interface resultObj {\r\n addedUnitsGraphData: addedGraph[];\r\n statusGraph: statusGraph[];\r\n provisionedUnits: countGraph[];\r\n unprovisionedUnits: countGraph[];\r\n monitoredUnits: countGraph[];\r\n unmonitoredUnits: countGraph[];\r\n}\r\nexport interface addedGraph {\r\n count: number;\r\n Month: number;\r\n Year: string;\r\n}\r\nexport interface statusGraph {\r\n count: number;\r\n status: string;\r\n}\r\nexport interface countGraph {\r\n count: number;\r\n}\r\nexport class monitorProvisionObj {\r\n system_ip: string;\r\n system_name: string;\r\n processingFlag: boolean;\r\n resultSuccessFlag: boolean;\r\n resultFailedFlag: boolean;\r\n parentFolder: string;\r\n\r\n constructor(ip, name, parent, flag1 = false, flag2 = false, flag3 = false) {\r\n this.system_ip = ip;\r\n this.system_name = name;\r\n this.parentFolder = parent;\r\n this.processingFlag = flag1;\r\n this.resultSuccessFlag = flag2;\r\n this.resultFailedFlag = flag3;\r\n }\r\n}\r\n\r\nexport class statusUnitObj {\r\n system_ip: string;\r\n system_name: string;\r\n processingFlag: boolean;\r\n resultSuccessFlag: boolean;\r\n resultFailedFlag: boolean;\r\n parentFolder: string;\r\n status: string;\r\n\r\n constructor(ip, name, parent, status, flag1 = false, flag2 = false, flag3 = false) {\r\n this.system_ip = ip;\r\n this.system_name = name;\r\n this.parentFolder = parent;\r\n this.processingFlag = flag1;\r\n this.resultSuccessFlag = flag2;\r\n this.resultFailedFlag = flag3;\r\n this.status = status;\r\n }\r\n}\r\n","import { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../assets/conf_urls.json';\r\nimport { monitorProvisionObj, resultObj } from './home.models';\r\n\r\n@Injectable()\r\n\r\nexport class HomeService {\r\n dataToBeTransmitted = new BehaviorSubject(null)\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getVMSStatistics(): Observable<{ data: resultObj }> {\r\n return this.http.post<{ data: resultObj }>(home.statistics, {})\r\n }\r\n\r\n getUnprovisionedUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_unprovisioned_units\" })\r\n }\r\n\r\n getProvisionedUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_provisioned_units\" })\r\n }\r\n\r\n getUnmonitoredUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_unmonitored_units\" })\r\n }\r\n\r\n getMonitoredUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_monitored_units\" })\r\n }\r\n\r\n getInACallUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_inCall_units\" })\r\n }\r\n\r\n getNoResponseUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_noResponse_units\" })\r\n }\r\n\r\n getIdleUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_idle_units\" })\r\n }\r\n\r\n getIncorrectPasswordUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_incorrect_password_units\" })\r\n }\r\n\r\n getInRelayErrorUnits(): Observable<{ data: any[] }> {\r\n return this.http.post<{ data: any[] }>(system_manager.services, { \"event\": \"select_relay_issue_units\" })\r\n }\r\n\r\n provisionUnit(system_ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"startProvision\",\r\n \"ip\": system_ip\r\n })\r\n }\r\n\r\n unProvisionUnit(system_ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"unprovisionSystem\",\r\n \"ip\": system_ip\r\n })\r\n }\r\n\r\n monitorUnit(system_ip: string, flag: Number): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": system_ip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n unMonitorUnit(system_ip: string, flag: Number): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": system_ip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n bulkMonitor(units: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'monitor',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkUnMonitor(units: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unmonitor',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkProvision(units: string[]): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'provision',\r\n \"data\": units\r\n })\r\n }\r\n\r\n bulkUnProvision(units: string[]): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unprovision',\r\n \"data\": units\r\n })\r\n }\r\n\r\n pullAllUnitsConfigurationFiles(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"pull_all_units_configuration_files\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n refreshPhonebook(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"refresh_phonebook\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n}\r\n","import { Component, OnInit, OnChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { HomeService } from '../shared/home.service';\r\nimport { DialogStatusComponent } from '../quick-actions/dialog-status.component/dialog-status.component';\r\nimport { MatDialog } from '@angular/material/dialog';\r\n\r\n@Component({\r\n selector: 'status-units-graph',\r\n templateUrl: './status-units-graph.component.html',\r\n styleUrls: ['./status-units-graph.component.css']\r\n})\r\nexport class StatusUnitsGraphComponent implements OnInit {\r\n public doughnutChartLabels: string[] = [];\r\n public doughnutChartOptions = {\r\n borderWidth: 1,\r\n maintainAspectRatio: false\r\n };\r\n public doughnutChartData: number[] = [];\r\n public doughnutChartType = 'doughnut';\r\n public doughnutChartLegend = true;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private homeService: HomeService,\r\n public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.homeService.dataToBeTransmitted.subscribe(data => {\r\n this.doughnutChartLabels = [];\r\n this.doughnutChartData = [];\r\n data?.statusGraph.forEach(i => this.doughnutChartLabels.push(i?.status ? i.status : \"Relay-Unit connection error\"))\r\n data?.statusGraph.forEach(i => this.doughnutChartData.push(i.count))\r\n })\r\n }\r\n\r\n\r\n openAppropriateDialog(dialogName: string) {\r\n const dialogRef = this.dialog.open(DialogStatusComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n minHeight: '50%',\r\n data: dialogName,\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n this.homeService.getVMSStatistics().subscribe(data => {\r\n this.homeService.dataToBeTransmitted.next(data.data);\r\n }, err => {\r\n this.loggerService.log(\"ProvisionUnitsGraphComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n });\r\n }\r\n\r\n returnElementColor(element: string) {\r\n return \"blue\";\r\n // if (element == \"No HTTPS response\") return \"red\";\r\n // else if (element == \"Idle\" || element == \"In a call\") return \"green\";\r\n // else return \"blue\";\r\n }\r\n}\r\n","
\r\n
\r\n

Units Status

\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
{{doughnutChartLabels[i]}}{{doughnutChartData[i]?doughnutChartData[i]:\"Relay-Unit connection error\"}}
\r\n
\r\n
\r\n\r\n","// import jwt_decode from 'jwt-decode'\r\n// import { Component, Inject, OnInit } from '@angular/core';\r\n// import { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// // @ts-ignore\r\n// import { AD, user_access, auth_server_sso, auth_server } from '../assets/conf_urls.json';\r\n// import { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n// import { DOCUMENT } from '@angular/common';\r\n// import { ActivatedRoute, Router } from '@angular/router';\r\n// import { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n// @Component({\r\n// selector: 'app-loginpage',\r\n// templateUrl: './loginpage.component.html',\r\n// styleUrls: ['./loginpage.component.css']\r\n// })\r\n// export class LoginpageComponent implements OnInit {\r\n// form: FormGroup;\r\n// user_email = new FormControl('', Validators.required);\r\n// msg;\r\n// ssoTokenReceived: string = null;\r\n\r\n// constructor(private http: HttpClient,\r\n// public router: Router,\r\n// public accessAuthService: AccessAuthService,\r\n// private routeActivated: ActivatedRoute,\r\n// fb: FormBuilder,\r\n// @Inject(DOCUMENT) private document: Document,\r\n// private loggerService: LoggerService) {\r\n// this.form = fb.group({\r\n// 'user_email': this.user_email,\r\n// 'user_password': ['', Validators.required]\r\n// });\r\n// }\r\n\r\n// auth_ui_class = '';\r\n// auth_ui_res = false;\r\n// auth_ui_msg = '';\r\n// auth_ui_process = '';\r\n\r\n\r\n// ngOnInit(): void {\r\n// localStorage.clear();\r\n// this.routeActivated.queryParams.subscribe(params => {\r\n// if (params[\"token\"]) {\r\n// const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + params[\"token\"], responseType: 'text' });\r\n// this.http.post(auth_server_sso.verify, {\r\n// }, { headers }).subscribe( async res => {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', params[\"token\"]);\r\n// let new_user_info_obj: any = await jwt_decode(localStorage.getItem('accessToken'));\r\n// console.log(new_user_info_obj)\r\n// let adminAuthorization: boolean = new_user_info_obj?.role === \"admin\" ? true : false;\r\n// this.accessAuthService.isAdmin.next(adminAuthorization);\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.next(new_user_info_obj)\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// },\r\n// (error) => {\r\n// window.location.href = '#/login';\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", params[\"token\"], error.message, Levels.error)\r\n// });\r\n// } else if (!params[\"token\"] && this.router.url == \"/admin-login\") {\r\n// //don't execute any function\r\n// } else {\r\n// this.goToSSO();\r\n// }\r\n\r\n// });\r\n// }\r\n\r\n// receiveMessage($event) {\r\n// }\r\n\r\n// get_user_access(useremail: any) {\r\n// useremail = useremail.trim();\r\n// localStorage.setItem('useremail', useremail);\r\n// var json_object = { 'user_email': useremail };\r\n// this.http.post(user_access.url, json_object).subscribe(data => {\r\n// if (data.toString().length > 0) {\r\n// //if user active\r\n// if (data[0]['is_active'] == 'y') {\r\n// var useraccess = data[0]['user_permission'];\r\n// localStorage.setItem('ua', useraccess);\r\n// //create a session\r\n// this.new_user_session(useremail);\r\n// //end\r\n// window.location.href = '#/home';\r\n// }\r\n// //if user not active\r\n// if (data[0]['is_active'] == 'n') {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'yellow';\r\n// this.auth_ui_msg = 'Login Problem!';\r\n// this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n// window.location.href = '#/newaccess';\r\n// }\r\n// } else {\r\n\r\n// // no data , new user\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'yellow';\r\n// this.auth_ui_msg = 'Login Problem!';\r\n// this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n// window.location.href = '#/newaccess';\r\n// }\r\n\r\n// }\r\n// );\r\n// }\r\n\r\n// new_user_session(useremail: any) {\r\n// useremail = useremail.trim() + '@vodafone.com';\r\n// var json_object = { 'user_email': useremail };\r\n// this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n// localStorage.setItem('usession', data.toString());\r\n// }\r\n// );\r\n// }\r\n\r\n// //new implementation\r\n// onSubmit() {\r\n// this.auth_ui_res = false;\r\n// var json_obj = this.form.value;\r\n// json_obj['user_email'] = json_obj['user_email'].trim();\r\n// if (json_obj['user_email'].toString().includes('@')) {\r\n// json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n// }\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n// if (this.router.url == \"/admin-login\") {\r\n// this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n// if ('accessToken' in res) {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// } else {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n// }\r\n// },\r\n// (error) => { //Error callback\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n// });\r\n// } else {\r\n// this.http.post(auth_server_sso.auth, json_obj).subscribe(res => {\r\n// if ('accessToken' in res) {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'green';\r\n// this.auth_ui_msg = '';\r\n// this.auth_ui_process = '';\r\n// localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n// window.location.href = '#/home';\r\n// this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n// } else {\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n// }\r\n// },\r\n// (error) => { //Error callback\r\n// this.auth_ui_res = true;\r\n// this.auth_ui_class = 'red';\r\n// this.auth_ui_msg = 'Login Failed!';\r\n// this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n// this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n// });\r\n// }\r\n// }\r\n\r\n// //added for password toggel visibility\r\n// toggelVisibility(event) {\r\n// const togglePassword = document.querySelector('#togglePassword');\r\n// const password = document.querySelector('#password');\r\n// // toggle the type attribute\r\n// const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n// password.setAttribute('type', type);\r\n// // toggle the eye / eye slash icon\r\n// if (togglePassword.className == \"fa fa-eye\") {\r\n// togglePassword.className = \"fa fa-eye-slash\";\r\n// } else {\r\n// togglePassword.className = \"fa fa-eye\";\r\n// }\r\n// }\r\n// visibilityOff() {\r\n// const togglePassword = document.querySelector('#togglePassword');\r\n// const password = document.querySelector('#password');\r\n// togglePassword.className = \"fa fa-eye-slash\";\r\n// password.setAttribute('type', 'password');\r\n// }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n// //sso login functions\r\n\r\n\r\n// //create a unique identifier (helper function)\r\n// _guid() {\r\n// let dt = new Date().getTime();\r\n// let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n// let r = (dt + Math.random() * 16) % 16 | 0;\r\n// dt = Math.floor(dt / 16);\r\n// return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n// });\r\n// return uuid;\r\n// }\r\n\r\n// // Build query string from map of query parameter (helper function)\r\n// toQueryString(queryParams) {\r\n// let encodedQueryParams = [];\r\n// for (let key in queryParams) {\r\n// encodedQueryParams.push(key + \"=\" + encodeURIComponent(queryParams[key]));\r\n// }\r\n// return encodedQueryParams.join(\"&\");\r\n// }\r\n\r\n// goToSSO() {\r\n// // Generate random state string and store it, so we can verify it in the callback\r\n// let state = this._guid();\r\n// localStorage.setItem(\"simple.state\", state);\r\n// localStorage.removeItem(\"simple.error\");\r\n// // Go to the Azure AD authorization endpoint\r\n// let queryParams = {\r\n// //client_id guid is the application ID from Azure AD\r\n// client_id: \"48933c2d-494d-4af3-ba3b-9b1f98787100\",\r\n// response_type: \"id_token token\",\r\n// response_mode: \"form_post\",\r\n// // response_mode: \"fragment\",\r\n// scope: \"https://graph.microsoft.com/User.Read openid\",\r\n// // redirect_uri: window.location.origin + \"/WebAuthEnd.html\",\r\n// redirect_uri: \"https://vmscloud.vroom.vodafone.com/ssousers/auth\",\r\n// nonce: this._guid(),\r\n// state: state\r\n// };\r\n\r\n// //authentication endpoint for the tenant (guid string is tenant identifier)\r\n// let authorizeEndpoint = \"https://login.microsoftonline.com/40e6c668-31a4-4c8f-b5d6-e6659accf7b6/oauth2/v2.0/authorize?\" + this.toQueryString(queryParams);\r\n\r\n// this.document.location.href = authorizeEndpoint;\r\n// }\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\n// @ts-ignore\r\nimport { AD, user_access, auth_server } from '../assets/conf_urls.json';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { Router } from '@angular/router';\r\n\r\n@Component({\r\n selector: 'app-loginpage',\r\n templateUrl: './loginpage.component.html',\r\n styleUrls: ['./loginpage.component.css']\r\n})\r\nexport class LoginpageComponent implements OnInit {\r\n form: FormGroup;\r\n user_email = new FormControl('', Validators.required);\r\n msg;\r\n\r\n constructor(private http: HttpClient,\r\n public router: Router,\r\n fb: FormBuilder,\r\n private loggerService: LoggerService) {\r\n this.form = fb.group({\r\n 'user_email': this.user_email,\r\n 'user_password': ['', Validators.required]\r\n });\r\n }\r\n\r\n auth_ui_class = '';\r\n auth_ui_res = false;\r\n auth_ui_msg = '';\r\n auth_ui_process = '';\r\n\r\n\r\n ngOnInit(): void {\r\n localStorage.clear();\r\n }\r\n\r\n receiveMessage($event) {\r\n //console.log($event);\r\n }\r\n\r\n get_user_access(useremail: any) {\r\n useremail = useremail.trim();\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n this.new_user_session(useremail);\r\n //end\r\n window.location.href = '#/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n } else {\r\n\r\n // no data , new user\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n new_user_session(useremail: any) {\r\n useremail = useremail.trim() + '@vodafone.com';\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n localStorage.setItem('usession', data.toString());\r\n }\r\n );\r\n }\r\n\r\n //new implementation\r\n loading = false;\r\n onSubmit() {\r\n this.loading=true;\r\n this.auth_ui_res = false;\r\n var json_obj = this.form.value;\r\n json_obj['user_email'] = json_obj['user_email'].trim();\r\n if (json_obj['user_email'].toString().includes('@')) {\r\n json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n }\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n this.auth_ui_msg = 'Login Success!';\r\n //this.auth_ui_process = 'Redirecting to the Home page...';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.loading=false;\r\n console.log(\"loading \");\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information or account is active.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n \r\n }\r\n \r\n \r\n },\r\n (error) => { //Error callback\r\n ////console.log('Unauthorized')\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information or account is active.';\r\n this.loading=false;\r\n //console.log(error)\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n }\r\n\r\n //added for password toggel visibility\r\n toggelVisibility(event) {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n ////console.log(event.type);\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n if (togglePassword.className == \"fa fa-eye\") {\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n } else {\r\n togglePassword.className = \"fa fa-eye\";\r\n }\r\n }\r\n visibilityOff() {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n password.setAttribute('type', 'password');\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n
\r\n \"Vodafone\"\r\n\r\n VMS\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \"Vodafone\"\r\n VMS Login\r\n

\r\n

Login Form

\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n \r\n
\r\n
\r\n {{auth_ui_msg}}\r\n
\r\n

{{auth_ui_process}}

\r\n
\r\n \r\n
\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 jwt_decode from 'jwt-decode'\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\n// @ts-ignore\r\nimport { AD, user_access, auth_server_sso, auth_server } from '../assets/conf_urls.json';\r\nimport { FormGroup, FormControl, Validators, FormBuilder } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { DOCUMENT } from '@angular/common';\r\nimport { ActivatedRoute, Router } from '@angular/router';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-loginpage-sso',\r\n templateUrl: './loginpagesso.component.html',\r\n styleUrls: ['./loginpagesso.component.css']\r\n})\r\nexport class LoginpageSSOComponent implements OnInit {\r\n form: FormGroup;\r\n user_email = new FormControl('', Validators.required);\r\n msg;\r\n ssoTokenReceived: string = null;\r\n\r\n constructor(private http: HttpClient,\r\n public router: Router,\r\n public accessAuthService: AccessAuthService,\r\n private routeActivated: ActivatedRoute,\r\n fb: FormBuilder,\r\n @Inject(DOCUMENT) private document: Document,\r\n private loggerService: LoggerService) {\r\n this.form = fb.group({\r\n 'user_email': this.user_email,\r\n 'user_password': ['', Validators.required]\r\n });\r\n }\r\n\r\n auth_ui_class = '';\r\n auth_ui_res = false;\r\n auth_ui_msg = '';\r\n auth_ui_process = '';\r\n\r\n\r\n ngOnInit(): void {\r\n localStorage.clear();\r\n this.routeActivated.queryParams.subscribe(params => {\r\n if (params[\"token\"]) {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + params[\"token\"], responseType: 'text' });\r\n this.http.post(auth_server_sso.verify, {\r\n }, { headers }).subscribe( async res => {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n await localStorage.setItem('accessToken', params[\"token\"]);\r\n let new_user_info_obj: any = await jwt_decode(localStorage.getItem('accessToken'));\r\n let adminAuthorization: boolean = new_user_info_obj?.role === \"admin\" ? true : false;\r\n this.accessAuthService.isAdmin.next(adminAuthorization);\r\n this.accessAuthService.user_info_obj_BehaviorSubject.next(new_user_info_obj)\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n },\r\n (error) => {\r\n window.location.href = '#/login';\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", params[\"token\"], error.message, Levels.error)\r\n });\r\n } else if (!params[\"token\"] && this.router.url == \"/admin-login\") {\r\n //don't execute any function\r\n } else {\r\n this.goToSSO();\r\n }\r\n\r\n });\r\n }\r\n\r\n receiveMessage($event) {\r\n }\r\n\r\n get_user_access(useremail: any) {\r\n useremail = useremail.trim();\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n this.new_user_session(useremail);\r\n //end\r\n window.location.href = '#/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your VMS account isn\\'t active or access requested before. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n } else {\r\n\r\n // no data , new user\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'yellow';\r\n this.auth_ui_msg = 'Login Problem!';\r\n this.auth_ui_process = 'Your account has no access to VMS,you will be redirected to the access request page. ';\r\n window.location.href = '#/newaccess';\r\n }\r\n\r\n }\r\n );\r\n }\r\n\r\n new_user_session(useremail: any) {\r\n useremail = useremail.trim() + '@vodafone.com';\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.new_user_session, json_object).subscribe(data => {\r\n localStorage.setItem('usession', data.toString());\r\n }\r\n );\r\n }\r\n\r\n //new implementation\r\n onSubmit() {\r\n this.auth_ui_res = false;\r\n var json_obj = this.form.value;\r\n json_obj['user_email'] = json_obj['user_email'].trim();\r\n if (json_obj['user_email'].toString().includes('@')) {\r\n json_obj['user_email'] = json_obj['user_email'].toString().split('@')[0];\r\n }\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"trying to login.\", Levels.info)\r\n if (this.router.url == \"/admin-login\") {\r\n this.http.post(auth_server.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n }\r\n },\r\n (error) => { //Error callback\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n } else {\r\n this.http.post(auth_server_sso.auth, json_obj).subscribe(res => {\r\n if ('accessToken' in res) {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'green';\r\n this.auth_ui_msg = '';\r\n this.auth_ui_process = '';\r\n localStorage.setItem('accessToken', res[\"accessToken\"]);\r\n window.location.href = '#/home';\r\n this.loggerService.log(\"LoginpageComponent\", \"logged in\", Levels.info)\r\n } else {\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], \"wrong id or password\", Levels.info)\r\n }\r\n },\r\n (error) => { //Error callback\r\n this.auth_ui_res = true;\r\n this.auth_ui_class = 'red';\r\n this.auth_ui_msg = 'Login Failed!';\r\n this.auth_ui_process = 'Please check you have correctly entered your information.';\r\n this.loggerService.logUser(\"LoginpageComponent\", json_obj['user_email'], error.message, Levels.error)\r\n });\r\n }\r\n }\r\n\r\n //added for password toggel visibility\r\n toggelVisibility(event) {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n // toggle the type attribute\r\n const type = password.getAttribute('type') === 'password' ? 'text' : 'password';\r\n password.setAttribute('type', type);\r\n // toggle the eye / eye slash icon\r\n if (togglePassword.className == \"fa fa-eye\") {\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n } else {\r\n togglePassword.className = \"fa fa-eye\";\r\n }\r\n }\r\n visibilityOff() {\r\n const togglePassword = document.querySelector('#togglePassword');\r\n const password = document.querySelector('#password');\r\n togglePassword.className = \"fa fa-eye-slash\";\r\n password.setAttribute('type', 'password');\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n //sso login functions\r\n\r\n\r\n //create a unique identifier (helper function)\r\n _guid() {\r\n let dt = new Date().getTime();\r\n let uuid = 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n let r = (dt + Math.random() * 16) % 16 | 0;\r\n dt = Math.floor(dt / 16);\r\n return (c == 'x' ? r : (r & 0x3 | 0x8)).toString(16);\r\n });\r\n return uuid;\r\n }\r\n\r\n // Build query string from map of query parameter (helper function)\r\n toQueryString(queryParams) {\r\n let encodedQueryParams = [];\r\n for (let key in queryParams) {\r\n encodedQueryParams.push(key + \"=\" + encodeURIComponent(queryParams[key]));\r\n }\r\n return encodedQueryParams.join(\"&\");\r\n }\r\n\r\n goToSSO() {\r\n // Generate random state string and store it, so we can verify it in the callback\r\n let state = this._guid();\r\n localStorage.setItem(\"simple.state\", state);\r\n localStorage.removeItem(\"simple.error\");\r\n // Go to the Azure AD authorization endpoint\r\n let queryParams = {\r\n //client_id guid is the application ID from Azure AD\r\n client_id: \"bb76ed29-eadc-4c59-8305-826d47cfea57\",\r\n response_type: \"id_token token\",\r\n response_mode: \"form_post\",\r\n // response_mode: \"fragment\",\r\n scope: \"https://graph.microsoft.com/User.Read openid\",\r\n // redirect_uri: window.location.origin + \"/WebAuthEnd.html\",\r\n redirect_uri: \"https://vmscloud.vroom.vodafone.com/ssousers/auth\",\r\n nonce: this._guid(),\r\n state: state\r\n };\r\n\r\n //authentication endpoint for the tenant (guid string is tenant identifier)\r\n let authorizeEndpoint = \"https://login.microsoftonline.com/68283f3b-8487-4c86-adb3-a5228f18b893/oauth2/v2.0/authorize?\" + this.toQueryString(queryParams);\r\n\r\n this.document.location.href = authorizeEndpoint;\r\n }\r\n\r\n}\r\n\r\n","
\r\n\r\n
\r\n \"Vodafone\"\r\n\r\n VMS\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n

\r\n \"Vodafone\"\r\n VMS Login\r\n

\r\n

Login Form

\r\n\r\n
\r\n\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n {{auth_ui_msg}}\r\n
\r\n

{{auth_ui_process}}

\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n\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 { UserDetailedLog } from './../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedLogs.component.html',\r\n styleUrls: ['./dialog.detailedLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsComponent implements OnInit, AfterViewChecked {\r\n logs: UserDetailedLog[] = [];\r\n rowColor: string = \"bisque\";\r\n displayedColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'operation_title', 'operation_request', 'operation_response', 'parent_job_id'];\r\n // displayedColumns: string[] = ['job_id', 'log_time', 'log_content'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId, IP },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getDetailedLogs(this.data.jobId, this.data.IP).subscribe({\r\n next: response => {\r\n // let data: any = response.data\r\n this.logs = response.data;\r\n // if (this.logs.length == 0) {\r\n // let emptyObject: UserDetailedLog = {\r\n // job_id: \"NA\",\r\n // log_time: \"NA\",\r\n // log_content: \"NA\"\r\n // };\r\n // this.logs.push(emptyObject);\r\n // }\r\n\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n // let emptyObject: UserDetailedLog = {\r\n // job_id: \"NA\",\r\n // log_time: \"NA\",\r\n // log_content: \"NA\"\r\n // };\r\n // this.logs.push(emptyObject);\r\n this.loggerService.log(\"DialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n colorRow(elementData: UserDetailedLog): string {\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // this.rowColor = 'limegreen';\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // this.rowColor = 'red';\r\n // } else {\r\n // this.rowColor = \"white\";\r\n // }\r\n return this.rowColor;\r\n }\r\n\r\n // fetchOperationResponse(elementData: UserDetailedLog): string {\r\n // let response: string = \"\";\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // //response = 'Success';\r\n // response = elementData.operation_response;\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // // response = 'Failed';\r\n // response = elementData.operation_response;\r\n // } else {\r\n // response = 'NA';\r\n // }\r\n // return response;\r\n // }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Job Name {{element.job_name?element.job_name:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} Operation Title {{element.operation_title?element.operation_title:\"NA\"}} Operation Request {{element.operation_request?element.operation_request:\"NA\"}} Operation Response {{element.operation_response?element.operation_response:\"NA\"}} Parent job ID {{element.parent_job_id?element.parent_job_id:\"NA\"}} IP Address {{element.ip_address?element.ip_address:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { TemplateJobs } from './../../shared/templateJobs';\r\nimport { UserDetailedLog } from '../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedTemplateLogs.component.html',\r\n styleUrls: ['./dialog.detailedTemplateLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsTemplatesComponent implements OnInit, AfterViewChecked {\r\n logs: TemplateJobs[] = [];\r\n rowColor: string = \"bisque\";\r\n displayedColumns: string[] = ['job_title', 'template_job_id', 'system_name',\r\n 'next_run_time', 'system_ip', 'template_frequency'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { templateID },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getUpcomingTemplatesJobs(this.data.templateID).subscribe({\r\n next: response => {\r\n this.logs = response.data;\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n this.loggerService.log(\"DialogDetailedLogsTemplatesComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job Title {{element.job_title?element.job_title:\"NA\"}} Template Job ID {{element.template_job_id?element.template_job_id:\"NA\"}} System Name {{element.system_name?element.system_name:\"NA\"}} Next Run Time {{element.next_run_time?element.next_run_time:\"NA\"}} Template Frequency {{element.template_frequency?element.template_frequency:\"NA\"}} IP Address {{element.system_ip?element.system_ip:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { UserDetailedLogWallpaper } from 'src/logs/shared/UserDetailedLogWallpaper.model';\r\n\r\n@Component({\r\n templateUrl: './dialog.detailedLogs_wallpaper.component.html',\r\n styleUrls: ['./dialog.detailedLogs_wallpaper.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class DialogDetailedLogsWallpaperComponent implements OnInit, AfterViewChecked {\r\n logs: UserDetailedLogWallpaper[] = [];\r\n rowColor: string = \"bisque\";\r\n // displayedColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'operation_title', 'operation_request', 'operation_response', 'parent_job_id'];\r\n displayedColumns: string[] = ['job_id', 'log_time', 'log_content'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId, IP },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getWallpaperDetailedLogs(this.data.jobId, this.data.IP).subscribe({\r\n next: response => {\r\n let data: any = response.data\r\n this.logs = JSON.parse(data);\r\n\r\n if (this.logs.length == 0) {\r\n let emptyObject: UserDetailedLogWallpaper = {\r\n job_id: \"NA\",\r\n log_time: \"NA\",\r\n log_content: \"NA\"\r\n };\r\n this.logs.push(emptyObject);\r\n }\r\n\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n let emptyObject: UserDetailedLogWallpaper = {\r\n job_id: \"NA\",\r\n log_time: \"NA\",\r\n log_content: \"NA\"\r\n };\r\n this.logs.push(emptyObject);\r\n this.loggerService.log(\"DialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n colorRow(elementData: UserDetailedLogWallpaper): string {\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // this.rowColor = 'limegreen';\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // this.rowColor = 'red';\r\n // } else {\r\n // this.rowColor = \"white\";\r\n // }\r\n return this.rowColor;\r\n }\r\n\r\n // fetchOperationResponse(elementData: UserDetailedLog): string {\r\n // let response: string = \"\";\r\n // if (elementData.operation_response.includes(\"OK\")) {\r\n // //response = 'Success';\r\n // response = elementData.operation_response;\r\n // } else if (elementData.operation_response.includes(\"ERROR\")) {\r\n // // response = 'Failed';\r\n // response = elementData.operation_response;\r\n // } else {\r\n // response = 'NA';\r\n // }\r\n // return response;\r\n // }\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Log Time {{element.log_time?element.log_time:\"NA\"}} Log Content {{element.log_content?element.log_content:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { UserDetailedLog } from '../../shared/UserDetailedLog.model';\r\nimport { Component, Inject, ViewChild, OnInit, AfterViewChecked, ElementRef } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { LoggingService } from 'src/logs/shared/logging.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { JobState } from 'src/logs/shared/jobState.model';\r\n\r\n@Component({\r\n templateUrl: './statedialog.detailedLogs.component.html',\r\n styleUrls: ['./statedialog.detailedLogs.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class StateDialogDetailedLogsComponent implements OnInit, AfterViewChecked {\r\n logs: JobState[] = [];\r\n displayedColumns: string[] = ['job_id', 'status', 'result'];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n @Inject(MAT_DIALOG_DATA) public data: { jobId },\r\n private loggerService: LoggerService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getLogs();\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '2px';\r\n element.style.fontSize = '12px';\r\n\r\n });\r\n }\r\n\r\n getLogs() {\r\n this.loggingService.getWallpaperStateLogs(this.data.jobId).subscribe({\r\n next: response => {\r\n this.logs = response.data;\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n },\r\n error: err => {\r\n this.loggerService.log(\"StateDialogDetailedLogsComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearLogs() {\r\n this.logs = [];\r\n this.logsTableData = new MatTableDataSource(this.logs);\r\n this.logsTableData.paginator = this.paginator;\r\n this.logsTableData.sort = this.sort;\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.logsTableData.paginator) {\r\n this.logsTableData.paginator.firstPage();\r\n }\r\n }\r\n onClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n close\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Status {{element.status?element.status:\"NA\"}} Response {{element.result?element.result:\"NA\"}}
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n
\r\n","import { TemplateJobsGeneral } from './../shared/templateJobsGeneral';\r\nimport { WallpaperLog } from './../shared/wallpaperLogs.model';\r\nimport { DialogDetailedLogsComponent } from './dialog-detailedLogs/dialog.detailedLogs.component';\r\nimport { LoggingService } from '../shared/logging.service';\r\nimport { AfterViewChecked, Component, ElementRef, OnInit, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { UserLog } from '../shared/UserLog.model';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { TemplateJobs } from '../shared/templateJobs';\r\nimport { softwareUpgradeJob } from '../shared/softwareUpgradeJob';\r\nimport { UserTemplateLog } from '../shared/UserTemplateLog.model';\r\nimport { ConflictLog } from '../shared/conflictLogs.model';\r\nimport { AuditLog } from '../shared/auditLogs.model';\r\nimport { DialogDetailedLogsTemplatesComponent } from './dialog-detailedLogsTemplates/dialog.detailedTemplateLogs.component';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogDetailedLogsWallpaperComponent } from './dialog-detailedLogs_wallpaper/dialog.detailedLogs_wallpaper.component';\r\n\r\n@Component({\r\n selector: 'app-logging',\r\n templateUrl: './logging.component.html',\r\n styleUrls: ['./logging.component.css'],\r\n providers: [LoggingService]\r\n})\r\nexport class LoggingComponent implements OnInit, AfterViewChecked {\r\n\r\n templateLogs: UserTemplateLog[] = [];\r\n softwareUpgradeLogs: UserLog[] = [];\r\n upcomingTemplatesLogs: TemplateJobsGeneral[] = [];\r\n upComingSoftwareUpgradesLogs: softwareUpgradeJob[] = [];\r\n conflictsLogs: ConflictLog[] = [];\r\n auditLogs: AuditLog[] = [];\r\n wallpaperLogs: WallpaperLog[] = [];\r\n\r\n rowColor: string = \"bisque\";\r\n\r\n templateLogsColumns: string[] = ['job_id', 'job_name', 'ip_address', 'created_at', 'actions'];\r\n softwareUpgradeLogsColumns: string[] = ['job_id', 'system_name', 'system_ip', 'created_at', 'start_at', 'job_status', 'parent_job_id', 'upgrade_status_last_change', 'upgrade_status_status', 'actions'];\r\n upcomingTemplatesLogsColumns: string[] = ['job_title', 'template_job_id', 'start_job_at', 'job_creator_editor', 'next_run_time', 'expired', 'template_frequency', 'actions'];\r\n upComingSoftwareUpgrades: string[] = ['deleteIcon', 'job_id', 'system_ip', 'operation_name', 'start_at', 'system_command'];\r\n conflictsColumns: string[] = ['conflict_date', 'conflict_ip', 'affected_ip', 'issue', 'action_taken'];\r\n auditColumns: string[] = ['request_details', 'requested_by', 'requested_at', 'request_state', 'completed_at'];\r\n wallpaperColumns: string[] = ['job_id', 'endpoint_ip', 'image_id', 'created_by', 'creationDate', 'actions'];\r\n\r\n templateLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n softwareUpgradeLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n upcomingTemplatesLogsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n upComingSoftwareUpgradesTableData: MatTableDataSource = new MatTableDataSource([]);\r\n conflictsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n auditTableData: MatTableDataSource = new MatTableDataSource([]);\r\n wallpaperTableData: MatTableDataSource = new MatTableDataSource([]);\r\n\r\n\r\n\r\n @ViewChildren(MatPaginator) paginator = new QueryList();\r\n @ViewChildren(MatSort) sort = new QueryList();\r\n\r\n\r\n constructor(public loggingService: LoggingService,\r\n private elem: ElementRef,\r\n public dialog: MatDialog,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.getTemplateLogs();\r\n // this.getSoftwareUpgradeLogs();\r\n // this.getUpcomingTemplatesLogs();\r\n // this.getUpComingSoftwareUpgrades();\r\n // this.getConflictLogs();\r\n // this.getAuditLogs();\r\n\r\n\r\n }\r\n\r\n ngAfterViewChecked(): void {\r\n //to adjust the headers of the table\r\n //(document.querySelector('.mat-sort-header-container') as HTMLElement).style.justifyContent='center';\r\n let elements = this.elem.nativeElement.querySelectorAll('.mat-sort-header-container');\r\n elements.forEach(element => {\r\n element.style.justifyContent = 'center';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('th');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.fontWeight = '800';\r\n element.style.color = 'black';\r\n element.style.padding = '4px';\r\n });\r\n elements = this.elem.nativeElement.querySelectorAll('td');\r\n elements.forEach(element => {\r\n element.style.textAlign = 'center';\r\n element.style.padding = '4px';\r\n });\r\n }\r\n\r\n getTemplateLogs() {\r\n this.loggingService.getLogs('templates_logs').subscribe({\r\n next: response => {\r\n this.templateLogs = response.data;\r\n this.templateLogsTableData = new MatTableDataSource(this.templateLogs);\r\n this.templateLogsTableData.paginator = this.paginator.toArray()[0];\r\n this.templateLogsTableData.sort = this.sort.toArray()[0];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getSoftwareUpgradeLogs() {\r\n this.loggingService.getSWLogs('sw_upgrade_logs').subscribe({\r\n next: response => {\r\n this.softwareUpgradeLogs = response.data;\r\n this.softwareUpgradeLogsTableData = new MatTableDataSource(this.softwareUpgradeLogs);\r\n this.softwareUpgradeLogsTableData.paginator = this.paginator.toArray()[1];\r\n this.softwareUpgradeLogsTableData.sort = this.sort.toArray()[1];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getUpcomingTemplatesLogs() {\r\n this.loggingService.getUpcomingTemplatesJobsData().subscribe({\r\n next: response => {\r\n let today = new Date()\r\n this.upcomingTemplatesLogs = response.data;\r\n this.upcomingTemplatesLogs.forEach(element => {\r\n if (Date.parse(element.next_run_time) > Date.parse(today.toString())) {\r\n element.expired = \"No\";\r\n } else {\r\n element.expired = \"Yes\";\r\n }\r\n });\r\n this.upcomingTemplatesLogsTableData = new MatTableDataSource(this.upcomingTemplatesLogs);\r\n this.upcomingTemplatesLogsTableData.paginator = this.paginator.toArray()[2];\r\n this.upcomingTemplatesLogsTableData.sort = this.sort.toArray()[2];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getUpComingSoftwareUpgrades() {\r\n this.loggingService.getUpComingSoftwareUpgrades().subscribe({\r\n next: response => {\r\n this.upComingSoftwareUpgradesLogs = response.data;\r\n this.upComingSoftwareUpgradesTableData = new MatTableDataSource(this.upComingSoftwareUpgradesLogs);\r\n this.upComingSoftwareUpgradesTableData.paginator = this.paginator.toArray()[3];\r\n this.upComingSoftwareUpgradesTableData.sort = this.sort.toArray()[3];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n })\r\n }\r\n\r\n getConflictLogs() {\r\n this.loggingService.getConflictLogs().subscribe({\r\n next: response => {\r\n this.conflictsLogs = response.data;\r\n this.conflictsTableData = new MatTableDataSource(this.conflictsLogs);\r\n this.conflictsTableData.paginator = this.paginator.toArray()[4];\r\n this.conflictsTableData.sort = this.sort.toArray()[4];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getAuditLogs() {\r\n this.loggingService.getAuditLogs().subscribe({\r\n next: response => {\r\n this.auditLogs = response.data;\r\n this.auditTableData = new MatTableDataSource(this.auditLogs);\r\n this.auditTableData.paginator = this.paginator.toArray()[5];\r\n this.auditTableData.sort = this.sort.toArray()[5];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n getWallpaperLogs() {\r\n this.loggingService.getWallpaperLogs().subscribe({\r\n next: response => {\r\n this.wallpaperLogs = response.data;\r\n this.wallpaperTableData = new MatTableDataSource(this.wallpaperLogs);\r\n this.wallpaperTableData.paginator = this.paginator.toArray()[6];\r\n this.wallpaperTableData.sort = this.sort.toArray()[6];\r\n },\r\n error: err => {\r\n this.loggerService.log(\"LoggingComponent\", err.message, Levels.error)\r\n }\r\n });\r\n }\r\n\r\n clearTemplateLogs() {\r\n this.templateLogs = [];\r\n this.templateLogsTableData = new MatTableDataSource(this.templateLogs);\r\n this.templateLogsTableData.paginator = this.paginator.toArray()[0];\r\n this.templateLogsTableData.sort = this.sort.toArray()[0];\r\n }\r\n\r\n clearSoftwareUpgradeLogs() {\r\n this.softwareUpgradeLogs = [];\r\n this.softwareUpgradeLogsTableData = new MatTableDataSource(this.softwareUpgradeLogs);\r\n this.softwareUpgradeLogsTableData.paginator = this.paginator.toArray()[1];\r\n this.softwareUpgradeLogsTableData.sort = this.sort.toArray()[1];\r\n }\r\n\r\n clearUpcomingTemplatesLogs() {\r\n this.upcomingTemplatesLogs = [];\r\n this.upcomingTemplatesLogsTableData = new MatTableDataSource(this.upcomingTemplatesLogs);\r\n this.upcomingTemplatesLogsTableData.paginator = this.paginator.toArray()[2];\r\n this.upcomingTemplatesLogsTableData.sort = this.sort.toArray()[2];\r\n }\r\n\r\n clearUpcomingSoftwareUpgradesLogs() {\r\n this.upComingSoftwareUpgradesLogs = [];\r\n this.upComingSoftwareUpgradesTableData = new MatTableDataSource(this.upComingSoftwareUpgradesLogs);\r\n this.upComingSoftwareUpgradesTableData.paginator = this.paginator.toArray()[3];\r\n this.upComingSoftwareUpgradesTableData.sort = this.sort.toArray()[3];\r\n }\r\n\r\n clearConflictsLogs() {\r\n this.conflictsLogs = [];\r\n this.conflictsTableData = new MatTableDataSource(this.conflictsLogs);\r\n this.conflictsTableData.paginator = this.paginator.toArray()[4];\r\n this.conflictsTableData.sort = this.sort.toArray()[4];\r\n }\r\n\r\n clearAuditLogs() {\r\n this.auditLogs = [];\r\n this.auditTableData = new MatTableDataSource(this.auditLogs);\r\n this.auditTableData.paginator = this.paginator.toArray()[5];\r\n this.auditTableData.sort = this.sort.toArray()[5];\r\n }\r\n\r\n clearWallpaperLogs() {\r\n this.wallpaperLogs = [];\r\n this.wallpaperTableData = new MatTableDataSource(this.wallpaperLogs);\r\n this.wallpaperTableData.paginator = this.paginator.toArray()[6];\r\n this.wallpaperTableData.sort = this.sort.toArray()[6];\r\n }\r\n\r\n applyFilterTemplateLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.templateLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.templateLogsTableData.paginator) {\r\n this.templateLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterSoftwareUpgradeLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.softwareUpgradeLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.softwareUpgradeLogsTableData.paginator) {\r\n this.softwareUpgradeLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterUpcomingTemplatesLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.upcomingTemplatesLogsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.upcomingTemplatesLogsTableData.paginator) {\r\n this.upcomingTemplatesLogsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterUpcomingSoftwareUpgradesLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.upComingSoftwareUpgradesTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.upComingSoftwareUpgradesTableData.paginator) {\r\n this.upComingSoftwareUpgradesTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterConflictsLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.conflictsTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.conflictsTableData.paginator) {\r\n this.conflictsTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterAuditLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.auditTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.auditTableData.paginator) {\r\n this.auditTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n applyFilterWallpaperLogs(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.wallpaperTableData.filter = filterValue.trim().toLowerCase();\r\n if (this.wallpaperTableData.paginator) {\r\n this.wallpaperTableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n sendIDToDialog(jobId, IP) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { jobId: jobId, IP: IP }\r\n });\r\n\r\n }\r\n\r\n sendTemplateIDToDialog(templateID: string) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsTemplatesComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { templateID: templateID }\r\n });\r\n\r\n }\r\n\r\n sendIDToStateDialog(jobId) {\r\n const dialogRef = this.dialog.open(DialogDetailedLogsWallpaperComponent, {\r\n minWidth: '1000px',\r\n maxWidth: '95vw',\r\n maxHeight: '100vh',\r\n data: { jobId: jobId }\r\n });\r\n\r\n }\r\n\r\n reloadTabData(tabIndex) {\r\n if (tabIndex == 0) { this.clearTemplateLogs; this.getTemplateLogs(); }\r\n else if (tabIndex == 1) { this.clearSoftwareUpgradeLogs; this.getSoftwareUpgradeLogs(); }\r\n else if (tabIndex == 2) { this.clearUpcomingTemplatesLogs; this.getUpcomingTemplatesLogs(); }\r\n else if (tabIndex == 3) { this.clearUpcomingSoftwareUpgradesLogs(); this.getUpComingSoftwareUpgrades(); }\r\n else if (tabIndex == 4) { this.clearConflictsLogs(); this.getConflictLogs(); }\r\n else if (tabIndex == 5) { this.clearAuditLogs(); this.getAuditLogs(); }\r\n else if (tabIndex == 6) { this.clearWallpaperLogs(); this.getWallpaperLogs(); }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialogRemoveSWUpgrade(element) {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Remove Scheduled SW Upgrade\", message: `Confirm the removal of the scheduled SW upgrade with id: ${element.job_id} and ip address: ${element.system_ip}` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.loggingService.removeUpComingSoftwareUpgrade(element.job_id).subscribe(data => {\r\n this.getUpComingSoftwareUpgrades();\r\n this.openSnackBar(\"SW upgrade job removed successfully\", \"Success\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n}\r\n","\r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Job Name {{element.job_name?element.job_name:\"NA\"}} Unit IP Address {{element.ip_address?element.ip_address:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} System Name {{element.system_name?element.system_name:\"NA\"}} Unit IP Address {{element.system_ip?element.system_ip:\"NA\"}} Job Creation Date {{element.created_at?element.created_at:\"NA\"}} Job Status {{element.job_status?element.job_status:\"NA\"}} Job Start Date {{element.start_at?element.start_at:\"NA\"}} Job Parent ID {{element.parent_job_id?element.parent_job_id:\"NA\"}} Upgrade Status Last Change {{element.upgrade_status_last_change?element.upgrade_status_last_change:\"NA\"}} Upgrade Status {{element.upgrade_status_status?element.upgrade_status_status:\"NA\"}} \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
Job Title {{element.job_title?element.job_title:\"NA\"}} Job ID {{element.template_job_id?element.template_job_id:\"NA\"}} Start Date {{element.start_job_at?element.start_job_at:\"NA\"}} Next Run Time {{element.next_run_time?element.next_run_time:\"NA\"}} Job Expired {{element.expired}} Template Frequency {{element.template_frequency?element.template_frequency:\"NA\"}} Created by {{element.job_creator_editor?element.job_creator_editor:\"NA\"}} \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n
\r\n
\r\n \r\n delete_forever\r\n \r\n
\r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Unit IP Address {{element.system_ip?element.system_ip:\"NA\"}} Operation Name {{element.operation_name?element.operation_name:\"NA\"}} Upgrade Date {{element.start_at?element.start_at:\"NA\"}} System Command {{element.system_command?element.system_command:\"NA\"}}
\r\n\r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \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 {{element.conflict_date?element.conflict_date:\"NA\"}} Conflict IP {{element.conflict_ip?element.conflict_ip:\"NA\"}} Affected IP {{element.affected_ip?element.affected_ip:\"NA\"}} Issue Description {{element.issue?element.issue:\"NA\"}} Action Taken {{element.action_taken?element.action_taken:\"NA\"}}
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Request Details {{element.request_details?element.request_details:\"NA\"}} Requested By {{element.requested_by?element.requested_by:\"NA\"}} Requested At {{element.requested_at?element.requested_at:\"NA\"}} Request State {{element.request_state?element.request_state:\"NA\"}} Completion Date {{element.completed_at?element.completed_at:\"NA\"}}
\r\n\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
Job ID {{element.job_id?element.job_id:\"NA\"}} Unit IP Address {{element.endpoint_ip?element.endpoint_ip:\"NA\"}} Image Name {{element.image_id?element.image_id:\"NA\"}} Requested By {{element.created_by?element.created_by:\"NA\"}} Creation Date {{element.creationDate?element.creationDate:\"NA\"}} \r\n \r\n
\r\n\r\n \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 } from '@angular/core';\r\n@Component({\r\n selector: 'logs-component',\r\n templateUrl: './logs.component.html',\r\n styleUrls: ['./logs.component.css']\r\n})\r\n\r\nexport class LogsComponent {\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { TemplateJobsGeneral } from './templateJobsGeneral';\r\nimport { JobState } from './jobState.model';\r\nimport { softwareUpgradeJob } from './softwareUpgradeJob';\r\nimport { TemplateJobs } from './templateJobs';\r\nimport { UserLog } from './UserLog.model';\r\nimport { UserDetailedLog } from './UserDetailedLog.model';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core'\r\nimport { Observable } from 'rxjs';\r\nimport { logs } from '../../assets/conf_urls.json';\r\nimport { UserTemplateLog } from './UserTemplateLog.model';\r\nimport { ConflictLog } from './conflictLogs.model';\r\nimport { AuditLog } from './auditLogs.model';\r\nimport { WallpaperLog } from './wallpaperLogs.model';\r\nimport { UserDetailedLogWallpaper } from './UserDetailedLogWallpaper.model';\r\n\r\n@Injectable()\r\nexport class LoggingService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getLogs(searchText: string): Observable<{ data: UserTemplateLog[] }> {\r\n return this.http.post<{ data: UserTemplateLog[] }>(logs.getLogs, {\r\n \"event\": searchText\r\n });\r\n }\r\n\r\n getSWLogs(searchText: string): Observable<{ data: UserLog[] }> {\r\n return this.http.post<{ data: UserLog[] }>(logs.getLogs, {\r\n \"event\": searchText\r\n });\r\n }\r\n\r\n getDetailedLogs(jobId: string, ipAddress: string): Observable<{ data: UserDetailedLog[] }> {\r\n return this.http.post<{ data: UserDetailedLog[] }>(logs.getLogs, {\r\n \"event\": \"logs_by_ip_and_job\",\r\n \"job_id\": jobId,\r\n \"ip_address\": ipAddress\r\n });\r\n }\r\n\r\n getWallpaperDetailedLogs(jobId: string, ipAddress: string): Observable<{ data: UserDetailedLogWallpaper[] }> {\r\n return this.http.post<{ data: UserDetailedLogWallpaper[] }>(logs.getLogs, {\r\n \"event\": \"wallpaper_logs_details\",\r\n \"job_id\": jobId,\r\n \"ip_address\": ipAddress\r\n });\r\n }\r\n\r\n // getDetailedLogs2(jobId: string, ipAddress: string): Observable<{ data: any[] }> {\r\n // let url = `https://rtcapps:444/api/jobs/${jobId}`\r\n // return this.http.get<{ data: any[] }>(url);\r\n // }\r\n\r\n getUpcomingTemplatesJobs(tempId: string): Observable<{ data: TemplateJobs[] }> {\r\n return this.http.post<{ data: TemplateJobs[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_templates_jobs\",\r\n \"template_id\": tempId\r\n });\r\n }\r\n\r\n getUpcomingTemplatesJobsData(): Observable<{ data: TemplateJobsGeneral[] }> {\r\n return this.http.post<{ data: TemplateJobsGeneral[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_templates_data\"\r\n });\r\n }\r\n\r\n getUpComingSoftwareUpgrades(): Observable<{ data: softwareUpgradeJob[] }> {\r\n return this.http.post<{ data: softwareUpgradeJob[] }>(logs.getLogs, {\r\n \"event\": \"upcoming_software_upgrades\"\r\n });\r\n }\r\n\r\n removeUpComingSoftwareUpgrade(jobId): Observable {\r\n return this.http.post(logs.getLogs, {\r\n \"event\": \"remove_sw_upgrade_logs\",\r\n \"job_id\": jobId\r\n });\r\n }\r\n\r\n getConflictLogs(): Observable<{ data: ConflictLog[] }> {\r\n return this.http.post<{ data: ConflictLog[] }>(logs.getLogs, {\r\n \"event\": \"conflict_logs\"\r\n });\r\n }\r\n\r\n getAuditLogs(): Observable<{ data: AuditLog[] }> {\r\n return this.http.post<{ data: AuditLog[] }>(logs.getLogs, {\r\n \"event\": \"audit_logs\"\r\n });\r\n }\r\n\r\n getWallpaperLogs(): Observable<{ data: WallpaperLog[] }> {\r\n return this.http.post<{ data: WallpaperLog[] }>(logs.getLogs, {\r\n \"event\": \"wallpaper_logs\"\r\n });\r\n\r\n }\r\n\r\n getWallpaperStateLogs(id): Observable<{ data: JobState[] }> {\r\n let url = `https://rtcapps:444/api/jobs/${id}`\r\n return this.http.get<{ data: JobState[] }>(url);\r\n }\r\n\r\n}\r\n","import { defineCustomElements } from 'xml-viewer-component/dist/loader';\r\nimport { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n//enableProdMode();\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\ndefineCustomElements(window);","// import { Component, OnInit, OnChanges, SimpleChanges } from '@angular/core';\r\n// import { Router } from '@angular/router';\r\n// import { MatDialog } from '@angular/material/dialog';\r\n// import { LoggerService } from 'src/shared/logger/logger.service';\r\n// import { Levels } from 'src/shared/logger/levels.enum';\r\n// import { SearchModuleService } from 'src/shared/search.module.service';\r\n// import { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\n// import { AccessAuthService } from 'src/shared/access.auth.service';\r\n// import jwt_decode from 'jwt-decode'\r\n// import { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\n// import { AdminService } from 'src/admin/services/admin.service';\r\n\r\n// @Component({\r\n// selector: 'app-navbar',\r\n// templateUrl: './navbar.component.html',\r\n// styleUrls: ['./navbar.component.css']\r\n// })\r\n// export class NavbarComponent implements OnInit, OnChanges {\r\n// isCollapsed = true;\r\n// showFiller = false;\r\n// user_info_obj: any;\r\n// adminAuthorization: boolean = false;\r\n\r\n// constructor(public router: Router,\r\n// private loggerService: LoggerService,\r\n// private searchModuleService: SearchModuleService,\r\n// public dialog: MatDialog,\r\n// public accessAuthService: AccessAuthService,\r\n// public adminService: AdminService,) {\r\n\r\n// }\r\n// ngOnChanges(changes: SimpleChanges): void {\r\n// // if (!this.user_info_obj) {\r\n// // if (localStorage.getItem('accessToken')) {\r\n// // this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n// // } else {\r\n// // this.user_info_obj = null;\r\n// // }\r\n// // }\r\n// }\r\n\r\n// ngOnInit(): void {\r\n// // if (localStorage.getItem('accessToken')) {\r\n// // this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n// // } else {\r\n// // this.user_info_obj = null;\r\n// // }\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.subscribe(data => this.user_info_obj = data)\r\n// this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n// }\r\n\r\n// logOut(): void {\r\n// if (localStorage.getItem('accessToken')) {\r\n// localStorage.removeItem('accessToken');\r\n// this.accessAuthService.isAdmin.next(false);\r\n// this.accessAuthService.user_info_obj_BehaviorSubject.next(null)\r\n// }\r\n// this.router.navigate(['/login']);\r\n// this.loggerService.log(\"NavbarComponent\", `logged out`, Levels.info)\r\n// }\r\n\r\n// openDialog(): void {\r\n// this.searchModuleService.openSearchDialog();\r\n// }\r\n\r\n// goToHome() {\r\n// this.router.navigate(['/home'])\r\n// }\r\n\r\n// openConfirmationDialog(): void {\r\n// const dialogRef = this.dialog.open(ReportIssueDialogComponent, {\r\n// minWidth: '50vw',\r\n// maxWidth: '50vw',\r\n// minHeight: '50%',\r\n// data: {},\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n// // this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n// }\r\n// });\r\n\r\n// }\r\n\r\n// openResetPasswordDialog() {\r\n// const dialogRef = this.dialog.open(ResetPasswordDialogComponent, {\r\n// minWidth: '50vw',\r\n// maxWidth: '50vw',\r\n// minHeight: '50%',\r\n// data: {},\r\n// disableClose: true\r\n// });\r\n\r\n// dialogRef.afterClosed().subscribe(result => {\r\n// if (result) {\r\n// }\r\n// });\r\n// }\r\n\r\n\r\n// }\r\n\r\n\r\n\r\n\r\n//this is the old code\r\n\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { ReportIssueDialogComponent } from 'src/shared/Dialogs/report-issue/dialog.reportIssue.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\nimport jwt_decode from 'jwt-decode'\r\nimport { ResetPasswordDialogComponent } from 'src/shared/Dialogs/reset-password/dialog.resetPassword.component';\r\nimport { AdminService } from 'src/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'app-navbar',\r\n templateUrl: './navbar.component.html',\r\n styleUrls: ['./navbar.component.css'],\r\n providers: [AccessAuthService]\r\n})\r\nexport class NavbarComponent implements OnInit {\r\n isCollapsed = true;\r\n showFiller = false;\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(public router: Router,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService,\r\n public adminService: AdminService,) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n // console.log(this.user_info_obj);\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n }\r\n\r\n logOut(): void {\r\n if (localStorage.getItem('accessToken')) {\r\n localStorage.removeItem('accessToken');\r\n this.accessAuthService.isAdmin.next(false);\r\n }\r\n this.router.navigate(['/login']);\r\n this.loggerService.log(\"NavbarComponent\", `logged out`, Levels.info)\r\n }\r\n\r\n openDialog(): void {\r\n this.searchModuleService.openSearchDialog();\r\n }\r\n\r\n goToHome() {\r\n this.router.navigate(['/home'])\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(ReportIssueDialogComponent, {\r\n minWidth: '50vw',\r\n maxWidth: '50vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.adminService.updatedUserID.next(userToBeUpdated.id);\r\n // this.router.navigate(['resetPassword'], { relativeTo: this.activatedRoute })\r\n }\r\n });\r\n\r\n }\r\n\r\n openResetPasswordDialog() {\r\n const dialogRef = this.dialog.open(ResetPasswordDialogComponent, {\r\n minWidth: '50vw',\r\n maxWidth: '50vw',\r\n minHeight: '50%',\r\n data: {},\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n }\r\n });\r\n }\r\n\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
VMS Navigation Menu
\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n
\r\n\r\n\r\n\r\n \r\n Systems Profile\r\n\r\n\r\n\r\n\r\n \r\n Folders Management\r\n\r\n\r\n\r\n \r\n System Reports\r\n\r\n\r\n\r\n\r\n\r\n\r\n \r\n System Templates\r\n\r\n\r\n\r\n\r\n \r\n System Software Manager\r\n\r\n\r\n \r\n Package Manager\r\n\r\n\r\n\r\n\r\n\r\n \r\n \r\n Users Manager\r\n \r\n\r\n \r\n \r\n System Market Manager\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n

\r\n account_circle\r\n {{user_info_obj?.name}}\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 { HttpClient } from \"@angular/common/http\";\r\n// @ts-ignore\r\nimport { phonebook } from \"../assets/conf_urls.json\"\r\nimport { Form, FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'app-phonebook-manager',\r\n templateUrl: './phonebook-manager.component.html',\r\n styleUrls: ['./phonebook-manager.component.css']\r\n})\r\nexport class PhonebookManagerComponent implements OnInit {\r\n //custom phonebook\r\n list_CustomPhonebookFiles = []\r\n selected_phonebook_file_row = []\r\n toggle_add_new_phonebook = false;\r\n toggle_edit_phonebook = false;\r\n toggle_edit_file_mappings = false;\r\n form_new_phonebook: FormGroup\r\n //end\r\n //forms\r\n\r\n //method\r\n form_new_contact_method: FormGroup\r\n form_edit_catalog_card: FormGroup\r\n form_edit_contact_card: FormGroup\r\n //\r\n //phonebook list\r\n toggle_new_contact_method = false;\r\n toggle_edit_catalog = false;\r\n toggle_edit_form = false;\r\n toggle_list = true;\r\n list_phonebook_files_data = []\r\n list_folder_props = []\r\n list_distinct_system_type = []\r\n selected_item_contact = \"\"\r\n selected_item_folder: any;\r\n selected_item_folder_row: any;\r\n show_progressbar = false;\r\n submit_response = false\r\n //phonebook mapping\r\n selected_phonebook_file: any;\r\n list_selected_folders = [];\r\n list_all_phonebook_folders = [];\r\n save_mapping_selected_file: any;\r\n //\r\n //phonebook files tree\r\n obj_tree_query = \"select e.Name,r.Protocol,r.`Restrict`,r.DialString,r.Description,r.SystemType from catalog c inner join entry e on c.Id=e.FK_Catalog inner join route r on e.Id = r.FK_Entry\"\r\n\r\n //\r\n constructor(private http: HttpClient,\r\n private fb: FormBuilder,\r\n private _snackBar: MatSnackBar,\r\n private authService: AuthService,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n //### phonebook files list\r\n //get phonebook files.\r\n get_phonebook_files_data() {\r\n let json_object = { \"event\": \"query_all\" }\r\n this.http.post(phonebook.phonebook_management, json_object).subscribe(response_data => {\r\n this.list_phonebook_files_data = response_data['data']\r\n this.list_folder_props = response_data['folder_props']\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n //get selected item\r\n get_selected_phonebook_file(item: any) {\r\n this.selected_item_contact = item[\"item\"][\"props\"]\r\n\r\n }\r\n\r\n get_selected_folder(item: any) {\r\n this.selected_item_folder = item;\r\n\r\n }\r\n\r\n get_selected_folder_data() {\r\n this.http.post(phonebook.catalog_management, {\r\n \"event\": \"query_by_name\",\r\n \"item\": this.selected_item_folder['item']\r\n }).subscribe(data => {\r\n this.selected_item_folder_row = data['data'][0]\r\n\r\n this.form_edit_catalog_card = this.fb.group({});\r\n const Id = new FormControl(this.selected_item_folder_row['Id'], Validators.required)\r\n const Name = new FormControl(this.selected_item_folder_row['Name'], Validators.required)\r\n this.form_edit_catalog_card.addControl('Id', Id)\r\n this.form_edit_catalog_card.addControl('Name', Name)\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n //edit contact card\r\n edit_contact_card() {\r\n this.submit_response = false;\r\n this.http.post(phonebook.entry_management, { \"event\": \"query_distinct_system_type\" }).subscribe(data => {\r\n this.list_distinct_system_type = data['data']\r\n //Intialize the form\r\n this.form_edit_contact_card = this.fb.group({});\r\n\r\n // intialize form controls.\r\n const fc_name = new FormControl(this.selected_item_contact[\"Name\"], Validators.required)\r\n const fc_system_type = new FormControl(this.selected_item_contact[\"SystemType\"], Validators.required)\r\n const fc_protocol = new FormControl(this.selected_item_contact[\"Protocol\"], Validators.required)\r\n const fc_dialstring = new FormControl(this.selected_item_contact[\"DialString\"], Validators.required)\r\n const fc_description = new FormControl(this.selected_item_contact[\"Description\"], Validators.required)\r\n const fc_Id = new FormControl(this.selected_item_contact[\"Id\"], Validators.required)\r\n\r\n\r\n this.form_edit_contact_card.addControl('Name', fc_name)\r\n this.form_edit_contact_card.addControl('SystemType', fc_system_type)\r\n this.form_edit_contact_card.addControl('Protocol', fc_protocol)\r\n this.form_edit_contact_card.addControl('Description', fc_description)\r\n this.form_edit_contact_card.addControl('DialString', fc_dialstring)\r\n this.form_edit_contact_card.addControl('Id', fc_Id)\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error);\r\n })\r\n\r\n\r\n }\r\n\r\n edit_new_contact_method() {\r\n this.http.post(phonebook.entry_management, { \"event\": \"query_distinct_system_type\" }).subscribe(data => {\r\n this.list_distinct_system_type = data['data']\r\n //Intialize the form\r\n this.form_new_contact_method = this.fb.group({});\r\n\r\n //initialize form controls.\r\n const fc_name = new FormControl('', Validators.required)\r\n const fc_restrict = new FormControl('Norestrict', Validators.required)\r\n const fc_system_type = new FormControl('', Validators.required)\r\n const fc_call_type = new FormControl('', Validators.required)\r\n const fc_protocol = new FormControl('', Validators.required)\r\n const fc_dialstring = new FormControl('', Validators.required)\r\n const fc_description = new FormControl('', Validators.required)\r\n const fc_Id = new FormControl(this.selected_item_folder_row[\"Id\"], Validators.required)\r\n //add controls\r\n this.form_new_contact_method.addControl('Name', fc_name)\r\n this.form_new_contact_method.addControl('Restrict', fc_restrict)\r\n this.form_new_contact_method.addControl('CallType', fc_call_type)\r\n this.form_new_contact_method.addControl('SystemType', fc_system_type)\r\n this.form_new_contact_method.addControl('Protocol', fc_protocol)\r\n this.form_new_contact_method.addControl('Description', fc_description)\r\n this.form_new_contact_method.addControl('DialString', fc_dialstring)\r\n this.form_new_contact_method.addControl('parent_id', fc_Id)\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }\r\n\r\n submit_form_edit_contact_card() {\r\n if (this.form_edit_contact_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_contact_card.value['event'] = 'update_entry_route'\r\n this.http.post(phonebook.entry_management, this.form_edit_contact_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n submit_form_edit_catalog_card() {\r\n if (this.form_edit_catalog_card.valid) {\r\n this.show_progressbar = true\r\n this.form_edit_catalog_card.value['event'] = 'update'\r\n this.http.post(phonebook.catalog_management, this.form_edit_catalog_card.value).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n } else {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n submit_form_new_contact_method() {\r\n if (this.form_new_contact_method.valid) {\r\n this.show_progressbar = true\r\n this.form_new_contact_method.value['event'] = 'create'\r\n this.http.post(phonebook.entry_management, this.form_new_contact_method.value).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.show_progressbar = false;\r\n let rec_id = response_data['data']\r\n delete this.form_new_contact_method.value['parent_id']\r\n delete this.form_new_contact_method.value['Name']\r\n this.form_new_contact_method.value['FK_Entry'] = rec_id\r\n this.http.post(phonebook.route_management, this.form_new_contact_method.value).subscribe(response_data => {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n })\r\n } else {\r\n this.show_progressbar = false;\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n delete_form_edit_contact_card() {\r\n if (this.form_edit_contact_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_contact_card.value['event'] = 'delete_entry_route'\r\n this.http.post(phonebook.entry_management, this.form_edit_contact_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n delete_form_edit_catalog_card() {\r\n if (this.form_edit_catalog_card.valid) {\r\n this.submit_response = false;\r\n this.show_progressbar = true;\r\n //\r\n this.form_edit_catalog_card.value['event'] = 'delete'\r\n this.http.post(phonebook.catalog_management, this.form_edit_catalog_card.value).subscribe(response_data => {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n } else {\r\n this.submit_response = true;\r\n this.show_progressbar = false;\r\n }\r\n }\r\n\r\n\r\n // custom phonebook\r\n get_all_phonebook_files() {\r\n this.show_progressbar = true\r\n this.http.post(phonebook.phonebook_management, { \"event\": \"query_all\" }).subscribe(response_data => {\r\n this.list_CustomPhonebookFiles = response_data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n get_all_phonebook_files_no_processing() {\r\n this.http.post(phonebook.phonebook_management, { \"event\": \"query_all\" }).subscribe(response_data => {\r\n this.list_CustomPhonebookFiles = response_data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n submit_new_phonebook_file() {\r\n if (this.form_new_phonebook.valid) {\r\n this.form_new_phonebook.value['event'] = 'create'\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n }\r\n\r\n submit_edit_phonebook_file(file) {\r\n\r\n let row_id = file['Id']\r\n let folder_updated_name = $('#update_id_' + row_id).val()\r\n\r\n\r\n this.form_new_phonebook.reset()\r\n this.form_new_phonebook.value['event'] = 'update'\r\n this.form_new_phonebook.value['Name'] = folder_updated_name\r\n this.form_new_phonebook.value['Id'] = row_id\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n this.toggle_edit_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }\r\n\r\n submit_delete_phonebook_file(file) {\r\n\r\n let row_id = file['Id']\r\n this.form_new_phonebook.reset()\r\n this.form_new_phonebook.value['event'] = 'delete'\r\n this.form_new_phonebook.value['Id'] = row_id\r\n this.http.post(phonebook.phonebook_management, this.form_new_phonebook.value).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n this.toggle_add_new_phonebook = false;\r\n } else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }\r\n\r\n assign_file_row(file: any) {\r\n this.selected_phonebook_file_row = file\r\n }\r\n\r\n receiveMessage2($event) {\r\n var selected_folder = $event\r\n var flag = 0;\r\n //case 1\r\n if (this.list_selected_folders.length == 0) {\r\n this.list_selected_folders.push(selected_folder)\r\n return\r\n }\r\n //case 2\r\n Object.keys(this.list_selected_folders).forEach(k => {\r\n let item_name = this.list_selected_folders[k]['Name']\r\n if (item_name == selected_folder.Name) {\r\n flag = 1\r\n return\r\n } else {\r\n flag = 0\r\n }\r\n })\r\n if (flag == 0) {\r\n this.list_selected_folders.push(selected_folder)\r\n this.openSnackBar(selected_folder.Name + \" was added the list\", 'success')\r\n } else {\r\n this.openSnackBar(selected_folder.Name + \" is already in the list\", 'warning')\r\n }\r\n }\r\n\r\n //delete mapped folder to file\r\n delete_folder_from_list(entry) {\r\n var flag = 0;\r\n //case 1\r\n if (this.list_selected_folders.length == 0) {\r\n return\r\n }\r\n //case 2\r\n Object.keys(this.list_selected_folders).forEach(k => {\r\n let item_name = this.list_selected_folders[k]['Name']\r\n if (item_name == entry.Name) {\r\n flag = 1\r\n this.list_selected_folders.splice(parseInt(k), 1)\r\n // remove from database\r\n let json_object = {\r\n \"event\": \"delete\",\r\n \"phonebook_id\": this.save_mapping_selected_file.Id,\r\n \"catalog_id\": entry.Id\r\n }\r\n\r\n let delay = parseInt(k) * 500\r\n setTimeout(() => {\r\n this.http.post(phonebook.phonebookcatalog_management, json_object).subscribe(response_data => {\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }, delay)\r\n //end of remove db.\r\n this.openSnackBar(entry.Name + \" was removed from the list\", \"success\")\r\n return\r\n } else {\r\n flag = 0\r\n }\r\n })\r\n\r\n }\r\n\r\n // phonebook mapping\r\n get_mapped_folders_to_pb_file(file: any) {\r\n this.list_all_phonebook_folders = []\r\n this.list_selected_folders = []\r\n this.show_progressbar = true\r\n this.http.post(phonebook.catalog_management, { \"event\": \"queryall\" }).subscribe(data => {\r\n\r\n this.list_all_phonebook_folders = data['data']\r\n this.show_progressbar = false\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n var jobject = {\r\n \"event\": \"queryall_by_id\",\r\n \"id\": file.Id\r\n }\r\n this.http.post(phonebook.phonebook_task_management, jobject).subscribe(response_data => {\r\n if (response_data['status'] == \"success\") {\r\n this.list_selected_folders = []\r\n this.list_selected_folders = response_data['data']\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n // save phonebook mapping,\r\n save_file_folder_mapping() {\r\n Object.keys(this.list_selected_folders).forEach(index => {\r\n let folder_id = this.list_selected_folders[index][\"Id\"]\r\n let json_object = { \"event\": \"create\", \"phonebook_id\": this.save_mapping_selected_file.Id, \"catalog_id\": folder_id }\r\n\r\n let delay = parseInt(index) * 500\r\n setTimeout(() => {\r\n this.http.post(phonebook.phonebookcatalog_management, json_object).subscribe(response_data => {\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n }, delay)\r\n\r\n })\r\n }\r\n //publish phonebook file\r\n publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"create\", \"phonebook_id\": file.Id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n delete_publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"delete\", \"id\": file.id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n reload_publish_phonebook_file(file) {\r\n let json_object = { \"event\": \"reload\", \"id\": file.id }\r\n\r\n this.http.post(phonebook.phonebook_task_management, json_object).subscribe(response_data => {\r\n if (response_data['status'] == 'success') {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n this.get_all_phonebook_files()\r\n }\r\n else {\r\n this.openSnackBar(response_data['message'], response_data['status'])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"PhonebookManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n\r\n // end\r\n //end ###\r\n ngOnInit(): void {\r\n // load custom phonebook list\r\n this.get_all_phonebook_files()\r\n // load phonebook files list\r\n this.get_phonebook_files_data()\r\n //auto refresh\r\n //setInterval(()=>{this.get_all_phonebook_files_no_processing()},3000)\r\n\r\n // forms\r\n //Intialize the form\r\n this.form_edit_contact_card = this.fb.group({\r\n SystemType: ['', Validators.required],\r\n Name: ['', Validators.required],\r\n Protocol: ['', Validators.required],\r\n Description: ['', Validators.required],\r\n DialString: ['', Validators.required]\r\n });\r\n this.form_edit_catalog_card = this.fb.group({\r\n Name: ['', Validators.required],\r\n Id: ['', Validators.required],\r\n });\r\n this.form_new_contact_method = this.fb.group({\r\n SystemType: ['', Validators.required],\r\n Name: ['', Validators.required],\r\n CallType: ['', Validators.required],\r\n Protocol: ['', Validators.required],\r\n Restrict: ['Norestrict', Validators.required],\r\n DialString: ['', Validators.required],\r\n Description: ['', Validators.required],\r\n\r\n });\r\n this.form_new_phonebook = this.fb.group({\r\n Name: ['', Validators.required],\r\n\r\n\r\n });\r\n\r\n\r\n }\r\n\r\n}\r\n","\r\n\r\n\r\n\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n

Custom Files List

\r\n \r\n \r\n notes\r\n
\r\n \r\n
\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
\r\n \r\n
\r\n {{file.Name}}\r\n
0\" mat-line>Entries: {{file.NoOfEntries}}
\r\n
in-service
\r\n
task created {{file.created_at | date}}
\r\n
task processing
\r\n\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n\r\n \r\n \r\n device_hub\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
New phonebook file
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n *File 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

Select {{selected_phonebook_file.Name}}'s folder/s

\r\n \r\n\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
All Folders
\r\n \r\n folder\r\n
{{folder.Name}}
\r\n
Created: {{folder.created_at | date}}
\r\n
Entries: {{folder.NoOfEntries }}
\r\n \r\n add\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n
0\" class=\"col\">\r\n
\r\n \r\n
Selected Folders ({{this.list_selected_folders.length}})\r\n \r\n save\r\n \r\n
\r\n \r\n folder\r\n
{{folder.Name}}
\r\n
Created: {{folder.created_at | date}}
\r\n
Entries: {{folder.NoOfEntries }}
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n toggle list\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n format_quote\r\n No saved files\r\n format_quote\r\n
\r\n \r\n
\r\n\r\n\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n supervised_user_circle\r\n Contact Card
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n contact_phone\r\n {{selected_item_contact['Name']}}\r\n \r\n Contact 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 camera_alt\r\n System type:\r\n\r\n {{selected_item_contact['SystemType']}}\r\n\r\n\r\n \r\n System Type\r\n \r\n \r\n {{sys.SystemType}}\r\n \r\n\r\n \r\n \r\n\r\n\r\n
\r\n dialer_sip\r\n Protocol:{{selected_item_contact['Protocol']}}\r\n \r\n Protocol\r\n \r\n \r\n Auto\r\n \r\n \r\n H323\r\n \r\n \r\n SIP\r\n \r\n \r\n \r\n
\r\n dialpad\r\n Dial String:{{selected_item_contact['DialString']}}\r\n \r\n Dial String\r\n \r\n \r\n
\r\n call\r\n Call type: {{selected_item_contact['CallType']}}
\r\n comment\r\n Description:\r\n\r\n {{selected_item_contact['Description']}}\r\n \r\n Description\r\n \r\n \r\n
\r\n warning\r\n Restrict:{{selected_item_contact['Restrict']}}
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n settings\r\n
\r\n {{selected_item_folder_row['Name']}} Settings\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n\r\n \r\n contacts\r\n
{{selected_item_folder_row['Name']}}
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
Created at: {{selected_item_folder_row['created_at']}}
\r\n
Entries: {{selected_item_folder_row['NoOfEntries']}}
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

New contact method

\r\n \r\n
\r\n Name \r\n Title \r\n \r\n

Contact method

\r\n Dial String \r\n System Type\r\n Protocol\r\n Call Type\r\n\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n\r\n
\r\n
\r\n
\r\n
\r\n","import { ReportGeneratorService } from './report-generator.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ThemePalette } from '@angular/material/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogReportGeneratorComponent } from 'src/shared/Dialogs/dialog-report-generator/dialog.report-generator.component';\r\n\r\nexport interface sysHeader {\r\n name: string;\r\n shownValue: string;\r\n completed: boolean;\r\n color: ThemePalette;\r\n subtasks?: sysHeader[];\r\n}\r\n\r\n@Component({\r\n selector: 'app-report-generator',\r\n templateUrl: './report-generator.component.html',\r\n styleUrls: ['./report-generator.component.css'],\r\n providers: [ReportGeneratorService]\r\n})\r\n\r\nexport class ReportGeneratorComponent implements OnInit {\r\n targetFolder: { id: Number, text: string } = { id: null, text: \"\" };\r\n received_selected_items = [];\r\n allComplete: boolean = false;\r\n systemHeader: sysHeader = {\r\n shownValue: null,\r\n name: 'Select All',\r\n completed: false,\r\n color: 'accent',\r\n subtasks: [\r\n { shownValue: \"DNS Domain\", name: 'dns_domain_name', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 1\", name: 'dns_server1', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 2\", name: 'dns_server2', completed: false, color: 'primary' },\r\n { shownValue: \"DNS Server 3\", name: 'dns_server3', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Address\", name: 'h323_gatekeeper_address', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Status\", name: 'h323_gatekeeper_status', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Reason\", name: 'h323_gatekeeper_reason', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Gatekeeper Mode\", name: 'h323_gatekeeper_mode', completed: false, color: 'primary' },\r\n { shownValue: \"H323 E164\", name: 'h323_e164', completed: false, color: 'primary' },\r\n { shownValue: \"H323 ID\", name: 'h323_id', completed: false, color: 'primary' },\r\n { shownValue: \"H323 Port\", name: 'h323_gatekeeper_port', completed: false, color: 'primary' },\r\n { shownValue: \"IP Address\", name: 'system_ip', completed: false, color: 'primary' },\r\n { shownValue: \"Last Monitor Date\", name: 'last_monitored_date', completed: false, color: 'primary' },\r\n { shownValue: \"MAC Address\", name: 'system_mac_address', completed: false, color: 'primary' },\r\n { shownValue: \"NTP Server\", name: 'ntp_server1', completed: false, color: 'primary' },\r\n { shownValue: \"Product ID\", name: 'product_id', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Audio\", name: 'qos_audio', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Data\", name: 'qos_data', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Signaling\", name: 'qos_signaling', completed: false, color: 'primary' },\r\n { shownValue: \"QOS Video\", name: 'qos_video', completed: false, color: 'primary' },\r\n { shownValue: \"Remedy Ticket No.\", name: 'remedy_opened_ticket', completed: false, color: 'primary' },\r\n { shownValue: \"Serial Number\", name: 'serial_number', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Auth Username\", name: 'sip_authentication_username', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Listen Port\", name: 'sip_listen_port', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Name\", name: 'sip_display_name', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 1\", name: 'sip_proxy_address', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 2\", name: 'sip_proxy_address2', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 1 Status\", name: 'sip_proxy_address_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Proxy Address 2 Status\", name: 'sip_proxy_address2_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Registration Status\", name: 'sip_registration_status', completed: false, color: 'primary' },\r\n { shownValue: \"SIP Registration URI\", name: 'sip_registration_uri', completed: false, color: 'primary' },\r\n { shownValue: \"SIP TLS Verify\", name: 'sip_tls_verify', completed: false, color: 'primary' },\r\n { shownValue: \"Software Name\", name: 'software_name', completed: false, color: 'primary' },\r\n { shownValue: \"Software Version\", name: 'software_version', completed: false, color: 'primary' },\r\n { shownValue: \"System Name\", name: 'system_name', completed: false, color: 'primary' },\r\n { shownValue: \"System Notes\", name: 'ops_note', completed: false, color: 'primary' },\r\n { shownValue: \"System Status\", name: 'status', completed: false, color: 'primary' },\r\n { shownValue: \"Time Zone\", name: 'system_time_zone', completed: false, color: 'primary' }\r\n ]\r\n };\r\n\r\n systemsData: any[] = [];\r\n disableFetchButton: boolean = false;\r\n\r\n constructor(\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar,\r\n private reportGeneratorService: ReportGeneratorService,\r\n public dialog: MatDialog\r\n ) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n recieve_selected_folder(folderDetails) {\r\n let disableBtn: boolean = false;\r\n this.targetFolder.id = null;\r\n this.targetFolder.text = null;\r\n if (folderDetails && disableBtn == false) {\r\n if (folderDetails.children && folderDetails.children.length > 0\r\n && folderDetails.children[0].value.type == 'folder') {\r\n disableBtn = true;\r\n return;\r\n }\r\n }\r\n this.targetFolder.id = folderDetails.value.id;\r\n this.targetFolder.text = folderDetails.text;\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items;\r\n }\r\n\r\n updateAllComplete() {\r\n this.allComplete = this.systemHeader.subtasks != null && this.systemHeader.subtasks.every(t => t.completed);\r\n }\r\n\r\n someComplete(): boolean {\r\n if (this.systemHeader.subtasks == null) {\r\n return false;\r\n }\r\n return this.systemHeader.subtasks.filter(t => t.completed).length > 0 && !this.allComplete;\r\n }\r\n\r\n setAll(completed: boolean) {\r\n this.allComplete = completed;\r\n if (this.systemHeader.subtasks == null) {\r\n return;\r\n }\r\n this.systemHeader.subtasks.forEach(t => (t.completed = completed));\r\n }\r\n\r\n\r\n sendDataToReportGenerator() {\r\n this.disableFetchButton = true;\r\n this.reportGeneratorService.systemsReceiver(this.adjustHeadersToBeSent(), this.adjustUnitsIDsToBeSent()).subscribe(data => {\r\n //length for Vodafone_ is 9 letters\r\n\r\n let Vodafone_Length: number = 10;\r\n for (let item of data) {\r\n let fullPath: string = item.entire_path;\r\n let firstPartOfStringAfterVodafone_: string = fullPath.slice(\r\n fullPath.indexOf(\"Vodafone&&\") + Vodafone_Length, fullPath.length\r\n );\r\n let nextDashIndex: number = firstPartOfStringAfterVodafone_.indexOf(\"&&\");\r\n\r\n item.main_folder = firstPartOfStringAfterVodafone_.includes(\"&&\") ? firstPartOfStringAfterVodafone_.slice(0, nextDashIndex) : firstPartOfStringAfterVodafone_\r\n\r\n item.secondary_folders = (firstPartOfStringAfterVodafone_.length == item.main_folder.length) ? \"\" : firstPartOfStringAfterVodafone_.slice(\r\n nextDashIndex + 2, firstPartOfStringAfterVodafone_.length\r\n );\r\n\r\n if (item.secondary_folders.includes(\"&&\")) {\r\n item.secondary_folders = item.secondary_folders.replaceAll(\"&&\", \"-\")\r\n };\r\n\r\n }\r\n\r\n this.systemsData = data;\r\n // this.openSnackBar(\"Date Retrieved.\", \"Done\");\r\n this.disableFetchButton = false;\r\n this.openDialog()\r\n }, err => {\r\n this.disableFetchButton = false;\r\n\r\n this.openSnackBar(err?.error?.message ? err?.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n\r\n adjustHeadersToBeSent() {\r\n let headerString: string = \"\";\r\n\r\n this.systemHeader.subtasks.forEach(i => {\r\n if (i.completed) {\r\n headerString += (i.name + \",\");\r\n }\r\n });\r\n\r\n headerString = headerString.slice(0, -1);\r\n\r\n return headerString;\r\n }\r\n\r\n adjustUnitsIDsToBeSent() {\r\n let ids: string = \"(\";\r\n\r\n this.received_selected_items.forEach(i => {\r\n ids += (i.value + \",\");\r\n });\r\n\r\n ids = ids.slice(0, -1);\r\n ids += (\")\");\r\n return ids;\r\n }\r\n\r\n adjustHeadersForDialog() {\r\n let data: string[] = [];\r\n this.systemHeader.subtasks.forEach(i => {\r\n if (i.completed) {\r\n data.push(i.name);\r\n }\r\n });\r\n data = [\"main_folder\", \"secondary_folders\", ...data, \"remedy_location_name\", \"remedy_market_name\"]\r\n\r\n return { stringArr: data, unitsArr: this.systemsData };\r\n }\r\n\r\n\r\n\r\n\r\n openDialog(): void {\r\n let dataToBeSent: { stringArr: string[], unitsArr: any[] } = this.adjustHeadersForDialog();\r\n\r\n const dialogRef = this.dialog.open(DialogReportGeneratorComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true,\r\n data: dataToBeSent\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n //this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n}\r\n","
\r\n\r\n
\r\n\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 data headers to be fetched

\r\n
\r\n \r\n \r\n {{systemHeader.name}}\r\n \r\n \r\n
\r\n
    \r\n
  • \r\n \r\n {{subtask.shownValue}}\r\n \r\n
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n\r\n \r\n \r\n\r\n \r\n\r\n \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 { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../assets/conf_urls.json';\r\nimport { throwError } from 'rxjs';\r\n@Injectable()\r\n\r\nexport class ReportGeneratorService {\r\n\r\n constructor(private http: HttpClient) {\r\n\r\n }\r\n\r\n systemsReceiver(headersToBeSent: string, ids: string): Observable {\r\n if (headersToBeSent == \"\") {\r\n return throwError('No data were selected');\r\n }\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"reportGenerator\",\r\n \"headersToBeSent\": headersToBeSent,\r\n \"sys\": ids\r\n })\r\n }\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\n@Component({\r\n selector: \"app-error-eomponent\",\r\n templateUrl: './404.component.html',\r\n styleUrls: ['./404.component.css']\r\n})\r\nexport class ErrorComponent {\r\n\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Oops!

\r\n
\r\n

404 - Page not found

\r\n

The page you are looking for might have been removed or had its name changed or is temporarily unavailable or you have no access to it.

\r\n Go To Homepage\r\n
\r\n
\r\n
\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class BulkActionsService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n bulkDelete(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": \"bulk_delete\",\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkMonitor(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'monitor',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkUnMonitor(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unmonitor',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkProvision(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'provision_quick',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n bulkUnProvision(units: number[], userWhoMadeRequest: string): Observable {\r\n return this.http.post(home.bulkActions, {\r\n \"event\": 'unprovision_quick',\r\n \"data\": units,\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n\r\n pullAllUnitsConfigurationFiles(userWhoMadeRequest: string): Observable {\r\n return this.http.post<{ data: any[] }>(system_manager.services, {\r\n \"event\": \"pull_all_units_configuration_files\",\r\n \"requested_by\": userWhoMadeRequest\r\n })\r\n }\r\n}\r\n","import { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { BulkActionsService } from './bulkActions.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n//@ts-ignore\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\n\r\n@Component({\r\n selector: 'dialog-bulkActions-component',\r\n templateUrl: './dialog.bulkActions.component.html',\r\n styleUrls: ['./dialog.bulkActions.component.css'],\r\n providers: [BulkActionsService]\r\n})\r\nexport class BulkActionsDialogComponent implements OnInit {\r\n switcher_toggle_navigator = true;\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n //items in delete tree\r\n received_selected_items = [];\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private bulkActionsService: BulkActionsService) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items\r\n // let checkDb = \"\"\r\n // this.received_selected_items.forEach(item => checkDb = checkDb + item.value + \",\")\r\n }\r\n\r\n openConfirmationDialogForDelete() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete units\", message: `Confirm the deletion of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkDelete(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Removed successfully from VMS and currently removing all the provisioing urls from the units this process takes time.\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForMonitor() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Monitor units\", message: `Confirm the monitor of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkMonitor(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Units were monitored successfully\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForUnMonitor() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"UnMonitor units\", message: `Confirm the unmonitor of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkUnMonitor(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Units were monitored successfully\", \"Done\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForProvision() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Provision units\", message: `Confirm the provisioing of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkProvision(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Your provisioing request was submitted successfully, currently changing the provisioing url on units. Check again later.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForUnProvision() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"unProvision units\", message: `Confirm the unprovisioing of ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.bulkUnProvision(this.getSelectedIds(), this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Your unprovisioing request was submitted successfully, currently removing the provisioing url on units. Check again later.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n openConfirmationDialogForPullAllUnits(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Pull All Units Configuration Files\", message: \"Confirm pulling all VMS units configuration files. This process takes time so please confirm or cancel\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.bulkActionsService.pullAllUnitsConfigurationFiles(this.user_info_obj.name).subscribe(data => {\r\n this.openSnackBar(\"Pulling all units configuration files has begun, this process may takes several minutes.\", \"Processing\");\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n getSelectedIds() {\r\n let idsToBeSent: number[] = [];\r\n this.received_selected_items.forEach(item => idsToBeSent.push(item.value));\r\n return idsToBeSent;\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n\r\n

Bulk System Management

\r\n
\r\n Toggle Navigator\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n

Units Seleced

\r\n\r\n

\r\n * Select units from tree\r\n

\r\n\r\n
0\" style=\"color:blue\" class=\"align-left\">\r\n * Total number of units selected are {{this.received_selected_items.length}}\r\n
\r\n\r\n
\r\n\r\n 0\"\r\n mat-table [dataSource]=\"this.received_selected_items\"\r\n class=\"mat-elevation-z8 col-sm-12\">\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n computer\r\n Unit Name - Unit IP\r\n {{element.text}}\r\n
\r\n
\r\n\r\n
0\" id=\"provisionOptions\">\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n","import {Component, Inject} from '@angular/core';\r\nimport {MatDialog, MatDialogRef, MAT_DIALOG_DATA} from '@angular/material/dialog';\r\n\r\n\r\nexport interface DialogData {\r\n title: string;\r\n message: string;\r\n response:boolean;\r\n}\r\n\r\n\r\n@Component({\r\n templateUrl:'./dialog.confirmation.component.html',\r\n styleUrls:['./dialog.confirmation.component.css']\r\n})\r\nexport class DialogConfirmationComponent{\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData\r\n ) {}\r\n\r\n onNoClick(): void {\r\n this.data.response=false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response=true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n}\r\n","
\r\n
\r\n

\r\n {{data.title}}\r\n

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

{{data.message}}

\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n","import { Component, Inject, OnInit } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { enteredDataObj } from './model/EnteredDataObj';\r\nimport * as XLSX from 'xlsx';\r\n\r\n@Component({\r\n selector: 'search-dialog',\r\n templateUrl: './dialog.report-generator.component.html',\r\n styleUrls: ['./dialog.report-generator.component.css']\r\n})\r\nexport class DialogReportGeneratorComponent implements OnInit {\r\n title = 'VMS-Systems';\r\n fileName = `VMS Extracted Report${new Date().toISOString()}.csv`;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private loggerService: LoggerService,\r\n @Inject(MAT_DIALOG_DATA) public data: { stringArr: string[], unitsArr: enteredDataObj[] }) {\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n exportExcel(): void {\r\n /* pass here the table id */\r\n let element = document.getElementById('excel-table');\r\n const ws: XLSX.WorkSheet = XLSX.utils.table_to_sheet(element);\r\n\r\n /* generate workbook and add the worksheet */\r\n const wb: XLSX.WorkBook = XLSX.utils.book_new();\r\n XLSX.utils.book_append_sheet(wb, ws, 'Sheet1');\r\n /* save to file */\r\n XLSX.writeFile(wb, this.fileName);\r\n\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n\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}}
{{item[stringData]}}
\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 { Router } from '@angular/router';\r\nimport { VcUnitData } from './model/VcUnitData';\r\nimport { SearchService } from './service/search.service';\r\nimport { Component, Inject, ViewChild, OnInit, Input } from '@angular/core';\r\nimport { MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { MatTableDataSource } from \"@angular/material/table\";\r\nimport { SelectionModel } from '@angular/cdk/collections';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { DialogData } from './model/dialogData';\r\nimport { MatSelectChange } from '@angular/material/select';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'search-dialog',\r\n templateUrl: './dialog.search.component.html',\r\n styleUrls: ['./dialog.search.component.css'],\r\n providers: [SearchService]\r\n})\r\nexport class DialogSearchComponent implements OnInit {\r\n //displayed columns for the table\r\n displayedColumns: string[] = ['checkBox', 'system_name', 'system_mac_address', 'system_ip', 'sip_registration_uri'];\r\n //these are the keys available that the name show in the dropdown list and we send the value to the api.\r\n keysAvailable: { text, value }[] = [\r\n { text: 'Name', value: 'system_name' }, { text: 'IP', value: 'system_ip' }, { text: 'MAC Address', value: 'system_mac_address' },\r\n { text: 'Time Zone', value: 'system_time_zone' }, { text: 'H323 Gatekeeper Address', value: 'h323_gatekeeper_address' },\r\n { text: 'H323 Gatekeeper Status ', value: 'h323_gatekeeper_status' }, { text: 'H323 Gatekeeper Mode', value: 'h323_gatekeeper_mode' },\r\n { text: 'SIP Proxy Address', value: 'sip_proxy_address' }, { text: 'SIP Proxy Status', value: 'sip_proxy_address_status' },\r\n { text: 'SIP Registration Status', value: 'sip_registration_status' }, { text: 'SIP Registration URI', value: 'sip_registration_uri' },\r\n { text: 'DNS Server 1', value: 'dns_server1' }, { text: 'DNS Server 2', value: 'dns_server2' },\r\n { text: 'Serial Number', value: 'serial_number' }, { text: 'NTP Server 1', value: 'ntp_server1' },\r\n { text: 'Product Id', value: 'product_id' }, { text: 'Software Name', value: 'software_name' }, { text: 'Software Version', value: 'software_version' }\r\n ]\r\n //the data that fills the table\r\n tableData: MatTableDataSource;\r\n //this is the message that shown if the table is not shown\r\n initialMessageAndNoData: string = 'Search from the dropdown list with the requested value.';\r\n //the message color according to the condition that have been met\r\n initialMessageColor: string = 'black';\r\n //this is the user choice from the drop down list and it stores the value corresponding to his selected text from keysAvailable array\r\n itemSelectedFromList: string = null;\r\n //this is the user inputted text to be used to send to the api and fetch the search result\r\n searchedInputText: string = null;\r\n //the array that stores the user chosen units ids.\r\n selectedItems: VcUnitData[] = [];\r\n //input to enable or disable multiple select in the table\r\n @Input() allowMultipleSelect: boolean = false;\r\n selection: SelectionModel;\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n //this array is to be used to check the route and close the confirm button if the url does not match one of them.\r\n private allowedAccessRoutes: string[] = ['/templatemanager', '/softwareupdate', '/systemprofile', '/systemprofileV2'];\r\n //boolean to control the existence of the confirm button\r\n confirmBtnCheck: boolean = false;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public searchService: SearchService,\r\n private loggerService: LoggerService,\r\n private router: Router,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData[]) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.tableData = new MatTableDataSource([]);\r\n this.selection = new SelectionModel(this.allowMultipleSelect, []);\r\n if (this.allowedAccessRoutes.includes(this.router.url)) {\r\n this.confirmBtnCheck = true;\r\n } else {\r\n this.confirmBtnCheck = false;\r\n }\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.tableData.filter = filterValue.trim().toLowerCase();\r\n if (this.tableData.paginator) {\r\n this.tableData.paginator.firstPage();\r\n }\r\n }\r\n\r\n checkboxLabel(row?: DialogData): void {\r\n if (this.selection.isSelected(row)) {\r\n if (!this.allowMultipleSelect) {\r\n this.selectedItems = [];\r\n }\r\n this.selectedItems.push(new VcUnitData(row.id, row.parent_id, row.parent_name));\r\n } else {\r\n if (!this.allowMultipleSelect && this.selectedItems.includes(new VcUnitData(row.id, row.parent_id, row.parent_name))) {\r\n this.selectedItems.pop();\r\n } else {\r\n const elementIndex = this.selectedItems.findIndex(i => i.id == row.id);\r\n if (elementIndex != -1) this.selectedItems.splice(elementIndex, 1);\r\n }\r\n }\r\n }\r\n\r\n selectionChange(event: MatSelectChange) {\r\n if (event.value) {\r\n // these lines seems to be working fine because in the case that he changes from the dropdown list whilst there were data\r\n //in the table the presentation is not correct so this resets all and adjust the message color and text.\r\n this.resetTable();\r\n this.initialMessageAndNoData = 'Search from the dropdown list with the requested value.';\r\n this.initialMessageColor = 'black';\r\n this.itemSelectedFromList = event.value;\r\n }\r\n }\r\n\r\n\r\n fetchData() {\r\n //reset table first\r\n this.resetTable();\r\n\r\n //case wrong input\r\n if (!this.itemSelectedFromList || this.searchedInputText == null || this.searchedInputText.length == 0) {\r\n this.initialMessageColor = 'red';\r\n this.initialMessageAndNoData = \"Invalid input search data.\"\r\n return;\r\n }\r\n\r\n //send to the api\r\n this.searchService.postSearchData(this.itemSelectedFromList, this.searchedInputText).subscribe(items => {\r\n if (items.length == 0) {\r\n this.initialMessageColor = 'blue';\r\n this.initialMessageAndNoData = \"No data were found matching your search\";\r\n return;\r\n }\r\n this.data = items;\r\n this.tableData = new MatTableDataSource(this.data);\r\n this.tableData.paginator = this.paginator;\r\n }, err => {\r\n this.loggerService.log(\"DialogSearchComponent\", err.message, Levels.error)\r\n\r\n this.initialMessageColor = 'red';\r\n this.initialMessageAndNoData = \"A problem occurred while fetching data, please try again later.\";\r\n })\r\n }\r\n\r\n // resets data in table, and adjust the logic of the existence of the search_result column or not in the table\r\n resetTable() {\r\n if (this.displayedColumns.includes(this.itemSelectedFromList)) {\r\n if (this.displayedColumns.includes('search_result')) {\r\n this.displayedColumns.pop();\r\n }\r\n } else {\r\n if (!this.displayedColumns.includes('search_result')) {\r\n this.displayedColumns.push('search_result');\r\n }\r\n }\r\n this.clearSelection();\r\n this.data = [];\r\n this.tableData = new MatTableDataSource(this.data);\r\n this.tableData.paginator = this.paginator;\r\n this.selectedItems = [];\r\n }\r\n //return the correct text for the search_result column if it exists\r\n fillText(): string {\r\n const result = this.keysAvailable.find(i => i.value == this.itemSelectedFromList).text;\r\n return result;\r\n }\r\n\r\n isAllSelected() {\r\n const numSelected = this.selection.selected.length;\r\n const numRows = this.tableData.data.length;\r\n return numSelected === numRows;\r\n }\r\n\r\n masterToggle(): void {\r\n this.isAllSelected() ? this.clearSelection() : this.selectAll();\r\n }\r\n\r\n clearSelection() {\r\n this.selection.clear();\r\n this.selectedItems = [];\r\n }\r\n\r\n selectAll() {\r\n this.tableData.data.forEach(row => {\r\n this.selection.select(row);\r\n this.selectedItems.push(new VcUnitData(row.id, row.parent_id, row.parent_name));\r\n });\r\n }\r\n //fires when cancel is clicked\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n //fires when confirm is clicked\r\n onYesClick(): void {\r\n this.dialogRef.close(this.selectedItems);\r\n }\r\n\r\n}\r\n","\r\n
\r\n

Search

\r\n \r\n
\r\n close\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n Keys available\r\n \r\n {{item.text}}\r\n \r\n \r\n
\r\n
\r\n \r\n Enter search value \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n
0\">\r\n \r\n Filter\r\n \r\n \r\n
\r\n\r\n\r\n 0\">\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n System Name {{element.system_name}} System MAC Address {{element.system_mac_address?element.system_mac_address:\"No data available\"}} System IP {{element.system_ip?element.system_ip:\"No data available\"}} SIP Registration URI {{element.sip_registration_uri?element.sip_registration_uri:\"No data available\"}} {{fillText()}} {{element.search_result}}
\r\n\r\n
\r\n
{{initialMessageAndNoData}}
\r\n
\r\n\r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n\r\n\r\n\r\n","export class VcUnitData{\r\n id:number;\r\n type:string;\r\n parent:{};\r\n\r\n constructor(no:number,parentId:number,parentName:string,type:string=\"endpoint\") {\r\n this.id=no;\r\n this.type=type;\r\n this.parent={text:parentName,\r\n value:{id:parentId,\r\n type:\"folder\"}\r\n };\r\n }\r\n}\r\n","import { DialogData } from '../model/dialogData';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable } from \"rxjs\";\r\nimport {searchModule}from '../../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\nexport class SearchService{\r\n /**\r\n *Service used to fetch the searched result based on the key and the value.\r\n */\r\n constructor(public http:HttpClient) {\r\n }\r\n\r\n postSearchData(selectedKey:string,searchText:string):Observable{\r\n\r\n return this.http.post(searchModule.postSearch,{\r\n \"event\" : \"select_by_key\",\r\n \"search_key\" : selectedKey,\r\n \"search_value\" : searchText\r\n }\r\n );\r\n\r\n }\r\n\r\n}\r\n","import { GlobalSharedService } from './../../global.shared.service';\r\nimport { AfterContentInit, Component, ComponentFactoryResolver, Inject, OnInit } from '@angular/core';\r\nimport { FormsModule } from '@angular/forms';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { folderAccess } from 'src/shared/models/folderAccess.model';\r\nimport { DatePipe } from '@angular/common';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from '../dialog-confirmation/dialog.confirmation.component';\r\n\r\n@Component({\r\n selector: 'app-lm-lists',\r\n templateUrl: './lm-lists.component.html',\r\n styleUrls: ['./lm-lists.component.css'],\r\n providers: [GlobalSharedService, DatePipe]\r\n})\r\n\r\nexport class LmListsComponent implements FormsModule, OnInit, AfterContentInit {\r\n title = 'Select folders to allow access to them';\r\n masterSelected: boolean;\r\n editMode: boolean = false;\r\n marketList: folderAccess[];\r\n marketsReceivedIds: number[] = [];\r\n accessArr: any;\r\n newSelectedMarketList: folderAccess[];\r\n marketNotPicked: boolean;\r\n butCol: string = 'gray';\r\n myDate = new Date();\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n public dialog: MatDialog,\r\n private _snackBar: MatSnackBar,\r\n private globalService: GlobalSharedService,\r\n private loggerService: LoggerService,\r\n private datePipe: DatePipe,\r\n @Inject(MAT_DIALOG_DATA) public data: { userId: number, isEditMode: boolean }\r\n ) {\r\n this.masterSelected = false;\r\n this.marketList = [];\r\n this.myDate = new Date(Date.now());\r\n\r\n }\r\n ngAfterContentInit(): void {\r\n this.getUserMappedList();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.marketNotPicked = true;\r\n this.getAccessList();\r\n if (this.data?.isEditMode) {\r\n this.editMode = true;\r\n\r\n }\r\n }\r\n\r\n getUserMappedList() {\r\n\r\n this.globalService.getUserAccessMappingFolders(this.data?.userId).subscribe(userMappedFolders => {\r\n \r\n setTimeout(() => {\r\n for (var i of userMappedFolders.data) {\r\n for (var f = 0; f < this.marketList.length; f++) {\r\n if (this.marketList[f].id == i.folder_id) {\r\n this.marketList[f].isSelected = true;\r\n }\r\n }\r\n }\r\n }, 100);\r\n \r\n\r\n }, err => {\r\n this.loggerService.log(\"LmListsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n\r\n getAccessList() {\r\n this.globalService.getAllAccessFolders().subscribe(allItems => {\r\n this.marketList = allItems?.data;\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n this.marketList[i].isSelected = false;\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"LmListsComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n })\r\n }\r\n\r\n // Check All Checkbox Checked\r\n isAllSelected() {\r\n this.masterSelected = this.marketList.every(item => item.isSelected)\r\n }\r\n\r\n onItemSelect(): void {\r\n this.newSelectedMarketList = [];\r\n this.accessArr = [];\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n if (this.marketList[i].isSelected) {\r\n this.newSelectedMarketList.push(this.marketList[i]);\r\n\r\n\r\n }\r\n }\r\n for (var iarr = 0; iarr < this.newSelectedMarketList.length; iarr++) { this.accessArr.push(this.newSelectedMarketList[iarr].id); }\r\n this.marketNotPicked = false;\r\n this.butCol = 'blue';\r\n }\r\n\r\n checkUncheckAll() {\r\n for (var i = 0; i < this.marketList.length; i++) {\r\n this.marketList[i].isSelected = this.masterSelected;\r\n }\r\n this.onItemSelect();\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onOKClick() {\r\n if (this.editMode) {\r\n this.openConfirmationDialog();\r\n } else {\r\n this.dialogRef.close(this.newSelectedMarketList);\r\n }\r\n\r\n }\r\n\r\n openConfirmationDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Confirm updating user access\", message: \"Please confirm or cancel user access request\" },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n for (let idObj of this.newSelectedMarketList) {\r\n this.marketsReceivedIds.push(idObj.id)\r\n }\r\n this.globalService.updateAccessFolders(this.data.userId, this.marketsReceivedIds).subscribe(data => {\r\n\r\n this.openSnackBar(\"User access has been updated.\", \"Done\");\r\n this.dialogRef.close();\r\n\r\n }, err => {\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n this.dialogRef.close();\r\n\r\n })\r\n }\r\n });\r\n }\r\n\r\n\r\n\r\n}\r\n","
\r\n

\r\n {{ title }}\r\n

\r\n
\r\n
\r\n
\r\n \r\n\r\n\r\n \r\n \r\n Select/ Unselect All\r\n\r\n\r\n \r\n \r\n\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?.item_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","import { ReportIssueService } from './reportIssue.service';\r\nimport { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { NgForm } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'dialog-reportIssue-component',\r\n templateUrl: './dialog.reportIssue.component.html',\r\n styleUrls: ['./dialog.reportIssue.component.css'],\r\n providers: [ReportIssueService]\r\n})\r\nexport class ReportIssueDialogComponent implements OnInit {\r\n\r\n title: string = \"\";\r\n description: string = \"\";\r\n contactEmail: string = \"\";\r\n sendMailFlag: boolean = false;\r\n private user_info_obj: { name: string, role: string } = null;\r\n @ViewChild('f') issueReportForm: NgForm;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private reportIssueService: ReportIssueService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n onSubmit() {\r\n this.sendMailFlag = true;\r\n if (this.issueReportForm.valid) {\r\n this.reportIssueService.reportAnIssue(this.user_info_obj.name, this.title, this.contactEmail, this.description).subscribe(data => {\r\n this.sendMailFlag = false;\r\n this.openSnackBar(\"Issue has been reported and is being processed.\", \"Mail sent.\");\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }, err => {\r\n this.sendMailFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n }\r\n\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Report an issue

    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Title\r\n \r\n \r\n Title is required\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Your Contact Email\r\n \r\n \r\n Contact email is required in correct format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Description\r\n \r\n \r\n Description is required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { home, system_manager } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class ReportIssueService {\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n reportAnIssue(userWhoMadeRequest: string, title: string,\r\n contactEmail: string, description: string): Observable {\r\n return this.http.post(home.reportIssue, {\r\n \"requested_by\": userWhoMadeRequest,\r\n \"title\": title,\r\n \"contact_email\": contactEmail,\r\n \"description\": description\r\n })\r\n }\r\n\r\n\r\n}\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { NgForm } from '@angular/forms';\r\nimport { AdminService } from 'src/admin/services/admin.service';\r\n\r\n@Component({\r\n selector: 'dialog-resetPassword-component',\r\n templateUrl: './dialog.resetPassword.component.html',\r\n styleUrls: ['./dialog.resetPassword.component.css'],\r\n providers: [AdminService]\r\n})\r\nexport class ResetPasswordDialogComponent implements OnInit {\r\n\r\n sendFlag: boolean = false;\r\n newPassword: string = null;\r\n private user_info_obj: { name: string, role: string } = null;\r\n @ViewChild('f') resetPasswordForm: NgForm;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private adminService: AdminService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n }\r\n\r\n onSubmit() {\r\n this.sendFlag = true;\r\n // if (this.resetPasswordForm.valid) {\r\n // this.adminService.updatePasswordByToken(this.newPassword).subscribe(res => {\r\n // this.sendFlag = false;\r\n // this.openSnackBar(res[\"message\"], \"Success\");\r\n // this.data.response = true;\r\n // this.dialogRef.close(this.data.response);\r\n // }, err => {\r\n // this.sendFlag = false;\r\n // this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n // })\r\n // }\r\n }\r\n\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Reset My Password

    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n Password is required.\r\n \r\n \r\n Password must be at least 6 characters long upper case, special char. req .\r\n \r\n \r\n
    \r\n\r\n
    \r\n \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 { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { WallpaperUploadService } from './wallpaperUpload.service';\r\nimport { Component, Inject, OnInit } from '@angular/core';\r\n//@ts-ignore\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { DialogData } from '../dialog-confirmation/dialog.confirmation.component';\r\nimport jwt_decode from 'jwt-decode';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\n\r\n@Component({\r\n selector: 'dialog-wallpaperUpload-component',\r\n templateUrl: './dialog.wallpaperUpload.component.html',\r\n styleUrls: ['./dialog.wallpaperUpload.component.css'],\r\n providers: [WallpaperUploadService]\r\n})\r\nexport class WallpaperUploadDialogComponent implements OnInit {\r\n switcher_toggle_navigator = true;\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n //items in delete tree\r\n received_selected_items = [];\r\n imagesNames: string[] = [];\r\n selectedImage: string = null;\r\n imageData: any = {};\r\n imageSource: any;\r\n requestSentFlag: boolean = false;\r\n\r\n allowMultipleSelect = false;\r\n\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private loggerService: LoggerService,\r\n public dialogRef: MatDialogRef,\r\n @Inject(MAT_DIALOG_DATA) public data: DialogData,\r\n public dialog: MatDialog,\r\n private wallpaperUploadService: WallpaperUploadService,\r\n private sanitizer: DomSanitizer) {\r\n }\r\n\r\n ngOnInit(): void {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n\r\n this.wallpaperUploadService.getAllImages().subscribe(imgs => {\r\n this.imagesNames = imgs;\r\n }, err => {\r\n this.loggerService.log(\"WallpaperUploadDialogComponent\", err.message, Levels.error);\r\n })\r\n }\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.received_selected_items = items\r\n // let checkDb = \"\"\r\n // this.received_selected_items.forEach(item => checkDb = checkDb + item.value + \",\")\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n getImageUrl() {\r\n this.wallpaperUploadService.getImage(this.selectedImage).subscribe(imageData => {\r\n this.imageData = imageData;\r\n this.imageSource = this.sanitizer.bypassSecurityTrustResourceUrl(`data:image/png;base64, ${this.imageData?.base64_encoded_image}`);\r\n }, err => {\r\n this.loggerService.log(\"WallpaperUploadDialogComponent\", err.message, Levels.error);\r\n })\r\n }\r\n\r\n openConfirmDialog() {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Push wallpaper to units\", message: `Confirm pushing wallpaper with title ${this.selectedImage} to ${this.received_selected_items.length} units from VMS` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.requestSentFlag = true;\r\n this.wallpaperUploadService.postJobs(this.received_selected_items, this.selectedImage,this.user_info_obj.name).subscribe(data => {\r\n this.requestSentFlag = false;\r\n this.openSnackBar(\"Job pushed successfully.\", \"Done\");\r\n }, err => {\r\n this.requestSentFlag = false;\r\n this.openSnackBar(err.error?.message ? err.error?.message : \"Error while processing your request\", \"Error\");\r\n })\r\n }\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.data.response = false;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n onYesClick(): void {\r\n this.data.response = true;\r\n this.dialogRef.close(this.data.response);\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n

    Wallpaper Management

    \r\n
    \r\n Toggle Navigator\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Units selected

    \r\n\r\n

    \r\n * Select units from tree\r\n

    \r\n\r\n
    0\" style=\"color:blue\" class=\"align-left\">\r\n * Total number of units selected are {{this.received_selected_items.length}}\r\n
    \r\n\r\n
    \r\n\r\n 0\"\r\n mat-table [dataSource]=\"this.received_selected_items\"\r\n class=\"mat-elevation-z8 col-sm-12\">\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n computer\r\n Unit Name - Unit IP\r\n {{element.text}}\r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n close\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Available images

    \r\n \r\n Images Names\r\n \r\n {{image}}\r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { wallpaper } from '../../../assets/conf_urls.json';\r\n\r\n@Injectable()\r\n\r\nexport class WallpaperUploadService {\r\n\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAllImages(): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"getWallpaperList\"\r\n })\r\n }\r\n\r\n getImage(img: string): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"getWallpaperByName\",\r\n \"wallpaperName\": img\r\n })\r\n }\r\n postJobs(unitsArr: any, imageID:string,requestedBy:string): Observable {\r\n return this.http.post(wallpaper.wallpaperURL, {\r\n \"event\": \"postJobs\",\r\n \"data\": unitsArr,\r\n \"imageID\": imageID,\r\n \"requestedBy\":requestedBy\r\n })\r\n }\r\n\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport jwt_decode from 'jwt-decode'\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class AccessAuthService {\r\n isAdmin = new BehaviorSubject(false);\r\n user_info_obj_BehaviorSubject = new BehaviorSubject<{\r\n \"role\": string,\r\n \"name\": string,\r\n \"displayname\": string\r\n }>(null);\r\n\r\n constructor(private router: Router) {\r\n if (localStorage.getItem('accessToken')) {\r\n\r\n let user_info_obj: any = jwt_decode(localStorage.getItem('accessToken'));\r\n let adminAuthorization: boolean = user_info_obj.role === \"admin\" ? true : false;\r\n this.isAdmin.next(adminAuthorization);\r\n this.user_info_obj_BehaviorSubject.next(user_info_obj)\r\n }\r\n }\r\n\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { folderAccess } from './models/folderAccess.model';\r\nimport { system_manager, auth_server } from '../assets/conf_urls.json';\r\nimport { userAccessMapping } from './models/userAccessMapping.model';\r\n\r\n@Injectable()\r\nexport class GlobalSharedService {\r\n private token = localStorage.getItem('accessToken');\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n getAllAccessFolders(): Observable<{ data: folderAccess[] }> {\r\n return this.http.post<{ data: folderAccess[] }>(\r\n system_manager.services,\r\n {\r\n \"event\": \"select_folders_mapping\"\r\n })\r\n }\r\n\r\n getUserAccessMappingFolders(userId: number): Observable<{ data: userAccessMapping[] }> {\r\n return this.http.post<{ data: userAccessMapping[] }>(\r\n system_manager.services,\r\n {\r\n \"event\": \"getUserAccessFolders\",\r\n \"userId\": userId\r\n })\r\n }\r\n\r\n\r\n\r\n updateAccessFolders(userId: number, foldersArr: number[]): Observable<{ data: folderAccess[] }> {\r\n const headers = new HttpHeaders({ 'Authorization': 'Bearer ' + this.token, responseType: 'text' });\r\n return this.http.post<{ data: folderAccess[] }>(\r\n auth_server.updateByIdUserAccess,\r\n {\r\n \"userId\": userId,\r\n \"folders\": foldersArr\r\n }, { headers })\r\n }\r\n\r\n}\r\n","export enum Levels {\r\n info,\r\n warning,\r\n error,\r\n}\r\n","import { Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport jwt_decode from 'jwt-decode';\r\nimport { logger } from \"../../assets/conf_urls.json\"\r\nimport { Levels } from './levels.enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class LoggerService {\r\n private user_info_obj: { name: string, role: string } = null;\r\n\r\n constructor(private http: HttpClient) {\r\n }\r\n\r\n \r\n logUser(componentName: string, nameOfUser: string, msg: string, lvl: Levels) {\r\n let body = {\r\n username: nameOfUser,\r\n message: componentName + \": \" + msg,\r\n level: this.getLevelString(lvl)\r\n }\r\n this.http.post(logger.logEntry, body).subscribe(data => { });\r\n }\r\n\r\n log(componentName: string, msg: string, lvl: Levels) {\r\n if (!this.user_info_obj) { this.user_info_obj = jwt_decode(localStorage.getItem('accessToken')); }\r\n\r\n let body = {\r\n username: this.user_info_obj.name,\r\n message: componentName + \": \" + msg,\r\n level: this.getLevelString(lvl)\r\n };\r\n this.http.post(logger.logEntry, body).subscribe(data => { });\r\n }\r\n\r\n getLevelString(lvl: Levels): string {\r\n switch (lvl) {\r\n case Levels.info:\r\n return \"info\";\r\n case Levels.warning:\r\n return \"warning\";\r\n case Levels.error:\r\n return \"error\";\r\n }\r\n }\r\n}\r\n","import { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { Injectable } from '@angular/core';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogSearchComponent } from './Dialogs/dialog-search/dialog.search.component';\r\n\r\n@Injectable({ providedIn: 'root' })\r\nexport class SearchModuleService {\r\n\r\n dataTransmitted = new Subject();\r\n private allowMultipleSelect: boolean = false;\r\n\r\n constructor(private router: Router, private dialog: MatDialog,) {\r\n }\r\n\r\n private checkMultipleSelect() {\r\n const urlsForMultipleSelect: string[] = ['/templatemanager', '/softwareupdate']\r\n if (urlsForMultipleSelect.includes(this.router.url)) {\r\n this.allowMultipleSelect = true;\r\n } else {\r\n this.allowMultipleSelect = false;\r\n }\r\n }\r\n\r\n openSearchDialog(): void {\r\n this.checkMultipleSelect();\r\n\r\n const dialogRef = this.dialog.open(DialogSearchComponent, {\r\n maxHeight: '100vh',\r\n data: [],\r\n disableClose: true\r\n });\r\n\r\n let instance = dialogRef.componentInstance;\r\n instance.allowMultipleSelect = this.allowMultipleSelect;\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendData(result)\r\n }\r\n });\r\n\r\n }\r\n\r\n private sendData(data: number[]) {\r\n this.dataTransmitted.next(data);\r\n }\r\n\r\n}\r\n","import { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { HttpClient } from \"@angular/common/http\";\r\n//@ts-ignore\r\nimport { software_update, user_access, system_manager } from \"../assets/conf_urls.json\"\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from \"@angular/forms\";\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n@Component({\r\n selector: 'app-software-upgrade',\r\n templateUrl: './software-upgrade.component.html',\r\n styleUrls: ['./software-upgrade.component.css']\r\n})\r\nexport class SoftwareUpgradeComponent implements OnInit {\r\n //forms\r\n form_updatelist: FormGroup\r\n show_progressbar = false\r\n\r\n //\r\n switcher_toggle_navigator = true;\r\n show_job_form = false;\r\n // upgrade list\r\n upgrade_list = []\r\n final_upgrade_list = []\r\n //tmp\r\n package_list = []\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n // for user access\r\n\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n recieve_selected_items = [];\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.recieve_selected_items = items\r\n items.forEach(item => {\r\n if (item[\"parent\"]) {\r\n delete item[\"parent\"]\r\n }\r\n });\r\n }\r\n\r\n move_selected_to_list() {\r\n\r\n this.show_progressbar = true\r\n let request_body = {\r\n \"event\": \"select_by_id_list\", \"id_list\": this.recieve_selected_items\r\n }\r\n this.http.post(system_manager.services, request_body).subscribe(response_data => {\r\n\r\n if (response_data[\"status_type\"] == \"Success\") {\r\n //found system profile\r\n if (response_data[\"data\"][0]) {\r\n response_data[\"data\"].forEach(item => {\r\n this.move_single_system_to_list(item)\r\n });\r\n this.show_progressbar = false\r\n\r\n }\r\n //no data for this mac address\r\n else {\r\n //change the message only\r\n this.show_progressbar = false;\r\n }\r\n } else {\r\n this.show_progressbar = false;\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n\r\n })\r\n\r\n this.recieve_selected_items = []\r\n }\r\n\r\n move_single_system_to_list(system_obj) {\r\n if (this.upgrade_list.find(element => element.system.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n // 1. get the package\r\n let sw_name = \"\"\r\n sw_name = system_obj[\"software_name\"]\r\n this.get_packages_by_sw_name(sw_name, system_obj)\r\n\r\n // 2. create the upgrade list item\r\n\r\n }\r\n\r\n selected_option_value = \"\"\r\n selected_option_sw_name = \"\"\r\n changed_selected_option(value, sw_name, button_id) {\r\n this.selected_option_value = value\r\n this.selected_option_sw_name = sw_name\r\n document.getElementById(\"value_\" + button_id).hidden = false\r\n }\r\n\r\n change_all_similar(button_id) {\r\n if (this.selected_option_sw_name.length > 0 && this.selected_option_value.length > 0) {\r\n Object.keys(this.upgrade_list).forEach(item => {\r\n if (this.upgrade_list[item]['system'][\"software_name\"] == this.selected_option_sw_name) {\r\n let temp = 'value_' + this.upgrade_list[item]['system']['id']\r\n this.form_updatelist.get(temp).setValue(this.selected_option_value);\r\n }\r\n\r\n })\r\n this.selected_option_value = \"\"\r\n this.selected_option_sw_name = \"\"\r\n document.getElementById(button_id).hidden = true\r\n }\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n let element1: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n element1.click();\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n }, 700)\r\n }\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n });\r\n // end\r\n }\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private _formbuilder: FormBuilder,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_multiple_items(data)\r\n )\r\n this.form_updatelist = this._formbuilder.group({\r\n start_at: ['', Validators.required],\r\n\r\n });\r\n }\r\n //1. get package.\r\n //2. add to form.\r\n get_packages_by_sw_name(sw_name: any, row: any) {\r\n let flag = 1\r\n this.package_list = []\r\n //let row = event[\"item\"][\"props\"]\r\n //if (row == undefined) {\r\n // row = event[\"item\"]\r\n //}\r\n let json_object = { \"event\": \"query_package_by_sw_name\", \"software_name\": sw_name }\r\n this.http.post(software_update.services, json_object).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.package_list = response_data[\"data\"][0][\"packages\"]\r\n\r\n let system_name = row[\"system_name\"]\r\n\r\n Object.keys(this.upgrade_list).forEach(item => {\r\n let current_system_name = this.upgrade_list[item][\"system_name\"]\r\n\r\n if (current_system_name == system_name) {\r\n this.upgrade_list.splice(parseInt(item), 1)\r\n }\r\n\r\n })\r\n //add package with system\r\n\r\n this.upgrade_list.push({ \"system\": row, \"package\": this.package_list })\r\n\r\n //add to form\r\n\r\n\r\n let fc_id = row['id']\r\n\r\n const fc_value = new FormControl('')\r\n const fc_system = new FormControl(row['system_name'])\r\n const fc_ip = new FormControl(row['system_ip'])\r\n const fc_operation = new FormControl('Software Upgrade ' + row['system_name'] + '')\r\n const fc_status = new FormControl('new')\r\n const fc_isexecuted = new FormControl('0')\r\n this.form_updatelist.addControl('value_' + fc_id, fc_value)\r\n this.form_updatelist.addControl('system_name_' + fc_id, fc_system)\r\n this.form_updatelist.addControl('system_ip_' + fc_id, fc_ip)\r\n this.form_updatelist.addControl('operation_name_' + fc_id, fc_operation)\r\n this.form_updatelist.addControl('job_status_' + fc_id, fc_status)\r\n this.form_updatelist.addControl('is_executed_' + fc_id, fc_isexecuted)\r\n // this.form_updatelist.addControl('start_at' , fc_value)\r\n } else {\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n delete_item_from_array(item: any) {\r\n let current_id = item[\"id\"]\r\n const iterate_index = this.upgrade_list.findIndex(i => i.system.id == item[\"id\"]);\r\n this.upgrade_list.splice(iterate_index, 1)\r\n // Object.keys(this.upgrade_list).forEach(index => {\r\n // let iterate_id = this.upgrade_list[index][\"system\"][\"id\"]\r\n // if (current_id == iterate_id) {\r\n // this.upgrade_list.splice(parseInt(index), 1)\r\n // }\r\n // })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n uuidv4() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n create_job() {\r\n let parent_job_id = this.uuidv4()\r\n let date = new Date()\r\n\r\n Object.keys(this.form_updatelist.value).forEach(key => {\r\n let job_id = this.uuidv4()\r\n if (key.includes('system_name_')) {\r\n let row_id = key.split('_')[2]\r\n let system_name = this.form_updatelist.value[key]\r\n let system_ip = this.form_updatelist.value[\"system_ip_\" + row_id]\r\n let operation_name = this.form_updatelist.value[\"operation_name_\" + row_id]\r\n let job_status = this.form_updatelist.value[\"job_status_\" + row_id]\r\n let is_executed = this.form_updatelist.value[\"is_executed_\" + row_id]\r\n let system_command = 'xCommand SystemUnit SoftwareUpgrade URL:\"' + this.form_updatelist.value[\"value_\" + row_id] + '\"'\r\n let start_at = this.form_updatelist.get('start_at').value\r\n\r\n if (system_command !== undefined && system_command.length !== 0 && system_command !== null) {\r\n\r\n let jobj = {\r\n \"event\": \"create_job_sw_upgrade\",\r\n \"system_name\": system_name,\r\n \"system_ip\": system_ip,\r\n \"operation_name\": operation_name,\r\n \"job_status\": job_status,\r\n \"is_executed\": is_executed,\r\n \"system_command\": system_command,\r\n \"start_at\": start_at,\r\n \"parent_job_id\": parent_job_id,\r\n \"job_id\": job_id\r\n }\r\n //post command to the template\r\n this.show_progressbar = true\r\n this.http.post(software_update.services, jobj).subscribe(response_data => {\r\n\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SoftwareUpgradeComponent\", err.message, Levels.error)\r\n })\r\n } else {\r\n\r\n }\r\n }\r\n\r\n })\r\n }\r\n\r\n\r\n\r\n\r\n\r\n\r\n}\r\n","\r\n\r\n Toggle Navigator\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n

    Upgrade list\r\n {{upgrade_list.length}}\r\n \r\n \r\n\r\n

    \r\n
    \r\n
    1. Select Start Date/Time \r\n \r\n
    \r\n\r\n
    2. select the required package to upgrade
    \r\n \r\n\r\n
    \r\n
    \r\n\r\n \r\n videocam\r\n
    {{record[\"system\"][\"system_name\"]}}
    \r\n
    System IP: {{record[\"system\"][\"system_ip\"]}}
    \r\n
    Product ID: {{record[\"system\"][\"product_id\"]}}
    \r\n
    Software Name: {{record[\"system\"][\"software_name\"]}}
    \r\n
    Software Version: {{record[\"system\"][\"software_version\"]}}
    \r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    No compatible package found for this software\r\n family {{record[\"system\"][\"software_name\"]}}
    \r\n
    \r\n \r\n\r\n\r\n \r\n Available Package/s\r\n \r\n \r\n {{row_package['file_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

    Job Profile

    \r\n
    \r\n
    \r\n
    \r\n\r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FormBuilder, FormGroup } from '@angular/forms';\r\nimport { MatPaginator } from '@angular/material/paginator';\r\nimport { MatSort } from '@angular/material/sort';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { MatSnackBar } from \"@angular/material/snack-bar\";\r\nimport { template_manager } from '../assets/conf_urls.json';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { UserData } from './userdata.model';\r\n\r\n@Component({\r\n selector: 'app-sql-data-table',\r\n templateUrl: './sql-data-table.component.html',\r\n\r\n styleUrls: ['./sql-data-table.component.css']\r\n})\r\nexport class SqlDataTableComponent implements OnInit {\r\n show_progressbar = false\r\n displayedColumns: string[] = [];\r\n dataSource: MatTableDataSource;\r\n sqlRows: any;\r\n @Input() icon: string;\r\n @Input() table_name: string;\r\n @Input() condition: string;\r\n @Input() condition_key: string;\r\n @Input() condition_value: string;\r\n @Input() condition_value_type: string;\r\n @Input() hidden_cols: string;\r\n @Input() cols: string;\r\n @Input() query: string;\r\n @Input() ischeckbox: boolean;\r\n @Input() action_button_title: string;\r\n @Input() show_action_button: string;\r\n @Input() url: string;\r\n @Input() table: string;\r\n @Input() dropdownSources: any[];\r\n @ViewChild(MatPaginator, { static: true }) paginator: MatPaginator;\r\n @Output() formDataMessageEvent = new EventEmitter<{}>();\r\n @Output() messageEvent = new EventEmitter<[]>();\r\n @ViewChild(MatSort, { static: true }) sort: MatSort;\r\n myFormGroup: FormGroup;\r\n formTemplate: any = [];\r\n isLinear = false;\r\n firstFormGroup: FormGroup;\r\n list_selected_items: any = [];\r\n list_hidden_cols: any = [];\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private _formBuilder: FormBuilder,\r\n private loggerService: LoggerService) {\r\n }\r\n\r\n log_item(n: any, event) {\r\n var flag = 0;\r\n var clickevent = event['checked'];\r\n //add\r\n if (clickevent == true) {\r\n if (this.list_selected_items.length > 0) {\r\n this.list_selected_items.forEach(item => {\r\n if (item['id'] !== n['id']) {\r\n flag = 0;\r\n } else {\r\n flag = 1;\r\n }\r\n });\r\n if (flag == 0) {\r\n this.list_selected_items.push(n);\r\n }\r\n } else {\r\n this.list_selected_items.push(n);\r\n }\r\n }\r\n //remove\r\n else {\r\n const index = this.list_selected_items.indexOf(n, 0);\r\n if (index > -1) {\r\n this.list_selected_items.splice(index, 1);\r\n }\r\n }\r\n this.sendMessage_selected_rows();\r\n }\r\n\r\n sendMessage_selected_rows() {\r\n\r\n this.messageEvent.emit(this.list_selected_items);\r\n\r\n }\r\n\r\n sendMessage_single_row(row) {\r\n this.messageEvent.emit(row);\r\n\r\n }\r\n\r\n ngsubmit() {\r\n // (formDataMessageEvent)=\"receiveMessage($event)\"\r\n if (this.myFormGroup.valid) {\r\n this.formDataMessageEvent.emit(this.myFormGroup.value);\r\n }\r\n }\r\n\r\n generate_displayed_columns() {\r\n this.displayedColumns = [];\r\n if (this.sqlRows && this.sqlRows.length > 0) {\r\n Object.keys(this.sqlRows[0]).forEach(key => {\r\n this.displayedColumns.push(key);\r\n\r\n });\r\n }\r\n }\r\n\r\n\r\n get_sql_rows() {\r\n this.show_progressbar = true\r\n var q;\r\n var json_object;\r\n if (this.condition == \"true\" && this.condition_value != undefined) {\r\n if (this.condition_value_type == 'string' && this.condition_value != undefined) {\r\n\r\n q = this.query + \" where \" + this.condition_key + \"='\" + this.condition_value + \"'\"\r\n } else {\r\n q = this.query + \" where \" + this.condition_key + \"=\" + this.condition_value + \"\"\r\n\r\n }\r\n } else {\r\n q = this.query\r\n }\r\n json_object = {\r\n 'q': q,\r\n 'event': 'dt_query'\r\n }\r\n this.http.post(template_manager.table_dataset, json_object).subscribe(data => {\r\n if (data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.sqlRows = data[\"data\"];\r\n this.generate_displayed_columns();\r\n const dt = this.sqlRows;\r\n this.dataSource = new MatTableDataSource(dt);\r\n this.dataSource.paginator = this.paginator;\r\n this.dataSource.sort = this.sort;\r\n q = \"\"\r\n this.show_progressbar = false\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SqlDataTableComponent\", err.message, Levels.error)\r\n });\r\n setTimeout(() => {\r\n this.list_hidden_cols.forEach(item => {\r\n $('#' + item + '_th').remove()\r\n $('#' + item + '_td').remove()\r\n })\r\n }, 1000)\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.dataSource.filter = filterValue.trim().toLowerCase();\r\n\r\n if (this.dataSource.paginator) {\r\n this.dataSource.paginator.firstPage();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n // this.init_form();\r\n // this.change_form();\r\n // this.get_sql_rows()\r\n if (this.hidden_cols != undefined) {\r\n if (this.hidden_cols.includes(',')) {\r\n\r\n this.list_hidden_cols = this.hidden_cols.split(',')\r\n\r\n } else {\r\n this.list_hidden_cols.push(this.hidden_cols)\r\n\r\n }\r\n }\r\n }\r\n}\r\n","\r\n\r\n\r\n\r\n Filter\r\n \r\n\r\n\r\n\r\n
    \r\n \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \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.replace('_', ' ').toUpperCase()}} \r\n \r\n {{icon}}\r\n {{row[item]}}
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n\r\n","import { SystemProfileService } from '../shared/system-profile-V2.service';\r\nimport { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { state } from '../shared/state.enum';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { marketsLocations } from '../shared/markets.locations.model';\r\n\r\n\r\n@Component({\r\n templateUrl: './insert.systems.component.html',\r\n styleUrls: ['./insert.systems.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class InsertUnitsComponent implements OnInit {\r\n insertedSystemsText: string;\r\n insertedSystems: {} = {};\r\n targetFolder: { id: Number, text: string } = { id: null, text: \"\" };\r\n folderAddError: string = \"\";\r\n\r\n marketsData: marketsLocations[] = [];\r\n availableMarkets: { id: Number, text: string }[] = [];\r\n selectedMarketName: string = \"\";\r\n availableMarketLocations: { id: Number, text: string }[] = [];\r\n selectedMarketLocationId: { id: Number, text: string } = { id: null, text: null };\r\n provisionUnitsChoice: number = 0;\r\n monitorUnitsChoice: number = 0;\r\n\r\n displayedColumns = [\"deleteIcon\", \"ip\", \"password\", \"targetFolder\", \"market\", \"location\", \"provision\", \"monitor\", \"state\"];\r\n rowsCounter = 0;\r\n processingFlag: boolean = false;\r\n resultReceivedFlag: boolean = false;\r\n disableAfterFetchingData: boolean = false;\r\n StateEnum = state;\r\n @ViewChild('f') insertForm: NgForm;\r\n @ViewChild('ff') submitForm: NgForm;\r\n\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private systemService: SystemProfileService,\r\n private loggerService: LoggerService,\r\n private _snackBar: MatSnackBar\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.systemService.getMarketsLocationsAvailable().subscribe(data => {\r\n this.marketsData = data.data;\r\n for (const market of this.marketsData) {\r\n if (this.availableMarkets.length == 0) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n else {\r\n if (this.availableMarkets[this.availableMarkets.length - 1].text !== market.market_name) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"InsertUnitsComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n recieve_selected_folder(folderDetails) {\r\n let disableBtn: boolean = false;\r\n this.folderAddError = \"\";\r\n this.targetFolder.id = null;\r\n this.targetFolder.text = null;\r\n if (folderDetails && disableBtn == false) {\r\n if (folderDetails.children && folderDetails.children.length > 0\r\n && folderDetails.children[0].value.type == 'folder') {\r\n this.folderAddError = \"- Cannot add system to folder that contains folder(s).\"\r\n disableBtn = true;\r\n return;\r\n }\r\n }\r\n this.targetFolder.id = folderDetails.value.id;\r\n this.targetFolder.text = folderDetails.text;\r\n }\r\n\r\n onSubmitTextArea() {\r\n if (this.insertForm.valid) {\r\n this.clearTableData()\r\n let parsedArr: string[] = this.insertedSystemsText.trim().replace(/\\n/g, \"\").split(\",\");\r\n for (let i = 0; i < parsedArr.length; i++) {\r\n if (parsedArr[i].includes(\"-\")) {\r\n let candidateEle: string[] = parsedArr[i].split(\"-\");\r\n if (candidateEle.length == 2) {\r\n let key = this.rowsCounter++;\r\n this.insertedSystems[key] = [candidateEle[0].replace(/ /g, ''), candidateEle[1].replace(/ /g, ''), null]\r\n }\r\n }\r\n }\r\n\r\n }\r\n }\r\n\r\n onSubmitData() {\r\n if (this.submitForm.valid && this.targetFolder.id) {\r\n this.processingFlag = true;\r\n this.resultReceivedFlag = false;\r\n this.disableAfterFetchingData = true;\r\n\r\n let dataObject: {\r\n targetFolderId: Number, marketLocationId: Number, provisionFlag: Number,\r\n monitorFlag: Number, units: { dictId: string, system_ip: string, system_password: string }[]\r\n } = {\r\n targetFolderId: this.targetFolder.id, marketLocationId: this.selectedMarketLocationId.id,\r\n provisionFlag: this.provisionUnitsChoice, monitorFlag: this.monitorUnitsChoice, units: []\r\n }\r\n for (const prop in this.insertedSystems) {\r\n let obj = this.insertedSystems[prop]\r\n dataObject.units.push({ dictId: prop, system_ip: obj[0], system_password: obj[1] });\r\n }\r\n\r\n\r\n this.systemService.addSystems(dataObject).subscribe(ReceivedData => {\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = true;\r\n\r\n for (let i = 0; i < ReceivedData['message'].length; i++) {\r\n let key: string = ReceivedData['message'][i][\"dictId\"];\r\n let stateReceivedEnum: state = ReceivedData['message'][i][\"message\"];\r\n this.insertedSystems[key][2] = this.StateEnum[stateReceivedEnum]\r\n }\r\n this.openSnackBar(\"Operation completed\", \"Success\");\r\n\r\n }, err => {\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = true;\r\n for (const prop in this.insertedSystems) {\r\n let obj = this.insertedSystems[prop]\r\n obj[2] = this.StateEnum[this.StateEnum.ErrorWhileSendingData]\r\n }\r\n this.loggerService.log(\"InsertUnitsComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n this.disableAfterFetchingData = true\r\n\r\n })\r\n }\r\n }\r\n\r\n clearTableData() {\r\n this.insertedSystems = {};\r\n this.rowsCounter = 0;\r\n this.processingFlag = false;\r\n this.resultReceivedFlag = false;\r\n this.disableAfterFetchingData = false;\r\n\r\n }\r\n\r\n clearTextArea() {\r\n this.insertedSystemsText = \"\";\r\n this.clearTableData();\r\n }\r\n\r\n getInsertedSystemsKeys(): string[] {\r\n //set timeout is for the form in order to consider the form touched and show mat-errors automatically\r\n if (Object.keys(this.insertedSystems).length > 0) {\r\n setTimeout(x => {\r\n this.submitForm.form.markAllAsTouched();\r\n }, 100)\r\n }\r\n\r\n return Object.keys(this.insertedSystems);\r\n }\r\n\r\n removeSingleRow(elementID: string) {\r\n if (!this.processingFlag) {\r\n delete this.insertedSystems[elementID];\r\n let element = document.getElementById(elementID + \"ID\");\r\n element.parentNode.removeChild(element);\r\n }\r\n }\r\n\r\n fetchMarketLocations() {\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n const locations = this.marketsData.filter(i => i.market_name == this.selectedMarketName)\r\n for (const location of locations) {\r\n this.availableMarketLocations.push({ id: location.id, text: location.location_name });\r\n }\r\n this.selectedMarketLocationId = this.availableMarketLocations[0];\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n changemonitoringselection(){\r\n if (this.selectedMarketName == 'Not Supported'){\r\n this.monitorUnitsChoice=0\r\n return false\r\n }\r\n return true\r\n }\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Please enter systems IP-Password comma separated

    \r\n
    \r\n
    \r\n \r\n IP-Password, ....\r\n \r\n \r\n
    \r\n \r\n Enter an IP-Password format\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n \r\n Units Market\r\n \r\n {{market.text}}\r\n \r\n \r\n\r\n \r\n Locations Available\r\n \r\n {{location.text}}\r\n \r\n \r\n\r\n \r\n Provision units\r\n \r\n No\r\n Yes\r\n \r\n \r\n\r\n \r\n Monitor units\r\n \r\n No\r\n Yes\r\n \r\n \r\n
    \r\n\r\n
    \r\n

    Units to be added

    \r\n\r\n

    \r\n * Insert in the textbox above the units to be added !\r\n

    \r\n\r\n
    \r\n\r\n
    \r\n 0\"\r\n mat-table [dataSource]=\"getInsertedSystemsKeys()\"\r\n class=\"mat-elevation-z8 col-sm-12\">\r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n delete_forever\r\n
    \r\n
    \r\n\r\n \r\n IP\r\n \r\n\r\n \r\n Invalid IPV4 format\r\n \r\n\r\n \r\n\r\n \r\n \r\n Password\r\n \r\n \r\n * Note system password is empty\r\n \r\n \r\n \r\n \r\n \r\n \r\n Designated folder\r\n \r\n \r\n * select folder from tree {{folderAddError}}\r\n \r\n\r\n \r\n \r\n \r\n Selected market\r\n \r\n \r\n * select a market from above\r\n \r\n \r\n \r\n \r\n Selected location\r\n \r\n \r\n * select a location from above\r\n \r\n \r\n \r\n \r\n Provision unit\r\n \r\n \r\n * select a provision state from above\r\n \r\n \r\n \r\n \r\n Monitor unit\r\n \r\n \r\n * select a monitor state from above\r\n \r\n \r\n \r\n \r\n \r\n check_circle\r\n \r\n error\r\n\r\n \r\n {{insertedSystems[element][2]}}\r\n \r\n
    \r\n
    \r\n\r\n
    0\">\r\n \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n close\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n","export enum state {\r\n\r\n IPAlreadyExists = 0,\r\n DuplicateIPAddressReceived = 1,\r\n PasswordOrIpValidationError = 2,\r\n ConnectionErrorWithUnit = 3,\r\n InternalServerError = 4,\r\n ErrorWhileSendingData = 5\r\n\r\n}\r\n","import { BehaviorSubject, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from \"@angular/core\";\r\nimport { endpoint } from './endpoints.model';\r\nimport { system_manager } from '../../assets/conf_urls.json';\r\nimport { marketsLocations } from './markets.locations.model';\r\nimport { folderSystem } from './folder.system.model';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Injectable()\r\n\r\nexport class SystemProfileService {\r\n endpointDateToBeTransmitted = new BehaviorSubject(null)\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private http: HttpClient,\r\n public accessAuthService: AccessAuthService) {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n }\r\n\r\n\r\n\r\n tryChangeSystemPassword(systemId: number, newPassword: string): Observable {\r\n let json_object = {\r\n \"id\": systemId,\r\n \"name\": \"system_password\",\r\n \"command\": \"test\",\r\n \"form_label\": \"Change the Admin Password\",\r\n \"secret_ops\": \"password_change\",\r\n \"value\": newPassword\r\n }\r\n return this.http.post(system_manager.push_system_profile, json_object)\r\n }\r\n\r\n updateEndpointFolder(unitId, NewFolderId, ip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_parent_id\",\r\n \"id\": unitId,\r\n \"new_parent_id\": NewFolderId,\r\n \"ip\": ip\r\n })\r\n }\r\n\r\n pullFromSystem(unitip: string): Observable {\r\n return this.http.post(system_manager.pull_system_profile, {\r\n \"system_ip\": unitip\r\n })\r\n }\r\n\r\n deleteSystem(unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'delete',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n unprovisionSystemWithNoDelete(unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'unprovisionSystem',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n monitorOrUnmonitorSystem(flag: boolean, unitip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'monitorOrUnmonitorSystem',\r\n \"system_ip\": unitip,\r\n \"flag\": flag\r\n })\r\n }\r\n\r\n provisionSystem(unitip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'startProvision',\r\n \"ip\": unitip\r\n })\r\n }\r\n\r\n addSystems(data: {\r\n targetFolderId: Number,\r\n marketLocationId: Number,\r\n provisionFlag: Number,\r\n monitorFlag: Number,\r\n units: { dictId: string, system_ip: string, system_password: string }[]\r\n }):\r\n Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'create',\r\n \"data\": data\r\n })\r\n }\r\n\r\n addNoteToSystem(unitIp: string, note: string, userName: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'addNote',\r\n \"system_ip\": unitIp,\r\n \"note\": note,\r\n \"user_name\": userName\r\n })\r\n }\r\n\r\n updateProfile(unitIp, swVersion, data: any[]): Observable {\r\n return this.http.post(system_manager.update_profile, {\r\n \"system_ip\": unitIp,\r\n \"software_version\": swVersion,\r\n \"data\": data\r\n })\r\n }\r\n\r\n getConfigFiles(unitip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip\r\n })\r\n }\r\n\r\n getConfigFileByName(unitip, fileName): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip,\r\n \"configFile\": fileName\r\n })\r\n }\r\n\r\n rollbackSystemConfiguration(unitip, fileName): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": 'getConfigFiles',\r\n \"system_ip\": unitip,\r\n \"rollbackFile\": fileName\r\n })\r\n }\r\n\r\n getMarketsLocationsAvailable(): Observable<{ data: marketsLocations[] }> {\r\n return this.http.post<{ data: marketsLocations[] }>(system_manager.services, {\r\n \"event\": \"select_Markets_Locations\"\r\n })\r\n }\r\n\r\n tryInsertFirstPassword(system_ip, targetFolderId, newPassword): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"insert_password_first_time\",\r\n \"system_ip\": system_ip,\r\n \"targetFolderId\": targetFolderId,\r\n \"newPassword\": newPassword\r\n })\r\n }\r\n\r\n updateVMSPassword(system_ip, newPassword): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_vms_password\",\r\n \"system_ip\": system_ip,\r\n \"newPassword\": newPassword\r\n })\r\n }\r\n\r\n getSystemMarketLocation(system_ip): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"get_system_market\",\r\n \"system_ip\": system_ip,\r\n })\r\n }\r\n\r\n updateSystemMarket(system_ip, targetFolderId): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"update_system_market\",\r\n \"system_ip\": system_ip,\r\n \"targetFolderId\": targetFolderId\r\n })\r\n }\r\n\r\n getFolderSystems(targetFolderId): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"get_folder_systems\",\r\n \"id\": targetFolderId\r\n })\r\n }\r\n\r\n removeAllBackups(ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"removeBackups\",\r\n \"system_ip\": ip\r\n })\r\n }\r\n\r\n takeBackup(ip: string): Observable {\r\n return this.http.post(system_manager.services, {\r\n \"event\": \"takeBackup\",\r\n \"system_ip\": ip\r\n })\r\n }\r\n}\r\n\r\n","import { Component, OnInit, OnChanges, Input, SimpleChanges } from '@angular/core';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { folderSystem } from 'src/system-profile-manager/shared/folder.system.model';\r\n\r\n@Component({\r\n selector: 'folder-systems-component',\r\n templateUrl: './folder-systems.component.html',\r\n styleUrls: ['./folder-systems.component.css']\r\n})\r\nexport class FolderSystemsComponent implements OnInit, OnChanges {\r\n receivedUnits: folderSystem[] = [];\r\n displayedColumns = [\"icon\", \"system_name\", \"system_ip\", \"parentFolder\", \"last_monitored_date\", \"status\"];\r\n logsTableData: MatTableDataSource = new MatTableDataSource([]);\r\n @Input() selected_folder: { id: Number, type: string };\r\n selectedFolderId: Number;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog,\r\n ) {\r\n }\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.selectedFolderId != this.selected_folder?.id) {\r\n this.selectedFolderId = this.selected_folder?.id;\r\n this.getSystemsInFolder();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n if (this.selectedFolderId != this.selected_folder?.id) {\r\n this.selectedFolderId = this.selected_folder?.id;\r\n this.getSystemsInFolder();\r\n }\r\n }\r\n\r\n getSystemsInFolder() {\r\n this.systemService.getFolderSystems(this.selectedFolderId).subscribe(response => {\r\n this.receivedUnits = response[\"message\"].sort((a, b) => (a.system_name < b.system_name) ? -1 : ((a.system_name < b.system_name) ? 1 : 0))\r\n this.logsTableData = new MatTableDataSource(this.receivedUnits);\r\n }, err => {\r\n this.loggerService.log(\"FolderSystemsComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system location\", message: `Are you sure you want to move ` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n\r\n }\r\n });\r\n }\r\n\r\n applyFilter(event: Event) {\r\n const filterValue = (event.target as HTMLInputElement).value;\r\n this.logsTableData.filter = filterValue.trim().toLowerCase();\r\n }\r\n\r\n returnElementColor(element: folderSystem) {\r\n if (element.status == \"No HTTPS response\") return \"red\";\r\n else if (element.status == \"Idle\" || element.status == \"In a call\") return \"green\";\r\n else return \"blue\";\r\n }\r\n\r\n goToLink(endpoint) {\r\n let url = \"https://\" + endpoint.system_ip + \"/\"\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n

    Systems in folder

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

    \r\n Units Fetched: {{this.receivedUnits.length}}\r\n

    \r\n
    \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n Filter\r\n \r\n \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    tablet_android Name {{element.system_name?element.system_name:\"NA\"}} IP {{element.system_ip}} Parent Folder {{element.parentFolder?element.parentFolder:\"NA\"}} Last Health Check Date {{element.last_monitored_date?element.last_monitored_date:\"NA\"}} Status {{element.status?element.status:\"NA\"}}
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n","import { FormControl, NgForm, Validators } from '@angular/forms';\r\nimport { endpoint } from '../../shared/endpoints.model';\r\nimport { Component, EventEmitter, Input, OnInit, Output, ViewChild } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { marketsLocations } from 'src/system-profile-manager/shared/markets.locations.model';\r\n\r\n@Component({\r\n selector: 'system-location-password-component',\r\n templateUrl: './system-password.component.html',\r\n styleUrls: ['./system-password.component.css']\r\n})\r\nexport class SystemPasswordComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n systemMarketLocationData: { id: Number, market_name: string, location_name: string };\r\n panelOpenState1 = false;\r\n panelOpenState2 = false;\r\n panelOpenState3 = false;\r\n panelOpenState4 = false;\r\n\r\n\r\n\r\n updatePasswordError: string = null;\r\n updatePasswordError2: string = null;\r\n updateBtnErrorMsg: string = null;\r\n show_progressbar: boolean = false;\r\n system_password = new FormControl('', [Validators.required]);\r\n vms_system_password = new FormControl('', [Validators.required]);\r\n passwordProcessingFlag: boolean = false;\r\n toBeSentPassword: string = \"\";\r\n marketsData: marketsLocations[] = [];\r\n availableMarkets: { id: Number, text: string }[] = [];\r\n selectedMarketName: string = \"\";\r\n availableMarketLocations: { id: Number, text: string }[] = [];\r\n selectedMarketLocationId: { id: Number, text: string } = { id: null, text: null };\r\n @ViewChild('ff') passwordForm: NgForm;\r\n\r\n\r\n @Input() selected_parent_folder: any;\r\n @Input() selected_folder: any;\r\n @Output() endPoint_location_updated = new EventEmitter();\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.resetAllData();\r\n this.endpoint_data = data;\r\n if (this.endpoint_data && this.endpoint_data.market_location_id) {\r\n this.systemService.getSystemMarketLocation(this.endpoint_data?.system_ip).subscribe(data => {\r\n if (data[\"message\"]?.id) {\r\n this.systemMarketLocationData = data[\"message\"];\r\n setTimeout(() => {\r\n this.selectedMarketName = this.systemMarketLocationData.market_name;\r\n this.fetchMarketLocations();\r\n const location = this.availableMarketLocations.filter(i => i.id == this.systemMarketLocationData.id);\r\n this.selectedMarketLocationId = location[0];\r\n }, 100);\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n });\r\n\r\n this.systemService.getMarketsLocationsAvailable().subscribe(data => {\r\n this.marketsData = data.data;\r\n for (const market of this.marketsData) {\r\n if (this.availableMarkets.length == 0) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n else {\r\n if (this.availableMarkets[this.availableMarkets.length - 1].text !== market.market_name) this.availableMarkets.push({ id: market.id, text: market.market_name });\r\n }\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n\r\n\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system location\", message: `Are you sure you want to move ${this.endpoint_data?.system_name} from folder: ${this.selected_parent_folder?.text} to folder: ${this.selected_folder?.text}?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.onSubmit_update_location();\r\n document.getElementById('refreshID').click();\r\n }\r\n });\r\n }\r\n\r\n openDialogInsertNewPassword(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update system password\", message: `Are you sure you want to send this password to try connecting to unit?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.send_new_password();\r\n }\r\n });\r\n }\r\n\r\n openDialogUpdateVmsPassword(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Update VMS system password\", message: `Are you sure you want to send this password to try connecting to unit?` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.update_vms_password();\r\n }\r\n });\r\n }\r\n\r\n disableUpdateButton(): boolean {\r\n let disableBtn = this.selected_folder == undefined ? true : false;\r\n if (this.selected_folder && disableBtn == false) {\r\n if (this.selected_folder?.value.id == this.endpoint_data?.folder_id_id) {\r\n this.updateBtnErrorMsg = \"* You chose the same parent folder.\"\r\n disableBtn = true;\r\n return disableBtn;\r\n } else if (this.selected_folder?.internalChildren && this.selected_folder?.internalChildren?.length > 0\r\n && this.selected_folder.internalChildren[0].value.type == 'folder') {\r\n this.updateBtnErrorMsg = \"* Cannot move an endpoint to a folder that contains folder(s).\"\r\n disableBtn = true;\r\n return disableBtn;\r\n }\r\n }\r\n return disableBtn;\r\n }\r\n\r\n onSubmit_update_location() {\r\n if (this.disableUpdateButton() == false) {\r\n this.systemService.updateEndpointFolder(this.endpoint_data?.id, this.selected_folder?.value.id, this.endpoint_data?.system_ip).subscribe(response => {\r\n this.openSnackBar('Update location is finished', \"Success\");\r\n this.loggerService.log(\"SystemPasswordComponent\", `request to change the folder for unit id=${this.endpoint_data?.id} to be moved to folder with id =${this.selected_folder?.value.id} was successful.`, Levels.info)\r\n this.endPoint_location_updated.emit(\"folder\");\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n this.openSnackBar('Error occurred please check your data', \"Error\");\r\n })\r\n }\r\n }\r\n\r\n\r\n updateSystemPassword() {\r\n let password = this.system_password.value\r\n this.updatePasswordError = null;\r\n // if (password.length < 6 || ! /[A-Z]/.test(password) || !/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/.test(password)) {\r\n // if (password.length < 6) {\r\n // this.updatePasswordError = \"* Password must be of min 6 characters.\";\r\n // } else {\r\n // this.updatePasswordError = \"* Password must contain an upper case, lower case and a special character.\";\r\n // }\r\n // return;\r\n // }\r\n this.push_to_system_new_password(password);\r\n\r\n }\r\n\r\n push_to_system_new_password(new_password: any) {\r\n this.show_progressbar = true\r\n this.passwordProcessingFlag = true;\r\n this.systemService.tryChangeSystemPassword(this.endpoint_data?.id, new_password).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n this.endpoint_data.system_password = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data)\r\n this.show_progressbar = false;\r\n this.openSnackBar(\"Password changed\", \"Success\")\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error);\r\n this.show_progressbar = false;\r\n this.openSnackBar(\"Connection error password could not be changed\", \"Error\")\r\n\r\n })\r\n }\r\n\r\n fetchMarketLocations() {\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n const locations = this.marketsData.filter(i => i.market_name == this.selectedMarketName)\r\n for (const location of locations) {\r\n this.availableMarketLocations.push({ id: location.id, text: location.location_name });\r\n }\r\n this.selectedMarketLocationId = this.availableMarketLocations[0];\r\n }\r\n\r\n send_new_password() {\r\n if (this.passwordForm.valid) {\r\n this.passwordProcessingFlag = true;\r\n this.systemService.tryInsertFirstPassword(this.endpoint_data?.system_ip,\r\n this.selectedMarketLocationId.id, this.toBeSentPassword).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n data[\"message\"].enable_phonebook = data[\"message\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_sip = data[\"message\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_h323 = data[\"message\"].enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(data[\"message\"]);\r\n this.loggerService.log(\"SystemPasswordComponent\", `First password were pushed successfully for unit with id =${this.endpoint_data.id}`, Levels.info)\r\n this.openSnackBar('Password push is completed', \"Success\");\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n }\r\n\r\n update_vms_password() {\r\n let password = this.vms_system_password.value\r\n this.updatePasswordError2 = null;\r\n if (password.length < 6 || ! /[A-Z]/.test(password) || !/[!@#$%^&*()_+\\-=\\[\\]{};':\"\\\\|,.<>\\/?]+/.test(password)) {\r\n if (password.length < 6) {\r\n this.updatePasswordError2 = \"* Password must be of min 6 characters.\";\r\n } else {\r\n this.updatePasswordError2 = \"* Password must contain an upper case, lower case and a special character.\";\r\n }\r\n return;\r\n }\r\n this.passwordProcessingFlag = true;\r\n this.systemService.updateVMSPassword(this.endpoint_data?.system_ip, password).subscribe(data => {\r\n this.passwordProcessingFlag = false;\r\n this.endpoint_data.system_password = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data)\r\n this.openSnackBar(\"Password change to VMS is done\", \"Success\")\r\n }, err => {\r\n this.passwordProcessingFlag = false;\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error);\r\n this.openSnackBar(\"Connection error password could not be changed on VMS\", \"Error\")\r\n })\r\n }\r\n\r\n updateSystemMarket() {\r\n this.systemService.updateSystemMarket(this.endpoint_data?.system_ip, this.selectedMarketLocationId.id).subscribe(data => {\r\n this.openSnackBar('System market is updated', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n resetAllData() {\r\n this.updatePasswordError = null;\r\n this.updateBtnErrorMsg = null;\r\n this.show_progressbar = false;\r\n this.passwordProcessingFlag = false;\r\n this.toBeSentPassword = \"\";\r\n this.selectedMarketName = \"\";\r\n this.availableMarketLocations = [];\r\n this.selectedMarketLocationId = { id: null, text: null };\r\n }\r\n}\r\n","
    \r\n \r\n\r\n \r\n\r\n \r\n \r\n Change System Password\r\n \r\n\r\n
    \r\n\r\n \r\n System Password\r\n \r\n \r\n \r\n \r\n

    *Used to change the unit admin password and VMS system password after trying to connect to unit by it.

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

    Select the Market and location for the unit along with the password

    \r\n\r\n \r\n Units Market\r\n \r\n {{market.text}}\r\n \r\n \r\n\r\n \r\n Locations Available\r\n \r\n {{location.text}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n System Password\r\n \r\n \r\n Password Minimum six characters\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n \r\n \r\n Update System Location\r\n \r\n
    \r\n\r\n
    \r\n Current Location: {{selected_parent_folder.text}}
    \r\n
    Choose destination folder location from tree
    \r\n
    \r\n Selected Location\r\n
    Move system to {{selected_folder.text}}
    \r\n \r\n
    \r\n
    \r\n \r\n
    {{updateBtnErrorMsg}}
    \r\n\r\n\r\n
    \r\n
    \r\n\r\n \r\n\r\nRemedy Market Information\r\n\r\n\r\n
    \r\n
    \r\n\r\n
    \r\n

    Select the Market and location for the unit

    \r\n\r\n\r\nUnits Market\r\n\r\n{{market.text}}\r\n\r\n\r\n\r\n\r\nLocations Available\r\n\r\n{{location.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 Update VMS System Password\r\n \r\n\r\n
    \r\n\r\n \r\n System Password\r\n \r\n \r\n \r\n

    {{updatePasswordError2}}

    \r\n

    *Used to update VMS system password after trying to connect to unit by it.

    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n","import { Component, EventEmitter, Input, OnInit, Output, OnChanges, SimpleChanges } from '@angular/core';\r\n\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from '../shared/endpoints.model';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\n\r\n@Component({\r\n selector: 'app-system-V2',\r\n templateUrl: './system-profile-V2.component.html',\r\n styleUrls: ['./system-profile-V2.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class SystemProfileV2Component implements OnInit, OnChanges {\r\n\r\n @Input() tree_received_endpoint_data: any;\r\n @Input() selected_parent_folder: any;\r\n @Input() selected_folder: any;\r\n @Output() endPoint_location_updated = new EventEmitter();\r\n endpoint_data: endpoint;\r\n adminAuthorization: boolean;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService) {\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => this.endpoint_data = data);\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (this.tree_received_endpoint_data?.item) {\r\n this.tree_received_endpoint_data.item.enable_phonebook = this.tree_received_endpoint_data.item.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.tree_received_endpoint_data.item.enable_sip = this.tree_received_endpoint_data.item.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.tree_received_endpoint_data.item.enable_h323 = this.tree_received_endpoint_data.item.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.tree_received_endpoint_data.item);\r\n } else {\r\n // those 2 lines were closed due to the move folder bug conflict with folder systems\r\n // this.tree_received_endpoint_data = null;\r\n // this.systemService.endpointDateToBeTransmitted.next(null);\r\n }\r\n\r\n }\r\n informParentToRefetchData(data) {\r\n this.endPoint_location_updated.emit(data);\r\n\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n \r\n \r\n
    \r\n

    No folder was selected from tree

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\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 { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from \"../../shared/endpoints.model\";\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\n\r\n@Component({\r\n selector: 'system-setting-component',\r\n templateUrl: './system-setting.component.html',\r\n styleUrls: ['./system-setting.component.css']\r\n})\r\n\r\nexport class SystemSettingComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n endpoint_warnings: string[] = [];\r\n panelOpenState1 = false;\r\n panelOpenState2 = false;\r\n panelOpenState3 = false;\r\n panelOpenState4 = false;\r\n panelOpenState5 = false;\r\n pullSystemFlag: boolean = false;\r\n deleteSystemFlag: boolean = false;\r\n adminAuthorization: boolean;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data = data\r\n\r\n this.endpoint_warnings = [];\r\n if (this.endpoint_data?.system_password !== 1) this.endpoint_warnings.push(\"This system does not have a password.\")\r\n if (this.endpoint_data?.is_provisioned !== 1) this.endpoint_warnings.push(\"This system is not provisioned by VMS.\")\r\n\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n if (this.deleteSystemFlag) {\r\n return;\r\n }\r\n let systemToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete system\", message: `Are you sure you want to delete system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n pullDataFromSystem() {\r\n if (this.pullSystemFlag) {\r\n return;\r\n }\r\n if (this.endpoint_warnings.length > 0) {\r\n this.openSnackBar(\"You cannot pull the system profile before solving all the warnings shown in red.\", \"Error\");\r\n return;\r\n }\r\n this.pullSystemFlag = true;\r\n this.systemService.pullFromSystem(this.endpoint_data.system_ip).subscribe(data => {\r\n this.pullSystemFlag = false;\r\n this.endpoint_data = data[\"message\"];\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemSettingComponent\", `Data were pulled for unit with id =${data.id}`, Levels.info)\r\n this.openSnackBar('Data pull is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemSettingComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while pulling data', \"Error\");\r\n this.pullSystemFlag = false;\r\n })\r\n }\r\n\r\n deleteSystem(systemToBeDeleted) {\r\n this.deleteSystemFlag = true;\r\n this.systemService.deleteSystem(systemToBeDeleted.ip).subscribe(res => {\r\n this.deleteSystemFlag = false;\r\n this.systemService.endpointDateToBeTransmitted.next(null);\r\n this.loggerService.log(\"SystemSettingComponent\", `System was deleted with id = ${systemToBeDeleted.id} , name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.`, Levels.warning)\r\n this.openSnackBar('System deleted is done', \"Success\");\r\n }, err => {\r\n this.deleteSystemFlag = false;\r\n this.loggerService.log(\"SystemSettingComponent\", `System with id = ${systemToBeDeleted.id} could not be deleted`, Levels.error)\r\n this.loggerService.log(\"SystemSettingComponent\", err.message, Levels.error)\r\n this.openSnackBar('Could not reach system but was deleted successfully', \"Error\");\r\n })\r\n }\r\n\r\n}\r\n","
    \r\n\r\n \r\n\r\n\r\n \r\n \r\n General Settings\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Display Name:

    \r\n

    IP Address:

    \r\n

    MAC Address:

    \r\n

    Time Zone:

    \r\n

    System Password:

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

    {{endpoint_data.system_name?endpoint_data.system_name:\"NA\"}}

    \r\n

    {{endpoint_data.system_ip?endpoint_data.system_ip:\"NA\"}}

    \r\n

    {{endpoint_data.system_mac_address?endpoint_data.system_mac_address:\"NA\"}}

    \r\n

    {{endpoint_data.system_time_zone?endpoint_data.system_time_zone:\"NA\"}}

    \r\n

    {{endpoint_data.system_password?\"**********\":\"System password does not exist.\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Software and Product Information\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Software Name:

    \r\n

    Software Version:

    \r\n

    Serial Number:

    \r\n

    Product ID:

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

    {{endpoint_data.software_name?endpoint_data.software_name:\"NA\"}}

    \r\n

    {{endpoint_data.software_version?endpoint_data.software_version:\"NA\"}}

    \r\n

    {{endpoint_data.serial_number?endpoint_data.serial_number:\"NA\"}}

    \r\n

    {{endpoint_data.product_id?endpoint_data.product_id:\"NA\"}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Network Settings\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    DNS Server 1:

    \r\n

    DNS Server 2:

    \r\n

    DNS Server 3:

    \r\n

    DNS Domain Name:

    \r\n\r\n

    NTP Server:

    \r\n

    H323 State:

    \r\n

    H323 Gatekeeper Address:

    \r\n

    H323 Gatekeeper Port:

    \r\n

    H323 Gatekeeper Status:

    \r\n

    H323 Gatekeeper Reason:

    \r\n

    H323 Gatekeeper Mode:

    \r\n

    H323 Alias E164:

    \r\n

    H323 Alias ID:

    \r\n\r\n

    SIP Display Name::

    \r\n

    SIP State:

    \r\n

    SIP Proxy Address 1:

    \r\n

    SIP Proxy Address 1 Status:

    \r\n

    SIP Proxy Address 2:

    \r\n

    SIP Proxy Address 2 Status:

    \r\n

    SIP Registration Status:

    \r\n

    SIP Registration URI:

    \r\n

    SIP Listen Port:

    \r\n

    SIP TLS Verify:

    \r\n

    SIP Authentication:

    \r\n

    SIP Authentication Username:

    \r\n

    SIP Authentication Password:

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

    {{endpoint_data.dns_server1?endpoint_data.dns_server1:\"NA\"}}

    \r\n

    {{endpoint_data.dns_server2?endpoint_data.dns_server2:\"NA\"}}

    \r\n

    {{endpoint_data.dns_server3?endpoint_data.dns_server3:\"NA\"}}

    \r\n

    {{endpoint_data.dns_domain_name?endpoint_data.dns_domain_name:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.ntp_server1?endpoint_data.ntp_server1:\"NA\"}}

    \r\n

    {{endpoint_data.enable_h323?endpoint_data.enable_h323:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_address?endpoint_data.h323_gatekeeper_address:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_port?endpoint_data.h323_gatekeeper_port:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_status?endpoint_data.h323_gatekeeper_status:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_reason?endpoint_data.h323_gatekeeper_reason:\"NA\"}}

    \r\n

    {{endpoint_data.h323_gatekeeper_mode?endpoint_data.h323_gatekeeper_mode:\"NA\"}}

    \r\n

    {{endpoint_data.h323_e164?endpoint_data.h323_e164:\"NA\"}}

    \r\n

    {{endpoint_data.h323_id?endpoint_data.h323_id:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.sip_display_name?endpoint_data.sip_display_name:\"NA\"}}

    \r\n

    {{endpoint_data.enable_sip?endpoint_data.enable_sip:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address?endpoint_data.sip_proxy_address:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address_status?endpoint_data.sip_proxy_address_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address2?endpoint_data.sip_proxy_address2:\"NA\"}}

    \r\n

    {{endpoint_data.sip_proxy_address2_status?endpoint_data.sip_proxy_address2_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_registration_status?endpoint_data.sip_registration_status:\"NA\"}}

    \r\n

    {{endpoint_data.sip_registration_uri?endpoint_data.sip_registration_uri:\"NA\"}}

    \r\n\r\n

    {{endpoint_data.sip_listen_port?endpoint_data.sip_listen_port:\"NA\"}}

    \r\n

    {{endpoint_data.sip_tls_verify?endpoint_data.sip_tls_verify:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication?endpoint_data.sip_authentication:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication_username?endpoint_data.sip_authentication_username:\"NA\"}}

    \r\n

    {{endpoint_data.sip_authentication_password?\"***********\":\"NA\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n \r\n \r\n Address Book\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Address Book State:

    \r\n

    Address Book:

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

    {{endpoint_data.enable_phonebook?endpoint_data.enable_phonebook:\"NA\"}}

    \r\n

    {{endpoint_data.phonebook_fk_id?endpoint_data.phonebook_fk_id:\"NA\"}}

    \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n Notes\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Notes on unit:

    \r\n

    Unit remedy tickets:

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

    {{endpoint_data.ops_note?endpoint_data.ops_note:\"No notes were placed on this unit.\"}}

    \r\n

    {{endpoint_data.remedy_opened_ticket?endpoint_data.remedy_opened_ticket:\"No remedy tickets exists.\"}}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n
    0\">\r\n

    * {{warning}}

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    0\">\r\n

    * Pull system is disabled until all warnings shown above in red are resolved.

    \r\n
    \r\n
    \r\n","import { Component, Inject, ViewChild } from '@angular/core';\r\nimport { MatDialogRef } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { endpoint } from 'src/system-profile-manager/shared/endpoints.model';\r\nimport { MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport jwt_decode from 'jwt-decode'\r\n\r\n@Component({\r\n templateUrl: './addNote.dialog.component.html',\r\n styleUrls: ['./addNote.dialog.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class AddNoteComponent {\r\n insertedNoteText: string;\r\n endpoint_data: endpoint;\r\n user_info_obj: any;\r\n @ViewChild('f') insertForm: NgForm;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, @Inject(MAT_DIALOG_DATA) public dataReceived: endpoint,\r\n public dialogRef: MatDialogRef) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'));\r\n\r\n if (!this.dataReceived.ops_note) this.dataReceived.ops_note = \"\";\r\n this.endpoint_data = this.dataReceived;\r\n const [first, ...rest] = this.dataReceived.ops_note.split(':-');\r\n this.insertedNoteText = rest.join(\":-\");\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n if (data) {\r\n if (!data.ops_note) data.ops_note = \"\";\r\n this.endpoint_data = data;\r\n this.insertedNoteText = data.ops_note\r\n }\r\n });\r\n }\r\n\r\n onSubmitTextArea() {\r\n if (this.insertForm.valid) {\r\n this.systemService.addNoteToSystem(this.endpoint_data.system_ip, this.insertedNoteText, this.user_info_obj.name).subscribe(data => {\r\n data[\"message\"];\r\n this.dialogRef.close(data[\"message\"]);\r\n }, err => {\r\n this.loggerService.log(\"AddNoteComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred try again later', \"Error\");\r\n this.dialogRef.close();\r\n })\r\n }\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n\r\n
    \r\n

    Notes

    \r\n
    \r\n\r\n
    \r\n \r\n Write note here ...\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n
    \r\n close\r\n
    \r\n\r\n
    \r\n
    \r\n\r\n\r\n","import { Component, Inject, OnInit, ViewChild } from '@angular/core';\r\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\r\nimport { NgForm } from '@angular/forms';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { state } from 'src/system-profile-manager/shared/state.enum';\r\nimport { DialogConfirmationComponent } from 'src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component';\r\n\r\n\r\n@Component({\r\n templateUrl: './rollback.component.html',\r\n styleUrls: ['./rollback.component.css'],\r\n providers: [SystemProfileService]\r\n})\r\nexport class RollbackComponent implements OnInit {\r\n listOfFIlesNames: string[];\r\n currentConfigName: string = null;\r\n currentConfigString: string = null;\r\n rolledBackSelectedName: string = null;\r\n rolledBackSelectedString: string = null;\r\n\r\n constructor(\r\n public dialogRef: MatDialogRef,\r\n private systemService: SystemProfileService,\r\n private loggerService: LoggerService,\r\n @Inject(MAT_DIALOG_DATA) public systemIpAndName: { system_ip, system_name },\r\n private _snackBar: MatSnackBar, private dialog: MatDialog\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.systemService.getConfigFiles(this.systemIpAndName.system_ip).subscribe(res => {\r\n if (res[\"data\"] && res[\"data\"].length > 0) {\r\n this.currentConfigName = res[\"data\"][0];\r\n this.systemService.getConfigFileByName(this.systemIpAndName.system_ip, this.currentConfigName).subscribe(fileRes => {\r\n this.currentConfigString = fileRes[\"data\"];\r\n this.currentConfigString.replace(\"\", \"\")\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n res[\"data\"].shift();\r\n this.listOfFIlesNames = res[\"data\"];\r\n }\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n onSubmitData() {\r\n\r\n }\r\n\r\n onNgModelChange(event) {\r\n this.systemService.getConfigFileByName(this.systemIpAndName.system_ip, event[0]).subscribe(fileRes => {\r\n this.rolledBackSelectedString = fileRes[\"data\"];\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onNoClick(): void {\r\n this.dialogRef.close();\r\n }\r\n\r\n onYesClick(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Rollback System\", message: `Are you sure you want to rollback system with name = ${this.systemIpAndName.system_name} and ip = ${this.systemIpAndName.system_ip} from the current configuration: ${this.currentConfigName} to selected configuration: ${this.rolledBackSelectedName}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.systemService.rollbackSystemConfiguration(this.systemIpAndName.system_ip, this.rolledBackSelectedName[0]).subscribe(res => {\r\n res[\"data\"].enable_phonebook = res[\"data\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n res[\"data\"].enable_sip = res[\"data\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n res[\"data\"].enable_h323 = res[\"data\"].enable_h323 == '1' ? \"On\" : \"Off\";\r\n\r\n this.loggerService.log(\"RollbackComponent\", `Rollback for unit with ip =${this.systemIpAndName.system_ip} is completed`, Levels.info)\r\n this.openSnackBar('Rollback is completed', \"Success\");\r\n this.dialogRef.close(res[\"data\"]);\r\n }, err => {\r\n this.loggerService.log(\"RollbackComponent\", err.message, Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n })\r\n\r\n }\r\n });\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n

    Rollback Configuration for {{systemIpAndName.system_name}}

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

    Configuration Files Available

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

    Current System Configuration: {{currentConfigName}}

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

    \r\n Selected Rollback System Configuration: {{rolledBackSelectedName?rolledBackSelectedName:\"no file selected\"}}

    \r\n

    \r\n Select a file to preview from the configuration files available list\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n close\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n","import { endpoint } from '../../shared/endpoints.model';\r\nimport { Component, OnInit } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\nimport { AddNoteComponent } from './dialog-add-note/addNote.dialog.component';\r\nimport { RollbackComponent } from './dialog-rollback/rollback.component';\r\n\r\n@Component({\r\n selector: 'system-state-provisioning-component',\r\n templateUrl: './system-state-provisioing.component.html',\r\n styleUrls: ['./system-state-provisioing.component.css']\r\n})\r\n\r\nexport class SystemStateProvisioningComponent implements OnInit {\r\n\r\n endpoint_data: endpoint;\r\n adminAuthorization: boolean;\r\n provisionProcessFlag: boolean = false;\r\n systemMarketLocationData: { id: Number, market_name: string, location_name: string };\r\n Math = Math;\r\n currentDate: any = new Date();\r\n lastDownDate: any = new Date();\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data = data;\r\n this.currentDate = new Date();\r\n this.lastDownDate = Date.parse(this.endpoint_data.last_down_time)\r\n if (this.endpoint_data && this.endpoint_data.market_location_id) {\r\n this.systemService.getSystemMarketLocation(this.endpoint_data?.system_ip).subscribe(data => {\r\n if (data[\"message\"]?.id) {\r\n this.systemMarketLocationData = data[\"message\"];\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemPasswordComponent\", err.message, Levels.error)\r\n })\r\n }\r\n });\r\n this.adminAuthorization = this.systemService.adminAuthorization\r\n\r\n }\r\n\r\n openDialogUnprovision(): void {\r\n if (this.provisionProcessFlag) return;\r\n\r\n let systemToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Unprovision and delete system\", message: `Are you sure you want to unprovision system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.unProvisionSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openDialogProvision(): void {\r\n if (this.provisionProcessFlag) return;\r\n\r\n let systemToBeProvisioned = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Provision system by VMS\", message: `VMS will send a provision request to system with name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.provisionSystem(systemToBeProvisioned);\r\n }\r\n });\r\n }\r\n\r\n openAddNoteDialog(): void {\r\n const dialogRef = this.dialog.open(AddNoteComponent, {\r\n width: '450px',\r\n data: this.endpoint_data,\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n result.enable_phonebook = result.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n result.enable_sip = result.enable_sip == '1' ? \"On\" : \"Off\"\r\n result.enable_h323 = result.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(result);\r\n }\r\n });\r\n }\r\n\r\n openRollbackDialog(): void {\r\n const dialogRef = this.dialog.open(RollbackComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n data: { system_ip: this.endpoint_data.system_ip, system_name: this.endpoint_data.system_name },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.systemService.endpointDateToBeTransmitted.next(result);\r\n }\r\n });\r\n }\r\n\r\n openRemoveBackupDialog(): void {\r\n let systemBackupsToBeDeleted = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Remove All Configuration and Status Backups\", message: `Are you sure you want to remove all backups for system with name = ${systemBackupsToBeDeleted.name} and ip = ${systemBackupsToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendRemoveBackupsRequest(systemBackupsToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openBackupDialog(): void {\r\n let systemToBeBackedUp = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Backup Configuration and Status Files\", message: `Are you sure you want to take backup for system with name = ${systemToBeBackedUp.name} and ip = ${systemToBeBackedUp.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendBackupRequest(systemToBeBackedUp);\r\n }\r\n });\r\n }\r\n\r\n openDialogMonitor(): void {\r\n if (this.systemMarketLocationData?.market_name == 'Not Supported') {\r\n return;\r\n }\r\n let monitorFlag: Number = this.endpoint_data.is_monitored == 1 ? 0 : 1;\r\n let systemToBeProvisioned = { id: this.endpoint_data.id, name: this.endpoint_data.system_name, ip: this.endpoint_data.system_ip }\r\n let title = this.endpoint_data.is_monitored == 1 ? \"Stop monitoring unit\" : \"Start monitoring unit\";\r\n let message = this.endpoint_data.is_monitored == 1 ? \"VMS will send a request to stop monitor\" : \"VMS will send a request to start monitor\";\r\n\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: title, message: `${message} and health checking system with name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.sendMonitorRequest(monitorFlag, systemToBeProvisioned);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n unProvisionSystem(systemToBeDeleted) {\r\n if (this.provisionProcessFlag) return;\r\n this.provisionProcessFlag = true;\r\n this.systemService.unprovisionSystemWithNoDelete(systemToBeDeleted.ip).subscribe(res => {\r\n this.endpoint_data.is_provisioned = 0;\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System was unprovisioned with id = ${systemToBeDeleted.id} , name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.`, Levels.warning)\r\n this.openSnackBar('System unprovision is done', \"Success\");\r\n }, err => {\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeDeleted.id} could not be unprovisioned`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while unprovisioning system', \"Error\");\r\n })\r\n }\r\n provisionSystem(systemToBeProvisioned) {\r\n if (this.provisionProcessFlag) return;\r\n this.provisionProcessFlag = true;\r\n this.systemService.provisionSystem(systemToBeProvisioned.ip).subscribe(res => {\r\n this.provisionProcessFlag = false;\r\n this.endpoint_data.is_provisioned = 1;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} , name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip} is now provisioned`, Levels.warning)\r\n this.openSnackBar('System provision is done', \"Success\");\r\n }, err => {\r\n this.provisionProcessFlag = false;\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} could not be provisioned`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while sending a provision request to system', \"Error\");\r\n })\r\n }\r\n\r\n sendMonitorRequest(monitorFlag, systemToBeProvisioned) {\r\n this.systemService.monitorOrUnmonitorSystem(monitorFlag, systemToBeProvisioned.ip).subscribe(res => {\r\n this.endpoint_data.is_monitored = monitorFlag ? 1 : 0;\r\n this.endpoint_data.enable_phonebook = this.endpoint_data.enable_phonebook == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_sip = this.endpoint_data.enable_sip == '1' ? \"On\" : \"Off\"\r\n this.endpoint_data.enable_h323 = this.endpoint_data.enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(this.endpoint_data);\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} , name = ${systemToBeProvisioned.name} and ip = ${systemToBeProvisioned.ip} is now monitored/unmonitored and its monitoring state is ${this.endpoint_data.is_monitored}`, Levels.warning)\r\n this.openSnackBar('System monitoring is done', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeProvisioned.id} could not be monitored/unmonitored and its monitoring state is ${this.endpoint_data.is_monitored}`, Levels.error)\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", err.message, Levels.error)\r\n this.openSnackBar('Connection error occurred while sending a monitor request to system', \"Error\");\r\n })\r\n }\r\n\r\n sendRemoveBackupsRequest(systemToBeDeleted) {\r\n this.systemService.removeAllBackups(systemToBeDeleted.ip).subscribe(res => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System backups were deleted for ip = ${systemToBeDeleted.ip} , name = ${systemToBeDeleted.name}.`, Levels.warning)\r\n this.openSnackBar('Backups removal is done', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeDeleted.id} could not delete backup files`, Levels.error)\r\n this.openSnackBar('Connection error occurred while removing backups for system', \"Error\");\r\n })\r\n }\r\n\r\n sendBackupRequest(systemToBeBackedUp) {\r\n this.systemService.takeBackup(systemToBeBackedUp.ip).subscribe(res => {\r\n this.openSnackBar('System backup is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemStateProvisioningComponent\", `System with id = ${systemToBeBackedUp.id} error while backing up files`, Levels.error)\r\n this.openSnackBar('Connection error occurred while taking backup for system files', \"Error\");\r\n })\r\n }\r\n\r\n returnElementColor(element: endpoint) {\r\n if (element.status == \"No HTTPS response\") return \"red\";\r\n else if (element.status == \"Idle\" || element.status == \"In a call\") return \"green\";\r\n else return \"blue\";\r\n }\r\n\r\n goToLink(endpoint) {\r\n let url = \"https://\" + endpoint.system_ip + \"/\"\r\n window.open(url, \"_blank\");\r\n }\r\n\r\n}\r\n","
    \r\n\r\n
    \r\n
    \r\n

    {{endpoint_data.system_name}} : {{endpoint_data.system_ip}}

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

    System State:

    \r\n

    Last Health Check Date:

    \r\n

    Up Time:

    \r\n

    Last Active Date:

    \r\n

    Provisioning State:

    \r\n

    Monitoring State:

    \r\n

    Notes:

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

    {{endpoint_data.status?endpoint_data.status:\"Relay-Unit connection error\"}}

    \r\n

    {{endpoint_data.last_monitored_date?endpoint_data.last_monitored_date:\"NA\"}}

    \r\n

    {{endpoint_data.last_up_time?(endpoint_data.last_down_time?Math.ceil(Math.abs(currentDate.getTime() - lastDownDate) / 60000)+\" minutes\":\"NA\"):\"NA\"}}

    \r\n

    {{endpoint_data.last_up_time?endpoint_data.last_up_time:\"NA\"}}

    \r\n

    {{endpoint_data.is_provisioned==1?\"System is provisioned by VMS\":\"VMS is not provisioning this system\"}}

    \r\n

    {{endpoint_data.is_monitored==1?\"System is monitored by VMS\":\"VMS is not monitoring this system\"}}

    \r\n

    {{endpoint_data.ops_note?endpoint_data.ops_note:\"No notes were placed on this unit.\"}}

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

    * Rollback is disabled for unprovisioned units

    \r\n

    * This system does not have a password

    \r\n

    * This system is not monitored by VMS

    \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n","export let timeZones: string[] = [\"Africa/Abidjan\",\r\n \"Africa/Accra\",\r\n \"Africa/Addis_Ababa\",\r\n \"Africa/Algiers\",\r\n \"Africa/Asmara\",\r\n \"Africa/Asmera\",\r\n \"Africa/Bamako\",\r\n \"Africa/Bangui\",\r\n \"Africa/Banjul\",\r\n \"Africa/Bissau\",\r\n \"Africa/Blantyre\",\r\n \"Africa/Brazzaville\",\r\n \"Africa/Bujumbura\",\r\n \"Africa/Cairo\",\r\n \"Africa/Casablanca\",\r\n \"Africa/Ceuta\",\r\n \"Africa/Conakry\",\r\n \"Africa/Dakar\",\r\n \"Africa/Dar_es_Salaam\",\r\n \"Africa/Djibouti\",\r\n \"Africa/Douala\",\r\n \"Africa/El_Aaiun\",\r\n \"Africa/Freetown\",\r\n \"Africa/Gaborone\",\r\n \"Africa/Harare\",\r\n \"Africa/Johannesburg\",\r\n \"Africa/Juba\",\r\n \"Africa/Kampala\",\r\n \"Africa/Khartoum\",\r\n \"Africa/Kigali\",\r\n \"Africa/Kinshasa\",\r\n \"Africa/Lagos\",\r\n \"Africa/Libreville\",\r\n \"Africa/Lome\",\r\n \"Africa/Luanda\",\r\n \"Africa/Lubumbashi\",\r\n \"Africa/Lusaka\",\r\n \"Africa/Malabo\",\r\n \"Africa/Maputo\",\r\n \"Africa/Maseru\",\r\n \"Africa/Mbabane\",\r\n \"Africa/Mogadishu\",\r\n \"Africa/Monrovia\",\r\n \"Africa/Nairobi\",\r\n \"Africa/Ndjamena\",\r\n \"Africa/Niamey\",\r\n \"Africa/Nouakchott\",\r\n \"Africa/Ouagadougou\",\r\n \"Africa/Porto-Novo\",\r\n \"Africa/Sao_Tome\",\r\n \"Africa/Timbuktu\",\r\n \"Africa/Tripoli\",\r\n \"Africa/Tunis\",\r\n \"Africa/Windhoek\",\r\n \"America/Adak\",\r\n \"America/Anchorage\",\r\n \"America/Anguilla\",\r\n \"America/Antigua\",\r\n \"America/Araguaina\",\r\n \"America/Argentina/Buenos_Aires\",\r\n \"America/Argentina/Catamarca\",\r\n \"America/Argentina/ComodRivadavia\",\r\n \"America/Argentina/Cordoba\",\r\n \"America/Argentina/Jujuy\",\r\n \"America/Argentina/La_Rioja\",\r\n \"America/Argentina/Mendoza\",\r\n \"America/Argentina/Rio_Gallegos\",\r\n \"America/Argentina/Salta\",\r\n \"America/Argentina/San_Juan\",\r\n \"America/Argentina/San_Luis\",\r\n \"America/Argentina/Tucuman\",\r\n \"America/Argentina/Ushuaia\",\r\n \"America/Aruba\",\r\n \"America/Asuncion\",\r\n \"America/Atikokan\",\r\n \"America/Atka\",\r\n \"America/Bahia\",\r\n \"America/Bahia_Banderas\",\r\n \"America/Barbados\",\r\n \"America/Belem\",\r\n \"America/Belize\",\r\n \"America/Blanc-Sablon\",\r\n \"America/Boa_Vista\",\r\n \"America/Bogota\",\r\n \"America/Boise\",\r\n \"America/Buenos_Aires\",\r\n \"America/Cambridge_Bay\",\r\n \"America/Campo_Grande\",\r\n \"America/Cancun\",\r\n \"America/Caracas\",\r\n \"America/Catamarca\",\r\n \"America/Cayenne\",\r\n \"America/Cayman\",\r\n \"America/Chicago\",\r\n \"America/Chihuahua\",\r\n \"America/Coral_Harbour\",\r\n \"America/Cordoba\",\r\n \"America/Costa_Rica\",\r\n \"America/Creston\",\r\n \"America/Cuiaba\",\r\n \"America/Curacao\",\r\n \"America/Danmarkshavn\",\r\n \"America/Dawson\",\r\n \"America/Dawson_Creek\",\r\n \"America/Denver\",\r\n \"America/Detroit\",\r\n \"America/Dominica\",\r\n \"America/Edmonton\",\r\n \"America/Eirunepe\",\r\n \"America/El_Salvador\",\r\n \"America/Ensenada\",\r\n \"America/Fort_Nelson\",\r\n \"America/Fort_Wayne\",\r\n \"America/Fortaleza\",\r\n \"America/Glace_Bay\",\r\n \"America/Godthab\",\r\n \"America/Goose_Bay\",\r\n \"America/Grand_Turk\",\r\n \"America/Grenada\",\r\n \"America/Guadeloupe\",\r\n \"America/Guatemala\",\r\n \"America/Guayaquil\",\r\n \"America/Guyana\",\r\n \"America/Halifax\",\r\n \"America/Havana\",\r\n \"America/Hermosillo\",\r\n \"America/Indiana/Indianapolis\",\r\n \"America/Indiana/Knox\",\r\n \"America/Indiana/Marengo\",\r\n \"America/Indiana/Petersburg\",\r\n \"America/Indiana/Tell_City\",\r\n \"America/Indiana/Vevay\",\r\n \"America/Indiana/Vincennes\",\r\n \"America/Indiana/Winamac\",\r\n \"America/Indianapolis\",\r\n \"America/Inuvik\",\r\n \"America/Iqaluit\",\r\n \"America/Jamaica\",\r\n \"America/Jujuy\",\r\n \"America/Juneau\",\r\n \"America/Kentucky/Louisville\",\r\n \"America/Kentucky/Monticello\",\r\n \"America/Knox_IN\",\r\n \"America/Kralendijk\",\r\n \"America/La_Paz\",\r\n \"America/Lima\",\r\n \"America/Los_Angeles\",\r\n \"America/Louisville\",\r\n \"America/Lower_Princes\",\r\n \"America/Maceio\",\r\n \"America/Managua\",\r\n \"America/Manaus\",\r\n \"America/Marigot\",\r\n \"America/Martinique\",\r\n \"America/Matamoros\",\r\n \"America/Mazatlan\",\r\n \"America/Mendoza\",\r\n \"America/Menominee\",\r\n \"America/Merida\",\r\n \"America/Metlakatla\",\r\n \"America/Mexico_City\",\r\n \"America/Miquelon\",\r\n \"America/Moncton\",\r\n \"America/Monterrey\",\r\n \"America/Montevideo\",\r\n \"America/Montreal\",\r\n \"America/Montserrat\",\r\n \"America/Nassau\",\r\n \"America/New_York\",\r\n \"America/Nipigon\",\r\n \"America/Nome\",\r\n \"America/Noronha\",\r\n \"America/North_Dakota/Beulah\",\r\n \"America/North_Dakota/Center\",\r\n \"America/North_Dakota/New_Salem\",\r\n \"America/Nuuk\",\r\n \"America/Ojinaga\",\r\n \"America/Panama\",\r\n \"America/Pangnirtung\",\r\n \"America/Paramaribo\",\r\n \"America/Phoenix\",\r\n \"America/Port-au-Prince\",\r\n \"America/Port_of_Spain\",\r\n \"America/Porto_Acre\",\r\n \"America/Porto_Velho\",\r\n \"America/Puerto_Rico\",\r\n \"America/Punta_Arenas\",\r\n \"America/Rainy_River\",\r\n \"America/Rankin_Inlet\",\r\n \"America/Recife\",\r\n \"America/Regina\",\r\n \"America/Resolute\",\r\n \"America/Rio_Branco\",\r\n \"America/Rosario\",\r\n \"America/Santa_Isabel\",\r\n \"America/Santarem\",\r\n \"America/Santiago\",\r\n \"America/Santo_Domingo\",\r\n \"America/Sao_Paulo\",\r\n \"America/Scoresbysund\",\r\n \"America/Shiprock\",\r\n \"America/Sitka\",\r\n \"America/St_Barthelemy\",\r\n \"America/St_Johns\",\r\n \"America/St_Kitts\",\r\n \"America/St_Lucia\",\r\n \"America/St_Thomas\",\r\n \"America/St_Vincent\",\r\n \"America/Swift_Current\",\r\n \"America/Tegucigalpa\",\r\n \"America/Thule\",\r\n \"America/Thunder_Bay\",\r\n \"America/Tijuana\",\r\n \"America/Toronto\",\r\n \"America/Tortola\",\r\n \"America/Vancouver\",\r\n \"America/Virgin\",\r\n \"America/Whitehorse\",\r\n \"America/Winnipeg\",\r\n \"America/Yakutat\",\r\n \"America/Yellowknife\",\r\n \"Antarctica/Casey\",\r\n \"Antarctica/Davis\",\r\n \"Antarctica/DumontDUrville\",\r\n \"Antarctica/Macquarie\",\r\n \"Antarctica/Mawson\",\r\n \"Antarctica/McMurdo\",\r\n \"Antarctica/Palmer\",\r\n \"Antarctica/Rothera\",\r\n \"Antarctica/South_Pole\",\r\n \"Antarctica/Syowa\",\r\n \"Antarctica/Troll\",\r\n \"Antarctica/Vostok\",\r\n \"Arctic/Longyearbyen\",\r\n \"Asia/Aden\",\r\n \"Asia/Almaty\",\r\n \"Asia/Amman\",\r\n \"Asia/Anadyr\",\r\n \"Asia/Aqtau\",\r\n \"Asia/Aqtobe\",\r\n \"Asia/Ashgabat\",\r\n \"Asia/Ashkhabad\",\r\n \"Asia/Atyrau\",\r\n \"Asia/Baghdad\",\r\n \"Asia/Bahrain\",\r\n \"Asia/Baku\",\r\n \"Asia/Bangkok\",\r\n \"Asia/Barnaul\",\r\n \"Asia/Beirut\",\r\n \"Asia/Bishkek\",\r\n \"Asia/Brunei\",\r\n \"Asia/Calcutta\",\r\n \"Asia/Chita\",\r\n \"Asia/Choibalsan\",\r\n \"Asia/Chongqing\",\r\n \"Asia/Chungking\",\r\n \"Asia/Colombo\",\r\n \"Asia/Dacca\",\r\n \"Asia/Damascus\",\r\n \"Asia/Dhaka\",\r\n \"Asia/Dili\",\r\n \"Asia/Dubai\",\r\n \"Asia/Dushanbe\",\r\n \"Asia/Famagusta\",\r\n \"Asia/Gaza\",\r\n \"Asia/Harbin\",\r\n \"Asia/Hebron\",\r\n \"Asia/Ho_Chi_Minh\",\r\n \"Asia/Hong_Kong\",\r\n \"Asia/Hovd\",\r\n \"Asia/Irkutsk\",\r\n \"Asia/Istanbul\",\r\n \"Asia/Jakarta\",\r\n \"Asia/Jayapura\",\r\n \"Asia/Jerusalem\",\r\n \"Asia/Kabul\",\r\n \"Asia/Kamchatka\",\r\n \"Asia/Karachi\",\r\n \"Asia/Kashgar\",\r\n \"Asia/Kathmandu\",\r\n \"Asia/Katmandu\",\r\n \"Asia/Khandyga\",\r\n \"Asia/Kolkata\",\r\n \"Asia/Krasnoyarsk\",\r\n \"Asia/Kuala_Lumpur\",\r\n \"Asia/Kuching\",\r\n \"Asia/Kuwait\",\r\n \"Asia/Macao\",\r\n \"Asia/Macau\",\r\n \"Asia/Magadan\",\r\n \"Asia/Makassar\",\r\n \"Asia/Manila\",\r\n \"Asia/Muscat\",\r\n \"Asia/Nicosia\",\r\n \"Asia/Novokuznetsk\",\r\n \"Asia/Novosibirsk\",\r\n \"Asia/Omsk\",\r\n \"Asia/Oral\",\r\n \"Asia/Phnom_Penh\",\r\n \"Asia/Pontianak\",\r\n \"Asia/Pyongyang\",\r\n \"Asia/Qatar\",\r\n \"Asia/Qostanay\",\r\n \"Asia/Qyzylorda\",\r\n \"Asia/Rangoon\",\r\n \"Asia/Riyadh\",\r\n \"Asia/Saigon\",\r\n \"Asia/Sakhalin\",\r\n \"Asia/Samarkand\",\r\n \"Asia/Seoul\",\r\n \"Asia/Shanghai\",\r\n \"Asia/Singapore\",\r\n \"Asia/Srednekolymsk\",\r\n \"Asia/Taipei\",\r\n \"Asia/Tashkent\",\r\n \"Asia/Tbilisi\",\r\n \"Asia/Tehran\",\r\n \"Asia/Tel_Aviv\",\r\n \"Asia/Thimbu\",\r\n \"Asia/Thimphu\",\r\n \"Asia/Tokyo\",\r\n \"Asia/Tomsk\",\r\n \"Asia/Ujung_Pandang\",\r\n \"Asia/Ulaanbaatar\",\r\n \"Asia/Ulan_Bator\",\r\n \"Asia/Urumqi\",\r\n \"Asia/Ust-Nera\",\r\n \"Asia/Vientiane\",\r\n \"Asia/Vladivostok\",\r\n \"Asia/Yakutsk\",\r\n \"Asia/Yangon\",\r\n \"Asia/Yekaterinburg\",\r\n \"Asia/Yerevan\",\r\n \"Atlantic/Azores\",\r\n \"Atlantic/Bermuda\",\r\n \"Atlantic/Canary\",\r\n \"Atlantic/Cape_Verde\",\r\n \"Atlantic/Faeroe\",\r\n \"Atlantic/Faroe\",\r\n \"Atlantic/Jan_Mayen\",\r\n \"Atlantic/Madeira\",\r\n \"Atlantic/Reykjavik\",\r\n \"Atlantic/South_Georgia\",\r\n \"Atlantic/St_Helena\",\r\n \"Atlantic/Stanley\",\r\n \"Australia/ACT\",\r\n \"Australia/Adelaide\",\r\n \"Australia/Brisbane\",\r\n \"Australia/Broken_Hill\",\r\n \"Australia/Canberra\",\r\n \"Australia/Currie\",\r\n \"Australia/Darwin\",\r\n \"Australia/Eucla\",\r\n \"Australia/Hobart\",\r\n \"Australia/LHI\",\r\n \"Australia/Lindeman\",\r\n \"Australia/Lord_Howe\",\r\n \"Australia/Melbourne\",\r\n \"Australia/NSW\",\r\n \"Australia/North\",\r\n \"Australia/Perth\",\r\n \"Australia/Queensland\",\r\n \"Australia/South\",\r\n \"Australia/Sydney\",\r\n \"Australia/Tasmania\",\r\n \"Australia/Victoria\",\r\n \"Australia/West\",\r\n \"Australia/Yancowinna\",\r\n \"Brazil/Acre\",\r\n \"Brazil/DeNoronha\",\r\n \"Brazil/East\",\r\n \"Brazil/West\",\r\n \"CET\",\r\n \"CST6CDT\",\r\n \"Canada/Atlantic\",\r\n \"Canada/Central\",\r\n \"Canada/Eastern\",\r\n \"Canada/Mountain\",\r\n \"Canada/Newfoundland\",\r\n \"Canada/Pacific\",\r\n \"Canada/Saskatchewan\",\r\n \"Canada/Yukon\",\r\n \"Chile/Continental\",\r\n \"Chile/EasterIsland\",\r\n \"Cuba\",\r\n \"EET\",\r\n \"EST\",\r\n \"EST5EDT\",\r\n \"Egypt\",\r\n \"Eire\",\r\n \"Etc/GMT\",\r\n \"Etc/GMT+0\",\r\n \"Etc/GMT+1\",\r\n \"Etc/GMT+10\",\r\n \"Etc/GMT+11\",\r\n \"Etc/GMT+12\",\r\n \"Etc/GMT+2\",\r\n \"Etc/GMT+3\",\r\n \"Etc/GMT+4\",\r\n \"Etc/GMT+5\",\r\n \"Etc/GMT+6\",\r\n \"Etc/GMT+7\",\r\n \"Etc/GMT+8\",\r\n \"Etc/GMT+9\",\r\n \"Etc/GMT-0\",\r\n \"Etc/GMT-1\",\r\n \"Etc/GMT-10\",\r\n \"Etc/GMT-11\",\r\n \"Etc/GMT-12\",\r\n \"Etc/GMT-13\",\r\n \"Etc/GMT-14\",\r\n \"Etc/GMT-2\",\r\n \"Etc/GMT-3\",\r\n \"Etc/GMT-4\",\r\n \"Etc/GMT-5\",\r\n \"Etc/GMT-6\",\r\n \"Etc/GMT-7\",\r\n \"Etc/GMT-8\",\r\n \"Etc/GMT-9\",\r\n \"Etc/GMT0\",\r\n \"Etc/Greenwich\",\r\n \"Etc/UCT\",\r\n \"Etc/UTC\",\r\n \"Etc/Universal\",\r\n \"Etc/Zulu\",\r\n \"Europe/Amsterdam\",\r\n \"Europe/Andorra\",\r\n \"Europe/Astrakhan\",\r\n \"Europe/Athens\",\r\n \"Europe/Belfast\",\r\n \"Europe/Belgrade\",\r\n \"Europe/Berlin\",\r\n \"Europe/Bratislava\",\r\n \"Europe/Brussels\",\r\n \"Europe/Bucharest\",\r\n \"Europe/Budapest\",\r\n \"Europe/Busingen\",\r\n \"Europe/Chisinau\",\r\n \"Europe/Copenhagen\",\r\n \"Europe/Dublin\",\r\n \"Europe/Gibraltar\",\r\n \"Europe/Guernsey\",\r\n \"Europe/Helsinki\",\r\n \"Europe/Isle_of_Man\",\r\n \"Europe/Istanbul\",\r\n \"Europe/Jersey\",\r\n \"Europe/Kaliningrad\",\r\n \"Europe/Kiev\",\r\n \"Europe/Kirov\",\r\n \"Europe/Lisbon\",\r\n \"Europe/Ljubljana\",\r\n \"Europe/London\",\r\n \"Europe/Luxembourg\",\r\n \"Europe/Madrid\",\r\n \"Europe/Malta\",\r\n \"Europe/Mariehamn\",\r\n \"Europe/Minsk\",\r\n \"Europe/Monaco\",\r\n \"Europe/Moscow\",\r\n \"Europe/Nicosia\",\r\n \"Europe/Oslo\",\r\n \"Europe/Paris\",\r\n \"Europe/Podgorica\",\r\n \"Europe/Prague\",\r\n \"Europe/Riga\",\r\n \"Europe/Rome\",\r\n \"Europe/Samara\",\r\n \"Europe/San_Marino\",\r\n \"Europe/Sarajevo\",\r\n \"Europe/Saratov\",\r\n \"Europe/Simferopol\",\r\n \"Europe/Skopje\",\r\n \"Europe/Sofia\",\r\n \"Europe/Stockholm\",\r\n \"Europe/Tallinn\",\r\n \"Europe/Tirane\",\r\n \"Europe/Tiraspol\",\r\n \"Europe/Ulyanovsk\",\r\n \"Europe/Uzhgorod\",\r\n \"Europe/Vaduz\",\r\n \"Europe/Vatican\",\r\n \"Europe/Vienna\",\r\n \"Europe/Vilnius\",\r\n \"Europe/Volgograd\",\r\n \"Europe/Warsaw\",\r\n \"Europe/Zagreb\",\r\n \"Europe/Zaporozhye\",\r\n \"Europe/Zurich\",\r\n \"GB\",\r\n \"GB-Eire\",\r\n \"GMT\",\r\n \"GMT+0\",\r\n \"GMT-0\",\r\n \"GMT0\",\r\n \"Greenwich\",\r\n \"HST\",\r\n \"Hongkong\",\r\n \"Iceland\",\r\n \"Indian/Antananarivo\",\r\n \"Indian/Chagos\",\r\n \"Indian/Christmas\",\r\n \"Indian/Cocos\",\r\n \"Indian/Comoro\",\r\n \"Indian/Kerguelen\",\r\n \"Indian/Mahe\",\r\n \"Indian/Maldives\",\r\n \"Indian/Mauritius\",\r\n \"Indian/Mayotte\",\r\n \"Indian/Reunion\",\r\n \"Iran\",\r\n \"Israel\",\r\n \"Jamaica\",\r\n \"Japan\",\r\n \"Kwajalein\",\r\n \"Libya\",\r\n \"MET\",\r\n \"MST\",\r\n \"MST7MDT\",\r\n \"Mexico/BajaNorte\",\r\n \"Mexico/BajaSur\",\r\n \"Mexico/General\",\r\n \"NZ\",\r\n \"NZ-CHAT\",\r\n \"Navajo\",\r\n \"PRC\",\r\n \"PST8PDT\",\r\n \"Pacific/Apia\",\r\n \"Pacific/Auckland\",\r\n \"Pacific/Bougainville\",\r\n \"Pacific/Chatham\",\r\n \"Pacific/Chuuk\",\r\n \"Pacific/Easter\",\r\n \"Pacific/Efate\",\r\n \"Pacific/Enderbury\",\r\n \"Pacific/Fakaofo\",\r\n \"Pacific/Fiji\",\r\n \"Pacific/Funafuti\",\r\n \"Pacific/Galapagos\",\r\n \"Pacific/Gambier\",\r\n \"Pacific/Guadalcanal\",\r\n \"Pacific/Guam\",\r\n \"Pacific/Honolulu\",\r\n \"Pacific/Johnston\",\r\n \"Pacific/Kiritimati\",\r\n \"Pacific/Kosrae\",\r\n \"Pacific/Kwajalein\",\r\n \"Pacific/Majuro\",\r\n \"Pacific/Marquesas\",\r\n \"Pacific/Midway\",\r\n \"Pacific/Nauru\",\r\n \"Pacific/Niue\",\r\n \"Pacific/Norfolk\",\r\n \"Pacific/Noumea\",\r\n \"Pacific/Pago_Pago\",\r\n \"Pacific/Palau\",\r\n \"Pacific/Pitcairn\",\r\n \"Pacific/Pohnpei\",\r\n \"Pacific/Ponape\",\r\n \"Pacific/Port_Moresby\",\r\n \"Pacific/Rarotonga\",\r\n \"Pacific/Saipan\",\r\n \"Pacific/Samoa\",\r\n \"Pacific/Tahiti\",\r\n \"Pacific/Tarawa\",\r\n \"Pacific/Tongatapu\",\r\n \"Pacific/Truk\",\r\n \"Pacific/Wake\",\r\n \"Pacific/Wallis\",\r\n \"Pacific/Yap\",\r\n \"Poland\",\r\n \"Portugal\",\r\n \"ROC\",\r\n \"ROK\",\r\n \"Singapore\",\r\n \"Turkey\",\r\n \"UCT\",\r\n \"US/Alaska\",\r\n \"US/Aleutian\",\r\n \"US/Arizona\",\r\n \"US/Central\",\r\n \"US/East-Indiana\",\r\n \"US/Eastern\",\r\n \"US/Hawaii\",\r\n \"US/Indiana-Starke\",\r\n \"US/Michigan\",\r\n \"US/Mountain\",\r\n \"US/Pacific\",\r\n \"US/Samoa\",\r\n \"UTC\",\r\n \"Universal\",\r\n \"W-SU\",\r\n \"WET\",\r\n \"Zulu\"\r\n]\r\n","import { Component, OnInit, ViewChild } from \"@angular/core\";\r\nimport { LoggerService } from \"src/shared/logger/logger.service\";\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { endpoint } from \"../../shared/endpoints.model\";\r\nimport { SystemProfileService } from 'src/system-profile-manager/shared/system-profile-V2.service';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { DialogConfirmationComponent } from \"src/shared/Dialogs/dialog-confirmation/dialog.confirmation.component\";\r\nimport { timeZones } from \"./timeZones\";\r\nimport { NgForm } from \"@angular/forms\";\r\n\r\n@Component({\r\n selector: 'system-update',\r\n templateUrl: './update.system.component.html',\r\n styleUrls: ['update.system.component.css']\r\n})\r\n\r\nexport class SystemUpdateComponent implements OnInit {\r\n\r\n endpoint_data_received: endpoint;\r\n endpoint_data_ToBe_Edited: endpoint;\r\n keysToBeChecked = [\"system_name\", \"sip_display_name\", \"system_time_zone\", \"dns_server1\", \"dns_server2\", \"dns_server3\",\r\n \"ntp_server1\", \"sip_proxy_address\", \"sip_proxy_address2\", \"sip_registration_uri\", \"sip_listen_port\", \"sip_tls_verify\",\r\n \"h323_gatekeeper_address\", \"dns_domain_name\", \"sip_authentication_username\", \"sip_authentication_password\",\r\n \"enable_h323\", \"enable_sip\", \"h323_e164\", \"h323_id\"]\r\n availableTimeZones = timeZones;\r\n onAndOffOptions: string[] = [\"Off\", \"On\"]\r\n checkedAuthenticationPassword: boolean = false;\r\n @ViewChild('ff') submitForm: NgForm;\r\n pushingToSystemFlag: boolean = false;\r\n\r\n constructor(private loggerService: LoggerService,\r\n private systemService: SystemProfileService,\r\n private _snackBar: MatSnackBar, public dialog: MatDialog) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.systemService.endpointDateToBeTransmitted.subscribe(data => {\r\n this.endpoint_data_received = data;\r\n this.endpoint_data_ToBe_Edited = Object.assign({}, this.endpoint_data_received);\r\n });\r\n }\r\n\r\n openDialog(): void {\r\n let systemToBeDeleted = { id: this.endpoint_data_received.id, name: this.endpoint_data_received.system_name, ip: this.endpoint_data_received.system_ip }\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Delete system\", message: `Are you sure you want to delete system with name = ${systemToBeDeleted.name} and ip = ${systemToBeDeleted.ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n // this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n }\r\n\r\n onSubmitData() {\r\n if (this.submitForm.valid && !this.pushingToSystemFlag) {\r\n this.pushingToSystemFlag = true;\r\n let dataChanged: { key: string, newVal: string }[] = [];\r\n dataChanged = this.checkAndGetChangedData();\r\n if (dataChanged.length > 0 && this.endpoint_data_received.is_provisioned && this.endpoint_data_received.system_password) {\r\n this.systemService.updateProfile(this.endpoint_data_received.system_ip,\r\n this.endpoint_data_received.software_version, dataChanged).subscribe(data => {\r\n // this.endpoint_data_received = data[\"message\"];\r\n // this.endpoint_data_ToBe_Edited = Object.assign({}, this.endpoint_data_received);\r\n this.pushingToSystemFlag = false;\r\n data[\"message\"].enable_phonebook = data[\"message\"].enable_phonebook == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_sip = data[\"message\"].enable_sip == '1' ? \"On\" : \"Off\"\r\n data[\"message\"].enable_h323 = data[\"message\"].enable_h323 == '1' ? \"On\" : \"Off\"\r\n this.systemService.endpointDateToBeTransmitted.next(data[\"message\"]);\r\n this.loggerService.log(\"SystemUpdateComponent\", `Data were pushed for unit with id =${this.endpoint_data_received.id}`, Levels.info)\r\n this.openSnackBar('Data push is completed', \"Success\");\r\n }, err => {\r\n this.loggerService.log(\"SystemUpdateComponent\", err.error.message ? err.error.message : \"Error while sending data\", Levels.error)\r\n this.openSnackBar(err.error.message ? err.error.message : \"Error while sending data\", \"Error\");\r\n this.pushingToSystemFlag = false;\r\n })\r\n } else {\r\n this.pushingToSystemFlag = false;\r\n }\r\n }\r\n }\r\n\r\n checkAndGetChangedData(): { key: string, newVal: string }[] {\r\n let dataChanged: { key: string, newVal: string }[] = [];\r\n for (let keyToBeChecked of this.keysToBeChecked) {\r\n if (this.endpoint_data_received[keyToBeChecked] != this.endpoint_data_ToBe_Edited[keyToBeChecked]) {\r\n if (keyToBeChecked == \"sip_authentication_password\") {\r\n if (!this.checkedAuthenticationPassword || this.endpoint_data_ToBe_Edited[keyToBeChecked] == \"***\"\r\n || this.endpoint_data_ToBe_Edited[keyToBeChecked].length < 6) { continue; }\r\n }\r\n dataChanged.push({ key: keyToBeChecked, newVal: this.endpoint_data_ToBe_Edited[keyToBeChecked] })\r\n }\r\n }\r\n return dataChanged\r\n }\r\n\r\n openDialogPush(): void {\r\n const dialogRef = this.dialog.open(DialogConfirmationComponent, {\r\n width: '450px',\r\n data: { title: \"Push to System\", message: `Are you sure you want to push configuration to system with name = ${this.endpoint_data_received.system_name} and ip = ${this.endpoint_data_received.system_ip}.` },\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n this.onSubmitData();\r\n }\r\n });\r\n }\r\n}\r\n","
    \r\n\r\n
    \r\n\r\n
    \r\n

    Push to unit

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

    General Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n System Name\r\n \r\n \r\n System Name is required\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n Time Zone\r\n \r\n {{zone}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n IP\r\n \r\n \r\n Invalid IPV4 format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n MAC Address\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Software Name\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Software Version\r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n Serial Number\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Product ID\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n PhoneBook\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n \r\n Enable PhoneBook\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n

    SIP Settings

    \r\n\r\n
    \r\n
    \r\n \r\n System SIP Name\r\n \r\n \r\n System SIP Name is required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Proxy Address 1\r\n \r\n \r\n Required\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n SIP Proxy Address 1 Status \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Proxy Address 2\r\n \r\n \r\n Length (6-50)\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n SIP Proxy Address 2 Status\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Registration Status\r\n \r\n \r\n
    \r\n\r\n\r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Tls Verify\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n SIP Registration URI\r\n \r\n \r\n Required\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Listen Port\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Authentication\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Sip Authentication Username\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n Sip Authentication Password\r\n \r\n \r\n Min. length 6 chars\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n Enable SIP\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n

    H323 Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Address\r\n \r\n \r\n Invalid format\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Port\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Mode\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Gatekeeper Status\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n H323 Gatekeeper Reason\r\n \r\n \r\n
    \r\n\r\n\r\n
    \r\n \r\n Enable H323\r\n \r\n {{option}}\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Alias E164\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n H323 Alias ID\r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n\r\n
    \r\n

    Other Settings

    \r\n\r\n
    \r\n\r\n
    \r\n \r\n NTP Server 1\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Server 1\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Server 2\r\n \r\n \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n DNS Server 3\r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n DNS Domain 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

    * VMS can't push to unprovisioned units

    \r\n

    * VMS can't push to a unit with no password

    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n","import { SearchModuleService } from 'src/shared/search.module.service';\r\nimport { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\nimport { MatDialog } from '@angular/material/dialog';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport { system_manager, user_access } from '../assets/conf_urls.json';\r\nimport { Observable } from 'rxjs';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { InsertUnitsComponent } from './dialog-insert-system/insert.systems.component';\r\nimport { AccessAuthService } from 'src/shared/access.auth.service';\r\n\r\n@Component({\r\n selector: 'app-system-profile-manager',\r\n templateUrl: './system-profile-manager.component.html',\r\n styleUrls: ['./system-profile-manager.component.css']\r\n})\r\nexport class SystemProfileManagerComponent implements OnInit {\r\n switcher_navigator = true;\r\n valueChanges: Observable;\r\n @Output() send_system_profile_object = new EventEmitter<{}>();\r\n show_progressbar = false;\r\n items: any = {};\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n verify_user: any\r\n\r\n selected_parent_folder: any\r\n selected_folder: any\r\n sort_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n\r\n user_info_obj: any;\r\n adminAuthorization: boolean = false;\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private http: HttpClient,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService,\r\n public dialog: MatDialog,\r\n public accessAuthService: AccessAuthService) {\r\n }\r\n\r\n ngOnInit(): void {\r\n this.accessAuthService.isAdmin.subscribe(data => this.adminAuthorization = data)\r\n\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_item({ 'text': 'test', 'value': data[0] })\r\n )\r\n }\r\n\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/login';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n check_auth() {\r\n // for user access\r\n this.user_permission = localStorage.getItem('ua');\r\n if (this.user_permission && this.user_email) {\r\n\r\n this.get_user_access_service(this.user_email);\r\n\r\n } else {\r\n // user has to login\r\n window.location.href = '#/login';\r\n }\r\n //end\r\n }\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n click_button() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('mat-focus-indicator mat-raised-button mat-button-base mat-primary ng-star-inserted')[0] as HTMLElement;\r\n element.click();\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }, 300)\r\n }\r\n\r\n publish_system_profile(value) {\r\n this.send_system_profile_object.emit(value)\r\n\r\n }\r\n\r\n recieve_selected_system(systemrow) {\r\n this.items = systemrow\r\n\r\n if (systemrow[\"item\"][\"name\"]) {\r\n\r\n this.openSnackBar(systemrow[\"item\"][\"name\"] + \" was selected\", \"Ok\")\r\n }\r\n this.click_button()\r\n\r\n }\r\n\r\n recieve_selected_item(systemobj) {\r\n this.selected_folder = undefined;\r\n this.selected_parent_folder = undefined;\r\n this.items = {};\r\n if (systemobj[\"value\"][\"type\"] == 'endpoint') {\r\n\r\n let json_obj = {\r\n \"event\": \"select_by_id\",\r\n \"id\": systemobj[\"value\"][\"id\"]\r\n }\r\n this.http.post(system_manager.services, json_obj).subscribe(data => {\r\n this.items = { \"item\": data[0] }\r\n if (data[\"id\"]) {\r\n\r\n this.openSnackBar(data[\"system_name\"] + \" was selected\", \"Ok\")\r\n }\r\n }, err => {\r\n this.loggerService.log(\"SystemProfileManagerComponent\", err, Levels.error)\r\n })\r\n\r\n this.selected_parent_folder = systemobj[\"value\"][\"parent\"]\r\n this.click_button()\r\n }\r\n\r\n else if (systemobj[\"value\"][\"type\"] == 'folder') {\r\n this.selected_folder = systemobj\r\n }\r\n }\r\n //function to refetch data if someone changed the location folder for any other unit\r\n refetchData(data: any) {\r\n //make its value empty to fire a change event on it\r\n this.sort_tree_by = '';\r\n //this settimeout is to delay the other change a bit for the tree ti rerender the change and then fire a new change event\r\n setTimeout(() => {\r\n this.sort_tree_by = data;\r\n }, 100)\r\n\r\n }\r\n openDialog(): void {\r\n const dialogRef = this.dialog.open(InsertUnitsComponent, {\r\n minWidth: '95vw',\r\n maxWidth: '95vw',\r\n disableClose: true\r\n });\r\n\r\n dialogRef.afterClosed().subscribe(result => {\r\n if (result) {\r\n //this.deleteSystem(systemToBeDeleted);\r\n }\r\n });\r\n }\r\n}\r\n","\r\n\r\n\r\n
    \r\n \r\n\r\n
    \r\n\r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n Toggle Tree\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n
    \r\n\r\n\r\n\r\n","import { Component, OnInit, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl, FormGroup, Validators } from '@angular/forms';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { startWith, map } from 'rxjs/operators';\r\n// @ts-ignore\r\nimport { template_manager, user_access, folder_manager, system_manager } from '../assets/conf_urls.json';\r\nimport { MatSnackBar } from '@angular/material/snack-bar';\r\n\r\nimport { MatTableDataSource } from '@angular/material/table';\r\nimport { createReturn } from 'typescript';\r\nimport { isObject } from 'rxjs/internal/util/isObject';\r\nimport { AuthService } from '../app/services/auth.service';\r\nimport jwt_decode from 'jwt-decode'\r\nimport { stringify } from '@angular/compiler/src/util';\r\nimport { consoleTestResultHandler } from 'tslint/lib/test';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\nimport { SearchModuleService } from 'src/shared/search.module.service';\r\n\r\nexport interface CommandsGroup {\r\n\r\n CommandFamily: string;\r\n CommandName: string[];\r\n id: string[];\r\n software_id: string[];\r\n CommandType: string[];\r\n CommandSyntax: string[];\r\n\r\n\r\n}\r\n\r\nexport interface IMappingCommands {\r\n event: \"create_template_conf\",\r\n added_by: string\r\n command_syntax: string,\r\n command_value: any,\r\n command_type: any,\r\n command_sw_version: any,\r\n command_sw_version_text: any,\r\n command_family: any,\r\n template_name_id: any,\r\n command_id_fk: any,\r\n command_is_enabled: 1\r\n};\r\n\r\nexport const _filter = (opt: string[], value: string): string[] => {\r\n const filterValue = value.toLowerCase();\r\n\r\n return opt.filter(item => item.toLowerCase().indexOf(filterValue) === 0);\r\n};\r\n\r\n@Component({\r\n selector: 'app-template-manager',\r\n templateUrl: './template-manager.component.html',\r\n styleUrls: ['./template-manager.component.css']\r\n})\r\nexport class TemplateManagerComponent implements OnInit {\r\n //\r\n newTemplateForm: FormGroup;\r\n mapCommandsForm: FormGroup;\r\n createJobForm: FormGroup;\r\n updateJobForm: FormGroup;\r\n modal_modifyCommandConfForm: FormGroup;\r\n dateTimeExample;\r\n panelOpenState = false;\r\n show_progressbar = false;\r\n // stepper:\r\n // templates selection\r\n distinct_templates: any\r\n template_name: any;\r\n template_id: any;\r\n\r\n //\r\n //commands form\r\n distinct_software_name: any\r\n filter_sw_version: any\r\n selected_commands_list: IMappingCommands[] = []\r\n saved_commands_list = []\r\n //create a job\r\n created_job_id: any;\r\n list_of_job_selected_folders = []\r\n list_of_job_selected_systems = []\r\n creation_finished = false\r\n slider_addmore = false\r\n slider_addmore_commands = false\r\n slider_editcurrent_commands = false\r\n slider_editcurrent_job = false\r\n\r\n //end\r\n //profile\r\n target_folder_list = []\r\n target_systems_list = []\r\n modal_edit_command_conf = []\r\n //\r\n\r\n //messaging vars\r\n //configuration => history job on click to get the logs.\r\n selected_item_job_id = \"\"\r\n selected_item_template_id = \"\"\r\n selected_item_job_row: any\r\n switcher_deletecommand = false\r\n show_delete_job = false\r\n selected_item_job_id_history = \"\"\r\n selected_sql_row = {}\r\n\r\n //\r\n\r\n //for user access\r\n user_permission;\r\n user_email = localStorage.getItem('useremail');\r\n\r\n stateGroups = [];\r\n\r\n SoftwareVersion = new FormControl();\r\n stateForm: FormGroup = this._formBuilder.group({\r\n stateGroup: '',\r\n });\r\n\r\n stateGroupOptions: Observable;\r\n\r\n user_access_obj = ['admin', 'operator']\r\n //user_info = stringify(jwt_decode(localStorage.getItem('accessToken')))\r\n user_info_obj;\r\n sort_template_tree_by = \"template_jobs\"\r\n sort_nav_tree_by = \"folder\"\r\n sort_by_list = [\r\n { value: 'folder', viewValue: 'Folder' },\r\n { value: 'software_name', viewValue: 'Software Name' },\r\n { value: 'software_version', viewValue: 'Software Version' },\r\n { value: 'product_id', viewValue: 'Product Id' }\r\n ];\r\n displayedColumns = [\"deleteIcon\", \"name\"];\r\n recieve_selected_items = [];\r\n addNewTemplate: boolean = false;\r\n\r\n public utctimenow = new Date().toUTCString()\r\n\r\n constructor(private _snackBar: MatSnackBar,\r\n private _formBuilder: FormBuilder,\r\n private http: HttpClient,\r\n private authService: AuthService,\r\n private loggerService: LoggerService,\r\n private searchModuleService: SearchModuleService) {\r\n setInterval(() => {\r\n this.utctimenow = new Date().toUTCString();\r\n }, 1);\r\n }\r\n\r\n ngOnInit(): void {\r\n this.searchModuleService.dataTransmitted.subscribe(data =>\r\n this.recieve_selected_multiple_items(data)\r\n );\r\n if (localStorage.getItem('accessToken')) {\r\n this.user_info_obj = jwt_decode(localStorage.getItem('accessToken'))\r\n }\r\n this.stateGroupOptions = this.stateForm.get('stateGroup')!.valueChanges\r\n .pipe(\r\n startWith(''),\r\n map(value => this._filterGroup(value))\r\n );\r\n\r\n\r\n this.get_distinct_templates();\r\n this.get_distinct_software_CommandDisplayName();\r\n\r\n this.newTemplateForm = this._formBuilder.group({\r\n template_name: ['', Validators.required],\r\n template_description: ['', Validators.required]\r\n });\r\n\r\n this.mapCommandsForm = this._formBuilder.group({});\r\n\r\n this.createJobForm = this._formBuilder.group({\r\n job_title: ['', Validators.required],\r\n start_job_at: ['', Validators.required],\r\n template_frequency: ['', Validators.required],\r\n template_display_name_id: [''],\r\n event: ['create_template_job'],\r\n template_job_id: [''],\r\n next_run_time: ['']\r\n\r\n });\r\n this.updateJobForm = this._formBuilder.group({\r\n job_title: ['', Validators.required],\r\n start_job_at: ['', Validators.required],\r\n template_frequency: ['', Validators.required],\r\n\r\n event: ['update_template_profile_id'],\r\n\r\n\r\n });\r\n this.modal_modifyCommandConfForm = this._formBuilder.group({});\r\n\r\n }\r\n\r\n click_get_conf_button() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('mat-focus-indicator m-1 mat-raised-button mat-button-base mat-primary ng-star-inserted')[0] as HTMLElement;\r\n element.click();\r\n\r\n } catch (error) {\r\n\r\n }\r\n\r\n\r\n\r\n }, 700)\r\n }\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n try {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n let element1: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n element1.click();\r\n } catch (error) {\r\n\r\n }\r\n }, 700)\r\n }\r\n\r\n reload_treeView1() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[1] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n // for user access\r\n get_user_access_service(useremail: any) {\r\n useremail = useremail.trim();\r\n\r\n localStorage.setItem('useremail', useremail);\r\n var json_object = { 'user_email': useremail };\r\n this.http.post(user_access.url, json_object).subscribe(data => {\r\n\r\n if (data.toString().length > 0) {\r\n //if user active\r\n if (data[0]['is_active'] == 'y') {\r\n var useraccess = data[0]['user_permission'];\r\n localStorage.setItem('ua', useraccess);\r\n //create a session\r\n //end\r\n // window.location.href = '/home';\r\n }\r\n //if user not active\r\n if (data[0]['is_active'] == 'n') {\r\n window.location.href = '/newaccess';\r\n }\r\n }\r\n\r\n }\r\n );\r\n // end\r\n }\r\n\r\n\r\n\r\n recieve_selected_multiple_items(items: any) {\r\n this.recieve_selected_items = items\r\n // items.forEach(item => {\r\n // if (item[\"parent\"]) {\r\n // delete item[\"parent\"]\r\n // }\r\n // });\r\n\r\n }\r\n recieve_selected_multiple_items_commands(items: any) {\r\n this.recieve_selected_items = items\r\n items.forEach(item => {\r\n if (item[\"parent\"]) {\r\n delete item[\"parent\"]\r\n }\r\n });\r\n }\r\n\r\n move_selected_to_list() {\r\n\r\n this.show_progressbar = true\r\n //this.stateGroups = this.stateGroups.concat(this.recieve_selected_items)\r\n this.recieve_selected_items.forEach(item => {\r\n if (this.stateGroups.find(element => element.id == item[\"id\"])) {\r\n return\r\n }\r\n this.stateGroups.push(item)\r\n })\r\n this.recieve_selected_items = []\r\n this.show_progressbar = false\r\n }\r\n\r\n move_selected_systems_to_task_list() {\r\n this.show_progressbar = true\r\n let request_body = {\r\n \"event\": \"select_by_id_list\", \"id_list\": this.recieve_selected_items\r\n }\r\n this.http.post(system_manager.services, request_body).subscribe(response_data => {\r\n\r\n if (response_data[\"status_type\"] == \"Success\") {\r\n //found system profile\r\n if (response_data[\"data\"][0]) {\r\n response_data[\"data\"].forEach(item => {\r\n this.move_single_system_to_list(item)\r\n });\r\n this.show_progressbar = false\r\n\r\n }\r\n //no data for this mac address\r\n else {\r\n //change the message only\r\n this.show_progressbar = false;\r\n }\r\n } else {\r\n this.show_progressbar = false;\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n this.recieve_selected_items = []\r\n }\r\n\r\n move_single_system_to_list(system_obj) {\r\n if (this.list_of_job_selected_systems.find(element => element.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n this.list_of_job_selected_systems.push(system_obj);\r\n if (this.target_systems_list.find(element => element.id == system_obj[\"id\"])) {\r\n return\r\n }\r\n this.target_systems_list.push(system_obj);\r\n // 2. create the upgrade list item\r\n\r\n }\r\n\r\n\r\n\r\n openSnackBar(message: string, action: string) {\r\n this._snackBar.open(message, action, {\r\n duration: 8000,\r\n panelClass: ['mat-toolbar', 'mat-primary']\r\n });\r\n\r\n }\r\n\r\n get_distinct_templates() {\r\n this.http.post(template_manager.services, { \"event\": \"query_distinct_templates\" }).subscribe(response_data => {\r\n this.distinct_templates = response_data[\"data\"];\r\n })\r\n }\r\n\r\n get_distinct_software_CommandDisplayName() {\r\n this.http.post(template_manager.services, { \"event\": \"query_distinct_sw_version\" }).subscribe(response_data => {\r\n this.distinct_software_name = response_data[\"data\"];\r\n })\r\n }\r\n\r\n //first form : stepper save template\r\n onCheck_assign_id(row: any) {\r\n this.template_name = row[\"template_name\"]\r\n this.template_id = row[\"id\"]\r\n this.http.post(template_manager.services, { \"event\": \"query_template_assigned_commands\", \"template_id\": this.template_id }).subscribe(response_data => {\r\n this.stateGroups = response_data[\"data\"]\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n\r\n })\r\n }\r\n\r\n ngOnsubmit_save_new_template() {\r\n if (this.newTemplateForm.valid) {\r\n this.newTemplateForm.value[\"event\"] = \"create_template_profile\"\r\n this.http.post(template_manager.services, this.newTemplateForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.template_id = response_data[\"data\"];\r\n this.get_distinct_templates();\r\n this.addNewTemplate = false;\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }\r\n\r\n //end\r\n //second form: stepper commnad mapper\r\n getCommands_by_filter(id: any) {\r\n var req_body = { \"event\": \"query_commands_by_software_version\", \"id\": id }\r\n this.http.post(template_manager.services, req_body).subscribe(data => {\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n\r\n }\r\n\r\n filter_sw_version_event(id: any) {\r\n this.filter_sw_version = id\r\n\r\n }\r\n\r\n get_template_saved_commnads() {\r\n let j = {\r\n \"event\": \"query_template_conf_id\",\r\n \"id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, j).subscribe(data => {\r\n this.saved_commands_list = data[\"data\"]\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n add_selected_command_to_list(id, sw_id, command_syntax, command_type, command_name) {\r\n\r\n\r\n let json = { \"event\": \"query_choices_by_command_id\", \"id\": id }\r\n // this is to get command choices\r\n this.http.post(template_manager.services, json).subscribe(response_data => {\r\n // $event[\"options\"] = response_data[\"data\"]\r\n })\r\n\r\n\r\n const fc = new FormControl(command_syntax, Validators.required);\r\n this.mapCommandsForm.addControl('command_syntax_' + id, fc)\r\n\r\n const fk = new FormControl(id, Validators.required);\r\n this.mapCommandsForm.addControl('fk_' + id, fk)\r\n\r\n const fcv = new FormControl('', Validators.required);\r\n this.mapCommandsForm.addControl('command_value_' + id, fcv)\r\n const fc_sw = new FormControl(sw_id, Validators.required);\r\n this.mapCommandsForm.addControl('sw_' + id, fc_sw)\r\n const fc_command_type = new FormControl(command_type, Validators.required);\r\n this.mapCommandsForm.addControl('type_' + id, fc_command_type)\r\n const template_name_id = new FormControl(this.template_id, Validators.required);\r\n this.mapCommandsForm.addControl('template_' + id, template_name_id)\r\n //\r\n Object.keys(this.selected_commands_list).forEach(item => {\r\n let item_id = this.selected_commands_list[item][\"item\"][\"props\"][\"id\"]\r\n if (id == item_id) {\r\n this.selected_commands_list.splice(parseInt(item), 1)\r\n }\r\n\r\n })\r\n\r\n // this.selected_commands_list.push($event)\r\n this.openSnackBar(\"Command was added to the list\", \"success\")\r\n }\r\n\r\n\r\n //end\r\n delete_from_list(item: any) {\r\n\r\n }\r\n\r\n assign_commands_to_template(commands_arr: any) {\r\n let template_name_id = null\r\n if (template_name_id == undefined || template_name_id == null) {\r\n template_name_id = this.selected_item_template_id\r\n }\r\n // if (command_type == 'text') {\r\n // command_value = '\"' + command_value + '\"'\r\n // }\r\n\r\n if (commands_arr) {\r\n\r\n let jobj = {\r\n \"event\": \"create_template_conf\",\r\n \"template_name_id\": this.template_id,\r\n \"commands_arr\": commands_arr\r\n // \"added_by\": added_by,\r\n // \"command_syntax\": command_syntax,\r\n // \"command_value\": command_value,\r\n // \"command_sw_version\": command_sw,\r\n // \"command_id_fk\": command_id,\r\n // \"command_is_enabled\": 1\r\n }\r\n //post command to the template\r\n this.show_progressbar = true\r\n this.http.post(template_manager.services, jobj).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n } else {\r\n this.openSnackBar(\"Commands list is empty\", \"Pending\")\r\n }\r\n }\r\n\r\n\r\n //\r\n\r\n\r\n create_template_job() {\r\n\r\n\r\n var d = new Date();\r\n var year = d.getFullYear();\r\n var month = d.getMonth();\r\n var day = d.getDate();\r\n var c = new Date(year + 30, month, day);\r\n\r\n if (this.template_id == undefined) {\r\n this.openSnackBar(\"Please select/create a template first\", \"Error\")\r\n return\r\n }\r\n // if (!this.createJobForm.value[\"job_title\"].includes('@')) {\r\n\r\n // this.createJobForm.value[\"job_title\"] = this.createJobForm.value[\"job_title\"] + \" @\" + localStorage.getItem('useremail').split('@')[0]\r\n // }\r\n\r\n this.createJobForm.value[\"template_display_name_id\"] = this.template_id\r\n this.createJobForm.value[\"template_job_id\"] = this.uuidv4()\r\n this.createJobForm.value[\"next_run_time\"] = this.createJobForm.value[\"start_job_at\"]\r\n this.createJobForm.value[\"start_expires_at\"] = c\r\n if (this.createJobForm.valid) {\r\n this.http.post(template_manager.services, this.createJobForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.created_job_id = response_data['data']\r\n } else {\r\n\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n }\r\n\r\n uuidv4() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\r\n var r = Math.random() * 16 | 0, v = c == 'x' ? r : (r & 0x3 | 0x8);\r\n return v.toString(16);\r\n });\r\n }\r\n\r\n tree_recieve_selected_item($event) {\r\n\r\n if ($event[\"expandable\"] == false) {\r\n let switch_case = 0\r\n let entered_system_name = $event['item']['name']\r\n Object.keys(this.list_of_job_selected_systems).forEach(index => {\r\n let row_system_name = this.list_of_job_selected_systems[index]['item']['name']\r\n if (row_system_name == entered_system_name) {\r\n switch_case = 1\r\n return\r\n }\r\n })\r\n if (switch_case == 0) {\r\n this.list_of_job_selected_systems.push($event)\r\n this.openSnackBar(entered_system_name + \" was added to the list.\", 'Success')\r\n } else {\r\n\r\n this.openSnackBar(entered_system_name + \" is already in the list.\", 'Warning')\r\n\r\n }\r\n } else {\r\n let switch_case = 0\r\n let entered_folder_name = $event['item_name']\r\n Object.keys(this.list_of_job_selected_folders).forEach(index => {\r\n let row_folder_name = this.list_of_job_selected_folders[index]['item_name']\r\n if (row_folder_name == entered_folder_name) {\r\n switch_case = 1\r\n return\r\n }\r\n })\r\n if (switch_case == 0) {\r\n this.list_of_job_selected_folders.push($event)\r\n this.openSnackBar(entered_folder_name + \" was added to the list.\", 'Success')\r\n } else {\r\n\r\n this.openSnackBar(entered_folder_name + \" is already in the list.\", 'Warning')\r\n\r\n }\r\n\r\n\r\n }\r\n }\r\n\r\n set_template_job_id($event) {\r\n this.selected_item_job_row = $event\r\n this.selected_item_job_id_history = $event[\"value\"][\"id\"]\r\n this.selected_item_template_id = $event[\"value\"][\"parent\"][\"value\"][\"id\"]\r\n this.get_job_target_list($event[\"value\"][\"id\"])\r\n this.get_template_saved_commnads()\r\n\r\n }\r\n\r\n get_job_target_list(id: any) {\r\n this.target_folder_list = []\r\n this.target_systems_list = []\r\n this.selected_item_job_id = id\r\n let j = {\r\n \"event\": \"query_conf_by_job_id\",\r\n \"id\": id\r\n\r\n }\r\n this.http.post(template_manager.services, j).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n //this.target_folder_list = response_data[\"data\"][0][\"folders\"]\r\n this.target_systems_list = response_data[\"data\"][\"systems\"]\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n assign_items_to_job() {\r\n let jobject = {\r\n \"event\": \"create_job_system_conf\",\r\n \"systeminformation_id_list\": this.recieve_selected_items,\r\n \"templatecreatejob_id\": this.created_job_id,\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(data => {\r\n if (data[\"status\"] == 'success') {\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n } else {\r\n this.openSnackBar(data[\"message\"], data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n this.creation_finished = true\r\n }\r\n\r\n add_item_to_current_list($event) {\r\n\r\n\r\n // event validation\r\n let item = $event['item']\r\n let item_type = $event['expandable']\r\n if ($event['item_name'] !== undefined) {\r\n // define the item type\r\n\r\n // item is a folder\r\n\r\n // check the item in the list\r\n let switch_case = 0\r\n Object.keys(this.target_folder_list).forEach(index => {\r\n let current_item_name = this.target_folder_list[index]['item_name']\r\n let selected_item_name = $event['item_name']\r\n // validate\r\n if (current_item_name == selected_item_name) {\r\n // item was found\r\n switch_case = 1\r\n }\r\n })\r\n // check if the folder was found or not\r\n if (switch_case == 0) {\r\n this.target_folder_list.push($event)\r\n this.openSnackBar($event['item_name'] + \" was added to the list.\", 'Success')\r\n }\r\n else {\r\n this.openSnackBar($event['item_name'] + \" is already in the list.\", 'Warning')\r\n }\r\n\r\n }\r\n // item validated with type\r\n if (item !== undefined && item_type !== undefined) {\r\n\r\n\r\n // item is a system\r\n // check the item in the list\r\n let switch_case = 0\r\n Object.keys(this.target_systems_list).forEach(index => {\r\n let current_item_name = this.target_systems_list[index]['system_name']\r\n let selected_item_name = item['system_name']\r\n // validate\r\n if (current_item_name == selected_item_name) {\r\n // item was found\r\n switch_case = 1\r\n }\r\n })\r\n // check if the system was found or not\r\n if (switch_case == 0) {\r\n this.target_systems_list.push(item)\r\n this.openSnackBar(item['system_name'] + \" was added to the list.\", 'Success')\r\n }\r\n else {\r\n this.openSnackBar(item['system_name'] + \" is already in the list.\", 'Warning')\r\n }\r\n\r\n\r\n }\r\n\r\n\r\n }\r\n\r\n //sql table\r\n\r\n get_selected_sql_row($event) {\r\n this.modal_modifyCommandConfForm = this._formBuilder.group({});\r\n this.show_progressbar = true;\r\n let command_id = $event['command_id']\r\n let command_conf_id = $event['command_conf_id']\r\n let value_type = $event['command_parameters_count']\r\n var jobject = {\r\n \"event\": \"query_command_configuration\",\r\n \"id\": command_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.modal_edit_command_conf = response_data[\"data\"]\r\n //add mandatory form controls\r\n const command_conf_id_ctrl = new FormControl(command_conf_id, Validators.required);\r\n this.modal_modifyCommandConfForm.addControl('id', command_conf_id_ctrl)\r\n\r\n const command_value = new FormControl('');\r\n this.modal_modifyCommandConfForm.addControl('command_value', command_value)\r\n\r\n let value_type = this.modal_edit_command_conf[0]['command_props']['command_parameters_count']\r\n const command_value_type = new FormControl(value_type, Validators.required);\r\n this.modal_modifyCommandConfForm.addControl('command_value_type', command_value_type)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n this.selected_sql_row = $event\r\n $(\"#modal_sql_row\").click()\r\n }\r\n\r\n\r\n delete_folder_from_current_list(item: any) {\r\n this.target_folder_list.forEach(folder => {\r\n let folder_id = folder[\"id\"]\r\n let rem_folder_id = item[\"id\"]\r\n if (folder_id == rem_folder_id) {\r\n let index = this.target_folder_list.indexOf(folder)\r\n this.target_folder_list.splice(index, 1);\r\n this.openSnackBar(\"Folder \" + item[\"item_name\"] + \" was removed\", \"success\")\r\n }\r\n\r\n })\r\n\r\n\r\n }\r\n\r\n delete_system_from_current_list(item: any) {\r\n let index = 0\r\n this.target_systems_list.forEach(system => {\r\n index += 1\r\n\r\n let system_id;\r\n let rem_system_id;\r\n if (system[\"id\"] !== undefined) {\r\n system_id = system[\"id\"]\r\n }\r\n else {\r\n system_id = system['item'][\"id\"]\r\n }\r\n if (item[\"id\"] !== undefined) {\r\n rem_system_id = item[\"id\"]\r\n }\r\n else {\r\n rem_system_id = item['item'][\"id\"]\r\n }\r\n\r\n\r\n if (system_id == rem_system_id && (system_id != undefined || rem_system_id != undefined)) {\r\n // let index = this.target_folder_list.indexOf(system)\r\n if (index == 0) {\r\n this.target_systems_list.splice(index, 1);\r\n }\r\n else {\r\n this.target_systems_list.splice(index - 1, 1);\r\n }\r\n\r\n\r\n this.openSnackBar(\"System \" + item[\"system_name\"] + \" was removed\", \"success\")\r\n }\r\n\r\n })\r\n\r\n }\r\n\r\n delete_template_command_conf(item_id: any) {\r\n //delete_template_conf_id\r\n if (item_id !== undefined) {\r\n this.show_progressbar = true\r\n let jobject = {\r\n \"event\": \"delete_template_conf_id\",\r\n \"id\": item_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n delete_job() {\r\n var job = {\r\n \"event\": \"delete_job_by_template_job_id\",\r\n \"id\": this.selected_item_job_id_history\r\n }\r\n\r\n this.http.post(template_manager.services, job).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n document.getElementById('refreshID').click();\r\n\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.loggerService.log(\"TemplateManagerComponent\", response_data[\"message\"], Levels.error)\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n ngSubmit_save_job_config_folder_changes() {\r\n //user cleared all folders.\r\n var jobject = {\r\n \"event\": \"clear_jobs_folders\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n\r\n if (this.target_folder_list.length == 0) {\r\n this.show_progressbar = true\r\n var jobject = {\r\n \"event\": \"clear_jobs_folders\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n }\r\n if (this.target_folder_list.length > 0) {\r\n this.target_folder_list.forEach(item => {\r\n let folder_id = item[\"id\"]\r\n let jobject = {\r\n \"event\": \"create_job_folder_conf\",\r\n \"templatecreatejob_id\": this.selected_item_job_id,\r\n \"systemlocation_id\": folder_id\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n })\r\n })\r\n }\r\n\r\n }\r\n\r\n ngSubmit_update_job_profile() {\r\n if (this.updateJobForm.valid) {\r\n this.updateJobForm.value[\"id\"] = this.selected_item_job_id_history\r\n this.updateJobForm.value[\"next_run_time\"] = this.updateJobForm.value[\"start_job_at\"]\r\n this.updateJobForm.value[\"job_creator_editor\"] = this.user_info_obj[\"name\"]\r\n this.http.post(template_manager.services, this.updateJobForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"]);\r\n document.getElementById('refreshID').click();\r\n this.slider_editcurrent_job = false;\r\n this.selected_item_job_row = null;\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"]);\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error);\r\n })\r\n }\r\n }\r\n\r\n ngSubmit_save_job_config_system_changes() {\r\n\r\n // user cleared all systems.\r\n if (this.recieve_selected_items.length == 0) {\r\n this.show_progressbar = true\r\n var jobject = {\r\n \"event\": \"clear_jobs_systems\",\r\n \"templatecreatejob_id\": this.selected_item_job_id\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.recieve_selected_items = []\r\n this.get_job_target_list(this.selected_item_job_id_history)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n else if (this.recieve_selected_items.length > 0) {\r\n\r\n let jobject = {\r\n \"event\": \"create_job_system_conf\",\r\n \"templatecreatejob_id\": this.selected_item_job_id,\r\n \"systeminformation_id_list\": this.recieve_selected_items\r\n\r\n }\r\n this.http.post(template_manager.services, jobject).subscribe(response_data => {\r\n if (response_data[\"status\"] == \"success\") {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n this.recieve_selected_items = []\r\n this.get_job_target_list(this.selected_item_job_id_history)\r\n\r\n } else {\r\n this.show_progressbar = false\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n ngSubmit_save_modified_template_command() {\r\n\r\n if (this.modal_modifyCommandConfForm.valid) {\r\n this.modal_modifyCommandConfForm.value[\"event\"] = \"update_template_conf_id\"\r\n if (this.modal_modifyCommandConfForm.value[\"command_value_type\"] == 'text') {\r\n this.modal_modifyCommandConfForm.value[\"command_value\"] = '\"' + this.modal_modifyCommandConfForm.value[\"command_value\"] + '\"'\r\n }\r\n delete this.modal_modifyCommandConfForm.value[\"command_value_type\"]\r\n this.http.post(template_manager.services, this.modal_modifyCommandConfForm.value).subscribe(response_data => {\r\n if (response_data[\"status\"] == 'success') {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n\r\n } else {\r\n this.openSnackBar(response_data[\"message\"], response_data[\"status\"])\r\n\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n })\r\n }\r\n\r\n }\r\n\r\n //commands controller\r\n check_all() {\r\n document.querySelectorAll('.mat-option').forEach(item => {\r\n var select_state = item.getAttribute('aria-selected')\r\n\r\n if (select_state === 'false') {\r\n item.click()\r\n }\r\n })\r\n }\r\n\r\n deselect_all() {\r\n document.querySelectorAll('.mat-option').forEach(item => {\r\n var select_state = item.getAttribute('aria-selected')\r\n if (select_state === 'true') {\r\n item.click()\r\n }\r\n })\r\n\r\n }\r\n\r\n\r\n get_filtered_commands() {\r\n this.show_progressbar = true\r\n this.stateGroups = []\r\n var selectedList_sw_versions = this.SoftwareVersion.value\r\n var search_key = this.stateForm.get('stateGroup').value\r\n var ob = {\r\n \"parent_table_name\": \"system_overview_systemclicommands\",\r\n \"parent_table_group_key\": \"command_family\",\r\n \"parent_table_display_value\": \"command_display_name\",\r\n \"software_filter_list\": selectedList_sw_versions,\r\n \"search_keyword\": search_key\r\n }\r\n\r\n var array = []\r\n this.http.post(template_manager.templatecommandsview, ob).subscribe(data => {\r\n this.show_progressbar = false\r\n this.stateGroups = data['tree'][0]\r\n if (this.stateGroups === undefined) {\r\n this.openSnackBar('No results found,try another keyword', '')\r\n\r\n }\r\n\r\n })\r\n }\r\n\r\n toggle_command_parameter_div($event, line) {\r\n var parameter_element_id = \"command_value_\" + line['id']\r\n if ($event['checked'] == true) {\r\n\r\n document.getElementById(parameter_element_id).classList.replace('invisible', 'visible')\r\n\r\n } else {\r\n document.getElementById(parameter_element_id).classList.replace('visible', 'invisible')\r\n\r\n }\r\n\r\n }\r\n\r\n prompt_save_commands() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n this.selected_commands_list = []\r\n document.querySelectorAll('.mat-checkbox-checked').forEach(item => {\r\n var command_line = []\r\n var switcher = 0\r\n var command_value = document.getElementById('command_value_' + item.id.split('_')[2] + '').textContent\r\n var command_id_fk = item.id.split('_')[2]\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index]['rec_id'] == command_id_fk) {\r\n command_line.push(this.stateGroups[index])\r\n\r\n\r\n }\r\n })\r\n var command_sw_id = command_line['software_version_id']\r\n var command_syntax = command_line['command_syntax']\r\n var command_type = command_line['command_parameters_count']\r\n var command_display = document.getElementById(item.id).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item.id.split('_')[2] + '').val().toString()\r\n\r\n }\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index]['command_id_fk'] == command_id_fk) {\r\n switcher = 1\r\n }\r\n\r\n })\r\n\r\n\r\n if (switcher == 0 || this.selected_commands_list.length == 0) {\r\n // this.selected_commands_list.push({\r\n // added_by: 'test',\r\n // command_id_fk: item.id.split('_')[2],\r\n // command_is_enabled: 1,\r\n // command_sw_version: command_sw_id,\r\n // command_type: command_type,\r\n // command_syntax: command_syntax,\r\n // command_value: command_value,\r\n // template_name_id: this.template_id,\r\n // event: \"create_template_conf\"\r\n // })\r\n this.openSnackBar('Command was added to the list', '')\r\n //(this.selected_commands_list)\r\n\r\n } else {\r\n this.openSnackBar('Command is already in the list', '')\r\n\r\n }\r\n })\r\n }\r\n\r\n prompt_save_commands2() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n this.selected_commands_list = []\r\n this.stateGroups.forEach(item => {\r\n var command_value = document.getElementById('command_value_' + item['id']).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item['id']).val().toString()\r\n\r\n }\r\n this.selected_commands_list.push({\r\n added_by: this.user_info_obj[\"name\"],\r\n command_id_fk: item['id'],\r\n command_is_enabled: 1,\r\n command_sw_version: item['software_version_id'],\r\n command_sw_version_text: item['software_version'],\r\n command_family: item['command_family'],\r\n command_type: item['command_parameters_count'],\r\n command_syntax: item['command_syntax'],\r\n command_value: command_value,\r\n template_name_id: this.template_id,\r\n event: \"create_template_conf\"\r\n })\r\n this.openSnackBar('Command was added to the list', '')\r\n\r\n })\r\n }\r\n\r\n prompt_save_commands_no_alert() {\r\n //commented ahe 3shan hosny hy2olak user experience...\r\n // this.selected_commands_list=[]\r\n document.querySelectorAll('.mat-checkbox-checked').forEach(item => {\r\n var command_line = []\r\n var switcher = 0\r\n var command_value = document.getElementById('command_value_' + item.id.split('_')[2] + '').textContent\r\n var command_id_fk = item.id.split('_')[2]\r\n\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index]['rec_id'] == command_id_fk) {\r\n command_line.push(this.stateGroups[index])\r\n\r\n\r\n }\r\n })\r\n var command_sw_id = command_line[0]['software_version_id']\r\n var command_syntax = command_line[0]['command_syntax']\r\n var command_type = command_line[0]['command_parameters_count']\r\n var command_display = document.getElementById(item.id).textContent\r\n if (command_value == '' || command_value == null || command_value == undefined) {\r\n command_value = $('#command_value_' + item.id.split('_')[2] + '').val().toString()\r\n\r\n }\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index]['command_id_fk'] == command_id_fk) {\r\n switcher = 1\r\n }\r\n\r\n })\r\n\r\n\r\n if (switcher == 0 || this.selected_commands_list.length == 0) {\r\n // this.selected_commands_list.push({\r\n // added_by: 'test',\r\n // command_id_fk: item.id.split('_')[2],\r\n // command_is_enabled: 1,\r\n // command_sw_version: command_sw_id,\r\n // command_type: command_type,\r\n // command_syntax: command_syntax,\r\n // command_value: command_value,\r\n // template_name_id: this.template_id,\r\n // event: \"create_template_conf\"\r\n // })\r\n\r\n } else {\r\n\r\n }\r\n })\r\n }\r\n\r\n prompt_assign_command_to_template() {\r\n // Object.keys(this.selected_commands_list).forEach(index => {\r\n // var command_id = this.selected_commands_list[index][\"command_id_fk\"]\r\n // var command_value = this.selected_commands_list[index][\"command_value\"]\r\n // var command_syntax = this.selected_commands_list[index][\"command_syntax\"]\r\n // var command_sw = this.selected_commands_list[index][\"command_sw_version\"]\r\n // var command_type = this.selected_commands_list[index][\"command_type\"]\r\n // var added_by = this.selected_commands_list[index][\"added_by\"]\r\n this.assign_commands_to_template(this.selected_commands_list)\r\n // })\r\n\r\n\r\n }\r\n\r\n delete_from_stateGroups(item: any) {\r\n var command_id = item.id\r\n Object.keys(this.stateGroups).forEach(index => {\r\n if (this.stateGroups[index] != undefined && this.stateGroups[index]['id'] === command_id) {\r\n this.stateGroups.splice(Number(index), 1)\r\n }\r\n\r\n })\r\n }\r\n\r\n delete_from_selected_commands_list(item: any) {\r\n var command_id = item.command_id_fk\r\n Object.keys(this.selected_commands_list).forEach(index => {\r\n if (this.selected_commands_list[index] != undefined && this.selected_commands_list[index]['command_id_fk'] === command_id) {\r\n this.selected_commands_list.splice(Number(index), 1)\r\n this.stateGroups.splice(Number(index), 1)\r\n }\r\n\r\n })\r\n }\r\n\r\n private _filterGroup(value: string): CommandsGroup[] {\r\n if (value) {\r\n return this.stateGroups\r\n .map(group => ({\r\n CommandFamily: group.CommandFamily,\r\n software_id: group.software_id,\r\n CommandSyntax: group.CommandSyntax,\r\n CommandType: group.CommandType,\r\n id: group.id,\r\n CommandName: _filter(group.CommandName, value)\r\n }))\r\n .filter(group => group.CommandName.length > 0);\r\n }\r\n\r\n return this.stateGroups;\r\n\r\n }\r\n\r\n // end of commands controller\r\n //end\r\n\r\n\r\n formatLabel(value: number) {\r\n return value;\r\n }\r\n\r\n\r\n deleteTemplate(id: number) {\r\n this.http.post(template_manager.services, {\r\n \"event\": \"delete_template_profile_id\",\r\n \"id\": id\r\n }).subscribe(data => {\r\n this.get_distinct_templates();\r\n this.openSnackBar(\"Template deleted\", \"Success\")\r\n }, err => {\r\n this.loggerService.log(\"TemplateManagerComponent\", err.message, Levels.error)\r\n this.openSnackBar(\"Error while deleting template\", \"Error\")\r\n })\r\n }\r\n}\r\n","
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n settings_applications\r\n Management\r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n Template selection\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n

    Templates list

    \r\n
    Choose one of the templates
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n {{row.template_name}}\r\n \r\n delete\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Create a new template profile

    \r\n \r\n Template Name\r\n \r\n \r\n
    \r\n\r\n\r\n \r\n Description\r\n \r\n\r\n \r\n
    \r\n \r\n\r\n

    ({{template_id}}) template is ready, move to the next.

    \r\n
    \r\n\r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n Configuration\r\n\r\n
    \r\n
    \r\n
    \r\n \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 Commands List

    \r\n \r\n
    \r\n \r\n\r\n
    \r\n delete\r\n\r\n {{line.command_display_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 Click to select\r\n \r\n \r\n {{option['command_choice']}}\r\n \r\n \r\n \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n {{line.software_version}}\r\n \r\n \r\n \r\n \r\n {{line.command_family}}\r\n \r\n \r\n \r\n\r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n\r\n\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n Schedule a Task\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n
    \r\n

    Task Configuration

    \r\n \r\n \r\n \r\n Title\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n\r\n \r\n How Often?\r\n \r\n Once\r\n Daily\r\n Weekly\r\n Monthly\r\n Yearly\r\n \r\n \r\n\r\n
    \r\n
    \r\n

    \r\n select_all\r\n Select the target system(s) for the created job ({{this.createJobForm.get('job_title').value}})\r\n

    \r\n \r\n\r\n \r\n\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n computer\r\n Selected List - {{this.recieve_selected_items.length}}\r\n {{element.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 Done\r\n\r\n
    \r\n

    \r\n thumb_up\r\n Perfect, Job: {{this.createJobForm.get('job_title').value}} is ready\r\n

    \r\n

    \r\n access_alarms\r\n Next run time at: {{this.createJobForm.get('start_job_at').value}}

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

    \r\n error_outline\r\n Please, complete all the the steps..\r\n

    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n
    \r\n \r\n \r\n list_alt\r\n Configuration\r\n \r\n\r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Sort tree by\r\n \r\n \r\n {{item.viewValue}}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n\r\n
    \r\n \r\n
    \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n timer\r\n Scheduler\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {{selected_item_job_row[\"text\"]}}\r\n \r\n From: {{selected_item_job_row[\"value\"][\"start_job_at\"]}}\r\n \r\n Job ID: {{selected_item_job_row[\"value\"][\"template_job_id\"]}}\r\n
    \r\n\r\n \r\n

    \r\n\r\n

    \r\n
    \r\n \r\n Edit Profile\r\n
    \r\n Delete job (no revert)\r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    Edit Profile

    \r\n
    \r\n \r\n
    \r\n\r\n \r\n Title\r\n \r\n \r\n
    \r\n\r\n\r\n \r\n \r\n\r\n\r\n
    \r\n\r\n \r\n How Often?\r\n \r\n Once\r\n Daily\r\n Weekly\r\n Monthly\r\n Yearly\r\n \r\n \r\n \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n folder\r\n Template target list\r\n \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n computer\r\n New List - {{this.recieve_selected_items.length}}\r\n {{element.text}}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n computer\r\n Saved List - {{this.target_systems_list.length}}\r\n {{element.system_name}} - {{element.system_ip}}\r\n
    \r\n
    \r\n
    \r\n \r\n Switch to Navigator\r\n \r\n
    \r\n \r\n Clear list\r\n \r\n
    \r\n \r\n Save save\r\n \r\n\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n format_list_bulleted\r\n Saved Commands\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n\r\n\r\n
    \r\n \r\n \r\n \r\n history\r\n Template History\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Edit Command
    \r\n \r\n
    \r\n
    \r\n

    Current Configuration

    \r\n
    \r\n

    {{selected_sql_row['command_display_name']}} : {{selected_sql_row['command_value']}}

    \r\n

    Family: {{selected_sql_row['command_family']}}

    \r\n
    Software Version: {{selected_sql_row['command_sw_version']}}
    \r\n Delete this template-command mapping (No revert)\r\n \r\n
    \r\n

    Modify current value

    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n\r\n\r\n \r\n {{list_item['command_props']['command_display_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
    Confirm commands
    \r\n \r\n
    \r\n
    \r\n

    You have selected {{selected_commands_list.length}} command(s)

    \r\n

    \r\n close\r\n please select a template first.\r\n

    \r\n
    \r\n

    Please, select one or more commands.\r\n \r\n

    \r\n
      \r\n
    1. \r\n delete\r\n {{row.command_family}}\r\n {{row.command_sw_version_text}}\r\n {{row.command_syntax}}: {{row.command_value}}
    2. \r\n
    \r\n\r\n
    \r\n
    \r\n\r\n \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    403

    \r\n
    \r\n

    Access Denied

    \r\n
    \r\n
    \r\n","import { Component, EventEmitter, Injectable, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { BehaviorSubject, merge, Observable } from 'rxjs';\r\nimport { HttpClient } from '@angular/common/http';\r\nimport { FlatTreeControl } from '@angular/cdk/tree';\r\nimport { CollectionViewer, DataSource, SelectionChange } from '@angular/cdk/collections';\r\n// @ts-ignore\r\nimport { folder_manager, template_manager } from '../assets/conf_urls.json';\r\nimport { map } from 'rxjs/operators';\r\nimport { TreeviewItem, TreeviewConfig, TreeviewHelper, TreeviewComponent } from 'ngx-treeview';\r\nimport { LoggerService } from 'src/shared/logger/logger.service';\r\nimport { Levels } from 'src/shared/logger/levels.enum';\r\n\r\n/** Flat node with expandable and level information */\r\nexport class DynamicFlatNode {\r\n constructor(public item: string, public level = 1, public expandable = false,\r\n public isLoading = false, props?: any[],) {\r\n }\r\n}\r\n\r\n/**\r\n * Database for dynamic data. When expanding a node in the tree, the data source will need to fetch\r\n * the descendants data from the database.\r\n */\r\n@Injectable({ providedIn: 'root' })\r\nexport class DynamicDatabase {\r\n dataMap = new Map(\r\n [['UK', ['']]]\r\n );\r\n rootLevelNodes: string[] = [];\r\n\r\n setDatamap(item: any, array: any) {\r\n this.dataMap.set(item, array);\r\n }\r\n\r\n setRootLevel(item) {\r\n\r\n this.rootLevelNodes.push(item);\r\n }\r\n\r\n /** Initial data from database */\r\n initialData(): DynamicFlatNode[] {\r\n return this.rootLevelNodes.map(name => new DynamicFlatNode(name, 0, true));\r\n }\r\n\r\n getChildren(node: string): string[] | undefined {\r\n return this.dataMap.get(node);\r\n }\r\n\r\n isExpandable(node: string): boolean {\r\n return this.dataMap.has(node);\r\n }\r\n}\r\n\r\n\r\nexport class DynamicDataSource implements DataSource {\r\n\r\n dataChange = new BehaviorSubject([]);\r\n\r\n get data(): DynamicFlatNode[] {\r\n return this.dataChange.value;\r\n }\r\n\r\n set data(value: DynamicFlatNode[]) {\r\n this._treeControl.dataNodes = value;\r\n this.dataChange.next(value);\r\n }\r\n\r\n constructor(private _treeControl: FlatTreeControl,\r\n private _database: DynamicDatabase) {\r\n }\r\n\r\n connect(collectionViewer: CollectionViewer): Observable {\r\n this._treeControl.expansionModel.changed.subscribe(change => {\r\n if ((change as SelectionChange).added ||\r\n (change as SelectionChange).removed) {\r\n this.handleTreeControl(change as SelectionChange);\r\n }\r\n });\r\n\r\n return merge(collectionViewer.viewChange, this.dataChange).pipe(map(() => this.data));\r\n }\r\n\r\n disconnect(collectionViewer: CollectionViewer): void {\r\n }\r\n\r\n /** Handle expand/collapse behaviors */\r\n handleTreeControl(change: SelectionChange) {\r\n if (change.added) {\r\n change.added.forEach(node => this.toggleNode(node, true));\r\n }\r\n if (change.removed) {\r\n change.removed.slice().reverse().forEach(node => this.toggleNode(node, false));\r\n }\r\n }\r\n\r\n /**\r\n * Toggle the node, remove from display list\r\n */\r\n toggleNode(node: DynamicFlatNode, expand: boolean) {\r\n const children = this._database.getChildren(node.item);\r\n const index = this.data.indexOf(node);\r\n if (!children || index < 0) { // If no children, or cannot find the node, no op\r\n return;\r\n }\r\n\r\n node.isLoading = true;\r\n\r\n setTimeout(() => {\r\n if (expand) {\r\n const nodes = children.map(name =>\r\n new DynamicFlatNode(name, node.level + 1, this._database.isExpandable(name)));\r\n this.data.splice(index + 1, 0, ...nodes);\r\n } else {\r\n let count = 0;\r\n for (let i = index + 1; i < this.data.length\r\n && this.data[i].level > node.level; i++, count++) {\r\n }\r\n this.data.splice(index + 1, count);\r\n }\r\n\r\n // notify the change\r\n this.dataChange.next(this.data);\r\n node.isLoading = false;\r\n }, 10);\r\n }\r\n}\r\n\r\n\r\n@Component({\r\n selector: 'app-treeview-systems',\r\n templateUrl: './treeview-systems.component.html',\r\n styleUrls: ['./treeview-systems.component.css'],\r\n\r\n})\r\n\r\n\r\n\r\nexport class TreeviewSystemsComponent implements OnInit {\r\n //icons\r\n @Input() parent_icon: string;//\r\n @Input() child_icon: string;//\r\n\r\n //m2mtable\r\n\r\n @Input() title: string;//\r\n\r\n @Input() parent_table_name: string;//\r\n @Input() parent_table_pk: string;//\r\n @Input() parent_table_ref_value: string;//\r\n @Input() child_table_fk: string;//\r\n @Input() child_table_displayname: string;//\r\n @Input() child_table_name: string;//\r\n //one table tree params\r\n\r\n @Input() parent_table_group_key: string;//\r\n @Input() parent_table_display_value: string;//\r\n\r\n //end\r\n // tree by query\r\n @Input() query_tree: string;//\r\n @Input() aggr_table: string;//\r\n @Input() aggr_column: string;//\r\n @Input() display_value: string;//\r\n @Input() map_column: string;//\r\n //by url\r\n @Input() url: string;//\r\n\r\n\r\n //\r\n @Input() algorithm: string;//\r\n @Output() messageEvent = new EventEmitter();//\r\n @Output() messageEvent_send_parent_information = new EventEmitter();//\r\n @Output() messageEvent2 = new EventEmitter<{}>();//\r\n\r\n //ngx tree used inputs and outputs\r\n //input for ngx tree sort-by\r\n @Input() sort_by: string;\r\n @Input() has_checkbox = true;\r\n @Output() messageSelectedNode = new EventEmitter<{}>();\r\n @Output() messageSelectedMultipleNodes = new EventEmitter<{}>();\r\n @Output() messageSelectedMultipleNodesWithTheirText = new EventEmitter<{}>();\r\n @Output() messageSelectedFolder = new EventEmitter<{}>();\r\n @Output() messageResponseData = new EventEmitter<{}>();\r\n dropdownEnabled = true;\r\n items: TreeviewItem[];\r\n items_json: any;\r\n values: number[];\r\n config = TreeviewConfig.create({\r\n hasAllCheckBox: this.has_checkbox,\r\n hasFilter: true,\r\n hasCollapseExpand: true,\r\n decoupleChildFromParent: false,\r\n maxHeight: 500\r\n });\r\n\r\n show_progressbar = false;\r\n\r\n selected_items: any;\r\n single_item_selected: any;\r\n\r\n node_click_style_value = \"\";\r\n\r\n treeControl: FlatTreeControl;\r\n dataSource: DynamicDataSource;\r\n getLevel = (node: DynamicFlatNode) => node.level;\r\n isExpandable = (node: DynamicFlatNode) => node.expandable;\r\n hasChild = (_: number, _nodeData: DynamicFlatNode) => _nodeData.expandable;\r\n\r\n constructor(private database: DynamicDatabase,\r\n private http: HttpClient,\r\n private loggerService: LoggerService) {\r\n this.treeControl = new FlatTreeControl(this.getLevel, this.isExpandable);\r\n this.dataSource = new DynamicDataSource(this.treeControl, this.database);\r\n this.dataSource.data = this.database.initialData();\r\n }\r\n\r\n ngOnInit(): void {\r\n //this.get_tree()\r\n //this.get_ngx_tree(this.sort_by)\r\n //this.reload_treeView()\r\n }\r\n\r\n node_click_style(node: TreeviewItem) {\r\n if (this.node_click_style_value === node.value) {\r\n return \"color:black; font-weight: bold; font-size: 14px;\"\r\n }\r\n else {\r\n return \"\"\r\n }\r\n }\r\n\r\n set_node_click_style_value(node: TreeviewItem) {\r\n if (this.node_click_style_value === node.value) {\r\n this.node_click_style_value = \"\"\r\n return\r\n }\r\n this.node_click_style_value = node.value\r\n }\r\n\r\n bkground_color(node: TreeviewItem) {\r\n if (node.checked) {\r\n return \"color:black; font-weight: bold; font-size: 14px;\"\r\n }\r\n else {\r\n return \"\"\r\n }\r\n }\r\n\r\n log_item(item: any) {\r\n }\r\n\r\n\r\n\r\n\r\n onSelection(iw: any) {\r\n this.messageSelectedFolder.emit(iw)\r\n if (iw[\"expandable\"] == true) {\r\n this.get_folder_id_emit(iw)\r\n\r\n } else {\r\n this.messageEvent2.emit(iw)\r\n }\r\n }\r\n\r\n //\r\n get_folder_id_emit(node) {\r\n this.show_progressbar = true;\r\n\r\n this.http.post(folder_manager.get_folder_id_by_name, {\r\n 'event': 'query',\r\n 'item_name': node['item']\r\n }).subscribe(response => {\r\n this.show_progressbar = false;\r\n this.single_item_selected = { 'id': response[0]['id'], 'item_name': response[0]['item_name'] };\r\n this.messageEvent_send_parent_information.emit(this.single_item_selected)\r\n this.messageEvent2.emit(this.single_item_selected)\r\n });\r\n }\r\n\r\n reload_treeView() {\r\n\r\n setTimeout(() => {\r\n let element: HTMLElement = document.getElementsByClassName('nav-link')[0] as HTMLElement;\r\n element.click();\r\n\r\n }, 700)\r\n }\r\n\r\n refreshFlag: boolean = true;\r\n get_ngx_tree(sort_by) {\r\n if (sort_by && this.refreshFlag) {\r\n this.refreshFlag = false;\r\n var json_body = { 'group_by': sort_by }\r\n this.items = [];\r\n this.http.post(folder_manager.ngx_tree, json_body).subscribe(data => {\r\n this.refreshFlag = true;\r\n this.show_progressbar = false\r\n this.items_json = data['tree'];\r\n if (typeof (this.items_json) == 'object') {\r\n this.items_json.forEach(item => {\r\n this.items.push(new TreeviewItem(item));\r\n });\r\n }\r\n\r\n }, err => {\r\n this.loggerService.log(\"TreeviewSystemsComponent\", err.message, Levels.error);\r\n this.refreshFlag = true;\r\n });\r\n }\r\n }\r\n\r\n ngOnChanges() {\r\n /**********THIS FUNCTION WILL TRIGGER WHEN PARENT COMPONENT UPDATES 'sort_by'**************/\r\n this.get_ngx_tree(this.sort_by);\r\n this.config.hasAllCheckBox = this.has_checkbox\r\n }\r\n\r\n\r\n onFilterChange(value: string) {\r\n }\r\n\r\n @ViewChild(TreeviewComponent) treeView: TreeviewComponent;\r\n onSelectedChange(node: TreeviewItem[]) {\r\n //this.treeView.selection.checkedItems.forEach(item=>item.correctChecked())\r\n let nodesToBeSentWithTheirValuesAndText = [];\r\n //this array is mainly to bulk delete to have each item in tree with its text and id only\r\n // console.log(this.treeView);\r\n // console.log(this.items);\r\n\r\n this.treeView.selection.checkedItems.forEach(item => {\r\n if (item.value?.type == \"endpoint\") {\r\n nodesToBeSentWithTheirValuesAndText.push({ text: item.text, value: item.value?.id })\r\n }\r\n })\r\n this.messageSelectedMultipleNodesWithTheirText.emit(nodesToBeSentWithTheirValuesAndText)\r\n this.messageSelectedMultipleNodes.emit(node)\r\n }\r\n\r\n\r\n onSelection_new(item: any) {\r\n\r\n if (item.value[\"type\"] == \"endpoint\" || item.value[\"type\"] == \"template_job\") {\r\n if (this.sort_by == \"folder\" || this.sort_by == \"template_jobs\") {\r\n for (const root_item of this.items) {\r\n if (TreeviewHelper.findParent(root_item, item)) {\r\n //this.messageSelectedFolder.emit(TreeviewHelper.findParent(root_item, item))\r\n item.value[\"parent\"] = TreeviewHelper.findParent(root_item, item)\r\n }\r\n }\r\n }\r\n this.messageSelectedNode.emit(item)\r\n } else if (item.value[\"type\"] == \"folder\" && this.sort_by == \"folder\") {\r\n this.messageSelectedFolder.emit(item)\r\n // console.log(\"iw\", item)\r\n\r\n }\r\n }\r\n\r\n}\r\n","
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    {{sort_by}} Tree \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n \r\n\r\n\r\n
    • Refresh
    • \r\n
      \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n\r\n
    \r\n\r\n\r\n\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n\r\n folder\r\n videocam\r\n list\r\n chrome_reader_mode\r\n\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n"],"sourceRoot":"webpack:///"}