principal-dashboard-lib-v2 0.0.12 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"principal-dashboard-lib-v2.umd.js","sources":["../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.service.ts","../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/chartheader/chartheader.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/principal-dashboard-lib-v2/src/lib/chartview/chartview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/detailedview/detailedview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/exceldata.service.ts","../../../projects/principal-dashboard-lib-v2/src/lib/header/header.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/tableview/tableview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.module.ts","../../../projects/principal-dashboard-lib-v2/src/public-api.ts","../../../projects/principal-dashboard-lib-v2/src/principal-dashboard-lib-v2.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject, BehaviorSubject, ReplaySubject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrincipalDashboardLibV2Service {\r\npublic resoureMetaData:any;\r\npublic usersMetaData:any;\r\npublic schoolTerminalData:any;\r\npublic userConsoleData:any;\r\n\r\npublic isResoureMetaDataReady = new ReplaySubject();\r\npublic isResoureMetaDataReady$ = this.isResoureMetaDataReady.asObservable();\r\n\r\npublic isUserReqiuredDataReady = new ReplaySubject();\r\npublic isUserReqiuredDataReady$ = this.isUserReqiuredDataReady.asObservable();\r\n\r\n public mychartType: any = '';\r\n public dataType: any = '';\r\n public userAllData: any = '';\r\n public userMetadata: any = {userDetails:[],resourceDetails:[]};\r\n public resoureMetadata = new Array();\r\n public userDetailObject: any = {};\r\n public userlist:any = false;\r\n public myEndTime :any;\r\n \r\n //for change chart Type\r\n public chartType = new BehaviorSubject(this.mychartType);\r\n public chartType$ = this.chartType.asObservable();\r\n //for change userWise To classRoom wise or vice versa\r\n public isUserWise_data = new BehaviorSubject(true);\r\n public isUserWise_data$ = this.isUserWise_data.asObservable();\r\n // for all user and current user information\r\n public isAllUsers = new BehaviorSubject(this.userlist);\r\n public isAllUsers$ = this.isAllUsers.asObservable();\r\n //for get details of selected user\r\n public detailedviewData = new BehaviorSubject(this.userMetadata);\r\n public detailedviewData$ = this.detailedviewData.asObservable();\r\n\r\n\r\n constructor() { }\r\n \r\n genarateResourseReqiuredData(data: any): any {\r\n this.isResoureMetaDataReady.next(false);\r\n let resourceMetadataMatrix = new Array();\r\n \r\n if(data && data !== null){\r\n let resouseID: any;\r\n let title: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let teachingpoint: any;\r\n let type: any;\r\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\r\n \r\n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\r\n for (var i = 0; i < resourceMetadata.length;i++){\r\n //----------//resouseID\r\n resouseID = resourceMetadata[i].resourceId;\r\n //----------//subject\r\n if (resourceMetadata[i].subject != undefined) {\r\n if (resourceMetadata[i].subject.title != undefined) {\r\n subject = resourceMetadata[i].subject.title;\r\n } else {\r\n subject = '';\r\n }\r\n } else {\r\n subject = '';\r\n }\r\n //----------//grade\r\n if (resourceMetadata[i].grade != undefined) {\r\n if (resourceMetadata[i].grade.title != undefined) {\r\n grade = resourceMetadata[i].grade.title;\r\n } else {\r\n grade = '';\r\n }\r\n } else {\r\n grade = '';\r\n }\r\n //----------//chapter\r\n if (resourceMetadata[i].chapter != undefined) {\r\n if (resourceMetadata[i].chapter.title != undefined) {\r\n chapter = resourceMetadata[i].chapter.title;\r\n } else {\r\n chapter = '';\r\n }\r\n } else {\r\n chapter = '';\r\n }\r\n \r\n //----------//teachingpoint\r\n if (resourceMetadata[i].teachingpoint != undefined) {\r\n if (resourceMetadata[i].teachingpoint.title != undefined) {\r\n teachingpoint = resourceMetadata[i].teachingpoint.title;\r\n } else {\r\n teachingpoint = '';\r\n }\r\n } else {\r\n teachingpoint = '';\r\n }\r\n //----------//type\r\n if (resourceMetadata[i].type != undefined) {\r\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\r\n } else {\r\n type = '';\r\n }\r\n \r\n //----------//title\r\n if (resourceMetadata[i].title != undefined) {\r\n title = resourceMetadata[i].title;\r\n } else {\r\n title = '';\r\n }\r\n let resourceMetauserConsoleData = {\r\n resouseID:resouseID,\r\n subject:subject,\r\n grade:grade,\r\n chapter:chapter,\r\n teachingpoint:teachingpoint,\r\n type:type,\r\n title:title\r\n }\r\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\r\n this.resoureMetaData = resourceMetadataMatrix;\r\n this.isResoureMetaDataReady.next(true);\r\n }\r\n }\r\n }\r\n // this.resoureMetaData = resourceMetadataMatrix;\r\n return resourceMetadataMatrix;\r\n }\r\n genarateUserReqiuredData(data: any): any {\r\n this.isUserReqiuredDataReady.next(false);\r\n let usersMetadataMatrix = new Array();\r\n let usermetadataMatrixUpdated = new Array();\r\n let schoolTerminalMatrix = new Array();\r\n let userConsoleMatrix = new Array();\r\n if(data && data !== null){\r\n let userConsole = data.usersConsole.userConsole;\r\n let usersMetadata = data.usersMetadata.userMetadata;\r\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\r\n \r\n if(usersMetadata!= null && usersMetadata.length > 0){\r\n for (let i = 0; i < usersMetadata.length; i++) {\r\n let userId: any;\r\n let userName: any;\r\n let userSubjects: any;\r\n let listOfUser:any = {}\r\n if (usersMetadata[i].userId!=\"\") {\r\n userId = usersMetadata[i].userId;\r\n \r\n if (usersMetadata[i].fullName !== undefined) {\r\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\r\n } else {\r\n userName = '';\r\n }\r\n \r\n if (usersMetadata[i].userSubjects !== undefined) {\r\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\r\n } else {\r\n userSubjects = '';\r\n }\r\n \r\n listOfUser = {\r\n userId:userId, \r\n userName:userName, \r\n userSubjects:userSubjects\r\n };\r\n usersMetadataMatrix.push(listOfUser); // array of all users\r\n }\r\n }\r\n }\r\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\r\n usersMetadataMatrix.forEach(element => {\r\n if (usersMetadataMatrix[i].userName === element.userName) {\r\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\r\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\r\n }\r\n });\r\n }\r\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\r\n // const randomNumber = document.createElement('span');\r\n // randomNumber.innerHTML = i.toString();\r\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\r\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\r\n this.usersMetaData = usersMetadataMatrix;\r\n }\r\n if(schoolTerminal != null && schoolTerminal.length > 0){\r\n for (var i = 0; i < schoolTerminal.length; i++) {\r\n let schoolId:any;\r\n let terminalKey:any;\r\n let terminalType:any;\r\n let location:any;\r\n let schoolTerminalData:any = {};\r\n \r\n //----------//schoolId\r\n if (schoolTerminal[i].schoolId !== undefined) {\r\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\r\n } else {\r\n schoolId = '';\r\n }\r\n //----------//terminalKey\r\n if (schoolTerminal[i].terminalKey !== undefined) {\r\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\r\n } else {\r\n terminalKey = '';\r\n }\r\n //----------//terminalType\r\n if (schoolTerminal[i].terminalType !== undefined) {\r\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\r\n } else {\r\n terminalType = '';\r\n }\r\n \r\n //----------//location\r\n if (schoolTerminal[i].metadata !== undefined) {\r\n let metadataJSON = JSON.parse(schoolTerminal[i].metadata);\r\n \r\n location = metadataJSON.location // get name of user w.r.t. ID\r\n console.log(\"metadataJSON\",location);\r\n } else {\r\n location = '';\r\n }\r\n schoolTerminalData = {\r\n schoolId:schoolId,\r\n terminalKey:terminalKey,\r\n terminalType:terminalType,\r\n location:location\r\n };\r\n \r\n schoolTerminalMatrix.push(schoolTerminalData);\r\n this.schoolTerminalData = schoolTerminalMatrix;\r\n }\r\n }\r\n if(userConsole !=null && userConsole.length > 0){\r\n for (let index = 0; index < userConsole.length; index++) {\r\n let userId: any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let selectedDate: any;\r\n let terminalIP: any;\r\n let userConsoleResources: any;\r\n let resourceMetadataIDS: any;\r\n let resourceMetauserConsoleData = new Array();\r\n let userName:any;\r\n let userSubjects:any;\r\n let terminalLocation: any;\r\n //----------//user iD\r\n if (userConsole[index].userId !== undefined) {\r\n userId = userConsole[index].userId // get name of user w.r.t. ID\r\n } else {\r\n userId = '';\r\n }\r\n //----------// startTime \r\n if (userConsole[index].startTime !== undefined) {\r\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\r\n } else {\r\n startTime = '';\r\n }\r\n //----------// endTime \r\n if (userConsole[index].endTime !== undefined) {\r\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\r\n this.myEndTime = endTime;\r\n } else {\r\n endTime = '';\r\n }\r\n //----------// Date \r\n if (userConsole[index].selectedDate !== undefined) {\r\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\r\n } else {\r\n selectedDate = '';\r\n }\r\n \r\n //----------// Duration\r\n if (userConsole[index].duration !== undefined) {\r\n duration = userConsole[index].duration // get name of user w.r.t. ID\r\n } else {\r\n duration = '';\r\n }\r\n //----------// terminalIP\r\n if (userConsole[index].terminalIP !== undefined) {\r\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\r\n } else {\r\n terminalIP = '';\r\n }\r\n \r\n //----------// userConsoleResources\r\n if (userConsole[index].userConsoleResources !== undefined) {\r\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\r\n } else {\r\n userConsoleResources = null;\r\n }\r\n \r\n if(userConsoleResources != null){\r\n if (userConsoleResources.userConsoleResource !== undefined) {\r\n resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\r\n } else {\r\n resourceMetauserConsoleData = [];\r\n }\r\n }\r\n \r\n //----------// userName and userSubjects\r\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\r\n if (userId === usersMetadataMatrix[i].userId) {\r\n userName = usersMetadataMatrix[i].userName;\r\n userSubjects = usersMetadataMatrix[i].userSubjects;\r\n }\r\n }\r\n //----------// terminalIP and terminalLocation\r\n \r\n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\r\n console.log(\"schoolTerminalMatrix[i].terminalKey\",terminalIP,schoolTerminalMatrix[i].terminalKey);\r\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\r\n \r\n terminalLocation = schoolTerminalMatrix[i].location;\r\n }else{\r\n terminalLocation = \"location\";\r\n }\r\n }\r\n let userData = {\r\n userId:userId,\r\n userName:userName,\r\n startTime:new Date(startTime),\r\n endTime:new Date(endTime),\r\n terminalIP:terminalIP,\r\n resourceMetauserConsoleData:resourceMetauserConsoleData,\r\n duration:duration,\r\n terminalLocation:terminalLocation,\r\n userSubjects:userSubjects\r\n }\r\n userConsoleMatrix.push(userData);\r\n this.userConsoleData = userConsoleMatrix;\r\n this.isUserReqiuredDataReady.next(true);\r\n }\r\n }\r\n }\r\n // console.log(usersMetadataMatrix,schoolTerminalMatrix,userConsoleMatrix);\r\n return {\r\n usersMetadata:usersMetadataMatrix,\r\n schoolTerminalData:schoolTerminalMatrix,\r\n userConsoleData: userConsoleMatrix\r\n }\r\n }\r\n userWiseChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n if(this.userConsoleData){\r\n if(this.userConsoleData.length > 0){\r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n let userData = [this.userConsoleData[i].userName,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n }\r\n return dataTableforChart;\r\n }\r\n classRoomWiseChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n if(this.userConsoleData){\r\n console.log(\"this.userConsoleData\",this.userConsoleData);\r\n \r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n let userData = [this.userConsoleData[i].terminalLocation,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n return dataTableforChart;\r\n \r\n }\r\n allUserChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n let AlluserDetailsForTableChart =new Array();\r\n AlluserDetailsForTableChart = [];\r\n if(this.userConsoleData && this.usersMetaData){\r\n let inActiveuserName: any;\r\n let userSubjects: any;\r\n let myID: any;\r\n let AlluserDetails =new Array();\r\n for (let index = 0; index < this.userConsoleData.length; index++) {\r\n AlluserDetails.push(this.userConsoleData[index]);\r\n AlluserDetailsForTableChart.push(this.userConsoleData[index])\r\n }\r\n for (let i = 0; i < this.usersMetaData.length; i++) {\r\n myID = this.usersMetaData[i].userId;\r\n inActiveuserName = this.usersMetaData[i].userName;\r\n userSubjects = this.usersMetaData[i].userSubjects;\r\n let myChartRowuserConsoleData = \r\n {\r\n userId:myID,\r\n userName:inActiveuserName,\r\n startTime:new Date(this.myEndTime),\r\n endTime:new Date(this.myEndTime),\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:\"0\",\r\n terminalLocation:\"\",\r\n userSubjects:userSubjects\r\n };\r\n AlluserDetails.push(myChartRowuserConsoleData);\r\n \r\n let myTableRowuserConsoleData = {\r\n userId:myID,\r\n userName:inActiveuserName,\r\n startTime:\"\",\r\n endTime:\"\",\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:0,\r\n terminalLocation:\"\",\r\n userSubjects:userSubjects\r\n };\r\n AlluserDetailsForTableChart.push(myTableRowuserConsoleData);\r\n }\r\n for(let i = 0; i < AlluserDetails.length; i++){\r\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n return {forChartData:dataTableforChart,fordurationTable:AlluserDetailsForTableChart}\r\n }\r\n allRoomsData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n let allRoomsDetails = new Array();\r\n allRoomsDetails = [];\r\n if(this.userConsoleData && this.schoolTerminalData){\r\n let myChartRowData: any={};\r\n let inActiveClassRoom: any;\r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n allRoomsDetails.push(this.userConsoleData[i]);\r\n let userData = [this.userConsoleData[i].terminalLocation,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n \r\n for (let i = 0; i < this.schoolTerminalData.length; i++) {\r\n inActiveClassRoom = this.schoolTerminalData[i].location;\r\n \r\n myChartRowData = {\r\n userId:\"\",\r\n userName:\"\",\r\n startTime:new Date(this.myEndTime),\r\n endTime:new Date(this.myEndTime),\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:0,\r\n terminalLocation:inActiveClassRoom,\r\n userSubjects:\"\"\r\n };\r\n allRoomsDetails.push(myChartRowData);\r\n let myChartRowuserConsoleData = [inActiveClassRoom,new Date(this.myEndTime),new Date(this.myEndTime)];\r\n dataTableforChart.push(myChartRowuserConsoleData);\r\n }\r\n \r\n }\r\n return {forChartData:dataTableforChart,fordurationTable:allRoomsDetails};\r\n }\r\n dataForTableView(userConsoleMatrix: any,resourceMetadataMatrix: any) {\r\n let currentDate: any;\r\n let resourceMatrixForTableChart = new Array();\r\n let resourceMatrixForExcel = new Array();\r\n resourceMatrixForTableChart = [];\r\n resourceMatrixForExcel = [];\r\n for (let i = 0; i <userConsoleMatrix.length; i++) {\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let AssestDetail: any;\r\n let resourceType: any;\r\n let resourceTitle: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n \r\n let resourceMetadataIDs: any;\r\n let resourceArrayForExcel = new Array();\r\n let resourceArrayForTableChart = new Array();\r\n let userConsoleDataMatrix = new Array();\r\n resourceArrayForTableChart = [];\r\n userConsoleDataMatrix = [];\r\n //----------------- for subject and Name\r\n \r\n\r\n teacherSubject = userConsoleMatrix[i].userSubjects;\r\n teacherName = userConsoleMatrix[i].userName;\r\n //----------------- for start Time and EndTime \r\n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\r\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[i].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[i].terminalLocation;\r\n terminalIP = userConsoleMatrix[i].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n \r\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = undefined;\r\n grade = undefined;\r\n chapter = undefined;\r\n teachingpoint = undefined;\r\n AssestDetail = undefined;\r\n resourceTitle = undefined;\r\n resourceType = undefined;\r\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\r\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\r\n \r\n }else{\r\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \": \" + resourceMetadataMatrix[i].title;\r\n\r\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\r\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\r\n teacherName = undefined;\r\n teacherSubject = undefined;\r\n currentDate = undefined;\r\n startTime = undefined;\r\n endTime = undefined;\r\n duration = undefined;\r\n roomDetail = undefined;\r\n \r\n }\r\n }\r\n }\r\n }\r\n }\r\n return resourceMatrixForTableChart;\r\n }\r\n dataForDetailedView(userConsoleMatrix: any,resourceMetadataMatrix: any, rowLabel: any) {\r\n let detailedView_UserDataMatrix = new Array();\r\n detailedView_UserDataMatrix = [];\r\n let detailedView_ResourceDataMatrix = new Array();\r\n detailedView_ResourceDataMatrix = [];\r\n \r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let AssestDetail: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n let currentDate: any;\r\n let resourceMetadataIDs: any;\r\n let resourceArrayForTableChart = new Array();\r\n resourceArrayForTableChart = [];\r\n //----------------- for subject and Name\r\n teacherSubject = userConsoleMatrix[rowLabel].userSubjects;\r\n teacherName = userConsoleMatrix[rowLabel].userName;\r\n //----------------- for start Time and EndTime\r\n if ((userConsoleMatrix[rowLabel].startTime != undefined && userConsoleMatrix[rowLabel].startTime != \"\") && (userConsoleMatrix[rowLabel].endTime != undefined&&userConsoleMatrix[rowLabel].endTime != \"\")) {\r\n startTime = userConsoleMatrix[rowLabel].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[rowLabel].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[rowLabel].startTime.getDate() + '/' + userConsoleMatrix[rowLabel].startTime.getMonth() + '/' + userConsoleMatrix[rowLabel].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[rowLabel].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[rowLabel].terminalLocation;\r\n terminalIP = userConsoleMatrix[rowLabel].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n resourceMetadataIDs = userConsoleMatrix[rowLabel].resourceMetauserConsoleData;\r\n\r\n detailedView_UserDataMatrix = [teacherName,startTime,teacherSubject,endTime,roomDetail]\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = undefined;\r\n grade = undefined;\r\n chapter = undefined;\r\n teachingpoint = undefined;\r\n AssestDetail = undefined;\r\n // resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\r\n // detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\r\n }else{\r\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n AssestDetail =resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title;\r\n \r\n resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\r\n detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\r\n }\r\n }\r\n }\r\n } \r\n \r\n return {userDetails:detailedView_UserDataMatrix,resourceDetails:detailedView_ResourceDataMatrix};\r\n }\r\n // To GET DISPLAY TYPE\r\n getDisplaytypeValue(key: any) {\r\n let assetTypeConfig = [\r\n {\r\n type: \"asset_media\",\r\n display: \"Media\"\r\n },\r\n {\r\n type: \"asset_print\",\r\n display: \"Print\"\r\n },\r\n {\r\n type: \"quiz\",\r\n display: \"Quiz\"\r\n },\r\n {\r\n type: \"question\",\r\n display: \"Question\"\r\n },\r\n {\r\n type: \"chapter\",\r\n display: \"Chapter\"\r\n },\r\n {\r\n type: \"tp\",\r\n display: \"Topic\"\r\n },\r\n {\r\n type: \"whiteboard\",\r\n display: \"Whiteboard\"\r\n },\r\n {\r\n type: \"widget\",\r\n display: \"Widget\"\r\n },\r\n {\r\n type: \"casset_media\",\r\n display: \"cMedia\"\r\n },\r\n {\r\n type: \"casset_print\",\r\n display: \"cPrint\"\r\n },\r\n {\r\n type: \"cquiz\",\r\n display: \"cQuiz\"\r\n },\r\n {\r\n type: \"cquestion\",\r\n display: \"cQuestion\"\r\n },\r\n {\r\n type: \"image\",\r\n display: \"Image\"\r\n },\r\n {\r\n type: \"video\",\r\n display: \"Video\"\r\n },\r\n\r\n ];\r\n let displayValue = key;\r\n assetTypeConfig.forEach((value) => {\r\n if (value.type === key) {\r\n displayValue = value.display;\r\n }\r\n });\r\n return displayValue;\r\n\r\n }\r\n}\r\n","import { Component, OnInit ,Output, ViewChild, Input,EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-principal-dashboard-lib-v2',\r\n templateUrl: './principal-dashboard-lib-v2.component.html',\r\n styleUrls: ['./principal-dashboard-lib-v2.component.scss']\r\n})\r\nexport class PrincipalDashboardLibV2Component implements OnInit {\r\n @Input() data;\r\n @Input() set responseStatus(res: any) {\r\n this.setMessageForUser(res);\r\n // console.log(\" @Input() set responseStatus(res: any) >>>>>>>>>>>>.\",res);\r\n }\r\n @Output() userSelectedDate = new EventEmitter();\r\n messageForUser = \"Loding...\";\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n \r\n // console.log(\" IN --> 7 data\",this.data);\r\n }\r\n setMessageForUser(res: any){\r\n this.messageForUser = res;\r\n }\r\n onUserSelectDate(e:any){\r\n // console.log(\" IN --> 1\");\r\n this.data = null;\r\n this.userSelectedDate.emit(e);\r\n }\r\n \r\n\r\n}\r\n","import { getLocaleDateTimeFormat } from '@angular/common';\r\nimport { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ChartType } from 'angular-google-charts';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\ndeclare let require: any;\r\n\r\n@Component({\r\n selector: 'lib-chartheader',\r\n templateUrl: './chartheader.component.html',\r\n styleUrls: ['./chartheader.component.scss'],\r\n})\r\nexport class ChartheaderComponent implements OnInit {\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) {}\r\n \r\n //variables\r\n mytype = ChartType.Timeline;\r\n datadisplaytype = 'UserWise';\r\n isUserWise = true;\r\n myIcon: any;\r\n libVersion:any;\r\n isChartView=true;\r\n\r\n ngOnInit(): void {\r\n this.libVersion = \"0.0.20\";\r\n // this.myIcon = document.getElementById('myIconImg');\r\n // this.changeChatType() \r\n }\r\n changeChatType() {\r\n if (this.mytype == ChartType.Timeline) {\r\n this.isChartView = false;\r\n this.mytype = ChartType.Table;\r\n this.pdService.chartType.next(this.mytype);\r\n \r\n } else {\r\n this.isChartView = true;\r\n this.mytype = ChartType.Timeline;\r\n \r\n this.pdService.chartType.next(this.mytype);\r\n }\r\n }\r\n changeDataTypeClassRoom() {\r\n this.isUserWise = false;\r\n this.pdService.isUserWise_data.next(false);\r\n }\r\n changeDataTypeUser() {\r\n this.isUserWise = true;\r\n this.pdService.isUserWise_data.next(true);\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n Input,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { ChartType, GoogleChartComponent } from 'angular-google-charts';\r\nimport { element } from 'protractor';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\n@Component({\r\n selector: 'lib-chartview',\r\n templateUrl: './chartview.component.html',\r\n styleUrls: ['./chartview.component.scss'],\r\n})\r\nexport class ChartviewComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadChart(res);\r\n }\r\n \r\n }\r\n chartview:any;\r\n myDataList:any;\r\n chartDataTable:any;\r\n myChartOptions: any;\r\n AllrowHeight: any;\r\n myXmlData: any;\r\n currentdataList:any;\r\n resourceDataList:any;\r\n alldataList:any;\r\n selectedUserData:any;\r\n rowElements:any;\r\n \r\n installedClassrooms: any;\r\n currentRooms: any;\r\n totalUsers = 0;\r\n eligibleUsers = 0;\r\n currentUsers = 0;\r\n myChartType = ChartType.Timeline;\r\n myChartwidth = window.innerWidth * 0.88;\r\n myChartHeight = window.innerHeight;\r\n currentList = \"Current Users\";\r\n allList = \"All Users\";\r\n isAllUsers = false;\r\n isUserWise = false;\r\n alluserList: any;\r\n myChartDataMatrix = new Array();\r\n \r\n totalChartDataMatrix = new Array();\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n loadChart(response: any) {\r\n // console.log(' IN --> 8 loadChart');\r\n this.totalUsers = 0;\r\n this.eligibleUsers = 0;\r\n this.currentUsers = 0;\r\n this.myChartType = ChartType.Timeline;\r\n this.myChartwidth = window.innerWidth * 0.88;\r\n this.myChartHeight = window.innerHeight;\r\n this.currentList = \"Current Users\";\r\n this.allList = \"All Users\";\r\n this.isAllUsers = false;\r\n this.isUserWise = false;\r\n this.myChartDataMatrix =[];\r\n this.totalChartDataMatrix =[];\r\n\r\n this.chartview = document.getElementById('pd-chartview');\r\n this.myDataList = document.getElementById('pd-xmlData');\r\n // let parse = new DOMParser();\r\n if(response){\r\n this.myXmlData = JSON.parse(response);\r\n }\r\n \r\n if(this.myXmlData){\r\n this.currentdataList = this.pdService.genarateUserReqiuredData(this.myXmlData);\r\n this.alluserList = this.pdService.allUserChartData();\r\n this.resourceDataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\r\n this.totalUsers = this.currentdataList.usersMetadata.length;\r\n this.findCurrentUserCount();\r\n }\r\n this.pdService.chartType.subscribe((data) => {\r\n if (data) {\r\n this.updateChartType(data);\r\n }\r\n });\r\n this.pdService.isUserWise_data.subscribe((data) => {\r\n this.updateDataType(data);\r\n });\r\n window.addEventListener('resize', this.onResizeWindow.bind(this));\r\n }\r\n onResizeWindow(event: any) {\r\n this.myChartwidth = window.innerWidth * 0.88; //set an appropriate factor\r\n }\r\n myChartReady() {\r\n this.createDivforTotalDurartion();\r\n this.setHeightofDivforTotalDurartion();\r\n // this.removeBlankEntryBar();\r\n }\r\n updateChartType(dataType: any) {\r\n if (this.chartview != null && this.chartview != undefined) {\r\n if (dataType == ChartType.Table) {\r\n this.chartview.style.display = 'none';\r\n } else {\r\n this.chartview.style.display = 'block';\r\n }\r\n }\r\n }\r\n updateDataType(dataType: any) {\r\n this.isUserWise = dataType;\r\n if (this.myXmlData) {\r\n if(this.isUserWise){\r\n this.currentList = \"Current Users\";\r\n this.allList = \"All Users\";\r\n if(this.isAllUsers){\r\n this.userWiseAllData();\r\n }else{\r\n this.userWiseCurrentData();\r\n } \r\n }else{\r\n this.allList = \"All Rooms\";\r\n this.currentList = \"Current Rooms\";\r\n if(this.isAllUsers){\r\n this.classRoomWiseAllData();\r\n }else{\r\n this.classRoomWiseCurrentData();\r\n } \r\n }\r\n }\r\n }\r\n updateChart() {\r\n let labels = document.getElementById('labels');\r\n while (labels.firstChild) {\r\n labels.removeChild(labels.lastChild);\r\n }\r\n this.chartDataTable = this.myChartDataMatrix;\r\n console.log(\"this.myChartDataMatrix\",this.myChartDataMatrix);\r\n \r\n \r\n (this.myChartOptions = {\r\n tooltip: {\r\n trigger: 'none',\r\n },\r\n colors: ['#ff7f0e', '#2ca02c', '#8c564b', '#d62728', '#bcbd22', '#17becf'],\r\n timeline: {\r\n colorByRowLabel: true,\r\n barLabelStyle: {\r\n fontSize: 7,\r\n },\r\n },\r\n hAxis: {\r\n format: 'HH:mm a',\r\n },\r\n });\r\n setTimeout(() => {\r\n this.myChartHeight = this.AllrowHeight + 100;//to set perfect height of chart \r\n }, 1000);\r\n }\r\n\r\n calulateTotalDuration(detailViewMatrix:any) {\r\n \r\n let id_durationArray;\r\n let id_durationMatrix = new Array();\r\n id_durationMatrix = [];\r\n this.totalChartDataMatrix = [];\r\n if (this.isUserWise) {\r\n for (let i = 0; i < detailViewMatrix.length; i++) {\r\n id_durationArray = {\r\n name: detailViewMatrix[i].userName,\r\n value: parseInt(detailViewMatrix[i].duration),\r\n };\r\n id_durationMatrix.push(id_durationArray);\r\n }\r\n } else {\r\n for (let i = 0; i < detailViewMatrix.length; i++) {\r\n id_durationArray = {\r\n name: detailViewMatrix[i].terminalLocation,\r\n value: parseInt(detailViewMatrix[i].duration),\r\n };\r\n id_durationMatrix.push(id_durationArray);\r\n }\r\n }\r\n \r\n let obj: any = {};\r\n id_durationMatrix = [...new Set(id_durationMatrix)];\r\n \r\n id_durationMatrix.forEach((item) => {\r\n if (obj[item.name]) {\r\n obj[item.name].value = obj[item.name].value + item.value;\r\n } else {\r\n\r\n obj[item.name] = item;\r\n }\r\n });\r\n let valuesArr = Object.values(obj);\r\n \r\n let myArray = new Array();\r\n myArray = [];\r\n valuesArr.forEach((item: any) => {\r\n myArray.push(item.value);\r\n });\r\n for (let i = 0; i < myArray.length; i++) {\r\n let totaldurationPerRow = [this.timeConvert(myArray[i]).toString() + ' hrs'];\r\n // let totalChartRowDataArray = [totaldurationPerRow];\r\n this.totalChartDataMatrix.push(totaldurationPerRow);\r\n }\r\n }\r\n timeConvert(n: any) {\r\n var num = Math.floor(n);\r\n var hours = num / 60;\r\n var rhours = Math.floor(hours);\r\n var minutes = (hours - rhours) * 60;\r\n var rminutes = Math.round(minutes);\r\n return rhours + ':' + rminutes;\r\n }\r\n removeBlankEntryBar() {\r\n const chartDiv = document.getElementById('myTimeLine');\r\n var el = chartDiv.getElementsByTagName(\"rect\"); //get all the descendant rect element inside the container \r\n var width = 100000000; //set a large initial value to width\r\n var elToRem = []; //element would be added to this array for removal\r\n for (var i = 0; i < el.length; i++) { //looping over all the rect element of container\r\n var cwidth = parseInt(el[i].getAttribute(\"width\"));//getting the width of ith element\r\n if (cwidth < width) { //if current element width is less than previous width then this is min. width and ith element should be removed\r\n elToRem = [el[i]];\r\n width = cwidth; //setting the width with min width\r\n }\r\n else if (cwidth == width) { //if current element width is equal to previous width then more that one element would be removed\r\n elToRem.push(el[i]);\r\n }\r\n }\r\n for (var i = 0; i < elToRem.length; i++) {\r\n // now iterate JUST the elements to remove\r\n elToRem[i].setAttribute(\"fill\", \"none\");\r\n\r\n }\r\n }\r\n createDivforTotalDurartion() {\r\n let rowLabels = [];\r\n this.rowElements = [];\r\n var labels = document.getElementById('labels');\r\n while (labels.firstChild) {\r\n labels.removeChild(labels.lastChild);\r\n }\r\n for (var i = 0; i < this.totalChartDataMatrix.length; i++) {\r\n var team = this.totalChartDataMatrix[i][0];\r\n rowLabels.push(team);\r\n var label = labels.appendChild(document.createElement('div'));\r\n label.style['border-bottom'] = '1px solid #b7b7b7';\r\n label.style['font-family'] = 'Arial';\r\n label.style['font-size'] = '13px';\r\n label.style['text-align'] = 'left';\r\n label.style['padding-left'] = '8px';\r\n label.style['padding-right'] = '8px';\r\n label.style.position = 'inherit';\r\n if (i % 2) {\r\n label.style['background-color'] = '#e6e6e6';\r\n } else {\r\n label.style['background-color'] = '#ffffff';\r\n }\r\n label.innerHTML = team;\r\n this.rowElements.push(label);\r\n }\r\n }\r\n setHeightofDivforTotalDurartion() {\r\n \r\n this.AllrowHeight = 0;\r\n const chartDiv = document.getElementById('myTimeLine');\r\n let rows = chartDiv.getElementsByTagName('rect');\r\n let rowIndex = -1;\r\n\r\n for (let i = 0; i < rows.length; i++) {\r\n rowIndex++;\r\n if (rowIndex < this.rowElements.length) {\r\n let rowHeight = parseFloat(rows[i].getAttribute('height')) + 'px';\r\n this.AllrowHeight += parseFloat(rows[i].getAttribute('height'));\r\n\r\n const currentCell = this.rowElements[rowIndex];\r\n if (currentCell) {\r\n currentCell.style.height = rowHeight;\r\n currentCell.style.lineHeight = rowHeight;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSelectRowData(event: any) {\r\n const { row, column } = event.selection[0]; \r\n if(this.isAllUsers){\r\n this.selectedUserData = this.pdService.dataForDetailedView(this.alluserList.fordurationTable,this.resourceDataList, row);\r\n \r\n }else{\r\n this.selectedUserData = this.pdService.dataForDetailedView(this.currentdataList.userConsoleData,this.resourceDataList, row);\r\n \r\n \r\n }\r\n // console.log(\"this.selectedUserData\",this.selectedUserData);\r\n this.pdService.detailedviewData.next(this.selectedUserData);\r\n this.updateChart();\r\n // alluserList\r\n }\r\n showAllUser() {\r\n this.pdService.isAllUsers.next(true);\r\n this.isAllUsers = true;\r\n if(this.isUserWise){\r\n this.userWiseAllData();\r\n }else{\r\n this.classRoomWiseAllData();\r\n }\r\n }\r\n showCurrentUser() {\r\n this.isAllUsers = false;\r\n this.pdService.isAllUsers.next(false);\r\n if(this.isUserWise){\r\n this.userWiseCurrentData();\r\n }else{\r\n this.classRoomWiseCurrentData();\r\n }\r\n }\r\n userWiseCurrentData(){\r\n \r\n let chartDataUserWise = this.pdService.userWiseChartData();\r\n // console.log(\"chartDataUserWise\",chartDataUserWise);\r\n \r\n if(chartDataUserWise.length>0){\r\n this.myChartDataMatrix =chartDataUserWise;\r\n this.updateChart();\r\n if(this.currentdataList.userConsoleData.length>0){\r\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\r\n }\r\n } \r\n }\r\n userWiseAllData(){\r\n let chartDataUserWise = this.alluserList.forChartData;\r\n if(chartDataUserWise.length>0){\r\n this.myChartDataMatrix =chartDataUserWise;\r\n \r\n this.updateChart();\r\n this.calulateTotalDuration(this.alluserList.fordurationTable);\r\n }\r\n \r\n }\r\n classRoomWiseCurrentData(){\r\n let classRoomdata = this.pdService.classRoomWiseChartData();\r\n // console.log(\"classRoomdata\",classRoomdata);\r\n if(classRoomdata && classRoomdata.length>0){\r\n \r\n \r\n this.myChartDataMatrix =classRoomdata; \r\n this.updateChart();\r\n if(this.currentdataList.userConsoleData.length>0){\r\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\r\n }\r\n } \r\n }\r\n \r\n classRoomWiseAllData(){\r\n let allclassRoomList = this.pdService.allRoomsData();\r\n if(allclassRoomList.forChartData && allclassRoomList.forChartData.length > 0){\r\n this.myChartDataMatrix = allclassRoomList.forChartData;\r\n this.updateChart();\r\n }\r\n if(allclassRoomList.fordurationTable && allclassRoomList.fordurationTable.length > 0){\r\n this.calulateTotalDuration(allclassRoomList.fordurationTable);\r\n }\r\n \r\n }\r\n\r\n findCurrentUserCount(){\r\n let userConsoleData = this.currentdataList.userConsoleData;\r\n \r\n let userNameArray = new Array();\r\n for (let index = 0; index < userConsoleData.length; index++) {\r\n const element = userConsoleData[index].userName;\r\n userNameArray.push(element);\r\n }\r\n let uniqueUserName = [...new Set(userNameArray)];\r\n this.currentUsers = uniqueUserName.length;\r\n }\r\n ngOnDestroy() {\r\n // console.log('ngOnDestroy >>');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\n\r\n@Component({\r\n selector: 'lib-detailedview',\r\n templateUrl: './detailedview.component.html',\r\n styleUrls: ['./detailedview.component.scss'],\r\n})\r\nexport class DetailedviewComponent implements OnInit {\r\n userMetadata: any;\r\n resourseMetadata: any;\r\n deatilViewContainer: any;\r\n deatilViewTable: any;\r\n closeButton: any;\r\n getTotalData:any\r\n userMetadataHeadingArray = [\r\n 'Name:',\r\n 'Start Time:',\r\n 'Subject:',\r\n 'End Time:',\r\n 'Room Details:',\r\n ];\r\n resourseMetadataHeadingArray = [\r\n 'Subject',\r\n 'Class',\r\n 'Chapter Name',\r\n 'Topic Name',\r\n 'Assets Details',\r\n ];\r\n constructor(private pdService: PrincipalDashboardLibV2Service) {}\r\n\r\n ngOnInit(): void {\r\n this.deatilViewContainer = document.getElementById('pd-deatilViewContainer');\r\n this.deatilViewTable = document.getElementById('pd-deatilViewTable');\r\n this.closeButton = document.getElementById('pd-closeButton');\r\n \r\n this.pdService.detailedviewData.subscribe((data) => {\r\n if(data){\r\n if(data.userDetails.length>0 ){\r\n this.createTable(data.userDetails);\r\n }\r\n if(data.resourceDetails.length>0){\r\n // console.log(\"data.resourceDetails\",data.resourceDetails);\r\n \r\n this.createResourcesTable(data.resourceDetails);\r\n }\r\n }\r\n \r\n });\r\n \r\n this.deatilViewContainer.style.display = 'none';\r\n }\r\n createTable(userMetadata: any) {\r\n this.deatilViewContainer.style.display = 'block';\r\n while (this.deatilViewTable.firstChild) {\r\n this.deatilViewTable.removeChild(this.deatilViewTable.lastChild);\r\n }\r\n\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < userMetadata.length; i++) {\r\n let label = document.createElement('label');\r\n label.appendChild(\r\n document.createTextNode(this.userMetadataHeadingArray[i])\r\n );\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n let data = document.createElement('label');\r\n data.appendChild(document.createTextNode(userMetadata[i]));\r\n if (data.textContent === 'undefined'|| data.textContent === undefined) {\r\n data.textContent = '';\r\n }\r\n labelArray.push(data);\r\n }\r\n let tbl = document.createElement('table');\r\n tbl.id = \"userDataTable\";\r\n tbl.className = \"table table-bordered\";\r\n let tblBody = document.createElement('tbody');\r\n for (let j = 0; j < userMetadata.length / 2; j++) {\r\n let row = document.createElement('tr');\r\n let cell: any;\r\n for (let i = 0; i < 4; i++) {\r\n if (i % 2 == 0) {\r\n cell = document.createElement('th');\r\n cell.style['font-weight'] = \"bold\"\r\n // cell.style.background =\"#e0e0e0\";\r\n } else {\r\n cell = document.createElement('td');\r\n }\r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n tblBody.appendChild(row);\r\n tbl.appendChild(tblBody);\r\n this.deatilViewTable.appendChild(tbl);\r\n }\r\n }\r\n createResourcesTable(resoureMetadata: any) {\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < this.resourseMetadataHeadingArray.length; i++) {\r\n let label = document.createElement('label');\r\n label.appendChild(\r\n document.createTextNode(this.resourseMetadataHeadingArray[i])\r\n );\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n }\r\n for (let i = 0; i < resoureMetadata.length; i++) {\r\n for (let j = 0; j < 5; j++) {\r\n let label = document.createElement('label');\r\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n }\r\n }\r\n let tbl = document.createElement('table');\r\n tbl.className = \"table table-bordered\";\r\n tbl.id = \"resoureMetadataTable\";\r\n let tblBody = document.createElement('tbody');\r\n for (let j = 0; j <= resoureMetadata.length; j++) {\r\n let row = document.createElement('tr');\r\n let cell: any;\r\n for (let i = 0; i < 5; i++) {\r\n if (j == 0) {\r\n cell = document.createElement('th');\r\n cell.style['font-weight'] = 'bold';\r\n // cell.style.background =\"#e0e0e0\";\r\n } else {\r\n cell = document.createElement('td');\r\n }\r\n\r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n tblBody.appendChild(row);\r\n tbl.appendChild(tblBody);\r\n this.deatilViewTable.appendChild(tbl);\r\n }\r\n }\r\n \r\n onCloseBtnClick() {\r\n this.deatilViewContainer.style.display = 'none';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { resourceUsage } from 'process';\r\nimport * as FileSaver from 'file-saver'\r\nimport * as XLSX from 'xlsx';\r\nimport { HtmlTagDefinition } from '@angular/compiler';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExceldataService {\r\n resourceTypes = new Array();\r\n myEndTime:any;\r\n constructor() { }\r\n //_____FOR EXCEL CONVERTOR\r\n public workbook:any;\r\n public tabName = [{\"name\":\"School\"},{\"name\":\"User Summary\"},{\"name\":\"Terminal Summary\"},{\"name\":\"Usage Details\"}]\r\n public exportAsExcelFile(json: any,excelFileName: string): void {\r\n let excelBuffer: any;\r\n let myobj: any = {Sheets:{}, SheetNames:[] }\r\n for (let i = 0; i < json.length; i++) {\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[i]);\r\n myobj.Sheets[this.tabName[i].name] = worksheet\r\n myobj.SheetNames.push(this.tabName[i].name)\r\n }\r\n const workbook:XLSX.WorkBook = myobj; \r\n excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n //_____FOR EXCEL CONVERTOR END\r\n\r\n genarateResourseReqiuredData_Excel(data: any): any {\r\n let resouseID: any;\r\n let title: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let teachingpoint: any;\r\n let type: any;\r\n let resourceMetadataMatrix = new Array();\r\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\r\n \r\n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\r\n for (var i = 0; i < resourceMetadata.length;i++){\r\n //----------//resouseID\r\n resouseID = resourceMetadata[i].resourceId;\r\n //----------//subject\r\n if (resourceMetadata[i].subject != undefined) {\r\n if (resourceMetadata[i].subject.title != undefined) {\r\n subject = resourceMetadata[i].subject.title;\r\n } else {\r\n subject = '';\r\n }\r\n } else {\r\n subject = '';\r\n }\r\n //----------//grade\r\n if (resourceMetadata[i].grade != undefined) {\r\n if (resourceMetadata[i].grade.title != undefined) {\r\n grade = resourceMetadata[i].grade.title;\r\n } else {\r\n grade = '';\r\n }\r\n } else {\r\n grade = '';\r\n }\r\n //----------//chapter\r\n if (resourceMetadata[i].chapter != undefined) {\r\n if (resourceMetadata[i].chapter.title != undefined) {\r\n chapter = resourceMetadata[i].chapter.title;\r\n } else {\r\n chapter = '';\r\n }\r\n } else {\r\n chapter = '';\r\n }\r\n \r\n //----------//teachingpoint\r\n if (resourceMetadata[i].teachingpoint != undefined) {\r\n if (resourceMetadata[i].teachingpoint.title != undefined) {\r\n teachingpoint = resourceMetadata[i].teachingpoint.title;\r\n } else {\r\n teachingpoint = '';\r\n }\r\n } else {\r\n teachingpoint = '';\r\n }\r\n //----------//type\r\n if (resourceMetadata[i].type != undefined) {\r\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\r\n } else {\r\n type = '';\r\n }\r\n \r\n //----------//title\r\n if (resourceMetadata[i].title != undefined) {\r\n title = resourceMetadata[i].title;\r\n } else {\r\n title = '';\r\n }\r\n \r\n \r\n let resourceMetauserConsoleData = {\r\n resouseID:resouseID,\r\n subject:subject,\r\n grade:grade,\r\n chapter:chapter,\r\n teachingpoint:teachingpoint,\r\n type:type,\r\n title:title\r\n }\r\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\r\n this.resourceTypes.push(type);\r\n }\r\n }\r\n this.resourceTypes = [...new Set(this.resourceTypes)]\r\n return resourceMetadataMatrix;\r\n }\r\n genarateUserReqiuredData_Excel(data: any): any {\r\n let userConsole = data.usersConsole.userConsole;\r\n let usersMetadata = data.usersMetadata.userMetadata;\r\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\r\n \r\n \r\n let usersMetadataMatrix = new Array();\r\n let usermetadataMatrixUpdated = new Array();\r\n let schoolTerminalMatrix = new Array();\r\n let userConsoleMatrix = new Array();\r\n if(usersMetadata!= null && usersMetadata.length > 0){\r\n for (let i = 0; i < usersMetadata.length; i++) {\r\n let userId: any;\r\n let userName: any;\r\n let userSubjects: any;\r\n let listOfUser:any = {}\r\n if (usersMetadata[i].userId!=\"\") {\r\n userId = usersMetadata[i].userId;\r\n \r\n if (usersMetadata[i].fullName !== undefined) {\r\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\r\n } else {\r\n userName = '';\r\n }\r\n\r\n if (usersMetadata[i].userSubjects !== undefined) {\r\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\r\n } else {\r\n userSubjects = '';\r\n }\r\n \r\n listOfUser = {\r\n userId:userId, \r\n userName:userName, \r\n userSubjects:userSubjects\r\n };\r\n usersMetadataMatrix.push(listOfUser); // array of all users\r\n }\r\n }\r\n }\r\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\r\n usersMetadataMatrix.forEach(element => {\r\n if (usersMetadataMatrix[i].userName === element.userName) {\r\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\r\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\r\n }\r\n });\r\n }\r\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\r\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\r\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\r\n }\r\n if(schoolTerminal != null && schoolTerminal.length > 0){\r\n for (var i = 0; i < schoolTerminal.length; i++) {\r\n let schoolId:any;\r\n let terminalKey:any;\r\n let terminalType:any;\r\n let location:any;\r\n let schoolTerminalData:any = {};\r\n \r\n //----------//schoolId\r\n if (schoolTerminal[i].schoolId !== undefined) {\r\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\r\n } else {\r\n schoolId = '';\r\n }\r\n //----------//terminalKey\r\n if (schoolTerminal[i].terminalKey !== undefined) {\r\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\r\n } else {\r\n terminalKey = '';\r\n }\r\n //----------//terminalType\r\n if (schoolTerminal[i].terminalType !== undefined) {\r\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\r\n } else {\r\n terminalType = '';\r\n }\r\n \r\n //----------//location\r\n if (schoolTerminal[i].metadata !== undefined) {\r\n location = schoolTerminal[i].metadata // get name of user w.r.t. ID\r\n } else {\r\n location = '';\r\n }\r\n schoolTerminalData = {\r\n schoolId:schoolId,\r\n terminalKey:terminalKey,\r\n terminalType:terminalType,\r\n location:location\r\n };\r\n schoolTerminalMatrix.push(schoolTerminalData);\r\n \r\n }\r\n }\r\n if(userConsole !=null && userConsole.length > 0){\r\n for (let index = 0; index < userConsole.length; index++) {\r\n let userId: any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let selectedDate: any;\r\n let terminalIP: any;\r\n let userConsoleResources: any;\r\n let resourceMetadataIDS: any;\r\n let resourceMetauserConsoleData = new Array();\r\n let userName:any;\r\n let userSubjects:any;\r\n let terminalLocation: any;\r\n //----------//user iD\r\n if (userConsole[index].userId !== undefined) {\r\n userId = userConsole[index].userId // get name of user w.r.t. ID\r\n } else {\r\n userId = '';\r\n }\r\n //----------// startTime \r\n if (userConsole[index].startTime !== undefined) {\r\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\r\n } else {\r\n startTime = '';\r\n }\r\n //----------// endTime \r\n if (userConsole[index].endTime !== undefined) {\r\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\r\n this.myEndTime = endTime;\r\n } else {\r\n endTime = '';\r\n }\r\n //----------// Date \r\n if (userConsole[index].selectedDate !== undefined) {\r\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\r\n } else {\r\n selectedDate = '';\r\n }\r\n \r\n //----------// Duration\r\n if (userConsole[index].duration !== undefined) {\r\n duration = userConsole[index].duration // get name of user w.r.t. ID\r\n } else {\r\n duration = '';\r\n }\r\n //----------// terminalIP\r\n if (userConsole[index].terminalIP !== undefined) {\r\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\r\n } else {\r\n terminalIP = '';\r\n }\r\n \r\n //----------// userConsoleResources\r\n if (userConsole[index].userConsoleResources !== undefined) {\r\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\r\n } else {\r\n userConsoleResources = null;\r\n }\r\n \r\n if(userConsoleResources != null){\r\n if (userConsoleResources.userConsoleResource !== undefined) {\r\n resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\r\n } else {\r\n resourceMetauserConsoleData = [];\r\n }\r\n }\r\n \r\n //----------// userName and userSubjects\r\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\r\n if (userId === usersMetadataMatrix[i].userId) {\r\n userName = usersMetadataMatrix[i].userName;\r\n userSubjects = usersMetadataMatrix[i].userSubjects;\r\n }\r\n }\r\n //----------// terminalIP and terminalLocation\r\n \r\n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\r\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\r\n terminalLocation = schoolTerminalMatrix[i].location;\r\n }\r\n }\r\n let userData = {\r\n userId:userId,\r\n userName:userName,\r\n startTime:new Date(startTime),\r\n endTime:new Date(endTime),\r\n terminalIP:terminalIP,\r\n resourceMetauserConsoleData:resourceMetauserConsoleData,\r\n duration:duration,\r\n terminalLocation:terminalLocation,\r\n userSubjects:userSubjects\r\n }\r\n \r\n userConsoleMatrix.push(userData);\r\n \r\n }\r\n }\r\n return {usersMetadata:usersMetadataMatrix,schoolTerminalData:schoolTerminalMatrix,userConsoleData: userConsoleMatrix}\r\n }\r\n \r\n deatilData_Excel(userConsoleMatrix: any,resourceMetadataMatrix: any){\r\n // console.log(\"resourceMetadataMatrix\",resourceMetadataMatrix);\r\n \r\n let currentDate: any;\r\n let resourceMatrixForExcel = new Array();\r\n resourceMatrixForExcel = [];\r\n for (let i = 0; i <userConsoleMatrix.length; i++) {\r\n let userID:any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let resourceType: any;\r\n let resourceTitle: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n \r\n let resourceMetadataIDs: any;\r\n let resourceArrayForExcel = new Array();\r\n \r\n\r\n userID = userConsoleMatrix[i].userId;\r\n //----------------- for subject and Name\r\n teacherSubject = userConsoleMatrix[i].userSubjects;\r\n teacherName = userConsoleMatrix[i].userName;\r\n //----------------- for start Time and EndTime \r\n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\r\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[i].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[i].terminalLocation;\r\n terminalIP = userConsoleMatrix[i].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n let locationName = location;\r\n let terminalIPAddress = terminalIP;\r\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = '';\r\n grade = '';\r\n chapter = '';\r\n teachingpoint = '';\r\n resourceTitle = '';\r\n resourceType = '';\r\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\r\n resourceMatrixForExcel.push(resourceArrayForExcel);\r\n }else{\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n // resouseID:resouseID,\r\n // subject:subject,\r\n // grade:grade,\r\n // chapter:chapter,\r\n // teachingpoint:teachingpoint,\r\n // type:type,\r\n // title:title\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n resourceTitle = resourceMetadataMatrix[i].title;\r\n resourceType = this.getDisplaytypeValue(resourceMetadataMatrix[i].type);\r\n // FOR EXCEL\r\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\r\n resourceMatrixForExcel.push(resourceArrayForExcel);\r\n teacherName = '';\r\n teacherSubject= '';\r\n currentDate= '';\r\n startTime= '';\r\n endTime= '';\r\n locationName= ''; \r\n terminalIPAddress= '';\r\n duration = '';\r\n \r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return resourceMatrixForExcel;\r\n }\r\n deatilUsage_Excel(resourceMatrixForExcel){\r\n let userList=[];\r\n // console.log(\"resourceMatrixForExcel>>>>>>>>>>>>>>>>>>>\",resourceMatrixForExcel);\r\n \r\n if(resourceMatrixForExcel.length > 0){\r\n for(let i=0;i<resourceMatrixForExcel.length;i++){\r\n let data = {\r\n // Sr_No: i+1,\r\n Name:resourceMatrixForExcel[i][0],\r\n Subjects:resourceMatrixForExcel[i][1],\r\n Date:\tresourceMatrixForExcel[i][2],\r\n startTime:resourceMatrixForExcel[i][3],\r\n endTime:resourceMatrixForExcel[i][4],\r\n \"duration(mins)\":resourceMatrixForExcel[i][5],\r\n location:resourceMatrixForExcel[i][6],\r\n IP:resourceMatrixForExcel[i][7],\r\n subjectTitle:resourceMatrixForExcel[i][8],\r\n gradeTitle:resourceMatrixForExcel[i][9],\r\n Chapter:resourceMatrixForExcel[i][10],\r\n tpTitle:resourceMatrixForExcel[i][11],\r\n resourceTitle:resourceMatrixForExcel[i][12],\r\n resourceType:resourceMatrixForExcel[i][13],\r\n }\r\n userList.push(data);\r\n }\r\n \r\n } \r\n // console.log(\"userList\",userList);\r\n return userList; \r\n }\r\n userSummary_Excel(data,resourceMatrixForExcel){\r\n // console.log(\"resourceMatrixForExcel\",resourceMatrixForExcel)\r\n let userMetadataList = data.usersMetadata.userMetadata;\r\n let resourcelist = new Array();\r\n let resourceTypeList = new Array();\r\n let userObjectList= new Array();\r\n let classRooms= new Array();\r\n let datesAccess= new Array();\r\n let grades= new Array();\r\n let subjectTought= new Array();\r\n // let unique_resourceTypeList = []; \r\n let duration = 0;\r\n for (let i = 0; i < userMetadataList.length; i++) {\r\n resourcelist = [];\r\n resourceTypeList = [];\r\n classRooms = []; \r\n datesAccess = [];\r\n grades = [];\r\n subjectTought = [];\r\n \r\n duration = 0;\r\n // console.log(\"userMetadataList[i]\",userMetadataList);\r\n // console.log(\"resourceMatrixForExcel[i]\",[...new Set(resourceMatrixForExcel)]);\r\n for (let j = 0; j < resourceMatrixForExcel.length; j++){\r\n \r\n if(userMetadataList[i].userId === resourceMatrixForExcel[j][14]){\r\n if(resourceMatrixForExcel[j][12] != ''){\r\n resourcelist.push(resourceMatrixForExcel[j][12]);\r\n }\r\n \r\n if(resourceMatrixForExcel[j][13] != ''){\r\n resourceTypeList.push(resourceMatrixForExcel[j][13]);\r\n }\r\n if(resourceMatrixForExcel[j][5] != ''){\r\n duration = duration + resourceMatrixForExcel[j][5];\r\n }\r\n \r\n \r\n classRooms.push(resourceMatrixForExcel[j][6]);\r\n datesAccess.push(resourceMatrixForExcel[j][2]);\r\n grades.push(resourceMatrixForExcel[j][9]);\r\n subjectTought.push(resourceMatrixForExcel[j][8]);\r\n \r\n \r\n }\r\n }\r\n \r\n let ClassRooms:any; \r\n let DatesAccess:any; \r\n let Grades:any; \r\n let SubjectTought:any; \r\n let dayAccess:any; \r\n \r\n if(classRooms.length>0){\r\n ClassRooms = [...new Set(classRooms)][0];\r\n }else{\r\n ClassRooms = '';\r\n }\r\n if(datesAccess.length>0){\r\n dayAccess = [...new Set(datesAccess)].length;\r\n }else{\r\n dayAccess = '';\r\n }\r\n if(datesAccess.length>0){\r\n DatesAccess = [...new Set(datesAccess)][0];\r\n }else{\r\n DatesAccess = '';\r\n }\r\n if(grades.length>0){\r\n Grades = [...new Set(grades)][0];\r\n }else{\r\n Grades = ''\r\n }\r\n \r\n if(subjectTought.length>0){\r\n SubjectTought = [...new Set(subjectTought)][0];\r\n }else{\r\n SubjectTought = '';\r\n }\r\n // if(resourceTypeList.length>0){\r\n // unique_resourceTypeList = [...new Set(resourceTypeList)];\r\n \r\n // }\r\n // console.log(\"this.resourceTypes\",this.resourceTypes)\r\n let user = {\r\n Name:userMetadataList[i].fullName,\r\n Subjects:userMetadataList[i].userSubjects,\r\n duration:duration,\r\n ClassRooms:ClassRooms,\r\n DatesAccess:DatesAccess,\r\n DayAccess:dayAccess,\r\n Grades:Grades,\r\n SubjectTought:SubjectTought,\r\n AseestUsed:resourcelist,\r\n AssetType:resourceTypeList\r\n }\r\n userObjectList.push(user);\r\n \r\n }\r\n // console.log(\"userObjectList\",userObjectList)\r\n let userSummaryList = new Array();\r\n for(let i = 0; i < userObjectList.length; i++){\r\n const Assetcounts = [];\r\n //find count of present asset type\r\n let presentAsset =userObjectList[i].AssetType;\r\n presentAsset = [...new Set(presentAsset)];\r\n // console.log(\"presentAsset\",presentAsset)\r\n //find count of present asset count\r\n const sampleArray =userObjectList[i].AssetType;\r\n sampleArray.forEach(function (x) { Assetcounts[x] = (Assetcounts[x] || 0) + 1; });\r\n // find missing assets\r\n let missingAssets = this.resourceTypes.filter(n => !presentAsset.includes(n));\r\n // adding missing asset with count 0 in list\r\n missingAssets.forEach((element) => {\r\n Assetcounts[element] = 0;\r\n });\r\n // console.log(Assetcounts);\r\n let asset_media = {\r\n // Sr_No: i+1,\r\n Name:userObjectList[i].Name,\r\n Subjects_taught:userObjectList[i].Subjects,\r\n \" Duration(mins)\":userObjectList[i].duration,\r\n ClassRooms:userObjectList[i].ClassRooms,\r\n DaysAccsessed:userObjectList[i].DayAccess,\r\n DatesAccess:userObjectList[i].DatesAccess,\r\n Grades:userObjectList[i].Grades,\r\n Subjects:userObjectList[i].SubjectTought\r\n }\r\n const returnedTarget = Object.assign(asset_media, Assetcounts);\r\n userSummaryList.push(returnedTarget);\r\n\r\n }\r\n \r\n // console.log(\"userSummaryList\",userSummaryList);\r\n \r\n return userSummaryList;\r\n }\r\n\r\n // To GET DISPLAY TYPE\r\n getDisplaytypeValue(key: any) {\r\n let assetTypeConfig = [\r\n {\r\n type: \"asset_media\",\r\n display: \"Media\"\r\n },\r\n {\r\n type: \"asset_print\",\r\n display: \"Print\"\r\n },\r\n {\r\n type: \"quiz\",\r\n display: \"Quiz\"\r\n },\r\n {\r\n type: \"question\",\r\n display: \"Question\"\r\n },\r\n {\r\n type: \"chapter\",\r\n display: \"Chapter\"\r\n },\r\n {\r\n type: \"tp\",\r\n display: \"Topic\"\r\n },\r\n {\r\n type: \"whiteboard\",\r\n display: \"Whiteboard\"\r\n },\r\n {\r\n type: \"widget\",\r\n display: \"Widget\"\r\n },\r\n {\r\n type: \"casset_media\",\r\n display: \"cMedia\"\r\n },\r\n {\r\n type: \"casset_print\",\r\n display: \"cPrint\"\r\n },\r\n {\r\n type: \"cquiz\",\r\n display: \"cQuiz\"\r\n },\r\n {\r\n type: \"cquestion\",\r\n display: \"cQuestion\"\r\n },\r\n {\r\n type: \"image\",\r\n display: \"Image\"\r\n },\r\n {\r\n type: \"video\",\r\n display: \"Video\"\r\n },\r\n \r\n ];\r\n let displayValue = key;\r\n assetTypeConfig.forEach((value) => {\r\n if (value.type === key) {\r\n displayValue = value.display;\r\n }\r\n });\r\n return displayValue;\r\n \r\n }\r\n}\r\n","import { Component, OnInit, Output, ViewChild, Input, EventEmitter } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\nimport { ExceldataService } from '../exceldata.service';\r\nimport { DatepickerOptions } from 'ng2-datepicker';\r\n@Component({\r\n selector: 'lib-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadData(res);\r\n } \r\n }\r\n @Output() userSelectedDate = new EventEmitter();\r\n\r\n myCalendar: any;\r\n calenderDate: any;\r\n currentDate: any;\r\n calenderCurrentDate: any;\r\n todayDate: any;\r\n refreshTimer = 0;\r\n refreshInterval: any;\r\n calenderEvent: any;\r\n message: any;\r\n intervalId: any;\r\n mydata :any;\r\n dataList: any;\r\n //for datepicker\r\n title = 'datepicker';\r\n date: Date = new Date();\r\n options: DatepickerOptions = {\r\n inputClass: 'input',\r\n calendarClass: 'datepicker-default',\r\n scrollBarColor: '#010001',\r\n format: 'dd/LL/yyyy',\r\n maxDate: new Date()\r\n };\r\n \r\n constructor(\r\n private excelService: ExceldataService,\r\n private pdService:PrincipalDashboardLibV2Service\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getDefaultDate();\r\n this.startTimer();\r\n }\r\n getDefaultDate() {\r\n let date = new Date();\r\n this.getDateFormat(date);\r\n this.todayDate = this.calenderCurrentDate;\r\n }\r\n dateSelected(e: any){\r\n this.getDateFormat(e);\r\n this.mydata = null;\r\n this.refreshChart();\r\n }\r\n getDateFormat(date:any){\r\n let day = date.getDate();\r\n let month = date.getMonth() + 1;\r\n let year = date.getFullYear();\r\n let m;\r\n let d;\r\n if (month < 10) {\r\n m = \"0\" + month;\r\n } else {\r\n m = month;\r\n }\r\n if (day < 10) {\r\n d = \"0\" + day;\r\n } else {\r\n d = day;\r\n }\r\n let today = year + \"-\" + m + \"-\" + d;\r\n this.currentDate = today;\r\n this.calenderCurrentDate = today.split(\"-\").reverse().join(\"-\");\r\n }\r\n // selectDate(e: any) {\r\n // this.calenderEvent = e;\r\n // let today = e.target.value;\r\n // // console.log(\"e.target.value\", e.target.value);\r\n // today = today.split(\"-\").reverse().join(\"-\");\r\n // this.calenderCurrentDate = today;\r\n // this.mydata = null;\r\n // this.refreshChart();\r\n // // this.userSelectedDate.emit(this.calenderCurrentDate);\r\n // ;\r\n // console.log(\" IN --> 5\");\r\n // }\r\n refreshChart() {\r\n this.stopTimer();\r\n this.refreshTimer = 0;\r\n if(this.calenderCurrentDate === this.todayDate){\r\n this.countDown();\r\n }\r\n this.userSelectedDate.emit(this.calenderCurrentDate);\r\n }\r\n\r\n startTimer() {\r\n this.countDown();\r\n }\r\n stopTimer() {\r\n this.clearTimer();\r\n this.message = ``;\r\n }\r\n clearTimer() {\r\n this.refreshTimer = 0;\r\n window.clearInterval(this.intervalId);\r\n }\r\n countDown() {\r\n console.log(\"countDown\")\r\n this.clearTimer();\r\n this.intervalId = window.setInterval(() => {\r\n this.refreshTimer -= 1;\r\n if (this.refreshTimer === 0) {\r\n this.refreshChart();\r\n this.message = '';\r\n } else {\r\n if (this.refreshTimer < 0) {\r\n this.refreshTimer = 300;\r\n } // reset\r\n this.message = `${this.refreshTimer}`;\r\n }\r\n }, 1000);\r\n }\r\n timeConvert(n: any) {\r\n var num = n;\r\n var hours = num / 60;\r\n var rhours = Math.floor(hours);\r\n var minutes = (hours - rhours) * 60;\r\n var rminutes = Math.round(minutes);\r\n return rhours + ':' + rminutes;\r\n }\r\n // currentdataList: any;\r\n // currentResoursedataList:any;\r\n loadData(response: any){\r\n if(response){\r\n this.mydata = JSON.parse(response);\r\n if (this.mydata) {\r\n //get current data list\r\n let genarateUserReqiuredData = this.excelService.genarateUserReqiuredData_Excel(this.mydata);\r\n let currentdataList =genarateUserReqiuredData.userConsoleData;\r\n // resoureMetadata list\r\n let currentResoursedataList = this.excelService.genarateResourseReqiuredData_Excel(this.mydata);\r\n \r\n let deatilData = this.excelService.deatilData_Excel(currentdataList,currentResoursedataList);\r\n let userDetails_data = this.excelService.deatilUsage_Excel(deatilData);\r\n let UserSummary = this.excelService.userSummary_Excel(this.mydata,deatilData);\r\n \r\n let schoolDetails = this.mydata.schoolMetadata.school;\r\n let userDetails = userDetails_data;\r\n let terminalDetails = this.mydata.schoolTerminals.schoolTerminal;\r\n // console.log(\"schoolDetails\",schoolDetails);\r\n // console.log(\"UserSummary\",UserSummary);\r\n // console.log(\"terminalDetails\",terminalDetails);\r\n // console.log(\"userDetails\",userDetails);\r\n \r\n this.dataList = [\r\n [schoolDetails],\r\n UserSummary,\r\n terminalDetails,\r\n userDetails\r\n ]\r\n }\r\n }\r\n \r\n }\r\n exportReport(){\r\n if(this.mydata){\r\n this.excelService.exportAsExcelFile(this.dataList, 'UsageReport-'+ this.calenderCurrentDate);\r\n }\r\n \r\n }\r\n ngOnDestroy() {\r\n this.clearTimer();\r\n }\r\n \r\n}\r\n","import { Component, OnInit ,Input} from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\nimport { ChartType } from 'angular-google-charts';\r\n\r\n@Component({\r\n selector: 'lib-tableview',\r\n templateUrl: './tableview.component.html',\r\n styleUrls: ['./tableview.component.scss'],\r\n})\r\n\r\nexport class TableviewComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadTable(res);\r\n }\r\n }\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) {}\r\n resourseMetadata: any;\r\n tableRow: any;\r\n userMetadata: any;\r\n tableViewDiv: any;\r\n tblBody: any;\r\n myXmlData: any;\r\n myChartType = ChartType.Table;\r\n currentdataList:any;\r\n currentResoursedataList:any;\r\n tableViewData:any;\r\n alluserList:any;\r\n isUserWise = true;\r\n \r\n ngOnInit(): void {\r\n \r\n }\r\n loadTable(response: any){\r\n // let parse = new DOMParser();\r\n // this.myXmlData = parse.parseFromString(response, 'application/xml');\r\n if(response){\r\n this.myXmlData = JSON.parse(response);\r\n if(this.myXmlData){\r\n // get current data list\r\n let genarateUserReqiuredData = this.pdService.genarateUserReqiuredData(this.myXmlData);\r\n this.currentdataList =genarateUserReqiuredData.userConsoleData;\r\n // get all user list \r\n let fetchAlluserList = this.pdService.allUserChartData()\r\n this.alluserList = fetchAlluserList.fordurationTable;\r\n // resoureMetadata list\r\n this.currentResoursedataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\r\n \r\n }\r\n }\r\n \r\n \r\n this.tableViewDiv = document.getElementById('tableViewDiv');\r\n this.tableRow = document.getElementById('tableRow');\r\n this.tblBody = document.getElementById('tblBody');\r\n this.tableViewDiv.style.display = 'none';\r\n \r\n this.pdService.chartType.subscribe((data) => {\r\n if (data) {\r\n this.updateChartType(data);\r\n }\r\n });\r\n this.pdService.isUserWise_data.subscribe((data) => {\r\n this.updateDataType(data);\r\n });\r\n this.pdService.isAllUsers.subscribe((data) => {\r\n if(data){\r\n this.showAllUser();\r\n }else{\r\n this.showCurrentDataUser();\r\n }\r\n \r\n });\r\n }\r\n showCurrentDataUser() {\r\n this.tableViewData = this.pdService.dataForTableView(this.currentdataList,this.currentResoursedataList);\r\n if(this.tableViewData){\r\n this.ueserWiseTableView(this.tableViewData);\r\n }\r\n }\r\n showAllUser() {\r\n this.tableViewData = this.pdService.dataForTableView(this.alluserList ,this.currentResoursedataList);\r\n if(this.tableViewData){\r\n this.ueserWiseTableView(this.tableViewData);\r\n }\r\n }\r\n updateDataType(dataType: any) {\r\n this.isUserWise = dataType;\r\n }\r\n updateChartType(dataType: any) {\r\n this.myChartType = dataType;\r\n if (this.myChartType == ChartType.Timeline) {\r\n this.tableViewDiv.style.display = 'none';\r\n } else {\r\n this.tableViewDiv.style.display = 'block';\r\n }\r\n }\r\n \r\n ueserWiseTableView(resoureMetadata: any) {\r\n // this.deleterow(\"tableRow\");\r\n document.getElementById(\"tblBody\").innerHTML = \"\";\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < resoureMetadata.length; i++) {\r\n for (let j = 0; j < 12; j++) {\r\n let label = document.createElement('label');\r\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\r\n if (label.textContent === 'undefined' || label.textContent===undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n // console.log(\"label\",label);\r\n }\r\n }\r\n for (let j = 0; j <= resoureMetadata.length; j++) {\r\n let row = document.createElement('tr');\r\n \r\n let cell: any;\r\n for (let i = 0; i < 12; i++) {\r\n cell = document.createElement('td');\r\n \r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n this.tblBody.appendChild(row);\r\n // this.tableRow.appendChild(this.tblBody);\r\n }\r\n \r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Component } from './principal-dashboard-lib-v2.component';\r\n\r\nimport { ChartheaderComponent } from './chartheader/chartheader.component';\r\nimport { ChartviewComponent } from './chartview/chartview.component';\r\nimport { DetailedviewComponent } from './detailedview/detailedview.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { TableviewComponent } from './tableview/tableview.component';\r\nimport { GoogleChartsModule } from 'angular-google-charts';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DatepickerModule } from 'ng2-datepicker';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartheaderComponent,\r\n ChartviewComponent,\r\n DetailedviewComponent,\r\n HeaderComponent,\r\n TableviewComponent,\r\n PrincipalDashboardLibV2Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n GoogleChartsModule,\r\n DatepickerModule\r\n ],\r\n exports: [\r\n PrincipalDashboardLibV2Component\r\n ]\r\n})\r\nexport class PrincipalDashboardLibV2Module { }\r\n","/*\r\n * Public API Surface of principal-dashboard-lib-v2\r\n */\r\n\r\nexport * from './lib/principal-dashboard-lib-v2.service';\r\nexport * from './lib/principal-dashboard-lib-v2.component';\r\nexport * from './lib/principal-dashboard-lib-v2.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ChartheaderComponent as ɵa} from './lib/chartheader/chartheader.component';\nexport {ChartviewComponent as ɵb} from './lib/chartview/chartview.component';\nexport {DetailedviewComponent as ɵc} from './lib/detailedview/detailedview.component';\nexport {ExceldataService as ɵe} from './lib/exceldata.service';\nexport {HeaderComponent as ɵd} from './lib/header/header.component';\nexport {TableviewComponent as ɵf} from './lib/tableview/tableview.component';"],"names":["ReplaySubject","BehaviorSubject","Injectable","EventEmitter","Component","Input","Output","ChartType","XLSX.utils","XLSX.write","FileSaver.saveAs","NgModule","CommonModule","GoogleChartsModule","DatepickerModule"],"mappings":"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"}
1
+ {"version":3,"file":"principal-dashboard-lib-v2.umd.js","sources":["../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.service.ts","../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/chartheader/chartheader.component.ts","../../../node_modules/tslib/tslib.es6.js","../../../projects/principal-dashboard-lib-v2/src/lib/chartview/chartview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/detailedview/detailedview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/exceldata.service.ts","../../../projects/principal-dashboard-lib-v2/src/lib/header/header.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/tableview/tableview.component.ts","../../../projects/principal-dashboard-lib-v2/src/lib/principal-dashboard-lib-v2.module.ts","../../../projects/principal-dashboard-lib-v2/src/public-api.ts","../../../projects/principal-dashboard-lib-v2/src/principal-dashboard-lib-v2.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\nimport { Subject, BehaviorSubject, ReplaySubject } from 'rxjs';\r\n\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class PrincipalDashboardLibV2Service {\r\npublic resoureMetaData:any;\r\npublic usersMetaData:any;\r\npublic schoolTerminalData:any;\r\npublic userConsoleData:any;\r\n\r\npublic isResoureMetaDataReady = new ReplaySubject();\r\npublic isResoureMetaDataReady$ = this.isResoureMetaDataReady.asObservable();\r\n\r\npublic isUserReqiuredDataReady = new ReplaySubject();\r\npublic isUserReqiuredDataReady$ = this.isUserReqiuredDataReady.asObservable();\r\n\r\n public mychartType: any = '';\r\n public dataType: any = '';\r\n public userAllData: any = '';\r\n public userMetadata: any = {userDetails:[],resourceDetails:[]};\r\n public resoureMetadata = new Array();\r\n public userDetailObject: any = {};\r\n public userlist:any = false;\r\n public myEndTime :any;\r\n \r\n //for change chart Type\r\n public chartType = new BehaviorSubject(this.mychartType);\r\n public chartType$ = this.chartType.asObservable();\r\n //for change userWise To classRoom wise or vice versa\r\n public isUserWise_data = new BehaviorSubject(true);\r\n public isUserWise_data$ = this.isUserWise_data.asObservable();\r\n // for all user and current user information\r\n public isAllUsers = new BehaviorSubject(this.userlist);\r\n public isAllUsers$ = this.isAllUsers.asObservable();\r\n //for get details of selected user\r\n public detailedviewData = new BehaviorSubject(this.userMetadata);\r\n public detailedviewData$ = this.detailedviewData.asObservable();\r\n\r\n\r\n constructor() { }\r\n \r\n genarateResourseReqiuredData(data: any): any {\r\n this.isResoureMetaDataReady.next(false);\r\n let resourceMetadataMatrix = new Array();\r\n \r\n if(data && data !== null){\r\n let resouseID: any;\r\n let title: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let teachingpoint: any;\r\n let type: any;\r\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\r\n \r\n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\r\n for (var i = 0; i < resourceMetadata.length;i++){\r\n //----------//resouseID\r\n resouseID = resourceMetadata[i].resourceId;\r\n //----------//subject\r\n if (resourceMetadata[i].subject != undefined) {\r\n if (resourceMetadata[i].subject.title != undefined) {\r\n subject = resourceMetadata[i].subject.title;\r\n } else {\r\n subject = '';\r\n }\r\n } else {\r\n subject = '';\r\n }\r\n //----------//grade\r\n if (resourceMetadata[i].grade != undefined) {\r\n if (resourceMetadata[i].grade.title != undefined) {\r\n grade = resourceMetadata[i].grade.title;\r\n } else {\r\n grade = '';\r\n }\r\n } else {\r\n grade = '';\r\n }\r\n //----------//chapter\r\n if (resourceMetadata[i].chapter != undefined) {\r\n if (resourceMetadata[i].chapter.title != undefined) {\r\n chapter = resourceMetadata[i].chapter.title;\r\n } else {\r\n chapter = '';\r\n }\r\n } else {\r\n chapter = '';\r\n }\r\n \r\n //----------//teachingpoint\r\n if (resourceMetadata[i].teachingpoint != undefined) {\r\n if (resourceMetadata[i].teachingpoint.title != undefined) {\r\n teachingpoint = resourceMetadata[i].teachingpoint.title;\r\n } else {\r\n teachingpoint = '';\r\n }\r\n } else {\r\n teachingpoint = '';\r\n }\r\n //----------//type\r\n if (resourceMetadata[i].type != undefined) {\r\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\r\n } else {\r\n type = '';\r\n }\r\n \r\n //----------//title\r\n if (resourceMetadata[i].title != undefined) {\r\n title = resourceMetadata[i].title;\r\n } else {\r\n title = '';\r\n }\r\n let resourceMetauserConsoleData = {\r\n resouseID:resouseID,\r\n subject:subject,\r\n grade:grade,\r\n chapter:chapter,\r\n teachingpoint:teachingpoint,\r\n type:type,\r\n title:title\r\n }\r\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\r\n this.resoureMetaData = resourceMetadataMatrix;\r\n this.isResoureMetaDataReady.next(true);\r\n }\r\n }\r\n }\r\n // this.resoureMetaData = resourceMetadataMatrix;\r\n return resourceMetadataMatrix;\r\n }\r\n genarateUserReqiuredData(data: any): any {\r\n this.isUserReqiuredDataReady.next(false);\r\n let usersMetadataMatrix = new Array();\r\n let usermetadataMatrixUpdated = new Array();\r\n let schoolTerminalMatrix = new Array();\r\n let userConsoleMatrix = new Array();\r\n if(data && data !== null){\r\n let userConsole = data.usersConsole.userConsole;\r\n let usersMetadata = data.usersMetadata.userMetadata;\r\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\r\n \r\n if(usersMetadata!= null && usersMetadata.length > 0){\r\n for (let i = 0; i < usersMetadata.length; i++) {\r\n let userId: any;\r\n let userName: any;\r\n let userSubjects: any;\r\n let listOfUser:any = {}\r\n if (usersMetadata[i].userId!=\"\") {\r\n userId = usersMetadata[i].userId;\r\n \r\n if (usersMetadata[i].fullName !== undefined) {\r\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\r\n } else {\r\n userName = '';\r\n }\r\n \r\n if (usersMetadata[i].userSubjects !== undefined) {\r\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\r\n } else {\r\n userSubjects = '';\r\n }\r\n \r\n listOfUser = {\r\n userId:userId, \r\n userName:userName, \r\n userSubjects:userSubjects\r\n };\r\n usersMetadataMatrix.push(listOfUser); // array of all users\r\n }\r\n }\r\n }\r\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\r\n usersMetadataMatrix.forEach(element => {\r\n if (usersMetadataMatrix[i].userName === element.userName) {\r\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\r\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\r\n }\r\n });\r\n }\r\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\r\n // const randomNumber = document.createElement('span');\r\n // randomNumber.innerHTML = i.toString();\r\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\r\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\r\n this.usersMetaData = usersMetadataMatrix;\r\n }\r\n if(schoolTerminal != null && schoolTerminal.length > 0){\r\n for (var i = 0; i < schoolTerminal.length; i++) {\r\n let schoolId:any;\r\n let terminalKey:any;\r\n let terminalType:any;\r\n let location:any;\r\n let schoolTerminalData:any = {};\r\n \r\n //----------//schoolId\r\n if (schoolTerminal[i].schoolId !== undefined) {\r\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\r\n } else {\r\n schoolId = '';\r\n }\r\n //----------//terminalKey\r\n if (schoolTerminal[i].terminalKey !== undefined) {\r\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\r\n } else {\r\n terminalKey = '';\r\n }\r\n //----------//terminalType\r\n if (schoolTerminal[i].terminalType !== undefined) {\r\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\r\n } else {\r\n terminalType = '';\r\n }\r\n \r\n //----------//location\r\n if (schoolTerminal[i].metadata !== undefined) {\r\n let metadataJSON = JSON.parse(schoolTerminal[i].metadata);\r\n \r\n location = metadataJSON.location // get name of user w.r.t. ID\r\n console.log(\"metadataJSON\",location);\r\n } else {\r\n location = '';\r\n }\r\n schoolTerminalData = {\r\n schoolId:schoolId,\r\n terminalKey:terminalKey,\r\n terminalType:terminalType,\r\n location:location\r\n };\r\n \r\n schoolTerminalMatrix.push(schoolTerminalData);\r\n this.schoolTerminalData = schoolTerminalMatrix;\r\n }\r\n }\r\n if(userConsole !=null && userConsole.length > 0){\r\n for (let index = 0; index < userConsole.length; index++) {\r\n let userId: any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let selectedDate: any;\r\n let terminalIP: any;\r\n let userConsoleResources: any;\r\n let resourceMetadataIDS: any;\r\n let resourceMetauserConsoleData = new Array();\r\n let userName:any;\r\n let userSubjects:any;\r\n let terminalLocation: any;\r\n //----------//user iD\r\n if (userConsole[index].userId !== undefined) {\r\n userId = userConsole[index].userId // get name of user w.r.t. ID\r\n } else {\r\n userId = '';\r\n }\r\n //----------// startTime \r\n if (userConsole[index].startTime !== undefined) {\r\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\r\n } else {\r\n startTime = '';\r\n }\r\n //----------// endTime \r\n if (userConsole[index].endTime !== undefined) {\r\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\r\n this.myEndTime = endTime;\r\n } else {\r\n endTime = '';\r\n }\r\n //----------// Date \r\n if (userConsole[index].selectedDate !== undefined) {\r\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\r\n } else {\r\n selectedDate = '';\r\n }\r\n \r\n //----------// Duration\r\n if (userConsole[index].duration !== undefined) {\r\n duration = userConsole[index].duration // get name of user w.r.t. ID\r\n } else {\r\n duration = '';\r\n }\r\n //----------// terminalIP\r\n if (userConsole[index].terminalIP !== undefined) {\r\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\r\n } else {\r\n terminalIP = '';\r\n }\r\n \r\n //----------// userConsoleResources\r\n if (userConsole[index].userConsoleResources !== undefined) {\r\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\r\n } else {\r\n userConsoleResources = null;\r\n }\r\n \r\n if(userConsoleResources != null){\r\n if (userConsoleResources.userConsoleResource !== undefined) {\r\n resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\r\n } else {\r\n resourceMetauserConsoleData = [];\r\n }\r\n }\r\n \r\n //----------// userName and userSubjects\r\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\r\n if (userId === usersMetadataMatrix[i].userId) {\r\n userName = usersMetadataMatrix[i].userName;\r\n userSubjects = usersMetadataMatrix[i].userSubjects;\r\n }\r\n }\r\n //----------// terminalIP and terminalLocation\r\n \r\n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\r\n console.log(\"schoolTerminalMatrix[i]\",schoolTerminalMatrix[i]);\r\n console.log(\"schoolTerminalMatrix[i].terminalKey\",terminalIP,schoolTerminalMatrix[i].terminalKey);\r\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\r\n terminalLocation = schoolTerminalMatrix[i].location;\r\n break;\r\n }else{\r\n terminalLocation = \"location\";\r\n }\r\n }\r\n let userData = {\r\n userId:userId,\r\n userName:userName,\r\n startTime:new Date(startTime),\r\n endTime:new Date(endTime),\r\n terminalIP:terminalIP,\r\n resourceMetauserConsoleData:resourceMetauserConsoleData,\r\n duration:duration,\r\n terminalLocation:terminalLocation,\r\n userSubjects:userSubjects\r\n }\r\n userConsoleMatrix.push(userData);\r\n this.userConsoleData = userConsoleMatrix;\r\n this.isUserReqiuredDataReady.next(true);\r\n }\r\n }\r\n }\r\n // console.log(usersMetadataMatrix,schoolTerminalMatrix,userConsoleMatrix);\r\n return {\r\n usersMetadata:usersMetadataMatrix,\r\n schoolTerminalData:schoolTerminalMatrix,\r\n userConsoleData: userConsoleMatrix\r\n }\r\n }\r\n userWiseChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n if(this.userConsoleData){\r\n if(this.userConsoleData.length > 0){\r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n let userData = [this.userConsoleData[i].userName,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n }\r\n return dataTableforChart;\r\n }\r\n classRoomWiseChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n if(this.userConsoleData){\r\n console.log(\"this.userConsoleData\",this.userConsoleData);\r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n let userData = [this.userConsoleData[i].terminalIP,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n return dataTableforChart;\r\n \r\n }\r\n allUserChartData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n let AlluserDetailsForTableChart =new Array();\r\n AlluserDetailsForTableChart = [];\r\n if(this.userConsoleData && this.usersMetaData){\r\n let inActiveuserName: any;\r\n let userSubjects: any;\r\n let myID: any;\r\n let AlluserDetails =new Array();\r\n for (let index = 0; index < this.userConsoleData.length; index++) {\r\n AlluserDetails.push(this.userConsoleData[index]);\r\n AlluserDetailsForTableChart.push(this.userConsoleData[index])\r\n }\r\n for (let i = 0; i < this.usersMetaData.length; i++) {\r\n myID = this.usersMetaData[i].userId;\r\n inActiveuserName = this.usersMetaData[i].userName;\r\n userSubjects = this.usersMetaData[i].userSubjects;\r\n let myChartRowuserConsoleData = \r\n {\r\n userId:myID,\r\n userName:inActiveuserName,\r\n startTime:new Date(this.myEndTime),\r\n endTime:new Date(this.myEndTime),\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:\"0\",\r\n terminalLocation:\"\",\r\n userSubjects:userSubjects\r\n };\r\n AlluserDetails.push(myChartRowuserConsoleData);\r\n \r\n let myTableRowuserConsoleData = {\r\n userId:myID,\r\n userName:inActiveuserName,\r\n startTime:\"\",\r\n endTime:\"\",\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:0,\r\n terminalLocation:\"\",\r\n userSubjects:userSubjects\r\n };\r\n AlluserDetailsForTableChart.push(myTableRowuserConsoleData);\r\n }\r\n for(let i = 0; i < AlluserDetails.length; i++){\r\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n }\r\n return {forChartData:dataTableforChart,fordurationTable:AlluserDetailsForTableChart}\r\n }\r\n allRoomsData(){\r\n let dataTableforChart = new Array();\r\n dataTableforChart = [];\r\n let allRoomsDetails = new Array();\r\n allRoomsDetails = [];\r\n if(this.userConsoleData && this.schoolTerminalData){\r\n let myChartRowData: any={};\r\n let inActiveClassRoom: any;\r\n for(let i = 0; i < this.userConsoleData.length; i++){\r\n allRoomsDetails.push(this.userConsoleData[i]);\r\n let userData = [this.userConsoleData[i].terminalLocation,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\r\n dataTableforChart.push(userData);\r\n }\r\n \r\n for (let i = 0; i < this.schoolTerminalData.length; i++) {\r\n inActiveClassRoom = this.schoolTerminalData[i].location;\r\n \r\n myChartRowData = {\r\n userId:\"\",\r\n userName:\"\",\r\n startTime:new Date(this.myEndTime),\r\n endTime:new Date(this.myEndTime),\r\n terminalIP:\"\",\r\n resourceMetauserConsoleData:[],\r\n duration:0,\r\n terminalLocation:inActiveClassRoom,\r\n userSubjects:\"\"\r\n };\r\n allRoomsDetails.push(myChartRowData);\r\n let myChartRowuserConsoleData = [inActiveClassRoom,new Date(this.myEndTime),new Date(this.myEndTime)];\r\n dataTableforChart.push(myChartRowuserConsoleData);\r\n }\r\n \r\n }\r\n return {forChartData:dataTableforChart,fordurationTable:allRoomsDetails};\r\n }\r\n dataForTableView(userConsoleMatrix: any,resourceMetadataMatrix: any) {\r\n let currentDate: any;\r\n let resourceMatrixForTableChart = new Array();\r\n let resourceMatrixForExcel = new Array();\r\n resourceMatrixForTableChart = [];\r\n resourceMatrixForExcel = [];\r\n for (let i = 0; i <userConsoleMatrix.length; i++) {\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let AssestDetail: any;\r\n let resourceType: any;\r\n let resourceTitle: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n \r\n let resourceMetadataIDs: any;\r\n let resourceArrayForExcel = new Array();\r\n let resourceArrayForTableChart = new Array();\r\n let userConsoleDataMatrix = new Array();\r\n resourceArrayForTableChart = [];\r\n userConsoleDataMatrix = [];\r\n //----------------- for subject and Name\r\n \r\n\r\n teacherSubject = userConsoleMatrix[i].userSubjects;\r\n teacherName = userConsoleMatrix[i].userName;\r\n //----------------- for start Time and EndTime \r\n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\r\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[i].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[i].terminalLocation;\r\n terminalIP = userConsoleMatrix[i].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n \r\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = undefined;\r\n grade = undefined;\r\n chapter = undefined;\r\n teachingpoint = undefined;\r\n AssestDetail = undefined;\r\n resourceTitle = undefined;\r\n resourceType = undefined;\r\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\r\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\r\n \r\n }else{\r\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \": \" + resourceMetadataMatrix[i].title;\r\n\r\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\r\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\r\n teacherName = undefined;\r\n teacherSubject = undefined;\r\n currentDate = undefined;\r\n startTime = undefined;\r\n endTime = undefined;\r\n duration = undefined;\r\n roomDetail = undefined;\r\n \r\n }\r\n }\r\n }\r\n }\r\n }\r\n return resourceMatrixForTableChart;\r\n }\r\n dataForDetailedView(userConsoleMatrix: any,resourceMetadataMatrix: any, rowLabel: any) {\r\n let detailedView_UserDataMatrix = new Array();\r\n detailedView_UserDataMatrix = [];\r\n let detailedView_ResourceDataMatrix = new Array();\r\n detailedView_ResourceDataMatrix = [];\r\n \r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let AssestDetail: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n let currentDate: any;\r\n let resourceMetadataIDs: any;\r\n let resourceArrayForTableChart = new Array();\r\n resourceArrayForTableChart = [];\r\n //----------------- for subject and Name\r\n teacherSubject = userConsoleMatrix[rowLabel].userSubjects;\r\n teacherName = userConsoleMatrix[rowLabel].userName;\r\n //----------------- for start Time and EndTime\r\n if ((userConsoleMatrix[rowLabel].startTime != undefined && userConsoleMatrix[rowLabel].startTime != \"\") && (userConsoleMatrix[rowLabel].endTime != undefined&&userConsoleMatrix[rowLabel].endTime != \"\")) {\r\n startTime = userConsoleMatrix[rowLabel].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[rowLabel].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[rowLabel].startTime.getDate() + '/' + userConsoleMatrix[rowLabel].startTime.getMonth() + '/' + userConsoleMatrix[rowLabel].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[rowLabel].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[rowLabel].terminalLocation;\r\n terminalIP = userConsoleMatrix[rowLabel].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n resourceMetadataIDs = userConsoleMatrix[rowLabel].resourceMetauserConsoleData;\r\n\r\n detailedView_UserDataMatrix = [teacherName,startTime,teacherSubject,endTime,roomDetail]\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = undefined;\r\n grade = undefined;\r\n chapter = undefined;\r\n teachingpoint = undefined;\r\n AssestDetail = undefined;\r\n // resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\r\n // detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\r\n }else{\r\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n AssestDetail =resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title;\r\n \r\n resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\r\n detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\r\n }\r\n }\r\n }\r\n } \r\n \r\n return {userDetails:detailedView_UserDataMatrix,resourceDetails:detailedView_ResourceDataMatrix};\r\n }\r\n // To GET DISPLAY TYPE\r\n getDisplaytypeValue(key: any) {\r\n let assetTypeConfig = [\r\n {\r\n type: \"asset_media\",\r\n display: \"Media\"\r\n },\r\n {\r\n type: \"asset_print\",\r\n display: \"Print\"\r\n },\r\n {\r\n type: \"quiz\",\r\n display: \"Quiz\"\r\n },\r\n {\r\n type: \"question\",\r\n display: \"Question\"\r\n },\r\n {\r\n type: \"chapter\",\r\n display: \"Chapter\"\r\n },\r\n {\r\n type: \"tp\",\r\n display: \"Topic\"\r\n },\r\n {\r\n type: \"whiteboard\",\r\n display: \"Whiteboard\"\r\n },\r\n {\r\n type: \"widget\",\r\n display: \"Widget\"\r\n },\r\n {\r\n type: \"casset_media\",\r\n display: \"cMedia\"\r\n },\r\n {\r\n type: \"casset_print\",\r\n display: \"cPrint\"\r\n },\r\n {\r\n type: \"cquiz\",\r\n display: \"cQuiz\"\r\n },\r\n {\r\n type: \"cquestion\",\r\n display: \"cQuestion\"\r\n },\r\n {\r\n type: \"image\",\r\n display: \"Image\"\r\n },\r\n {\r\n type: \"video\",\r\n display: \"Video\"\r\n },\r\n\r\n ];\r\n let displayValue = key;\r\n assetTypeConfig.forEach((value) => {\r\n if (value.type === key) {\r\n displayValue = value.display;\r\n }\r\n });\r\n return displayValue;\r\n\r\n }\r\n}\r\n","import { Component, OnInit ,Output, ViewChild, Input,EventEmitter } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-principal-dashboard-lib-v2',\r\n templateUrl: './principal-dashboard-lib-v2.component.html',\r\n styleUrls: ['./principal-dashboard-lib-v2.component.scss']\r\n})\r\nexport class PrincipalDashboardLibV2Component implements OnInit {\r\n @Input() data;\r\n @Input() set responseStatus(res: any) {\r\n this.setMessageForUser(res);\r\n // console.log(\" @Input() set responseStatus(res: any) >>>>>>>>>>>>.\",res);\r\n }\r\n @Output() userSelectedDate = new EventEmitter();\r\n messageForUser = \"Loding...\";\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n \r\n // console.log(\" IN --> 7 data\",this.data);\r\n }\r\n setMessageForUser(res: any){\r\n this.messageForUser = res;\r\n }\r\n onUserSelectDate(e:any){\r\n // console.log(\" IN --> 1\");\r\n this.data = null;\r\n this.userSelectedDate.emit(e);\r\n }\r\n \r\n\r\n}\r\n","import { getLocaleDateTimeFormat } from '@angular/common';\r\nimport { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core';\r\nimport { ChartType } from 'angular-google-charts';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\ndeclare let require: any;\r\n\r\n@Component({\r\n selector: 'lib-chartheader',\r\n templateUrl: './chartheader.component.html',\r\n styleUrls: ['./chartheader.component.scss'],\r\n})\r\nexport class ChartheaderComponent implements OnInit {\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) {}\r\n \r\n //variables\r\n mytype = ChartType.Timeline;\r\n datadisplaytype = 'UserWise';\r\n isUserWise = true;\r\n myIcon: any;\r\n libVersion:any;\r\n isChartView=true;\r\n\r\n ngOnInit(): void {\r\n this.libVersion = \"0.0.13\";\r\n // this.myIcon = document.getElementById('myIconImg');\r\n // this.changeChatType() \r\n }\r\n changeChatType() {\r\n if (this.mytype == ChartType.Timeline) {\r\n this.isChartView = false;\r\n this.mytype = ChartType.Table;\r\n this.pdService.chartType.next(this.mytype);\r\n \r\n } else {\r\n this.isChartView = true;\r\n this.mytype = ChartType.Timeline;\r\n \r\n this.pdService.chartType.next(this.mytype);\r\n }\r\n }\r\n changeDataTypeClassRoom() {\r\n this.isUserWise = false;\r\n this.pdService.isUserWise_data.next(false);\r\n }\r\n changeDataTypeUser() {\r\n this.isUserWise = true;\r\n this.pdService.isUserWise_data.next(true);\r\n }\r\n}\r\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || from);\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n","import {\r\n Component,\r\n ElementRef,\r\n OnInit,\r\n ViewChild,\r\n Input,\r\n HostListener,\r\n} from '@angular/core';\r\nimport { ChartType, GoogleChartComponent } from 'angular-google-charts';\r\nimport { element } from 'protractor';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\n@Component({\r\n selector: 'lib-chartview',\r\n templateUrl: './chartview.component.html',\r\n styleUrls: ['./chartview.component.scss'],\r\n})\r\nexport class ChartviewComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadChart(res);\r\n }\r\n \r\n }\r\n chartview:any;\r\n myDataList:any;\r\n chartDataTable:any;\r\n myChartOptions: any;\r\n AllrowHeight: any;\r\n myXmlData: any;\r\n currentdataList:any;\r\n resourceDataList:any;\r\n alldataList:any;\r\n selectedUserData:any;\r\n rowElements:any;\r\n \r\n installedClassrooms: any;\r\n currentRooms: any;\r\n totalUsers = 0;\r\n eligibleUsers = 0;\r\n currentUsers = 0;\r\n myChartType = ChartType.Timeline;\r\n myChartwidth = window.innerWidth * 0.88;\r\n myChartHeight = window.innerHeight;\r\n currentList = \"Current Users\";\r\n allList = \"All Users\";\r\n isAllUsers = false;\r\n isUserWise = false;\r\n alluserList: any;\r\n myChartDataMatrix = new Array();\r\n \r\n totalChartDataMatrix = new Array();\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) { }\r\n\r\n ngOnInit() { }\r\n\r\n loadChart(response: any) {\r\n // console.log(' IN --> 8 loadChart');\r\n this.totalUsers = 0;\r\n this.eligibleUsers = 0;\r\n this.currentUsers = 0;\r\n this.myChartType = ChartType.Timeline;\r\n this.myChartwidth = window.innerWidth * 0.88;\r\n this.myChartHeight = window.innerHeight;\r\n this.currentList = \"Current Users\";\r\n this.allList = \"All Users\";\r\n this.isAllUsers = false;\r\n this.isUserWise = false;\r\n this.myChartDataMatrix =[];\r\n this.totalChartDataMatrix =[];\r\n\r\n this.chartview = document.getElementById('pd-chartview');\r\n this.myDataList = document.getElementById('pd-xmlData');\r\n // let parse = new DOMParser();\r\n if(response){\r\n this.myXmlData = JSON.parse(response);\r\n }\r\n \r\n if(this.myXmlData){\r\n this.currentdataList = this.pdService.genarateUserReqiuredData(this.myXmlData);\r\n this.alluserList = this.pdService.allUserChartData();\r\n this.resourceDataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\r\n this.totalUsers = this.currentdataList.usersMetadata.length;\r\n this.findCurrentUserCount();\r\n }\r\n this.pdService.chartType.subscribe((data) => {\r\n if (data) {\r\n this.updateChartType(data);\r\n }\r\n });\r\n this.pdService.isUserWise_data.subscribe((data) => {\r\n this.updateDataType(data);\r\n });\r\n window.addEventListener('resize', this.onResizeWindow.bind(this));\r\n }\r\n onResizeWindow(event: any) {\r\n this.myChartwidth = window.innerWidth * 0.88; //set an appropriate factor\r\n }\r\n myChartReady() {\r\n this.createDivforTotalDurartion();\r\n this.setHeightofDivforTotalDurartion();\r\n // this.removeBlankEntryBar();\r\n }\r\n updateChartType(dataType: any) {\r\n if (this.chartview != null && this.chartview != undefined) {\r\n if (dataType == ChartType.Table) {\r\n this.chartview.style.display = 'none';\r\n } else {\r\n this.chartview.style.display = 'block';\r\n }\r\n }\r\n }\r\n updateDataType(dataType: any) {\r\n this.isUserWise = dataType;\r\n if (this.myXmlData) {\r\n if(this.isUserWise){\r\n this.currentList = \"Current Users\";\r\n this.allList = \"All Users\";\r\n if(this.isAllUsers){\r\n this.userWiseAllData();\r\n }else{\r\n this.userWiseCurrentData();\r\n } \r\n }else{\r\n this.allList = \"All Rooms\";\r\n this.currentList = \"Current Rooms\";\r\n if(this.isAllUsers){\r\n this.classRoomWiseAllData();\r\n }else{\r\n this.classRoomWiseCurrentData();\r\n } \r\n }\r\n }\r\n }\r\n updateChart() {\r\n let labels = document.getElementById('labels');\r\n while (labels.firstChild) {\r\n labels.removeChild(labels.lastChild);\r\n }\r\n this.chartDataTable = this.myChartDataMatrix;\r\n console.log(\"this.myChartDataMatrix\",this.myChartDataMatrix);\r\n \r\n \r\n (this.myChartOptions = {\r\n tooltip: {\r\n trigger: 'none',\r\n },\r\n colors: ['#ff7f0e', '#2ca02c', '#8c564b', '#d62728', '#bcbd22', '#17becf'],\r\n timeline: {\r\n colorByRowLabel: true,\r\n barLabelStyle: {\r\n fontSize: 7,\r\n },\r\n },\r\n hAxis: {\r\n format: 'HH:mm a',\r\n },\r\n });\r\n setTimeout(() => {\r\n this.myChartHeight = this.AllrowHeight + 100;//to set perfect height of chart \r\n }, 1000);\r\n }\r\n\r\n calulateTotalDuration(detailViewMatrix:any) {\r\n \r\n let id_durationArray;\r\n let id_durationMatrix = new Array();\r\n id_durationMatrix = [];\r\n this.totalChartDataMatrix = [];\r\n if (this.isUserWise) {\r\n for (let i = 0; i < detailViewMatrix.length; i++) {\r\n id_durationArray = {\r\n name: detailViewMatrix[i].userName,\r\n value: parseInt(detailViewMatrix[i].duration),\r\n };\r\n id_durationMatrix.push(id_durationArray);\r\n }\r\n } else {\r\n for (let i = 0; i < detailViewMatrix.length; i++) {\r\n id_durationArray = {\r\n name: detailViewMatrix[i].terminalLocation,\r\n value: parseInt(detailViewMatrix[i].duration),\r\n };\r\n id_durationMatrix.push(id_durationArray);\r\n }\r\n }\r\n \r\n let obj: any = {};\r\n id_durationMatrix = [...new Set(id_durationMatrix)];\r\n \r\n id_durationMatrix.forEach((item) => {\r\n if (obj[item.name]) {\r\n obj[item.name].value = obj[item.name].value + item.value;\r\n } else {\r\n\r\n obj[item.name] = item;\r\n }\r\n });\r\n let valuesArr = Object.values(obj);\r\n \r\n let myArray = new Array();\r\n myArray = [];\r\n valuesArr.forEach((item: any) => {\r\n myArray.push(item.value);\r\n });\r\n for (let i = 0; i < myArray.length; i++) {\r\n let totaldurationPerRow = [this.timeConvert(myArray[i]).toString() + ' hrs'];\r\n // let totalChartRowDataArray = [totaldurationPerRow];\r\n this.totalChartDataMatrix.push(totaldurationPerRow);\r\n }\r\n }\r\n timeConvert(n: any) {\r\n var num = Math.floor(n);\r\n var hours = num / 60;\r\n var rhours = Math.floor(hours);\r\n var minutes = (hours - rhours) * 60;\r\n var rminutes = Math.round(minutes);\r\n return rhours + ':' + rminutes;\r\n }\r\n removeBlankEntryBar() {\r\n const chartDiv = document.getElementById('myTimeLine');\r\n var el = chartDiv.getElementsByTagName(\"rect\"); //get all the descendant rect element inside the container \r\n var width = 100000000; //set a large initial value to width\r\n var elToRem = []; //element would be added to this array for removal\r\n for (var i = 0; i < el.length; i++) { //looping over all the rect element of container\r\n var cwidth = parseInt(el[i].getAttribute(\"width\"));//getting the width of ith element\r\n if (cwidth < width) { //if current element width is less than previous width then this is min. width and ith element should be removed\r\n elToRem = [el[i]];\r\n width = cwidth; //setting the width with min width\r\n }\r\n else if (cwidth == width) { //if current element width is equal to previous width then more that one element would be removed\r\n elToRem.push(el[i]);\r\n }\r\n }\r\n for (var i = 0; i < elToRem.length; i++) {\r\n // now iterate JUST the elements to remove\r\n elToRem[i].setAttribute(\"fill\", \"none\");\r\n\r\n }\r\n }\r\n createDivforTotalDurartion() {\r\n let rowLabels = [];\r\n this.rowElements = [];\r\n var labels = document.getElementById('labels');\r\n while (labels.firstChild) {\r\n labels.removeChild(labels.lastChild);\r\n }\r\n for (var i = 0; i < this.totalChartDataMatrix.length; i++) {\r\n var team = this.totalChartDataMatrix[i][0];\r\n rowLabels.push(team);\r\n var label = labels.appendChild(document.createElement('div'));\r\n label.style['border-bottom'] = '1px solid #b7b7b7';\r\n label.style['font-family'] = 'Arial';\r\n label.style['font-size'] = '13px';\r\n label.style['text-align'] = 'left';\r\n label.style['padding-left'] = '8px';\r\n label.style['padding-right'] = '8px';\r\n label.style.position = 'inherit';\r\n if (i % 2) {\r\n label.style['background-color'] = '#e6e6e6';\r\n } else {\r\n label.style['background-color'] = '#ffffff';\r\n }\r\n label.innerHTML = team;\r\n this.rowElements.push(label);\r\n }\r\n }\r\n setHeightofDivforTotalDurartion() {\r\n \r\n this.AllrowHeight = 0;\r\n const chartDiv = document.getElementById('myTimeLine');\r\n let rows = chartDiv.getElementsByTagName('rect');\r\n let rowIndex = -1;\r\n\r\n for (let i = 0; i < rows.length; i++) {\r\n rowIndex++;\r\n if (rowIndex < this.rowElements.length) {\r\n let rowHeight = parseFloat(rows[i].getAttribute('height')) + 'px';\r\n this.AllrowHeight += parseFloat(rows[i].getAttribute('height'));\r\n\r\n const currentCell = this.rowElements[rowIndex];\r\n if (currentCell) {\r\n currentCell.style.height = rowHeight;\r\n currentCell.style.lineHeight = rowHeight;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSelectRowData(event: any) {\r\n const { row, column } = event.selection[0]; \r\n if(this.isAllUsers){\r\n this.selectedUserData = this.pdService.dataForDetailedView(this.alluserList.fordurationTable,this.resourceDataList, row);\r\n \r\n }else{\r\n this.selectedUserData = this.pdService.dataForDetailedView(this.currentdataList.userConsoleData,this.resourceDataList, row);\r\n \r\n \r\n }\r\n // console.log(\"this.selectedUserData\",this.selectedUserData);\r\n this.pdService.detailedviewData.next(this.selectedUserData);\r\n this.updateChart();\r\n // alluserList\r\n }\r\n showAllUser() {\r\n this.pdService.isAllUsers.next(true);\r\n this.isAllUsers = true;\r\n if(this.isUserWise){\r\n this.userWiseAllData();\r\n }else{\r\n this.classRoomWiseAllData();\r\n }\r\n }\r\n showCurrentUser() {\r\n this.isAllUsers = false;\r\n this.pdService.isAllUsers.next(false);\r\n if(this.isUserWise){\r\n this.userWiseCurrentData();\r\n }else{\r\n this.classRoomWiseCurrentData();\r\n }\r\n }\r\n userWiseCurrentData(){\r\n \r\n let chartDataUserWise = this.pdService.userWiseChartData();\r\n // console.log(\"chartDataUserWise\",chartDataUserWise);\r\n \r\n if(chartDataUserWise.length>0){\r\n this.myChartDataMatrix =chartDataUserWise;\r\n this.updateChart();\r\n if(this.currentdataList.userConsoleData.length>0){\r\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\r\n }\r\n } \r\n }\r\n userWiseAllData(){\r\n let chartDataUserWise = this.alluserList.forChartData;\r\n if(chartDataUserWise.length>0){\r\n this.myChartDataMatrix =chartDataUserWise;\r\n \r\n this.updateChart();\r\n this.calulateTotalDuration(this.alluserList.fordurationTable);\r\n }\r\n \r\n }\r\n classRoomWiseCurrentData(){\r\n let classRoomdata = this.pdService.classRoomWiseChartData();\r\n // console.log(\"classRoomdata\",classRoomdata);\r\n if(classRoomdata && classRoomdata.length>0){\r\n \r\n \r\n this.myChartDataMatrix =classRoomdata; \r\n this.updateChart();\r\n if(this.currentdataList.userConsoleData.length>0){\r\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\r\n }\r\n } \r\n }\r\n \r\n classRoomWiseAllData(){\r\n let allclassRoomList = this.pdService.allRoomsData();\r\n if(allclassRoomList.forChartData && allclassRoomList.forChartData.length > 0){\r\n this.myChartDataMatrix = allclassRoomList.forChartData;\r\n this.updateChart();\r\n }\r\n if(allclassRoomList.fordurationTable && allclassRoomList.fordurationTable.length > 0){\r\n this.calulateTotalDuration(allclassRoomList.fordurationTable);\r\n }\r\n \r\n }\r\n\r\n findCurrentUserCount(){\r\n let userConsoleData = this.currentdataList.userConsoleData;\r\n \r\n let userNameArray = new Array();\r\n for (let index = 0; index < userConsoleData.length; index++) {\r\n const element = userConsoleData[index].userName;\r\n userNameArray.push(element);\r\n }\r\n let uniqueUserName = [...new Set(userNameArray)];\r\n this.currentUsers = uniqueUserName.length;\r\n }\r\n ngOnDestroy() {\r\n // console.log('ngOnDestroy >>');\r\n }\r\n}\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\n\r\n@Component({\r\n selector: 'lib-detailedview',\r\n templateUrl: './detailedview.component.html',\r\n styleUrls: ['./detailedview.component.scss'],\r\n})\r\nexport class DetailedviewComponent implements OnInit {\r\n userMetadata: any;\r\n resourseMetadata: any;\r\n deatilViewContainer: any;\r\n deatilViewTable: any;\r\n closeButton: any;\r\n getTotalData:any\r\n userMetadataHeadingArray = [\r\n 'Name:',\r\n 'Start Time:',\r\n 'Subject:',\r\n 'End Time:',\r\n 'Room Details:',\r\n ];\r\n resourseMetadataHeadingArray = [\r\n 'Subject',\r\n 'Class',\r\n 'Chapter Name',\r\n 'Topic Name',\r\n 'Assets Details',\r\n ];\r\n constructor(private pdService: PrincipalDashboardLibV2Service) {}\r\n\r\n ngOnInit(): void {\r\n this.deatilViewContainer = document.getElementById('pd-deatilViewContainer');\r\n this.deatilViewTable = document.getElementById('pd-deatilViewTable');\r\n this.closeButton = document.getElementById('pd-closeButton');\r\n \r\n this.pdService.detailedviewData.subscribe((data) => {\r\n if(data){\r\n if(data.userDetails.length>0 ){\r\n this.createTable(data.userDetails);\r\n }\r\n if(data.resourceDetails.length>0){\r\n // console.log(\"data.resourceDetails\",data.resourceDetails);\r\n \r\n this.createResourcesTable(data.resourceDetails);\r\n }\r\n }\r\n \r\n });\r\n \r\n this.deatilViewContainer.style.display = 'none';\r\n }\r\n createTable(userMetadata: any) {\r\n this.deatilViewContainer.style.display = 'block';\r\n while (this.deatilViewTable.firstChild) {\r\n this.deatilViewTable.removeChild(this.deatilViewTable.lastChild);\r\n }\r\n\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < userMetadata.length; i++) {\r\n let label = document.createElement('label');\r\n label.appendChild(\r\n document.createTextNode(this.userMetadataHeadingArray[i])\r\n );\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n let data = document.createElement('label');\r\n data.appendChild(document.createTextNode(userMetadata[i]));\r\n if (data.textContent === 'undefined'|| data.textContent === undefined) {\r\n data.textContent = '';\r\n }\r\n labelArray.push(data);\r\n }\r\n let tbl = document.createElement('table');\r\n tbl.id = \"userDataTable\";\r\n tbl.className = \"table table-bordered\";\r\n let tblBody = document.createElement('tbody');\r\n for (let j = 0; j < userMetadata.length / 2; j++) {\r\n let row = document.createElement('tr');\r\n let cell: any;\r\n for (let i = 0; i < 4; i++) {\r\n if (i % 2 == 0) {\r\n cell = document.createElement('th');\r\n cell.style['font-weight'] = \"bold\"\r\n // cell.style.background =\"#e0e0e0\";\r\n } else {\r\n cell = document.createElement('td');\r\n }\r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n tblBody.appendChild(row);\r\n tbl.appendChild(tblBody);\r\n this.deatilViewTable.appendChild(tbl);\r\n }\r\n }\r\n createResourcesTable(resoureMetadata: any) {\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < this.resourseMetadataHeadingArray.length; i++) {\r\n let label = document.createElement('label');\r\n label.appendChild(\r\n document.createTextNode(this.resourseMetadataHeadingArray[i])\r\n );\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n }\r\n for (let i = 0; i < resoureMetadata.length; i++) {\r\n for (let j = 0; j < 5; j++) {\r\n let label = document.createElement('label');\r\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\r\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n }\r\n }\r\n let tbl = document.createElement('table');\r\n tbl.className = \"table table-bordered\";\r\n tbl.id = \"resoureMetadataTable\";\r\n let tblBody = document.createElement('tbody');\r\n for (let j = 0; j <= resoureMetadata.length; j++) {\r\n let row = document.createElement('tr');\r\n let cell: any;\r\n for (let i = 0; i < 5; i++) {\r\n if (j == 0) {\r\n cell = document.createElement('th');\r\n cell.style['font-weight'] = 'bold';\r\n // cell.style.background =\"#e0e0e0\";\r\n } else {\r\n cell = document.createElement('td');\r\n }\r\n\r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n tblBody.appendChild(row);\r\n tbl.appendChild(tblBody);\r\n this.deatilViewTable.appendChild(tbl);\r\n }\r\n }\r\n \r\n onCloseBtnClick() {\r\n this.deatilViewContainer.style.display = 'none';\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { resourceUsage } from 'process';\r\nimport * as FileSaver from 'file-saver'\r\nimport * as XLSX from 'xlsx';\r\nimport { HtmlTagDefinition } from '@angular/compiler';\r\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\r\nconst EXCEL_EXTENSION = '.xlsx';\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ExceldataService {\r\n resourceTypes = new Array();\r\n myEndTime:any;\r\n constructor() { }\r\n //_____FOR EXCEL CONVERTOR\r\n public workbook:any;\r\n public tabName = [{\"name\":\"School\"},{\"name\":\"User Summary\"},{\"name\":\"Terminal Summary\"},{\"name\":\"Usage Details\"}]\r\n public exportAsExcelFile(json: any,excelFileName: string): void {\r\n let excelBuffer: any;\r\n let myobj: any = {Sheets:{}, SheetNames:[] }\r\n for (let i = 0; i < json.length; i++) {\r\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[i]);\r\n myobj.Sheets[this.tabName[i].name] = worksheet\r\n myobj.SheetNames.push(this.tabName[i].name)\r\n }\r\n const workbook:XLSX.WorkBook = myobj; \r\n excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\r\n this.saveAsExcelFile(excelBuffer, excelFileName);\r\n }\r\n\r\n private saveAsExcelFile(buffer: any, fileName: string): void {\r\n const data: Blob = new Blob([buffer], {\r\n type: EXCEL_TYPE\r\n });\r\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\r\n }\r\n //_____FOR EXCEL CONVERTOR END\r\n\r\n genarateResourseReqiuredData_Excel(data: any): any {\r\n let resouseID: any;\r\n let title: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let teachingpoint: any;\r\n let type: any;\r\n let resourceMetadataMatrix = new Array();\r\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\r\n \r\n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\r\n for (var i = 0; i < resourceMetadata.length;i++){\r\n //----------//resouseID\r\n resouseID = resourceMetadata[i].resourceId;\r\n //----------//subject\r\n if (resourceMetadata[i].subject != undefined) {\r\n if (resourceMetadata[i].subject.title != undefined) {\r\n subject = resourceMetadata[i].subject.title;\r\n } else {\r\n subject = '';\r\n }\r\n } else {\r\n subject = '';\r\n }\r\n //----------//grade\r\n if (resourceMetadata[i].grade != undefined) {\r\n if (resourceMetadata[i].grade.title != undefined) {\r\n grade = resourceMetadata[i].grade.title;\r\n } else {\r\n grade = '';\r\n }\r\n } else {\r\n grade = '';\r\n }\r\n //----------//chapter\r\n if (resourceMetadata[i].chapter != undefined) {\r\n if (resourceMetadata[i].chapter.title != undefined) {\r\n chapter = resourceMetadata[i].chapter.title;\r\n } else {\r\n chapter = '';\r\n }\r\n } else {\r\n chapter = '';\r\n }\r\n \r\n //----------//teachingpoint\r\n if (resourceMetadata[i].teachingpoint != undefined) {\r\n if (resourceMetadata[i].teachingpoint.title != undefined) {\r\n teachingpoint = resourceMetadata[i].teachingpoint.title;\r\n } else {\r\n teachingpoint = '';\r\n }\r\n } else {\r\n teachingpoint = '';\r\n }\r\n //----------//type\r\n if (resourceMetadata[i].type != undefined) {\r\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\r\n } else {\r\n type = '';\r\n }\r\n \r\n //----------//title\r\n if (resourceMetadata[i].title != undefined) {\r\n title = resourceMetadata[i].title;\r\n } else {\r\n title = '';\r\n }\r\n \r\n \r\n let resourceMetauserConsoleData = {\r\n resouseID:resouseID,\r\n subject:subject,\r\n grade:grade,\r\n chapter:chapter,\r\n teachingpoint:teachingpoint,\r\n type:type,\r\n title:title\r\n }\r\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\r\n this.resourceTypes.push(type);\r\n }\r\n }\r\n this.resourceTypes = [...new Set(this.resourceTypes)]\r\n return resourceMetadataMatrix;\r\n }\r\n genarateUserReqiuredData_Excel(data: any): any {\r\n let userConsole = data.usersConsole.userConsole;\r\n let usersMetadata = data.usersMetadata.userMetadata;\r\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\r\n \r\n \r\n let usersMetadataMatrix = new Array();\r\n let usermetadataMatrixUpdated = new Array();\r\n let schoolTerminalMatrix = new Array();\r\n let userConsoleMatrix = new Array();\r\n if(usersMetadata!= null && usersMetadata.length > 0){\r\n for (let i = 0; i < usersMetadata.length; i++) {\r\n let userId: any;\r\n let userName: any;\r\n let userSubjects: any;\r\n let listOfUser:any = {}\r\n if (usersMetadata[i].userId!=\"\") {\r\n userId = usersMetadata[i].userId;\r\n \r\n if (usersMetadata[i].fullName !== undefined) {\r\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\r\n } else {\r\n userName = '';\r\n }\r\n\r\n if (usersMetadata[i].userSubjects !== undefined) {\r\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\r\n } else {\r\n userSubjects = '';\r\n }\r\n \r\n listOfUser = {\r\n userId:userId, \r\n userName:userName, \r\n userSubjects:userSubjects\r\n };\r\n usersMetadataMatrix.push(listOfUser); // array of all users\r\n }\r\n }\r\n }\r\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\r\n usersMetadataMatrix.forEach(element => {\r\n if (usersMetadataMatrix[i].userName === element.userName) {\r\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\r\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\r\n }\r\n });\r\n }\r\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\r\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\r\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\r\n }\r\n if(schoolTerminal != null && schoolTerminal.length > 0){\r\n for (var i = 0; i < schoolTerminal.length; i++) {\r\n let schoolId:any;\r\n let terminalKey:any;\r\n let terminalType:any;\r\n let location:any;\r\n let schoolTerminalData:any = {};\r\n \r\n //----------//schoolId\r\n if (schoolTerminal[i].schoolId !== undefined) {\r\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\r\n } else {\r\n schoolId = '';\r\n }\r\n //----------//terminalKey\r\n if (schoolTerminal[i].terminalKey !== undefined) {\r\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\r\n } else {\r\n terminalKey = '';\r\n }\r\n //----------//terminalType\r\n if (schoolTerminal[i].terminalType !== undefined) {\r\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\r\n } else {\r\n terminalType = '';\r\n }\r\n \r\n //----------//location\r\n if (schoolTerminal[i].metadata !== undefined) {\r\n location = schoolTerminal[i].metadata // get name of user w.r.t. ID\r\n } else {\r\n location = '';\r\n }\r\n schoolTerminalData = {\r\n schoolId:schoolId,\r\n terminalKey:terminalKey,\r\n terminalType:terminalType,\r\n location:location\r\n };\r\n schoolTerminalMatrix.push(schoolTerminalData);\r\n \r\n }\r\n }\r\n if(userConsole !=null && userConsole.length > 0){\r\n for (let index = 0; index < userConsole.length; index++) {\r\n let userId: any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let selectedDate: any;\r\n let terminalIP: any;\r\n let userConsoleResources: any;\r\n let resourceMetadataIDS: any;\r\n let resourceMetauserConsoleData = new Array();\r\n let userName:any;\r\n let userSubjects:any;\r\n let terminalLocation: any;\r\n //----------//user iD\r\n if (userConsole[index].userId !== undefined) {\r\n userId = userConsole[index].userId // get name of user w.r.t. ID\r\n } else {\r\n userId = '';\r\n }\r\n //----------// startTime \r\n if (userConsole[index].startTime !== undefined) {\r\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\r\n } else {\r\n startTime = '';\r\n }\r\n //----------// endTime \r\n if (userConsole[index].endTime !== undefined) {\r\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\r\n this.myEndTime = endTime;\r\n } else {\r\n endTime = '';\r\n }\r\n //----------// Date \r\n if (userConsole[index].selectedDate !== undefined) {\r\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\r\n } else {\r\n selectedDate = '';\r\n }\r\n \r\n //----------// Duration\r\n if (userConsole[index].duration !== undefined) {\r\n duration = userConsole[index].duration // get name of user w.r.t. ID\r\n } else {\r\n duration = '';\r\n }\r\n //----------// terminalIP\r\n if (userConsole[index].terminalIP !== undefined) {\r\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\r\n } else {\r\n terminalIP = '';\r\n }\r\n \r\n //----------// userConsoleResources\r\n if (userConsole[index].userConsoleResources !== undefined) {\r\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\r\n } else {\r\n userConsoleResources = null;\r\n }\r\n \r\n if(userConsoleResources != null){\r\n if (userConsoleResources.userConsoleResource !== undefined) {\r\n resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\r\n } else {\r\n resourceMetauserConsoleData = [];\r\n }\r\n }\r\n \r\n //----------// userName and userSubjects\r\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\r\n if (userId === usersMetadataMatrix[i].userId) {\r\n userName = usersMetadataMatrix[i].userName;\r\n userSubjects = usersMetadataMatrix[i].userSubjects;\r\n }\r\n }\r\n //----------// terminalIP and terminalLocation\r\n \r\n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\r\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\r\n terminalLocation = schoolTerminalMatrix[i].location;\r\n }\r\n }\r\n let userData = {\r\n userId:userId,\r\n userName:userName,\r\n startTime:new Date(startTime),\r\n endTime:new Date(endTime),\r\n terminalIP:terminalIP,\r\n resourceMetauserConsoleData:resourceMetauserConsoleData,\r\n duration:duration,\r\n terminalLocation:terminalLocation,\r\n userSubjects:userSubjects\r\n }\r\n \r\n userConsoleMatrix.push(userData);\r\n \r\n }\r\n }\r\n return {usersMetadata:usersMetadataMatrix,schoolTerminalData:schoolTerminalMatrix,userConsoleData: userConsoleMatrix}\r\n }\r\n \r\n deatilData_Excel(userConsoleMatrix: any,resourceMetadataMatrix: any){\r\n // console.log(\"resourceMetadataMatrix\",resourceMetadataMatrix);\r\n \r\n let currentDate: any;\r\n let resourceMatrixForExcel = new Array();\r\n resourceMatrixForExcel = [];\r\n for (let i = 0; i <userConsoleMatrix.length; i++) {\r\n let userID:any;\r\n let startTime: any;\r\n let endTime: any;\r\n let duration: any;\r\n let terminalIP: any;\r\n let subject: any;\r\n let grade: any;\r\n let chapter: any;\r\n let resourceType: any;\r\n let resourceTitle: any;\r\n let teachingpoint: any;\r\n let location: any;\r\n let teacherName: any;\r\n let teacherSubject: any;\r\n \r\n let resourceMetadataIDs: any;\r\n let resourceArrayForExcel = new Array();\r\n \r\n\r\n userID = userConsoleMatrix[i].userId;\r\n //----------------- for subject and Name\r\n teacherSubject = userConsoleMatrix[i].userSubjects;\r\n teacherName = userConsoleMatrix[i].userName;\r\n //----------------- for start Time and EndTime \r\n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\r\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\r\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\r\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\r\n }\r\n //----------------- for duration\r\n duration = Math.floor(userConsoleMatrix[i].duration);\r\n //----------------- for Terminal loaction and terminal IP\r\n location = userConsoleMatrix[i].terminalLocation;\r\n terminalIP = userConsoleMatrix[i].terminalIP;\r\n let roomDetail = location + ' ' + terminalIP;\r\n let locationName = location;\r\n let terminalIPAddress = terminalIP;\r\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\r\n \r\n if (resourceMetadataIDs.length == 0) {\r\n subject = '';\r\n grade = '';\r\n chapter = '';\r\n teachingpoint = '';\r\n resourceTitle = '';\r\n resourceType = '';\r\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\r\n resourceMatrixForExcel.push(resourceArrayForExcel);\r\n }else{\r\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\r\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\r\n // resouseID:resouseID,\r\n // subject:subject,\r\n // grade:grade,\r\n // chapter:chapter,\r\n // teachingpoint:teachingpoint,\r\n // type:type,\r\n // title:title\r\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\r\n\r\n subject = resourceMetadataMatrix[i].subject;\r\n grade = resourceMetadataMatrix[i].grade;\r\n chapter = resourceMetadataMatrix[i].chapter;\r\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\r\n resourceTitle = resourceMetadataMatrix[i].title;\r\n resourceType = this.getDisplaytypeValue(resourceMetadataMatrix[i].type);\r\n // FOR EXCEL\r\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\r\n resourceMatrixForExcel.push(resourceArrayForExcel);\r\n teacherName = '';\r\n teacherSubject= '';\r\n currentDate= '';\r\n startTime= '';\r\n endTime= '';\r\n locationName= ''; \r\n terminalIPAddress= '';\r\n duration = '';\r\n \r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n return resourceMatrixForExcel;\r\n }\r\n deatilUsage_Excel(resourceMatrixForExcel){\r\n let userList=[];\r\n // console.log(\"resourceMatrixForExcel>>>>>>>>>>>>>>>>>>>\",resourceMatrixForExcel);\r\n \r\n if(resourceMatrixForExcel.length > 0){\r\n for(let i=0;i<resourceMatrixForExcel.length;i++){\r\n let data = {\r\n // Sr_No: i+1,\r\n Name:resourceMatrixForExcel[i][0],\r\n Subjects:resourceMatrixForExcel[i][1],\r\n Date:\tresourceMatrixForExcel[i][2],\r\n startTime:resourceMatrixForExcel[i][3],\r\n endTime:resourceMatrixForExcel[i][4],\r\n \"duration(mins)\":resourceMatrixForExcel[i][5],\r\n location:resourceMatrixForExcel[i][6],\r\n IP:resourceMatrixForExcel[i][7],\r\n subjectTitle:resourceMatrixForExcel[i][8],\r\n gradeTitle:resourceMatrixForExcel[i][9],\r\n Chapter:resourceMatrixForExcel[i][10],\r\n tpTitle:resourceMatrixForExcel[i][11],\r\n resourceTitle:resourceMatrixForExcel[i][12],\r\n resourceType:resourceMatrixForExcel[i][13],\r\n }\r\n userList.push(data);\r\n }\r\n \r\n } \r\n // console.log(\"userList\",userList);\r\n return userList; \r\n }\r\n userSummary_Excel(data,resourceMatrixForExcel){\r\n // console.log(\"resourceMatrixForExcel\",resourceMatrixForExcel)\r\n let userMetadataList = data.usersMetadata.userMetadata;\r\n let resourcelist = new Array();\r\n let resourceTypeList = new Array();\r\n let userObjectList= new Array();\r\n let classRooms= new Array();\r\n let datesAccess= new Array();\r\n let grades= new Array();\r\n let subjectTought= new Array();\r\n // let unique_resourceTypeList = []; \r\n let duration = 0;\r\n for (let i = 0; i < userMetadataList.length; i++) {\r\n resourcelist = [];\r\n resourceTypeList = [];\r\n classRooms = []; \r\n datesAccess = [];\r\n grades = [];\r\n subjectTought = [];\r\n \r\n duration = 0;\r\n // console.log(\"userMetadataList[i]\",userMetadataList);\r\n // console.log(\"resourceMatrixForExcel[i]\",[...new Set(resourceMatrixForExcel)]);\r\n for (let j = 0; j < resourceMatrixForExcel.length; j++){\r\n \r\n if(userMetadataList[i].userId === resourceMatrixForExcel[j][14]){\r\n if(resourceMatrixForExcel[j][12] != ''){\r\n resourcelist.push(resourceMatrixForExcel[j][12]);\r\n }\r\n \r\n if(resourceMatrixForExcel[j][13] != ''){\r\n resourceTypeList.push(resourceMatrixForExcel[j][13]);\r\n }\r\n if(resourceMatrixForExcel[j][5] != ''){\r\n duration = duration + resourceMatrixForExcel[j][5];\r\n }\r\n \r\n \r\n classRooms.push(resourceMatrixForExcel[j][6]);\r\n datesAccess.push(resourceMatrixForExcel[j][2]);\r\n grades.push(resourceMatrixForExcel[j][9]);\r\n subjectTought.push(resourceMatrixForExcel[j][8]);\r\n \r\n \r\n }\r\n }\r\n \r\n let ClassRooms:any; \r\n let DatesAccess:any; \r\n let Grades:any; \r\n let SubjectTought:any; \r\n let dayAccess:any; \r\n \r\n if(classRooms.length>0){\r\n ClassRooms = [...new Set(classRooms)][0];\r\n }else{\r\n ClassRooms = '';\r\n }\r\n if(datesAccess.length>0){\r\n dayAccess = [...new Set(datesAccess)].length;\r\n }else{\r\n dayAccess = '';\r\n }\r\n if(datesAccess.length>0){\r\n DatesAccess = [...new Set(datesAccess)][0];\r\n }else{\r\n DatesAccess = '';\r\n }\r\n if(grades.length>0){\r\n Grades = [...new Set(grades)][0];\r\n }else{\r\n Grades = ''\r\n }\r\n \r\n if(subjectTought.length>0){\r\n SubjectTought = [...new Set(subjectTought)][0];\r\n }else{\r\n SubjectTought = '';\r\n }\r\n // if(resourceTypeList.length>0){\r\n // unique_resourceTypeList = [...new Set(resourceTypeList)];\r\n \r\n // }\r\n // console.log(\"this.resourceTypes\",this.resourceTypes)\r\n let user = {\r\n Name:userMetadataList[i].fullName,\r\n Subjects:userMetadataList[i].userSubjects,\r\n duration:duration,\r\n ClassRooms:ClassRooms,\r\n DatesAccess:DatesAccess,\r\n DayAccess:dayAccess,\r\n Grades:Grades,\r\n SubjectTought:SubjectTought,\r\n AseestUsed:resourcelist,\r\n AssetType:resourceTypeList\r\n }\r\n userObjectList.push(user);\r\n \r\n }\r\n // console.log(\"userObjectList\",userObjectList)\r\n let userSummaryList = new Array();\r\n for(let i = 0; i < userObjectList.length; i++){\r\n const Assetcounts = [];\r\n //find count of present asset type\r\n let presentAsset =userObjectList[i].AssetType;\r\n presentAsset = [...new Set(presentAsset)];\r\n // console.log(\"presentAsset\",presentAsset)\r\n //find count of present asset count\r\n const sampleArray =userObjectList[i].AssetType;\r\n sampleArray.forEach(function (x) { Assetcounts[x] = (Assetcounts[x] || 0) + 1; });\r\n // find missing assets\r\n let missingAssets = this.resourceTypes.filter(n => !presentAsset.includes(n));\r\n // adding missing asset with count 0 in list\r\n missingAssets.forEach((element) => {\r\n Assetcounts[element] = 0;\r\n });\r\n // console.log(Assetcounts);\r\n let asset_media = {\r\n // Sr_No: i+1,\r\n Name:userObjectList[i].Name,\r\n Subjects_taught:userObjectList[i].Subjects,\r\n \" Duration(mins)\":userObjectList[i].duration,\r\n ClassRooms:userObjectList[i].ClassRooms,\r\n DaysAccsessed:userObjectList[i].DayAccess,\r\n DatesAccess:userObjectList[i].DatesAccess,\r\n Grades:userObjectList[i].Grades,\r\n Subjects:userObjectList[i].SubjectTought\r\n }\r\n const returnedTarget = Object.assign(asset_media, Assetcounts);\r\n userSummaryList.push(returnedTarget);\r\n\r\n }\r\n \r\n // console.log(\"userSummaryList\",userSummaryList);\r\n \r\n return userSummaryList;\r\n }\r\n\r\n // To GET DISPLAY TYPE\r\n getDisplaytypeValue(key: any) {\r\n let assetTypeConfig = [\r\n {\r\n type: \"asset_media\",\r\n display: \"Media\"\r\n },\r\n {\r\n type: \"asset_print\",\r\n display: \"Print\"\r\n },\r\n {\r\n type: \"quiz\",\r\n display: \"Quiz\"\r\n },\r\n {\r\n type: \"question\",\r\n display: \"Question\"\r\n },\r\n {\r\n type: \"chapter\",\r\n display: \"Chapter\"\r\n },\r\n {\r\n type: \"tp\",\r\n display: \"Topic\"\r\n },\r\n {\r\n type: \"whiteboard\",\r\n display: \"Whiteboard\"\r\n },\r\n {\r\n type: \"widget\",\r\n display: \"Widget\"\r\n },\r\n {\r\n type: \"casset_media\",\r\n display: \"cMedia\"\r\n },\r\n {\r\n type: \"casset_print\",\r\n display: \"cPrint\"\r\n },\r\n {\r\n type: \"cquiz\",\r\n display: \"cQuiz\"\r\n },\r\n {\r\n type: \"cquestion\",\r\n display: \"cQuestion\"\r\n },\r\n {\r\n type: \"image\",\r\n display: \"Image\"\r\n },\r\n {\r\n type: \"video\",\r\n display: \"Video\"\r\n },\r\n \r\n ];\r\n let displayValue = key;\r\n assetTypeConfig.forEach((value) => {\r\n if (value.type === key) {\r\n displayValue = value.display;\r\n }\r\n });\r\n return displayValue;\r\n \r\n }\r\n}\r\n","import { Component, OnInit, Output, ViewChild, Input, EventEmitter } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\nimport { ExceldataService } from '../exceldata.service';\r\nimport { DatepickerOptions } from 'ng2-datepicker';\r\n@Component({\r\n selector: 'lib-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.scss']\r\n})\r\nexport class HeaderComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadData(res);\r\n } \r\n }\r\n @Output() userSelectedDate = new EventEmitter();\r\n\r\n myCalendar: any;\r\n calenderDate: any;\r\n currentDate: any;\r\n calenderCurrentDate: any;\r\n todayDate: any;\r\n refreshTimer = 0;\r\n refreshInterval: any;\r\n calenderEvent: any;\r\n message: any;\r\n intervalId: any;\r\n mydata :any;\r\n dataList: any;\r\n //for datepicker\r\n title = 'datepicker';\r\n date: Date = new Date();\r\n options: DatepickerOptions = {\r\n inputClass: 'input',\r\n calendarClass: 'datepicker-default',\r\n scrollBarColor: '#010001',\r\n format: 'dd/LL/yyyy',\r\n maxDate: new Date()\r\n };\r\n \r\n constructor(\r\n private excelService: ExceldataService,\r\n private pdService:PrincipalDashboardLibV2Service\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.getDefaultDate();\r\n this.startTimer();\r\n }\r\n getDefaultDate() {\r\n let date = new Date();\r\n this.getDateFormat(date);\r\n this.todayDate = this.calenderCurrentDate;\r\n }\r\n dateSelected(e: any){\r\n this.getDateFormat(e);\r\n this.mydata = null;\r\n this.refreshChart();\r\n }\r\n getDateFormat(date:any){\r\n let day = date.getDate();\r\n let month = date.getMonth() + 1;\r\n let year = date.getFullYear();\r\n let m;\r\n let d;\r\n if (month < 10) {\r\n m = \"0\" + month;\r\n } else {\r\n m = month;\r\n }\r\n if (day < 10) {\r\n d = \"0\" + day;\r\n } else {\r\n d = day;\r\n }\r\n let today = year + \"-\" + m + \"-\" + d;\r\n this.currentDate = today;\r\n this.calenderCurrentDate = today.split(\"-\").reverse().join(\"-\");\r\n }\r\n // selectDate(e: any) {\r\n // this.calenderEvent = e;\r\n // let today = e.target.value;\r\n // // console.log(\"e.target.value\", e.target.value);\r\n // today = today.split(\"-\").reverse().join(\"-\");\r\n // this.calenderCurrentDate = today;\r\n // this.mydata = null;\r\n // this.refreshChart();\r\n // // this.userSelectedDate.emit(this.calenderCurrentDate);\r\n // ;\r\n // console.log(\" IN --> 5\");\r\n // }\r\n refreshChart() {\r\n this.stopTimer();\r\n this.refreshTimer = 0;\r\n if(this.calenderCurrentDate === this.todayDate){\r\n this.countDown();\r\n }\r\n this.userSelectedDate.emit(this.calenderCurrentDate);\r\n }\r\n\r\n startTimer() {\r\n this.countDown();\r\n }\r\n stopTimer() {\r\n this.clearTimer();\r\n this.message = ``;\r\n }\r\n clearTimer() {\r\n this.refreshTimer = 0;\r\n window.clearInterval(this.intervalId);\r\n }\r\n countDown() {\r\n console.log(\"countDown\")\r\n this.clearTimer();\r\n this.intervalId = window.setInterval(() => {\r\n this.refreshTimer -= 1;\r\n if (this.refreshTimer === 0) {\r\n this.refreshChart();\r\n this.message = '';\r\n } else {\r\n if (this.refreshTimer < 0) {\r\n this.refreshTimer = 300;\r\n } // reset\r\n this.message = `${this.refreshTimer}`;\r\n }\r\n }, 1000);\r\n }\r\n timeConvert(n: any) {\r\n var num = n;\r\n var hours = num / 60;\r\n var rhours = Math.floor(hours);\r\n var minutes = (hours - rhours) * 60;\r\n var rminutes = Math.round(minutes);\r\n return rhours + ':' + rminutes;\r\n }\r\n // currentdataList: any;\r\n // currentResoursedataList:any;\r\n loadData(response: any){\r\n if(response){\r\n this.mydata = JSON.parse(response);\r\n if (this.mydata) {\r\n //get current data list\r\n let genarateUserReqiuredData = this.excelService.genarateUserReqiuredData_Excel(this.mydata);\r\n let currentdataList =genarateUserReqiuredData.userConsoleData;\r\n // resoureMetadata list\r\n let currentResoursedataList = this.excelService.genarateResourseReqiuredData_Excel(this.mydata);\r\n \r\n let deatilData = this.excelService.deatilData_Excel(currentdataList,currentResoursedataList);\r\n let userDetails_data = this.excelService.deatilUsage_Excel(deatilData);\r\n let UserSummary = this.excelService.userSummary_Excel(this.mydata,deatilData);\r\n \r\n let schoolDetails = this.mydata.schoolMetadata.school;\r\n let userDetails = userDetails_data;\r\n let terminalDetails = this.mydata.schoolTerminals.schoolTerminal;\r\n // console.log(\"schoolDetails\",schoolDetails);\r\n // console.log(\"UserSummary\",UserSummary);\r\n // console.log(\"terminalDetails\",terminalDetails);\r\n // console.log(\"userDetails\",userDetails);\r\n \r\n this.dataList = [\r\n [schoolDetails],\r\n UserSummary,\r\n terminalDetails,\r\n userDetails\r\n ]\r\n }\r\n }\r\n \r\n }\r\n exportReport(){\r\n if(this.mydata){\r\n this.excelService.exportAsExcelFile(this.dataList, 'UsageReport-'+ this.calenderCurrentDate);\r\n }\r\n \r\n }\r\n ngOnDestroy() {\r\n this.clearTimer();\r\n }\r\n \r\n}\r\n","import { Component, OnInit ,Input} from '@angular/core';\r\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\r\nimport { ChartType } from 'angular-google-charts';\r\n\r\n@Component({\r\n selector: 'lib-tableview',\r\n templateUrl: './tableview.component.html',\r\n styleUrls: ['./tableview.component.scss'],\r\n})\r\n\r\nexport class TableviewComponent implements OnInit {\r\n @Input() set data(res: any) {\r\n if(res!== null){\r\n this.loadTable(res);\r\n }\r\n }\r\n constructor(\r\n private pdService: PrincipalDashboardLibV2Service\r\n ) {}\r\n resourseMetadata: any;\r\n tableRow: any;\r\n userMetadata: any;\r\n tableViewDiv: any;\r\n tblBody: any;\r\n myXmlData: any;\r\n myChartType = ChartType.Table;\r\n currentdataList:any;\r\n currentResoursedataList:any;\r\n tableViewData:any;\r\n alluserList:any;\r\n isUserWise = true;\r\n \r\n ngOnInit(): void {\r\n \r\n }\r\n loadTable(response: any){\r\n // let parse = new DOMParser();\r\n // this.myXmlData = parse.parseFromString(response, 'application/xml');\r\n if(response){\r\n this.myXmlData = JSON.parse(response);\r\n if(this.myXmlData){\r\n // get current data list\r\n let genarateUserReqiuredData = this.pdService.genarateUserReqiuredData(this.myXmlData);\r\n this.currentdataList =genarateUserReqiuredData.userConsoleData;\r\n // get all user list \r\n let fetchAlluserList = this.pdService.allUserChartData()\r\n this.alluserList = fetchAlluserList.fordurationTable;\r\n // resoureMetadata list\r\n this.currentResoursedataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\r\n \r\n }\r\n }\r\n \r\n \r\n this.tableViewDiv = document.getElementById('tableViewDiv');\r\n this.tableRow = document.getElementById('tableRow');\r\n this.tblBody = document.getElementById('tblBody');\r\n this.tableViewDiv.style.display = 'none';\r\n \r\n this.pdService.chartType.subscribe((data) => {\r\n if (data) {\r\n this.updateChartType(data);\r\n }\r\n });\r\n this.pdService.isUserWise_data.subscribe((data) => {\r\n this.updateDataType(data);\r\n });\r\n this.pdService.isAllUsers.subscribe((data) => {\r\n if(data){\r\n this.showAllUser();\r\n }else{\r\n this.showCurrentDataUser();\r\n }\r\n \r\n });\r\n }\r\n showCurrentDataUser() {\r\n this.tableViewData = this.pdService.dataForTableView(this.currentdataList,this.currentResoursedataList);\r\n if(this.tableViewData){\r\n this.ueserWiseTableView(this.tableViewData);\r\n }\r\n }\r\n showAllUser() {\r\n this.tableViewData = this.pdService.dataForTableView(this.alluserList ,this.currentResoursedataList);\r\n if(this.tableViewData){\r\n this.ueserWiseTableView(this.tableViewData);\r\n }\r\n }\r\n updateDataType(dataType: any) {\r\n this.isUserWise = dataType;\r\n }\r\n updateChartType(dataType: any) {\r\n this.myChartType = dataType;\r\n if (this.myChartType == ChartType.Timeline) {\r\n this.tableViewDiv.style.display = 'none';\r\n } else {\r\n this.tableViewDiv.style.display = 'block';\r\n }\r\n }\r\n \r\n ueserWiseTableView(resoureMetadata: any) {\r\n // this.deleterow(\"tableRow\");\r\n document.getElementById(\"tblBody\").innerHTML = \"\";\r\n let labelArray = new Array();\r\n let cnt = 0;\r\n for (let i = 0; i < resoureMetadata.length; i++) {\r\n for (let j = 0; j < 12; j++) {\r\n let label = document.createElement('label');\r\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\r\n if (label.textContent === 'undefined' || label.textContent===undefined) {\r\n label.textContent = '';\r\n }\r\n labelArray.push(label);\r\n // console.log(\"label\",label);\r\n }\r\n }\r\n for (let j = 0; j <= resoureMetadata.length; j++) {\r\n let row = document.createElement('tr');\r\n \r\n let cell: any;\r\n for (let i = 0; i < 12; i++) {\r\n cell = document.createElement('td');\r\n \r\n if (cnt < labelArray.length) {\r\n cell.appendChild(labelArray[cnt]);\r\n row.appendChild(cell);\r\n }\r\n cnt++;\r\n }\r\n this.tblBody.appendChild(row);\r\n // this.tableRow.appendChild(this.tblBody);\r\n }\r\n \r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { PrincipalDashboardLibV2Component } from './principal-dashboard-lib-v2.component';\r\n\r\nimport { ChartheaderComponent } from './chartheader/chartheader.component';\r\nimport { ChartviewComponent } from './chartview/chartview.component';\r\nimport { DetailedviewComponent } from './detailedview/detailedview.component';\r\nimport { HeaderComponent } from './header/header.component';\r\nimport { TableviewComponent } from './tableview/tableview.component';\r\nimport { GoogleChartsModule } from 'angular-google-charts';\r\nimport { CommonModule } from '@angular/common';\r\nimport { DatepickerModule } from 'ng2-datepicker';\r\n\r\n\r\n\r\n@NgModule({\r\n declarations: [\r\n ChartheaderComponent,\r\n ChartviewComponent,\r\n DetailedviewComponent,\r\n HeaderComponent,\r\n TableviewComponent,\r\n PrincipalDashboardLibV2Component\r\n ],\r\n imports: [\r\n CommonModule,\r\n GoogleChartsModule,\r\n DatepickerModule\r\n ],\r\n exports: [\r\n PrincipalDashboardLibV2Component\r\n ]\r\n})\r\nexport class PrincipalDashboardLibV2Module { }\r\n","/*\r\n * Public API Surface of principal-dashboard-lib-v2\r\n */\r\n\r\nexport * from './lib/principal-dashboard-lib-v2.service';\r\nexport * from './lib/principal-dashboard-lib-v2.component';\r\nexport * from './lib/principal-dashboard-lib-v2.module';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n\nexport {ChartheaderComponent as ɵa} from './lib/chartheader/chartheader.component';\nexport {ChartviewComponent as ɵb} from './lib/chartview/chartview.component';\nexport {DetailedviewComponent as ɵc} from './lib/detailedview/detailedview.component';\nexport {ExceldataService as ɵe} from './lib/exceldata.service';\nexport {HeaderComponent as ɵd} from './lib/header/header.component';\nexport {TableviewComponent as ɵf} from './lib/tableview/tableview.component';"],"names":["ReplaySubject","BehaviorSubject","Injectable","EventEmitter","Component","Input","Output","ChartType","XLSX.utils","XLSX.write","FileSaver.saveAs","NgModule","CommonModule","GoogleChartsModule","DatepickerModule"],"mappings":"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"}