principal-dashboard-lib-v2 0.0.21 → 0.0.23
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.
- package/bundles/principal-dashboard-lib-v2.umd.js +143 -28
- package/bundles/principal-dashboard-lib-v2.umd.js.map +1 -1
- package/bundles/principal-dashboard-lib-v2.umd.min.js +1 -1
- package/bundles/principal-dashboard-lib-v2.umd.min.js.map +1 -1
- package/esm2015/lib/chartheader/chartheader.component.js +2 -2
- package/esm2015/lib/chartview/chartview.component.js +8 -4
- package/esm2015/lib/principal-dashboard-lib-v2.service.js +53 -18
- package/esm2015/lib/tableview/tableview.component.js +80 -7
- package/fesm2015/principal-dashboard-lib-v2.js +139 -27
- package/fesm2015/principal-dashboard-lib-v2.js.map +1 -1
- package/lib/tableview/tableview.component.d.ts +2 -0
- package/package.json +1 -1
- package/principal-dashboard-lib-v2.metadata.json +1 -1
|
@@ -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';\nimport { Subject, BehaviorSubject, ReplaySubject } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PrincipalDashboardLibV2Service {\npublic resoureMetaData:any;\npublic usersMetaData:any;\npublic schoolTerminalData:any;\npublic userConsoleData:any;\n\npublic isResoureMetaDataReady = new ReplaySubject();\npublic isResoureMetaDataReady$ = this.isResoureMetaDataReady.asObservable();\n\npublic isUserReqiuredDataReady = new ReplaySubject();\npublic isUserReqiuredDataReady$ = this.isUserReqiuredDataReady.asObservable();\n\n public mychartType: any = '';\n public dataType: any = '';\n public userAllData: any = '';\n public userMetadata: any = {userDetails:[],resourceDetails:[]};\n public resoureMetadata = new Array();\n public userDetailObject: any = {};\n public userlist:any = false;\n public myEndTime :any;\n \n //for change chart Type\n public chartType = new BehaviorSubject(this.mychartType);\n public chartType$ = this.chartType.asObservable();\n //for change userWise To classRoom wise or vice versa\n public isUserWise_data = new BehaviorSubject(true);\n public isUserWise_data$ = this.isUserWise_data.asObservable();\n // for all user and current user information\n public isAllUsers = new BehaviorSubject(this.userlist);\n public isAllUsers$ = this.isAllUsers.asObservable();\n //for get details of selected user\n public detailedviewData = new BehaviorSubject(this.userMetadata);\n public detailedviewData$ = this.detailedviewData.asObservable();\n\n\n constructor() { }\n \n genarateResourseReqiuredData(data: any): any {\n this.isResoureMetaDataReady.next(false);\n let resourceMetadataMatrix = new Array();\n \n if(data && data !== null){\n let resouseID: any;\n let title: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let teachingpoint: any;\n let type: any;\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\n \n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\n for (var i = 0; i < resourceMetadata.length;i++){\n //----------//resouseID\n resouseID = resourceMetadata[i].resourceId;\n //----------//subject\n if (resourceMetadata[i].subject != undefined) {\n if (resourceMetadata[i].subject.title != undefined) {\n subject = resourceMetadata[i].subject.title;\n } else {\n subject = '';\n }\n } else {\n subject = '';\n }\n //----------//grade\n if (resourceMetadata[i].grade != undefined) {\n if (resourceMetadata[i].grade.title != undefined) {\n grade = resourceMetadata[i].grade.title;\n } else {\n grade = '';\n }\n } else {\n grade = '';\n }\n //----------//chapter\n if (resourceMetadata[i].chapter != undefined) {\n if (resourceMetadata[i].chapter.title != undefined) {\n chapter = resourceMetadata[i].chapter.title;\n } else {\n chapter = '';\n }\n } else {\n chapter = '';\n }\n \n //----------//teachingpoint\n if (resourceMetadata[i].teachingpoint != undefined) {\n if (resourceMetadata[i].teachingpoint.title != undefined) {\n teachingpoint = resourceMetadata[i].teachingpoint.title;\n } else {\n teachingpoint = '';\n }\n } else {\n teachingpoint = '';\n }\n //----------//type\n if (resourceMetadata[i].type != undefined) {\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\n } else {\n type = '';\n }\n \n //----------//title\n if (resourceMetadata[i].title != undefined) {\n title = resourceMetadata[i].title;\n } else {\n title = '';\n }\n let resourceMetauserConsoleData = {\n resouseID:resouseID,\n subject:subject,\n grade:grade,\n chapter:chapter,\n teachingpoint:teachingpoint,\n type:type,\n title:title\n }\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\n this.resoureMetaData = resourceMetadataMatrix;\n this.isResoureMetaDataReady.next(true);\n }\n }\n }\n // this.resoureMetaData = resourceMetadataMatrix;\n return resourceMetadataMatrix;\n }\n genarateUserReqiuredData(data: any): any {\n this.isUserReqiuredDataReady.next(false);\n let usersMetadataMatrix = new Array();\n let usermetadataMatrixUpdated = new Array();\n let schoolTerminalMatrix = new Array();\n let userConsoleMatrix = new Array();\n if(data && data !== null){\n let userConsole = data.usersConsole.userConsole;\n let usersMetadata = data.usersMetadata.userMetadata;\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\n \n if(usersMetadata!= null && usersMetadata.length > 0){\n for (let i = 0; i < usersMetadata.length; i++) {\n let userId: any;\n let userName: any;\n let userSubjects: any;\n let listOfUser:any = {}\n if (usersMetadata[i].userId!=\"\") {\n userId = usersMetadata[i].userId;\n console.log(\"--chartDataUserWise-->>\",usersMetadata[i].fullName)\n if (usersMetadata[i].fullName !== undefined) {\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\n } else {\n userName = '';\n }\n \n if (usersMetadata[i].userSubjects !== undefined) {\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\n } else {\n userSubjects = '';\n }\n \n listOfUser = {\n userId:userId, \n userName:userName, \n userSubjects:userSubjects\n };\n usersMetadataMatrix.push(listOfUser); // array of all users\n }\n }\n }\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\n usersMetadataMatrix.forEach(element => {\n if (usersMetadataMatrix[i].userName === element.userName) {\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\n }\n });\n }\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\n // const randomNumber = document.createElement('span');\n // randomNumber.innerHTML = i.toString();\n //usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" --- \" + i;\n //satyajit 28 aug 2024 removed count from userName\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName;\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\n this.usersMetaData = usersMetadataMatrix;\n }\n if(schoolTerminal != null && schoolTerminal.length > 0){\n for (var i = 0; i < schoolTerminal.length; i++) {\n let schoolId:any;\n let terminalKey:any;\n let terminalType:any;\n let location:any;\n let schoolTerminalData:any = {};\n \n //----------//schoolId\n if (schoolTerminal[i].schoolId !== undefined) {\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\n } else {\n schoolId = '';\n }\n //----------//terminalKey\n if (schoolTerminal[i].terminalKey !== undefined) {\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\n } else {\n terminalKey = '';\n }\n //----------//terminalType\n if (schoolTerminal[i].terminalType !== undefined) {\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\n } else {\n terminalType = '';\n }\n \n //----------//location\n if (schoolTerminal[i].metadata !== undefined) {\n let metadataJSON = JSON.parse(schoolTerminal[i].metadata);\n \n location = metadataJSON.location // get name of user w.r.t. ID\n \n console.log(\"metadataJSON\",location);\n } else {\n location = '';\n }\n schoolTerminalData = {\n schoolId:schoolId,\n terminalKey:terminalKey,\n terminalType:terminalType,\n location:location\n };\n \n console.log('ccc--',schoolTerminalData)\n schoolTerminalMatrix.push(schoolTerminalData);\n this.schoolTerminalData = schoolTerminalMatrix;\n }\n }\n if(userConsole !=null && userConsole.length > 0){\n for (let index = 0; index < userConsole.length; index++) {\n let userId: any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let selectedDate: any;\n let terminalIP: any;\n let userConsoleResources: any;\n let resourceMetadataIDS: any;\n let resourceMetauserConsoleData = [];\n let resourceDurationFromConsole = [];\n let userName: any;\n let userSubjects: any;\n let terminalLocation: any;\n //----------//user iD\n if (userConsole[index].userId !== undefined) {\n userId = userConsole[index].userId; // get name of user w.r.t. ID\n } else {\n userId = '';\n }\n //----------// startTime \n if (userConsole[index].startTime !== undefined) {\n startTime = userConsole[index].startTime; // get name of user w.r.t. ID\n } else {\n startTime = '';\n }\n //----------// endTime \n if (userConsole[index].endTime !== undefined) {\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\n this.myEndTime = endTime;\n } else {\n endTime = '';\n }\n //----------// Date \n if (userConsole[index].selectedDate !== undefined) {\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\n } else {\n selectedDate = '';\n }\n \n //----------// Duration\n if (userConsole[index].duration !== undefined) {\n duration = userConsole[index].duration // get name of user w.r.t. ID\n } else {\n duration = '';\n }\n //----------// terminalIP\n if (userConsole[index].terminalIP !== undefined) {\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\n } else {\n terminalIP = '';\n }\n \n //----------// userConsoleResources\n if (userConsole[index].userConsoleResources !== undefined) {\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\n } else {\n userConsoleResources = null;\n }\n \n if(userConsoleResources != null){\n if (userConsoleResources.userConsoleResource !== undefined) {\n // satyajit resource wise duration added\n userConsoleResources.userConsoleResource.forEach(item => {\n resourceMetauserConsoleData.push(item.resourceId); // get name of user w.r.t. ID\n resourceDurationFromConsole.push(item.duration);\n });\n // resourceMetauserConsoleData = userConsoleResources.userConsoleResource[index]resourceId; // get name of user w.r.t. ID\n } else {\n resourceMetauserConsoleData = [];\n resourceDurationFromConsole = [];\n }\n }\n \n //----------// userName and userSubjects\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\n if (userId === usersMetadataMatrix[i].userId) {\n userName = usersMetadataMatrix[i].userName;\n userSubjects = usersMetadataMatrix[i].userSubjects;\n }\n }\n //----------// terminalIP and terminalLocation\n \n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\n //console.log(\"schoolTerminalMatrix[i]\",schoolTerminalMatrix[i]);\n //console.log(\"schoolTerminalMatrix[i].terminalKey\",terminalIP,schoolTerminalMatrix[i].terminalKey);\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\n terminalLocation = schoolTerminalMatrix[i].location;\n break;\n }else{\n terminalLocation = '';\n }\n }\n \n if (terminalLocation === undefined || terminalLocation === 'undefined') {\n terminalLocation = '';\n }\n const userData = {\n userId: userId,\n userName: userName,\n startTime: new Date(startTime),\n endTime: new Date(endTime),\n terminalIP: terminalIP,\n resourceMetauserConsoleData: resourceMetauserConsoleData,\n resourceDurationFromConsole: resourceDurationFromConsole,\n duration:duration,\n terminalLocation:terminalLocation,\n userSubjects:userSubjects\n };\n userConsoleMatrix.push(userData);\n this.userConsoleData = userConsoleMatrix;\n this.isUserReqiuredDataReady.next(true);\n }\n }\n }\n // console.log(usersMetadataMatrix,schoolTerminalMatrix,userConsoleMatrix);\n return {\n usersMetadata:usersMetadataMatrix,\n schoolTerminalData:schoolTerminalMatrix,\n userConsoleData: userConsoleMatrix\n }\n }\n userWiseChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n console.log(\"chartDataUserWiseNew-->>\",this.userConsoleData)\n if(this.userConsoleData.length > 0){\n for(let i = 0; i < this.userConsoleData.length; i++){\n \n if(this.userConsoleData[i].userName === undefined){\n this.userConsoleData[i].userName = \"-\"\n }\n if(this.userConsoleData[i].userName === \"-\" || this.userConsoleData[i].userName === \"--\"){\n this.userConsoleData.splice(i, 1); // 2nd parameter means remove one item only\n }\n let userData = [this.userConsoleData[i].userName,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n dataTableforChart.push(userData);\n //console.log(\"chartDataUserWiseNewNew-->>\",userData)\n }\n }\n }\n return dataTableforChart;\n }\n classRoomWiseChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n \n for(let i = 0; i < this.userConsoleData.length; i++){\n //console.log('bbb-->',this.userConsoleData[i].terminalLocation)\n let roomName = this.userConsoleData[i].terminalLocation;\n\n if(roomName === \"\"){\n //roomName = \"No Name\"\n }\n\n let location = roomName +\" - \"+ this.userConsoleData[i].terminalIP\n console.log('bbblocation-->',location)\n let userData = [location,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n dataTableforChart.push(userData);\n }\n }\n console.log(\"this.classRoomWiseChartData\",dataTableforChart);\n return dataTableforChart;\n \n }\n\n\n newGetCurrentClassroomData(){\n\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n \n for(let i = 0; i < this.userConsoleData.length; i++){\n //console.log('bbb-->',this.userConsoleData[i].terminalLocation)\n let roomName = this.userConsoleData[i].terminalLocation;\n let location = roomName +\" - \"+ this.userConsoleData[i].terminalIP\n console.log('bbblocation-->',location)\n //let userData = [location];\n dataTableforChart.push(location);\n \n }\n }\n console.log(\"this.classRoomWiseChartData\",dataTableforChart);\n dataTableforChart = this.uniq(dataTableforChart);\n return dataTableforChart;\n }\n\n uniq(a) {\n return Array.from(new Set(a));\n }\n\n allUserChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n let AlluserDetailsForTableChart =new Array();\n AlluserDetailsForTableChart = [];\n if(this.userConsoleData && this.usersMetaData){\n let inActiveuserName: any;\n let userSubjects: any;\n let myID: any;\n let AlluserDetails =new Array();\n for (let index = 0; index < this.userConsoleData.length; index++) {\n AlluserDetails.push(this.userConsoleData[index]);\n AlluserDetailsForTableChart.push(this.userConsoleData[index])\n }\n for (let i = 0; i < this.usersMetaData.length; i++) {\n myID = this.usersMetaData[i].userId;\n inActiveuserName = this.usersMetaData[i].userName;\n //if(inActiveuserName === undefined)\n {\n console.log(\"alluser-1->>\",inActiveuserName);\n }\n \n userSubjects = this.usersMetaData[i].userSubjects;\n let myChartRowuserConsoleData = \n {\n userId:myID,\n userName: inActiveuserName,\n startTime:new Date(this.myEndTime),\n endTime:new Date(this.myEndTime),\n terminalIP:\"\",\n resourceMetauserConsoleData:[],\n duration:\"0\",\n terminalLocation:\"\",\n userSubjects:userSubjects\n };\n //AlluserDetails.push(myChartRowuserConsoleData);\n \n let myTableRowuserConsoleData = {\n userId:myID,\n userName: inActiveuserName,\n startTime:\"\",\n endTime:\"\",\n terminalIP:\"\",\n resourceMetauserConsoleData:[],\n duration:0,\n terminalLocation:\"\",\n userSubjects:userSubjects\n };\n //console.log(\"alluser-2->>\",inActiveuserName);\n AlluserDetailsForTableChart.push(myTableRowuserConsoleData);\n AlluserDetails.push(myChartRowuserConsoleData);\n }\n setTimeout(() => {\n for(let i = 0; i < AlluserDetails.length; i++){\n console.log(\"alluser-3->>\",AlluserDetails[i].userName);\n if(AlluserDetails[i].userName === undefined){\n AlluserDetails[i].userName = \"--\"\n }\n if(AlluserDetails[i].userName === \"--\"){\n //AlluserDetails.splice(i, 1); // 2nd parameter means remove one item only\n }\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\n dataTableforChart.push(userData);\n }\n },50)\n\n /*\n for(let i = 0; i < AlluserDetails.length; i++){\n console.log(\"alluser-3->>\",AlluserDetails[i].userName);\n if(AlluserDetails[i].userName === undefined){\n AlluserDetails[i].userName = \"(-)\"\n }\n\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\n dataTableforChart.push(userData);\n }*/\n }\n return {forChartData:dataTableforChart,fordurationTable:AlluserDetailsForTableChart}\n }\n allRoomsData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n let allRoomsDetails = new Array();\n allRoomsDetails = [];\n if(this.userConsoleData && this.schoolTerminalData){\n let myChartRowData: any={};\n let inActiveClassRoom: any;\n for(let i = 0; i < this.userConsoleData.length; i++){\n allRoomsDetails.push(this.userConsoleData[i]);\n\n console.log(\"bbb allRoom-->\",this.userConsoleData[i])\n let roomName = this.userConsoleData[i].terminalLocation;\n let roomIP = this.userConsoleData[i].terminalIP;\n\n if(roomName === \"\" || roomName === undefined){\n roomName = \"No Name\"\n }\n\n\n let location = roomName +\" - \"+ roomIP;\n\n console.log('bbbbRoom',location)\n \n // let userData = [this.userConsoleData[i].terminalIP,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n let userData = [location,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n dataTableforChart.push(userData);\n }\n \n let inactiveRoonName;\n for (let i = 0; i < this.schoolTerminalData.length; i++) {\n console.log(\"schoolTerminalData\",this.schoolTerminalData);\n \n inActiveClassRoom = this.schoolTerminalData[i].location + ' - ' + this.schoolTerminalData[i].terminalKey;\n //inactiveRoonName = this.schoolTerminalData[i].location;\n \n myChartRowData = {\n userId:\"\",\n userName:\"\",\n startTime:new Date(this.myEndTime),\n endTime:new Date(this.myEndTime),\n terminalIP:inActiveClassRoom,\n resourceMetauserConsoleData:[],\n duration:0,\n terminalLocation:\"\",\n userSubjects:\"\"\n };\n allRoomsDetails.push(myChartRowData);\n let myChartRowuserConsoleData = [inActiveClassRoom,new Date(this.myEndTime),new Date(this.myEndTime)];\n dataTableforChart.push(myChartRowuserConsoleData);\n }\n \n }\n return {forChartData:dataTableforChart,fordurationTable:allRoomsDetails};\n }\n dataForTableView(userConsoleMatrix: any,resourceMetadataMatrix: any) {\n console.log(\"AAA userConsoleMatrix\",userConsoleMatrix);\n let currentDate: any;\n let resourceMatrixForTableChart = new Array();\n let resourceMatrixForExcel = new Array();\n resourceMatrixForTableChart = [];\n resourceMatrixForExcel = [];\n for (let i = 0; i <userConsoleMatrix.length; i++) {\n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let AssestDetail: any;\n let resourceType: any;\n let resourceTitle: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n \n let resourceMetadataIDs: any;\n let resourceMetadataIDsDuration: any;\n let resourceArrayForExcel = new Array();\n let resourceArrayForTableChart = new Array();\n let userConsoleDataMatrix = new Array();\n resourceArrayForTableChart = [];\n userConsoleDataMatrix = [];\n //----------------- for subject and Name\n \n\n teacherSubject = userConsoleMatrix[i].userSubjects;\n teacherName = userConsoleMatrix[i].userName;\n //----------------- for start Time and EndTime \n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[i].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[i].terminalLocation;\n terminalIP = userConsoleMatrix[i].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n \n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\n resourceMetadataIDsDuration = userConsoleMatrix[i].resourceDurationFromConsole;\n\n if (resourceMetadataIDs.length === 0) {\n subject = undefined;\n grade = undefined;\n chapter = undefined;\n teachingpoint = undefined;\n AssestDetail = undefined;\n resourceTitle = undefined;\n resourceType = undefined;\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\n \n }else{\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n \n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) \n {\n \n // satyajit\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n if(resourceMetadataMatrix[i].title.toLowerCase() === 'whiteboard' || resourceMetadataMatrix[i].title.toLowerCase() === 'question'){\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + ' : ' + resourceMetadataIDsDuration[k] + ' sec';\n\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + ' : ' + this.convertSeconds(resourceMetadataIDsDuration[k]);\n\n //convertSeconds\n\n }else{\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + resourceMetadataIDsDuration[k] + ' sec';\n\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + this.convertSeconds(resourceMetadataIDsDuration[k]);\n \n }\n \n\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + resourceMetadataIDsDuration[k];\n\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail];\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\n teacherName = undefined;\n teacherSubject = undefined;\n currentDate = undefined;\n startTime = undefined;\n endTime = undefined;\n duration = undefined;\n roomDetail = undefined;\n \n }\n }\n }\n }\n }\n return resourceMatrixForTableChart;\n }\n dataForDetailedView(userConsoleMatrix: any,resourceMetadataMatrix: any, rowLabel: any) {\n let detailedView_UserDataMatrix = new Array();\n detailedView_UserDataMatrix = [];\n let detailedView_ResourceDataMatrix = new Array();\n detailedView_ResourceDataMatrix = [];\n \n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let AssestDetail: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n let currentDate: any;\n let resourceMetadataIDs: any;\n let resourceMetadataIDsduration: any;\n let resourceArrayForTableChart = new Array();\n resourceArrayForTableChart = [];\n //----------------- for subject and Name\n teacherSubject = userConsoleMatrix[rowLabel].userSubjects;\n teacherName = userConsoleMatrix[rowLabel].userName;\n //----------------- for start Time and EndTime\n if ((userConsoleMatrix[rowLabel].startTime != undefined && userConsoleMatrix[rowLabel].startTime != \"\") && (userConsoleMatrix[rowLabel].endTime != undefined&&userConsoleMatrix[rowLabel].endTime != \"\")) {\n startTime = userConsoleMatrix[rowLabel].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[rowLabel].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[rowLabel].startTime.getDate() + '/' + userConsoleMatrix[rowLabel].startTime.getMonth() + '/' + userConsoleMatrix[rowLabel].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[rowLabel].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[rowLabel].terminalLocation;\n terminalIP = userConsoleMatrix[rowLabel].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n resourceMetadataIDs = userConsoleMatrix[rowLabel].resourceMetauserConsoleData;\n resourceMetadataIDsduration = userConsoleMatrix[rowLabel].resourceDurationFromConsole;\n\n detailedView_UserDataMatrix = [teacherName,startTime,teacherSubject,endTime,roomDetail]\n \n if (resourceMetadataIDs.length == 0) {\n subject = undefined;\n grade = undefined;\n chapter = undefined;\n teachingpoint = undefined;\n AssestDetail = undefined;\n // resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\n // detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\n }else{\n //satyajit\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n if(resourceMetadataMatrix[i].title.toLowerCase() === 'whiteboard' || resourceMetadataMatrix[i].title.toLowerCase() === 'question'){\n //AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataIDsduration[k] + ' sec';\n AssestDetail = resourceMetadataMatrix[i].type + \": \" + this.convertSeconds(resourceMetadataIDsduration[k]);\n //convertSeconds\n }else{\n //AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title + \": \" + resourceMetadataIDsduration[k] + ' sec';\n AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title + \": \" + this.convertSeconds(resourceMetadataIDsduration[k]);\n }\n \n \n resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\n detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\n }\n }\n }\n } \n \n return {userDetails:detailedView_UserDataMatrix,resourceDetails:detailedView_ResourceDataMatrix};\n }\n // To GET DISPLAY TYPE\n getDisplaytypeValue(key: any) {\n let assetTypeConfig = [\n {\n type: \"asset_media\",\n display: \"Media\"\n },\n {\n type: \"asset_print\",\n display: \"Print\"\n },\n {\n type: \"quiz\",\n display: \"Quiz\"\n },\n {\n type: \"question\",\n display: \"Question\"\n },\n {\n type: \"chapter\",\n display: \"Chapter\"\n },\n {\n type: \"tp\",\n display: \"Topic\"\n },\n {\n type: \"whiteboard\",\n display: \"Whiteboard\"\n },\n {\n type: \"widget\",\n display: \"Widget\"\n },\n {\n type: \"casset_media\",\n display: \"cMedia\"\n },\n {\n type: \"casset_print\",\n display: \"cPrint\"\n },\n {\n type: \"cquiz\",\n display: \"cQuiz\"\n },\n {\n type: \"cquestion\",\n display: \"cQuestion\"\n },\n {\n type: \"image\",\n display: \"Image\"\n },\n {\n type: \"video\",\n display: \"Video\"\n },\n\n ];\n let displayValue = key;\n assetTypeConfig.forEach((value) => {\n if (value.type === key) {\n displayValue = value.display;\n }\n });\n return displayValue;\n\n }\n\n convertSeconds(seconds) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n return `${minutes}m ${remainingSeconds}s`;\n }\n}\n","import { Component, OnInit ,Output, ViewChild, Input,EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'lib-principal-dashboard-lib-v2',\n templateUrl: './principal-dashboard-lib-v2.component.html',\n styleUrls: ['./principal-dashboard-lib-v2.component.scss']\n})\nexport class PrincipalDashboardLibV2Component implements OnInit {\n @Input() data;\n @Input() set responseStatus(res: any) {\n this.setMessageForUser(res);\n // console.log(\" @Input() set responseStatus(res: any) >>>>>>>>>>>>.\",res);\n }\n @Output() userSelectedDate = new EventEmitter();\n messageForUser = \"Loding...\";\n constructor() { }\n\n ngOnInit(): void {\n \n // console.log(\" IN --> 7 data\",this.data);\n }\n setMessageForUser(res: any){\n this.messageForUser = res;\n }\n onUserSelectDate(e:any){\n // console.log(\" IN --> 1\");\n this.data = null;\n this.userSelectedDate.emit(e);\n }\n \n\n}\n","import { getLocaleDateTimeFormat } from '@angular/common';\nimport { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core';\nimport { ChartType } from 'angular-google-charts';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\ndeclare let require: any;\n\n@Component({\n selector: 'lib-chartheader',\n templateUrl: './chartheader.component.html',\n styleUrls: ['./chartheader.component.scss'],\n})\nexport class ChartheaderComponent implements OnInit {\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) {}\n \n //variables\n mytype = ChartType.Timeline;\n datadisplaytype = 'UserWise';\n isUserWise = true;\n myIcon: any;\n libVersion:any;\n isChartView=true;\n\n ngOnInit(): void {\n this.libVersion = \"0.0.21\";\n // this.myIcon = document.getElementById('myIconImg');\n // this.changeChatType() \n }\n changeChatType() {\n if (this.mytype == ChartType.Timeline) {\n this.isChartView = false;\n this.mytype = ChartType.Table;\n this.pdService.chartType.next(this.mytype);\n \n } else {\n this.isChartView = true;\n this.mytype = ChartType.Timeline;\n \n this.pdService.chartType.next(this.mytype);\n }\n }\n changeDataTypeClassRoom() {\n this.isUserWise = false;\n this.pdService.isUserWise_data.next(false);\n }\n changeDataTypeUser() {\n this.isUserWise = true;\n this.pdService.isUserWise_data.next(true);\n }\n}\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 {\n Component,\n ElementRef,\n OnInit,\n ViewChild,\n Input,\n HostListener,\n} from '@angular/core';\nimport { ChartType, GoogleChartComponent } from 'angular-google-charts';\nimport { element } from 'protractor';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\n@Component({\n selector: 'lib-chartview',\n templateUrl: './chartview.component.html',\n styleUrls: ['./chartview.component.scss'],\n})\nexport class ChartviewComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadChart(res);\n }\n \n }\n chartview:any;\n myDataList:any;\n chartDataTable:any;\n myChartOptions: any;\n AllrowHeight: any;\n myXmlData: any;\n currentdataList:any;\n resourceDataList:any;\n alldataList:any;\n selectedUserData:any;\n rowElements:any;\n \n installedClassrooms: any;\n currentRooms: any;\n totalUsers = 0;\n eligibleUsers = 0;\n currentUsers = 0;\n myChartType = ChartType.Timeline;\n myChartwidth = window.innerWidth * 0.88;\n myChartHeight = window.innerHeight;\n currentList = \"Current Users\";\n allList = \"All Users\";\n isAllUsers = false;\n isUserWise = false;\n alluserList: any;\n myChartDataMatrix = new Array();\n \n totalChartDataMatrix = new Array();\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) { }\n\n ngOnInit() { }\n\n loadChart(response: any) {\n // console.log(' IN --> 8 loadChart');\n this.totalUsers = 0;\n this.eligibleUsers = 0;\n this.currentUsers = 0;\n this.myChartType = ChartType.Timeline;\n this.myChartwidth = window.innerWidth * 0.88;\n this.myChartHeight = window.innerHeight;\n this.currentList = \"Current Users\";\n this.allList = \"All Users\";\n this.isAllUsers = false;\n this.isUserWise = false;\n this.myChartDataMatrix =[];\n this.totalChartDataMatrix =[];\n\n this.chartview = document.getElementById('pd-chartview');\n this.myDataList = document.getElementById('pd-xmlData');\n // let parse = new DOMParser();\n if(response){\n this.myXmlData = JSON.parse(response);\n }\n \n if(this.myXmlData){\n this.currentdataList = this.pdService.genarateUserReqiuredData(this.myXmlData);\n this.alluserList = this.pdService.allUserChartData();\n this.resourceDataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\n this.totalUsers = this.currentdataList.usersMetadata.length;\n this.eligibleUsers = this.findEligibleUserCount();\n this.installedClassrooms = this.findInstalledClassrooms();\n this.currentRooms = this.findCurrentClassrooms();\n this.findCurrentUserCount();\n }\n this.pdService.chartType.subscribe((data) => {\n if (data) {\n this.updateChartType(data);\n }\n });\n this.pdService.isUserWise_data.subscribe((data) => {\n this.updateDataType(data);\n });\n window.addEventListener('resize', this.onResizeWindow.bind(this));\n }\n onResizeWindow(event: any) {\n this.myChartwidth = window.innerWidth * 0.88; //set an appropriate factor\n }\n myChartReady() {\n this.createDivforTotalDurartion();\n this.setHeightofDivforTotalDurartion();\n // this.removeBlankEntryBar();\n }\n updateChartType(dataType: any) {\n if (this.chartview != null && this.chartview != undefined) {\n if (dataType == ChartType.Table) {\n this.chartview.style.display = 'none';\n } else {\n this.chartview.style.display = 'block';\n }\n }\n }\n updateDataType(dataType: any) {\n this.isUserWise = dataType;\n if (this.myXmlData) {\n if(this.isUserWise){\n this.currentList = \"Current Users\";\n this.allList = \"All Users\";\n if(this.isAllUsers){\n this.userWiseAllData();\n }else{\n this.userWiseCurrentData();\n } \n }else{\n this.allList = \"All Rooms\";\n this.currentList = \"Current Rooms\";\n if(this.isAllUsers){\n this.classRoomWiseAllData();\n }else{\n this.classRoomWiseCurrentData();\n } \n }\n }\n }\n updateChart() {\n let labels = document.getElementById('labels');\n while (labels.firstChild) {\n labels.removeChild(labels.lastChild);\n }\n this.chartDataTable = this.myChartDataMatrix;\n console.log(\"this.myChartDataMatrix\",this.myChartDataMatrix);\n \n \n (this.myChartOptions = {\n tooltip: {\n trigger: 'none',\n },\n colors: ['#ff7f0e', '#2ca02c', '#8c564b', '#d62728', '#bcbd22', '#17becf'],\n timeline: {\n colorByRowLabel: true,\n barLabelStyle: {\n fontSize: 7,\n },\n },\n hAxis: {\n format: 'HH:mm a',\n },\n });\n setTimeout(() => {\n this.myChartHeight = this.AllrowHeight + 100;//to set perfect height of chart \n }, 1000);\n }\n\n calulateTotalDuration(detailViewMatrix:any) {\n \n let id_durationArray;\n let id_durationMatrix = new Array();\n id_durationMatrix = [];\n this.totalChartDataMatrix = [];\n if (this.isUserWise) {\n for (let i = 0; i < detailViewMatrix.length; i++) {\n id_durationArray = {\n name: detailViewMatrix[i].userName,\n value: parseInt(detailViewMatrix[i].duration),\n };\n id_durationMatrix.push(id_durationArray);\n }\n } else {\n for (let i = 0; i < detailViewMatrix.length; i++) {\n // console.log(\"detailViewMatrix[i]\",detailViewMatrix[i]);\n id_durationArray = {\n name: detailViewMatrix[i].terminalIP,\n value: parseInt(detailViewMatrix[i].duration),\n };\n id_durationMatrix.push(id_durationArray);\n }\n }\n \n let obj: any = {};\n id_durationMatrix = [...new Set(id_durationMatrix)];\n \n id_durationMatrix.forEach((item) => {\n if (obj[item.name]) {\n obj[item.name].value = obj[item.name].value + item.value;\n } else {\n\n obj[item.name] = item;\n }\n });\n let valuesArr = Object.values(obj);\n \n let myArray = new Array();\n myArray = [];\n valuesArr.forEach((item: any) => {\n myArray.push(item.value);\n });\n for (let i = 0; i < myArray.length; i++) {\n let totaldurationPerRow = [this.timeConvert(myArray[i]).toString() + ' hrs'];\n // let totalChartRowDataArray = [totaldurationPerRow];\n this.totalChartDataMatrix.push(totaldurationPerRow);\n }\n }\n timeConvert(n: any) {\n var num = Math.floor(n);\n var hours = num / 60;\n var rhours = Math.floor(hours);\n var minutes = (hours - rhours) * 60;\n var rminutes = Math.round(minutes);\n return rhours + ':' + rminutes;\n }\n removeBlankEntryBar() {\n const chartDiv = document.getElementById('myTimeLine');\n var el = chartDiv.getElementsByTagName(\"rect\"); //get all the descendant rect element inside the container \n var width = 100000000; //set a large initial value to width\n var elToRem = []; //element would be added to this array for removal\n for (var i = 0; i < el.length; i++) { //looping over all the rect element of container\n var cwidth = parseInt(el[i].getAttribute(\"width\"));//getting the width of ith element\n if (cwidth < width) { //if current element width is less than previous width then this is min. width and ith element should be removed\n elToRem = [el[i]];\n width = cwidth; //setting the width with min width\n }\n else if (cwidth == width) { //if current element width is equal to previous width then more that one element would be removed\n elToRem.push(el[i]);\n }\n }\n for (var i = 0; i < elToRem.length; i++) {\n // now iterate JUST the elements to remove\n elToRem[i].setAttribute(\"fill\", \"none\");\n\n }\n }\n createDivforTotalDurartion() {\n let rowLabels = [];\n this.rowElements = [];\n var labels = document.getElementById('labels');\n while (labels.firstChild) {\n labels.removeChild(labels.lastChild);\n }\n for (var i = 0; i < this.totalChartDataMatrix.length; i++) {\n var team = this.totalChartDataMatrix[i][0];\n rowLabels.push(team);\n var label = labels.appendChild(document.createElement('div'));\n label.style['border-bottom'] = '1px solid #b7b7b7';\n label.style['font-family'] = 'Arial';\n label.style['font-size'] = '13px';\n label.style['text-align'] = 'left';\n label.style['padding-left'] = '8px';\n label.style['padding-right'] = '8px';\n label.style.position = 'inherit';\n if (i % 2) {\n label.style['background-color'] = '#e6e6e6';\n } else {\n label.style['background-color'] = '#ffffff';\n }\n label.innerHTML = team;\n this.rowElements.push(label);\n }\n }\n setHeightofDivforTotalDurartion() {\n \n this.AllrowHeight = 0;\n const chartDiv = document.getElementById('myTimeLine');\n let rows = chartDiv.getElementsByTagName('rect');\n let rowIndex = -1;\n\n for (let i = 0; i < rows.length; i++) {\n rowIndex++;\n if (rowIndex < this.rowElements.length) {\n let rowHeight = parseFloat(rows[i].getAttribute('height')) + 'px';\n this.AllrowHeight += parseFloat(rows[i].getAttribute('height'));\n\n const currentCell = this.rowElements[rowIndex];\n if (currentCell) {\n currentCell.style.height = rowHeight;\n currentCell.style.lineHeight = rowHeight;\n }\n }\n }\n }\n\n onSelectRowData(event: any) {\n const { row, column } = event.selection[0]; \n if(this.isAllUsers){\n this.selectedUserData = this.pdService.dataForDetailedView(this.alluserList.fordurationTable,this.resourceDataList, row);\n \n }else{\n this.selectedUserData = this.pdService.dataForDetailedView(this.currentdataList.userConsoleData,this.resourceDataList, row);\n \n \n }\n // console.log(\"this.selectedUserData\",this.selectedUserData);\n this.pdService.detailedviewData.next(this.selectedUserData);\n this.updateChart();\n // alluserList\n }\n showAllUser() {\n this.pdService.isAllUsers.next(true);\n this.isAllUsers = true;\n if(this.isUserWise){\n this.userWiseAllData();\n }else{\n this.classRoomWiseAllData();\n }\n }\n showCurrentUser() {\n this.isAllUsers = false;\n this.pdService.isAllUsers.next(false);\n if(this.isUserWise){\n this.userWiseCurrentData();\n }else{\n this.classRoomWiseCurrentData();\n }\n }\n userWiseCurrentData(){\n \n let chartDataUserWise = this.pdService.userWiseChartData();\n console.log(\"chartDataUserWise\",chartDataUserWise);\n \n if(chartDataUserWise.length>0){\n this.myChartDataMatrix =chartDataUserWise;\n this.updateChart();\n if(this.currentdataList.userConsoleData.length>0){\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\n }\n } \n }\n userWiseAllData(){\n let chartDataUserWise = this.alluserList.forChartData;\n if(chartDataUserWise.length>0){\n this.myChartDataMatrix =chartDataUserWise;\n \n this.updateChart();\n this.calulateTotalDuration(this.alluserList.fordurationTable);\n }\n \n }\n classRoomWiseCurrentData(){\n let classRoomdata = this.pdService.classRoomWiseChartData();\n console.log(\"classRoomdata\",classRoomdata);\n if(classRoomdata && classRoomdata.length>0){\n \n \n this.myChartDataMatrix =classRoomdata; \n console.log(\"myChartDataMatrix\",this.myChartDataMatrix)\n \n this.updateChart();\n if(this.currentdataList.userConsoleData.length>0){\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\n }\n } \n }\n \n classRoomWiseAllData(){\n let allclassRoomList = this.pdService.allRoomsData();\n if(allclassRoomList.forChartData && allclassRoomList.forChartData.length > 0){\n this.myChartDataMatrix = allclassRoomList.forChartData;\n this.updateChart();\n }\n if(allclassRoomList.fordurationTable && allclassRoomList.fordurationTable.length > 0){\n this.calulateTotalDuration(allclassRoomList.fordurationTable);\n }\n \n }\n\n findCurrentUserCount(){\n let userConsoleData = this.currentdataList.userConsoleData;\n \n let userNameArray = new Array();\n for (let index = 0; index < userConsoleData.length; index++) {\n const element = userConsoleData[index].userName;\n userNameArray.push(element);\n }\n let uniqueUserName = [...new Set(userNameArray)];\n this.currentUsers = uniqueUserName.length;\n }\n\n findCurrentClassrooms(){\n //console.log(\"findCurrentClassrooms\", this.currentdataList.schoolTerminalData)\n let classRoomdata = this.pdService.newGetCurrentClassroomData();\n console.log(\"findCurrentClassrooms\",classRoomdata);\n return classRoomdata.length;\n }\n findInstalledClassrooms(){\n let count = 0;\n console.log(\"findInstalledClassrooms\", this.currentdataList.schoolTerminalData)\n return this.currentdataList.schoolTerminalData.length;\n }\n findEligibleUserCount(){\n console.log(\"findEligibleUserCount\", this.currentdataList)\n \n let count = 0;\n let userMetaData = this.currentdataList.usersMetadata\n for (let index = 0; index < userMetaData.length; index++) {\n const element = userMetaData[index].userSubjects;\n if(element !== \"\"){\n // console.log(\"findEligibleUserCount\", element)\n count = count + 1;\n }\n \n }\n \n return count;\n }\n\n ngOnDestroy() {\n // console.log('ngOnDestroy >>');\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\n\n@Component({\n selector: 'lib-detailedview',\n templateUrl: './detailedview.component.html',\n styleUrls: ['./detailedview.component.scss'],\n})\nexport class DetailedviewComponent implements OnInit {\n userMetadata: any;\n resourseMetadata: any;\n deatilViewContainer: any;\n deatilViewTable: any;\n closeButton: any;\n getTotalData:any\n userMetadataHeadingArray = [\n 'Name:',\n 'Start Time:',\n 'Subject:',\n 'End Time:',\n 'Room Details:',\n ];\n resourseMetadataHeadingArray = [\n 'Subject',\n 'Class',\n 'Chapter Name',\n 'Topic Name',\n 'Assets Details',\n ];\n constructor(private pdService: PrincipalDashboardLibV2Service) {}\n\n ngOnInit(): void {\n this.deatilViewContainer = document.getElementById('pd-deatilViewContainer');\n this.deatilViewTable = document.getElementById('pd-deatilViewTable');\n this.closeButton = document.getElementById('pd-closeButton');\n \n this.pdService.detailedviewData.subscribe((data) => {\n if(data){\n if(data.userDetails.length>0 ){\n this.createTable(data.userDetails);\n }\n if(data.resourceDetails.length>0){\n // console.log(\"data.resourceDetails\",data.resourceDetails);\n \n this.createResourcesTable(data.resourceDetails);\n }\n }\n \n });\n \n this.deatilViewContainer.style.display = 'none';\n }\n createTable(userMetadata: any) {\n this.deatilViewContainer.style.display = 'block';\n while (this.deatilViewTable.firstChild) {\n this.deatilViewTable.removeChild(this.deatilViewTable.lastChild);\n }\n\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < userMetadata.length; i++) {\n let label = document.createElement('label');\n label.appendChild(\n document.createTextNode(this.userMetadataHeadingArray[i])\n );\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n let data = document.createElement('label');\n data.appendChild(document.createTextNode(userMetadata[i]));\n if (data.textContent === 'undefined'|| data.textContent === undefined) {\n data.textContent = '';\n }\n labelArray.push(data);\n }\n let tbl = document.createElement('table');\n tbl.id = \"userDataTable\";\n tbl.className = \"table table-bordered\";\n let tblBody = document.createElement('tbody');\n for (let j = 0; j < userMetadata.length / 2; j++) {\n let row = document.createElement('tr');\n let cell: any;\n for (let i = 0; i < 4; i++) {\n if (i % 2 == 0) {\n cell = document.createElement('th');\n cell.style['font-weight'] = \"bold\"\n // cell.style.background =\"#e0e0e0\";\n } else {\n cell = document.createElement('td');\n }\n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n tblBody.appendChild(row);\n tbl.appendChild(tblBody);\n this.deatilViewTable.appendChild(tbl);\n }\n }\n createResourcesTable(resoureMetadata: any) {\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < this.resourseMetadataHeadingArray.length; i++) {\n let label = document.createElement('label');\n label.appendChild(\n document.createTextNode(this.resourseMetadataHeadingArray[i])\n );\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n }\n for (let i = 0; i < resoureMetadata.length; i++) {\n for (let j = 0; j < 5; j++) {\n let label = document.createElement('label');\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n }\n }\n let tbl = document.createElement('table');\n tbl.className = \"table table-bordered\";\n tbl.id = \"resoureMetadataTable\";\n let tblBody = document.createElement('tbody');\n for (let j = 0; j <= resoureMetadata.length; j++) {\n let row = document.createElement('tr');\n let cell: any;\n for (let i = 0; i < 5; i++) {\n if (j == 0) {\n cell = document.createElement('th');\n cell.style['font-weight'] = 'bold';\n // cell.style.background =\"#e0e0e0\";\n } else {\n cell = document.createElement('td');\n }\n\n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n tblBody.appendChild(row);\n tbl.appendChild(tblBody);\n this.deatilViewTable.appendChild(tbl);\n }\n }\n \n onCloseBtnClick() {\n this.deatilViewContainer.style.display = 'none';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { resourceUsage } from 'process';\nimport * as FileSaver from 'file-saver'\nimport * as XLSX from 'xlsx';\nimport { HtmlTagDefinition } from '@angular/compiler';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n@Injectable({\n providedIn: 'root'\n})\nexport class ExceldataService {\n resourceTypes = new Array();\n myEndTime:any;\n constructor() { }\n //_____FOR EXCEL CONVERTOR\n public workbook:any;\n public tabName = [{\"name\":\"School\"},{\"name\":\"User Summary\"},{\"name\":\"Terminal Summary\"},{\"name\":\"Usage Details\"}]\n public exportAsExcelFile(json: any,excelFileName: string): void {\n let excelBuffer: any;\n let myobj: any = {Sheets:{}, SheetNames:[] }\n for (let i = 0; i < json.length; i++) {\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[i]);\n myobj.Sheets[this.tabName[i].name] = worksheet\n myobj.SheetNames.push(this.tabName[i].name)\n }\n const workbook:XLSX.WorkBook = myobj; \n excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\n }\n //_____FOR EXCEL CONVERTOR END\n\n genarateResourseReqiuredData_Excel(data: any): any {\n let resouseID: any;\n let title: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let teachingpoint: any;\n let type: any;\n let resourceMetadataMatrix = new Array();\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\n \n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\n for (var i = 0; i < resourceMetadata.length;i++){\n //----------//resouseID\n resouseID = resourceMetadata[i].resourceId;\n //----------//subject\n if (resourceMetadata[i].subject != undefined) {\n if (resourceMetadata[i].subject.title != undefined) {\n subject = resourceMetadata[i].subject.title;\n } else {\n subject = '';\n }\n } else {\n subject = '';\n }\n //----------//grade\n if (resourceMetadata[i].grade != undefined) {\n if (resourceMetadata[i].grade.title != undefined) {\n grade = resourceMetadata[i].grade.title;\n } else {\n grade = '';\n }\n } else {\n grade = '';\n }\n //----------//chapter\n if (resourceMetadata[i].chapter != undefined) {\n if (resourceMetadata[i].chapter.title != undefined) {\n chapter = resourceMetadata[i].chapter.title;\n } else {\n chapter = '';\n }\n } else {\n chapter = '';\n }\n \n //----------//teachingpoint\n if (resourceMetadata[i].teachingpoint != undefined) {\n if (resourceMetadata[i].teachingpoint.title != undefined) {\n teachingpoint = resourceMetadata[i].teachingpoint.title;\n } else {\n teachingpoint = '';\n }\n } else {\n teachingpoint = '';\n }\n //----------//type\n if (resourceMetadata[i].type != undefined) {\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\n } else {\n type = '';\n }\n \n //----------//title\n if (resourceMetadata[i].title != undefined) {\n title = resourceMetadata[i].title;\n } else {\n title = '';\n }\n \n \n let resourceMetauserConsoleData = {\n resouseID:resouseID,\n subject:subject,\n grade:grade,\n chapter:chapter,\n teachingpoint:teachingpoint,\n type:type,\n title:title\n }\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\n this.resourceTypes.push(type);\n }\n }\n this.resourceTypes = [...new Set(this.resourceTypes)]\n return resourceMetadataMatrix;\n }\n genarateUserReqiuredData_Excel(data: any): any {\n let userConsole = data.usersConsole.userConsole;\n let usersMetadata = data.usersMetadata.userMetadata;\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\n \n \n let usersMetadataMatrix = new Array();\n let usermetadataMatrixUpdated = new Array();\n let schoolTerminalMatrix = new Array();\n let userConsoleMatrix = new Array();\n if(usersMetadata!= null && usersMetadata.length > 0){\n for (let i = 0; i < usersMetadata.length; i++) {\n let userId: any;\n let userName: any;\n let userSubjects: any;\n let listOfUser:any = {}\n if (usersMetadata[i].userId!=\"\") {\n userId = usersMetadata[i].userId;\n \n if (usersMetadata[i].fullName !== undefined) {\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\n } else {\n userName = '';\n }\n\n if (usersMetadata[i].userSubjects !== undefined) {\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\n } else {\n userSubjects = '';\n }\n \n listOfUser = {\n userId:userId, \n userName:userName, \n userSubjects:userSubjects\n };\n usersMetadataMatrix.push(listOfUser); // array of all users\n }\n }\n }\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\n usersMetadataMatrix.forEach(element => {\n if (usersMetadataMatrix[i].userName === element.userName) {\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\n }\n });\n }\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\n }\n if(schoolTerminal != null && schoolTerminal.length > 0){\n for (var i = 0; i < schoolTerminal.length; i++) {\n let schoolId:any;\n let terminalKey:any;\n let terminalType:any;\n let location:any;\n let schoolTerminalData:any = {};\n \n //----------//schoolId\n if (schoolTerminal[i].schoolId !== undefined) {\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\n } else {\n schoolId = '';\n }\n //----------//terminalKey\n if (schoolTerminal[i].terminalKey !== undefined) {\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\n } else {\n terminalKey = '';\n }\n //----------//terminalType\n if (schoolTerminal[i].terminalType !== undefined) {\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\n } else {\n terminalType = '';\n }\n \n //----------//location\n if (schoolTerminal[i].metadata !== undefined) {\n location = schoolTerminal[i].metadata // get name of user w.r.t. ID\n } else {\n location = '';\n }\n schoolTerminalData = {\n schoolId:schoolId,\n terminalKey:terminalKey,\n terminalType:terminalType,\n location:location\n };\n schoolTerminalMatrix.push(schoolTerminalData);\n \n }\n }\n if(userConsole !=null && userConsole.length > 0){\n for (let index = 0; index < userConsole.length; index++) {\n let userId: any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let selectedDate: any;\n let terminalIP: any;\n let userConsoleResources: any;\n let resourceMetadataIDS: any;\n let resourceMetauserConsoleData = [];\n let resourceDurationFromConsole = [];\n let userName:any;\n let userSubjects:any;\n let terminalLocation: any;\n //----------//user iD\n if (userConsole[index].userId !== undefined) {\n userId = userConsole[index].userId // get name of user w.r.t. ID\n } else {\n userId = '';\n }\n //----------// startTime \n if (userConsole[index].startTime !== undefined) {\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\n } else {\n startTime = '';\n }\n //----------// endTime \n if (userConsole[index].endTime !== undefined) {\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\n this.myEndTime = endTime;\n } else {\n endTime = '';\n }\n //----------// Date \n if (userConsole[index].selectedDate !== undefined) {\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\n } else {\n selectedDate = '';\n }\n \n //----------// Duration\n if (userConsole[index].duration !== undefined) {\n duration = userConsole[index].duration // get name of user w.r.t. ID\n } else {\n duration = '';\n }\n //----------// terminalIP\n if (userConsole[index].terminalIP !== undefined) {\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\n } else {\n terminalIP = '';\n }\n \n //----------// userConsoleResources\n if (userConsole[index].userConsoleResources !== undefined) {\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\n } else {\n userConsoleResources = null;\n }\n \n if(userConsoleResources != null){\n if (userConsoleResources.userConsoleResource !== undefined) {\n // satyajit resource wise duration added\n userConsoleResources.userConsoleResource.forEach(item => {\n resourceMetauserConsoleData.push(item.resourceId); // get name of user w.r.t. ID\n resourceDurationFromConsole.push(item.duration);\n });\n // resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\n } else {\n resourceMetauserConsoleData = [];\n resourceDurationFromConsole = [];\n }\n }\n \n //----------// userName and userSubjects\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\n if (userId === usersMetadataMatrix[i].userId) {\n userName = usersMetadataMatrix[i].userName;\n userSubjects = usersMetadataMatrix[i].userSubjects;\n }\n }\n //----------// terminalIP and terminalLocation\n \n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\n terminalLocation = schoolTerminalMatrix[i].location;\n }\n }\n let userData = {\n userId:userId,\n userName:userName,\n startTime:new Date(startTime),\n endTime:new Date(endTime),\n terminalIP:terminalIP,\n resourceMetauserConsoleData:resourceMetauserConsoleData,\n duration:duration,\n terminalLocation:terminalLocation,\n userSubjects:userSubjects,\n resourceDurationFromConsole:resourceDurationFromConsole\n }\n \n userConsoleMatrix.push(userData);\n \n }\n }\n return {usersMetadata:usersMetadataMatrix,schoolTerminalData:schoolTerminalMatrix,userConsoleData: userConsoleMatrix}\n }\n \n deatilData_Excel(userConsoleMatrix: any,resourceMetadataMatrix: any){\n // console.log(\"resourceMetadataMatrix\",resourceMetadataMatrix);\n \n let currentDate: any;\n let resourceMatrixForExcel = new Array();\n resourceMatrixForExcel = [];\n for (let i = 0; i <userConsoleMatrix.length; i++) {\n let userID:any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let resourceType: any;\n let resourceTitle: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n \n let resourceMetadataIDs: any;\n let resourceMetadataIDsDuration: any;\n let resourceArrayForExcel = new Array();\n \n\n userID = userConsoleMatrix[i].userId;\n //----------------- for subject and Name\n teacherSubject = userConsoleMatrix[i].userSubjects;\n teacherName = userConsoleMatrix[i].userName;\n //----------------- for start Time and EndTime \n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[i].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[i].terminalLocation;\n terminalIP = userConsoleMatrix[i].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n let locationName = location;\n let terminalIPAddress = terminalIP;\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\n resourceMetadataIDsDuration = userConsoleMatrix[i].resourceDurationFromConsole;\n if (resourceMetadataIDs.length == 0) {\n subject = '';\n grade = '';\n chapter = '';\n teachingpoint = '';\n resourceTitle = '';\n resourceType = '';\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\n resourceMatrixForExcel.push(resourceArrayForExcel);\n }else{\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n // resouseID:resouseID,\n // subject:subject,\n // grade:grade,\n // chapter:chapter,\n // teachingpoint:teachingpoint,\n // type:type,\n // title:title\n\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\n\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n resourceTitle = resourceMetadataMatrix[i].title;\n resourceType = this.getDisplaytypeValue(resourceMetadataMatrix[i].type);\n // FOR EXCEL\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID,resourceMetadataIDsDuration[k]];\n resourceMatrixForExcel.push(resourceArrayForExcel);\n teacherName = '';\n teacherSubject= '';\n currentDate= '';\n startTime= '';\n endTime= '';\n locationName= ''; \n terminalIPAddress= '';\n duration = '';\n \n }\n }\n }\n }\n }\n \n return resourceMatrixForExcel;\n }\n deatilUsage_Excel(resourceMatrixForExcel){\n let userList=[];\n // console.log(\"resourceMatrixForExcel>>>>>>>>>>>>>>>>>>>\",resourceMatrixForExcel);\n \n if(resourceMatrixForExcel.length > 0){\n for(let i=0;i<resourceMatrixForExcel.length;i++){\n let data = {\n // Sr_No: i+1,\n Name:resourceMatrixForExcel[i][0],\n Subjects:resourceMatrixForExcel[i][1],\n Date:\tresourceMatrixForExcel[i][2],\n startTime:resourceMatrixForExcel[i][3],\n endTime:resourceMatrixForExcel[i][4],\n \"duration(mins)\":resourceMatrixForExcel[i][5],\n location:resourceMatrixForExcel[i][6],\n IP:resourceMatrixForExcel[i][7],\n subjectTitle:resourceMatrixForExcel[i][8],\n gradeTitle:resourceMatrixForExcel[i][9],\n Chapter:resourceMatrixForExcel[i][10],\n tpTitle:resourceMatrixForExcel[i][11],\n resourceTitle:resourceMatrixForExcel[i][12],\n resourceType:resourceMatrixForExcel[i][13],\n 'resourceDuration(sec)':resourceMatrixForExcel[i][15],\n }\n userList.push(data);\n }\n \n } \n // console.log(\"userList\",userList);\n return userList;\n }\n userSummary_Excel(data,resourceMatrixForExcel){\n // console.log(\"resourceMatrixForExcel\",resourceMatrixForExcel)\n let userMetadataList = data.usersMetadata.userMetadata;\n let resourcelist = new Array();\n let resourceTypeList = new Array();\n let userObjectList= new Array();\n let classRooms= new Array();\n let datesAccess= new Array();\n let grades= new Array();\n let subjectTought= new Array();\n // let unique_resourceTypeList = []; \n let duration = 0;\n for (let i = 0; i < userMetadataList.length; i++) {\n resourcelist = [];\n resourceTypeList = [];\n classRooms = []; \n datesAccess = [];\n grades = [];\n subjectTought = [];\n \n duration = 0;\n // console.log(\"userMetadataList[i]\",userMetadataList);\n // console.log(\"resourceMatrixForExcel[i]\",[...new Set(resourceMatrixForExcel)]);\n for (let j = 0; j < resourceMatrixForExcel.length; j++){\n \n if(userMetadataList[i].userId === resourceMatrixForExcel[j][14]){\n if(resourceMatrixForExcel[j][12] != ''){\n resourcelist.push(resourceMatrixForExcel[j][12]);\n }\n \n if(resourceMatrixForExcel[j][13] != ''){\n resourceTypeList.push(resourceMatrixForExcel[j][13]);\n }\n if(resourceMatrixForExcel[j][5] != ''){\n duration = duration + resourceMatrixForExcel[j][5];\n }\n \n \n classRooms.push(resourceMatrixForExcel[j][6]);\n datesAccess.push(resourceMatrixForExcel[j][2]);\n grades.push(resourceMatrixForExcel[j][9]);\n subjectTought.push(resourceMatrixForExcel[j][8]);\n \n \n }\n }\n \n let ClassRooms:any; \n let DatesAccess:any; \n let Grades:any; \n let SubjectTought:any; \n let dayAccess:any; \n \n if(classRooms.length>0){\n ClassRooms = [...new Set(classRooms)][0];\n }else{\n ClassRooms = '';\n }\n if(datesAccess.length>0){\n dayAccess = [...new Set(datesAccess)].length;\n }else{\n dayAccess = '';\n }\n if(datesAccess.length>0){\n DatesAccess = [...new Set(datesAccess)][0];\n }else{\n DatesAccess = '';\n }\n if(grades.length>0){\n Grades = [...new Set(grades)][0];\n }else{\n Grades = ''\n }\n \n if(subjectTought.length>0){\n SubjectTought = [...new Set(subjectTought)][0];\n }else{\n SubjectTought = '';\n }\n // if(resourceTypeList.length>0){\n // unique_resourceTypeList = [...new Set(resourceTypeList)];\n \n // }\n // console.log(\"this.resourceTypes\",this.resourceTypes)\n let user = {\n Name:userMetadataList[i].fullName,\n Subjects:userMetadataList[i].userSubjects,\n duration:duration,\n ClassRooms:ClassRooms,\n DatesAccess:DatesAccess,\n DayAccess:dayAccess,\n Grades:Grades,\n SubjectTought:SubjectTought,\n AseestUsed:resourcelist,\n AssetType:resourceTypeList\n }\n userObjectList.push(user);\n \n }\n // console.log(\"userObjectList\",userObjectList)\n let userSummaryList = new Array();\n for(let i = 0; i < userObjectList.length; i++){\n const Assetcounts = [];\n //find count of present asset type\n let presentAsset =userObjectList[i].AssetType;\n presentAsset = [...new Set(presentAsset)];\n // console.log(\"presentAsset\",presentAsset)\n //find count of present asset count\n const sampleArray =userObjectList[i].AssetType;\n sampleArray.forEach(function (x) { Assetcounts[x] = (Assetcounts[x] || 0) + 1; });\n // find missing assets\n let missingAssets = this.resourceTypes.filter(n => !presentAsset.includes(n));\n // adding missing asset with count 0 in list\n missingAssets.forEach((element) => {\n Assetcounts[element] = 0;\n });\n // console.log(Assetcounts);\n let asset_media = {\n // Sr_No: i+1,\n Name:userObjectList[i].Name,\n Subjects_taught:userObjectList[i].Subjects,\n \" Duration(mins)\":userObjectList[i].duration,\n ClassRooms:userObjectList[i].ClassRooms,\n DaysAccsessed:userObjectList[i].DayAccess,\n DatesAccess:userObjectList[i].DatesAccess,\n Grades:userObjectList[i].Grades,\n Subjects:userObjectList[i].SubjectTought\n }\n const returnedTarget = Object.assign(asset_media, Assetcounts);\n userSummaryList.push(returnedTarget);\n\n }\n \n // console.log(\"userSummaryList\",userSummaryList);\n \n return userSummaryList;\n }\n\n // To GET DISPLAY TYPE\n getDisplaytypeValue(key: any) {\n let assetTypeConfig = [\n {\n type: \"asset_media\",\n display: \"Media\"\n },\n {\n type: \"asset_print\",\n display: \"Print\"\n },\n {\n type: \"quiz\",\n display: \"Quiz\"\n },\n {\n type: \"question\",\n display: \"Question\"\n },\n {\n type: \"chapter\",\n display: \"Chapter\"\n },\n {\n type: \"tp\",\n display: \"Topic\"\n },\n {\n type: \"whiteboard\",\n display: \"Whiteboard\"\n },\n {\n type: \"widget\",\n display: \"Widget\"\n },\n {\n type: \"casset_media\",\n display: \"cMedia\"\n },\n {\n type: \"casset_print\",\n display: \"cPrint\"\n },\n {\n type: \"cquiz\",\n display: \"cQuiz\"\n },\n {\n type: \"cquestion\",\n display: \"cQuestion\"\n },\n {\n type: \"image\",\n display: \"Image\"\n },\n {\n type: \"video\",\n display: \"Video\"\n },\n \n ];\n let displayValue = key;\n assetTypeConfig.forEach((value) => {\n if (value.type === key) {\n displayValue = value.display;\n }\n });\n return displayValue;\n \n }\n}\n","import { Component, OnInit, Output, ViewChild, Input, EventEmitter } from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\nimport { ExceldataService } from '../exceldata.service';\nimport { DatepickerOptions } from 'ng2-datepicker';\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadData(res);\n } \n }\n @Output() userSelectedDate = new EventEmitter();\n\n myCalendar: any;\n calenderDate: any;\n currentDate: any;\n calenderCurrentDate: any;\n todayDate: any;\n refreshTimer = 0;\n refreshInterval: any;\n calenderEvent: any;\n message: any;\n intervalId: any;\n mydata :any;\n dataList: any;\n //for datepicker\n title = 'datepicker';\n date: Date = new Date();\n options: DatepickerOptions = {\n inputClass: 'input',\n calendarClass: 'datepicker-default',\n scrollBarColor: '#010001',\n format: 'dd/LL/yyyy',\n maxDate: new Date()\n };\n \n constructor(\n private excelService: ExceldataService,\n private pdService:PrincipalDashboardLibV2Service\n ) { }\n\n ngOnInit(): void {\n this.getDefaultDate();\n this.startTimer();\n }\n getDefaultDate() {\n let date = new Date();\n this.getDateFormat(date);\n this.todayDate = this.calenderCurrentDate;\n }\n dateSelected(e: any){\n this.getDateFormat(e);\n this.mydata = null;\n this.refreshChart();\n }\n getDateFormat(date:any){\n let day = date.getDate();\n let month = date.getMonth() + 1;\n let year = date.getFullYear();\n let m;\n let d;\n if (month < 10) {\n m = \"0\" + month;\n } else {\n m = month;\n }\n if (day < 10) {\n d = \"0\" + day;\n } else {\n d = day;\n }\n let today = year + \"-\" + m + \"-\" + d;\n this.currentDate = today;\n this.calenderCurrentDate = today.split(\"-\").reverse().join(\"-\");\n }\n // selectDate(e: any) {\n // this.calenderEvent = e;\n // let today = e.target.value;\n // // console.log(\"e.target.value\", e.target.value);\n // today = today.split(\"-\").reverse().join(\"-\");\n // this.calenderCurrentDate = today;\n // this.mydata = null;\n // this.refreshChart();\n // // this.userSelectedDate.emit(this.calenderCurrentDate);\n // ;\n // console.log(\" IN --> 5\");\n // }\n refreshChart() {\n this.stopTimer();\n this.refreshTimer = 0;\n if(this.calenderCurrentDate === this.todayDate){\n this.countDown();\n }\n this.userSelectedDate.emit(this.calenderCurrentDate);\n }\n\n startTimer() {\n this.countDown();\n }\n stopTimer() {\n this.clearTimer();\n this.message = ``;\n }\n clearTimer() {\n this.refreshTimer = 0;\n window.clearInterval(this.intervalId);\n }\n countDown() {\n console.log(\"countDown\")\n this.clearTimer();\n this.intervalId = window.setInterval(() => {\n this.refreshTimer -= 1;\n if (this.refreshTimer === 0) {\n this.refreshChart();\n this.message = '';\n } else {\n if (this.refreshTimer < 0) {\n this.refreshTimer = 300;\n } // reset\n this.message = `${this.refreshTimer}`;\n }\n }, 1000);\n }\n timeConvert(n: any) {\n var num = n;\n var hours = num / 60;\n var rhours = Math.floor(hours);\n var minutes = (hours - rhours) * 60;\n var rminutes = Math.round(minutes);\n return rhours + ':' + rminutes;\n }\n // currentdataList: any;\n // currentResoursedataList:any;\n loadData(response: any){\n if(response){\n this.mydata = JSON.parse(response);\n if (this.mydata) {\n //get current data list\n let genarateUserReqiuredData = this.excelService.genarateUserReqiuredData_Excel(this.mydata);\n let currentdataList =genarateUserReqiuredData.userConsoleData;\n // resoureMetadata list\n let currentResoursedataList = this.excelService.genarateResourseReqiuredData_Excel(this.mydata);\n \n let deatilData = this.excelService.deatilData_Excel(currentdataList,currentResoursedataList);\n let userDetails_data = this.excelService.deatilUsage_Excel(deatilData);\n let UserSummary = this.excelService.userSummary_Excel(this.mydata,deatilData);\n \n let schoolDetails = this.mydata.schoolMetadata.school;\n let userDetails = userDetails_data;\n let terminalDetails = this.mydata.schoolTerminals.schoolTerminal;\n // console.log(\"schoolDetails\",schoolDetails);\n // console.log(\"UserSummary\",UserSummary);\n // console.log(\"terminalDetails\",terminalDetails);\n // console.log(\"userDetails\",userDetails);\n \n this.dataList = [\n [schoolDetails],\n UserSummary,\n terminalDetails,\n userDetails\n ]\n }\n }\n \n }\n exportReport(){\n if(this.mydata){\n this.excelService.exportAsExcelFile(this.dataList, 'UsageReport-'+ this.calenderCurrentDate);\n }\n \n }\n ngOnDestroy() {\n this.clearTimer();\n }\n \n}\n","import { Component, OnInit ,Input} from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\nimport { ChartType } from 'angular-google-charts';\n\n@Component({\n selector: 'lib-tableview',\n templateUrl: './tableview.component.html',\n styleUrls: ['./tableview.component.scss'],\n})\n\nexport class TableviewComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadTable(res);\n }\n }\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) {}\n resourseMetadata: any;\n tableRow: any;\n userMetadata: any;\n tableViewDiv: any;\n tblBody: any;\n myXmlData: any;\n myChartType = ChartType.Table;\n currentdataList:any;\n currentResoursedataList:any;\n tableViewData:any;\n alluserList:any;\n isUserWise = true;\n \n ngOnInit(): void {\n \n }\n loadTable(response: any){\n // let parse = new DOMParser();\n // this.myXmlData = parse.parseFromString(response, 'application/xml');\n if(response){\n this.myXmlData = JSON.parse(response);\n if(this.myXmlData){\n // get current data list\n let genarateUserReqiuredData = this.pdService.genarateUserReqiuredData(this.myXmlData);\n this.currentdataList =genarateUserReqiuredData.userConsoleData;\n // get all user list \n let fetchAlluserList = this.pdService.allUserChartData();\n this.alluserList = fetchAlluserList.fordurationTable;\n // resoureMetadata list\n this.currentResoursedataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\n console.log(\"AAA genarateUserReqiuredData-->>\",genarateUserReqiuredData)\n console.log(\"AAA this.currentResoursedataList-->>\",this.currentResoursedataList)\n }\n }\n \n \n this.tableViewDiv = document.getElementById('tableViewDiv');\n this.tableRow = document.getElementById('tableRow');\n this.tblBody = document.getElementById('tblBody');\n this.tableViewDiv.style.display = 'none';\n \n this.pdService.chartType.subscribe((data) => {\n if (data) {\n this.updateChartType(data);\n }\n });\n this.pdService.isUserWise_data.subscribe((data) => {\n this.updateDataType(data);\n });\n this.pdService.isAllUsers.subscribe((data) => {\n if(data){\n this.showAllUser();\n }else{\n this.showCurrentDataUser();\n }\n \n });\n }\n showCurrentDataUser() {\n this.tableViewData = this.pdService.dataForTableView(this.currentdataList,this.currentResoursedataList);\n if(this.tableViewData){\n this.ueserWiseTableView(this.tableViewData);\n }\n }\n showAllUser() {\n this.tableViewData = this.pdService.dataForTableView(this.alluserList ,this.currentResoursedataList);\n if(this.tableViewData){\n this.ueserWiseTableView(this.tableViewData);\n }\n }\n updateDataType(dataType: any) {\n this.isUserWise = dataType;\n }\n updateChartType(dataType: any) {\n this.myChartType = dataType;\n if (this.myChartType == ChartType.Timeline) {\n this.tableViewDiv.style.display = 'none';\n } else {\n this.tableViewDiv.style.display = 'block';\n }\n }\n \n ueserWiseTableView(resoureMetadata: any) {\n console.log('AAA resoureMetadata', resoureMetadata);\n // this.deleterow(\"tableRow\");\n document.getElementById(\"tblBody\").innerHTML = \"\";\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < resoureMetadata.length; i++) {\n for (let j = 0; j < 12; j++) {\n let label = document.createElement('label');\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\n if (label.textContent === 'undefined' || label.textContent===undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n // console.log(\"label\",label);\n }\n }\n for (let j = 0; j <= resoureMetadata.length; j++) {\n let row = document.createElement('tr');\n \n let cell: any;\n for (let i = 0; i < 12; i++) {\n cell = document.createElement('td');\n \n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n this.tblBody.appendChild(row);\n // this.tableRow.appendChild(this.tblBody);\n }\n \n }\n}\n","import { NgModule } from '@angular/core';\nimport { PrincipalDashboardLibV2Component } from './principal-dashboard-lib-v2.component';\n\nimport { ChartheaderComponent } from './chartheader/chartheader.component';\nimport { ChartviewComponent } from './chartview/chartview.component';\nimport { DetailedviewComponent } from './detailedview/detailedview.component';\nimport { HeaderComponent } from './header/header.component';\nimport { TableviewComponent } from './tableview/tableview.component';\nimport { GoogleChartsModule } from 'angular-google-charts';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerModule } from 'ng2-datepicker';\n\n\n\n@NgModule({\n declarations: [\n ChartheaderComponent,\n ChartviewComponent,\n DetailedviewComponent,\n HeaderComponent,\n TableviewComponent,\n PrincipalDashboardLibV2Component\n ],\n imports: [\n CommonModule,\n GoogleChartsModule,\n DatepickerModule\n ],\n exports: [\n PrincipalDashboardLibV2Component\n ]\n})\nexport class PrincipalDashboardLibV2Module { }\n","/*\n * Public API Surface of principal-dashboard-lib-v2\n */\n\nexport * from './lib/principal-dashboard-lib-v2.service';\nexport * from './lib/principal-dashboard-lib-v2.component';\nexport * from './lib/principal-dashboard-lib-v2.module';\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';\nimport { Subject, BehaviorSubject, ReplaySubject } from 'rxjs';\n\n\n@Injectable({\n providedIn: 'root'\n})\nexport class PrincipalDashboardLibV2Service {\npublic resoureMetaData:any;\npublic usersMetaData:any;\npublic schoolTerminalData:any;\npublic userConsoleData:any;\n\npublic isResoureMetaDataReady = new ReplaySubject();\npublic isResoureMetaDataReady$ = this.isResoureMetaDataReady.asObservable();\n\npublic isUserReqiuredDataReady = new ReplaySubject();\npublic isUserReqiuredDataReady$ = this.isUserReqiuredDataReady.asObservable();\n\n public mychartType: any = '';\n public dataType: any = '';\n public userAllData: any = '';\n public userMetadata: any = {userDetails:[],resourceDetails:[]};\n public resoureMetadata = new Array();\n public userDetailObject: any = {};\n public userlist:any = false;\n public myEndTime :any;\n \n //for change chart Type\n public chartType = new BehaviorSubject(this.mychartType);\n public chartType$ = this.chartType.asObservable();\n //for change userWise To classRoom wise or vice versa\n public isUserWise_data = new BehaviorSubject(true);\n public isUserWise_data$ = this.isUserWise_data.asObservable();\n // for all user and current user information\n public isAllUsers = new BehaviorSubject(this.userlist);\n public isAllUsers$ = this.isAllUsers.asObservable();\n //for get details of selected user\n public detailedviewData = new BehaviorSubject(this.userMetadata);\n public detailedviewData$ = this.detailedviewData.asObservable();\n\n\n constructor() { }\n \n genarateResourseReqiuredData(data: any): any {\n this.isResoureMetaDataReady.next(false);\n let resourceMetadataMatrix = new Array();\n \n if(data && data !== null){\n let resouseID: any;\n let title: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let teachingpoint: any;\n let type: any;\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\n \n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\n for (var i = 0; i < resourceMetadata.length;i++){\n //----------//resouseID\n resouseID = resourceMetadata[i].resourceId;\n //----------//subject\n if (resourceMetadata[i].subject != undefined) {\n if (resourceMetadata[i].subject.title != undefined) {\n subject = resourceMetadata[i].subject.title;\n } else {\n subject = '';\n }\n } else {\n subject = '';\n }\n //----------//grade\n if (resourceMetadata[i].grade != undefined) {\n if (resourceMetadata[i].grade.title != undefined) {\n grade = resourceMetadata[i].grade.title;\n } else {\n grade = '';\n }\n } else {\n grade = '';\n }\n //----------//chapter\n if (resourceMetadata[i].chapter != undefined) {\n if (resourceMetadata[i].chapter.title != undefined) {\n chapter = resourceMetadata[i].chapter.title;\n } else {\n chapter = '';\n }\n } else {\n chapter = '';\n }\n \n //----------//teachingpoint\n if (resourceMetadata[i].teachingpoint != undefined) {\n if (resourceMetadata[i].teachingpoint.title != undefined) {\n teachingpoint = resourceMetadata[i].teachingpoint.title;\n } else {\n teachingpoint = '';\n }\n } else {\n teachingpoint = '';\n }\n //----------//type\n if (resourceMetadata[i].type != undefined) {\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\n } else {\n type = '';\n }\n \n //----------//title\n if (resourceMetadata[i].title != undefined) {\n title = resourceMetadata[i].title;\n } else {\n title = '';\n }\n let resourceMetauserConsoleData = {\n resouseID:resouseID,\n subject:subject,\n grade:grade,\n chapter:chapter,\n teachingpoint:teachingpoint,\n type:type,\n title:title\n }\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\n this.resoureMetaData = resourceMetadataMatrix;\n this.isResoureMetaDataReady.next(true);\n }\n }\n }\n // this.resoureMetaData = resourceMetadataMatrix;\n return resourceMetadataMatrix;\n }\n genarateUserReqiuredData(data: any): any {\n this.isUserReqiuredDataReady.next(false);\n let usersMetadataMatrix = new Array();\n let usermetadataMatrixUpdated = new Array();\n let schoolTerminalMatrix = new Array();\n let userConsoleMatrix = new Array();\n if(data && data !== null){\n let userConsole = data.usersConsole.userConsole;\n let usersMetadata = data.usersMetadata.userMetadata;\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\n \n if(usersMetadata!= null && usersMetadata.length > 0){\n for (let i = 0; i < usersMetadata.length; i++) {\n let userId: any;\n let userName: any;\n let userSubjects: any;\n let listOfUser:any = {}\n if (usersMetadata[i].userId!=\"\") {\n userId = usersMetadata[i].userId;\n //console.log(\"--chartDataUserWise-->>\",usersMetadata[i].terminalIP)\n if (usersMetadata[i].fullName !== undefined) {\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\n } else {\n userName = '';\n }\n \n if (usersMetadata[i].userSubjects !== undefined) {\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\n } else {\n userSubjects = '';\n }\n \n listOfUser = {\n userId:userId, \n userName:userName, \n userSubjects:userSubjects\n };\n usersMetadataMatrix.push(listOfUser); // array of all users\n }\n }\n }\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\n console.log('usersMetadataMatrix-->', usersMetadataMatrix[i].userName)\n usersMetadataMatrix.forEach(element => {\n \n console.log('element.userName-->>', element.userName)\n if (usersMetadataMatrix[i].userName === element.userName) {\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\n }\n });\n }\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\n // const randomNumber = document.createElement('span');\n // randomNumber.innerHTML = i.toString();\n //usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" --- \" + i;\n //satyajit 28 aug 2024 removed count from userName\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName;\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\n this.usersMetaData = usersMetadataMatrix;\n }\n if(schoolTerminal != null && schoolTerminal.length > 0){\n for (var i = 0; i < schoolTerminal.length; i++) {\n let schoolId:any;\n let terminalKey:any;\n let terminalType:any;\n let location:any;\n let schoolTerminalData:any = {};\n \n //----------//schoolId\n if (schoolTerminal[i].schoolId !== undefined) {\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\n } else {\n schoolId = '';\n }\n //----------//terminalKey\n if (schoolTerminal[i].terminalKey !== undefined) {\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\n } else {\n terminalKey = '';\n }\n //----------//terminalType\n if (schoolTerminal[i].terminalType !== undefined) {\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\n } else {\n terminalType = '';\n }\n \n //----------//location\n if (schoolTerminal[i].metadata !== undefined) {\n let metadataJSON = JSON.parse(schoolTerminal[i].metadata);\n \n location = metadataJSON.location // get name of user w.r.t. ID\n \n console.log(\"metadataJSON\",location);\n } else {\n location = '';\n }\n schoolTerminalData = {\n schoolId:schoolId,\n terminalKey:terminalKey,\n terminalType:terminalType,\n location:location\n };\n \n console.log('ccc--',schoolTerminalData)\n schoolTerminalMatrix.push(schoolTerminalData);\n this.schoolTerminalData = schoolTerminalMatrix;\n }\n }\n if(userConsole !=null && userConsole.length > 0){\n for (let index = 0; index < userConsole.length; index++) {\n let userId: any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let selectedDate: any;\n let terminalIP: any;\n let userConsoleResources: any;\n let resourceMetadataIDS: any;\n let resourceMetauserConsoleData = [];\n let resourceDurationFromConsole = [];\n let userName: any;\n let userSubjects: any;\n let terminalLocation: any;\n let launchedFrom = [];\n console.log('myuserConsole', userConsole[index])\n //----------//user iD\n if (userConsole[index].userId !== undefined) {\n userId = userConsole[index].userId; // get name of user w.r.t. ID\n } else {\n userId = '';\n }\n //----------// startTime \n if (userConsole[index].startTime !== undefined) {\n startTime = userConsole[index].startTime; // get name of user w.r.t. ID\n } else {\n startTime = '';\n }\n //----------// endTime \n if (userConsole[index].endTime !== undefined) {\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\n this.myEndTime = endTime;\n } else {\n endTime = '';\n }\n //----------// Date \n if (userConsole[index].selectedDate !== undefined) {\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\n } else {\n selectedDate = '';\n }\n \n //----------// Duration\n if (userConsole[index].duration !== undefined) {\n duration = userConsole[index].duration // get name of user w.r.t. ID\n } else {\n duration = '';\n }\n //----------// terminalIP\n if (userConsole[index].terminalIP !== undefined) {\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\n } else {\n terminalIP = '';\n }\n \n //----------// userConsoleResources\n if (userConsole[index].userConsoleResources !== undefined) {\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\n } else {\n userConsoleResources = null;\n }\n \n if(userConsoleResources != null){\n if (userConsoleResources.userConsoleResource !== undefined) {\n // satyajit resource wise duration added\n userConsoleResources.userConsoleResource.forEach(item => {\n console.log(\"lookingFor: \",item)\n resourceMetauserConsoleData.push(item.resourceId); // get name of user w.r.t. ID\n resourceDurationFromConsole.push(item.duration);\n \n \n\n if(item.launchedFrom){\n launchedFrom.push(item.launchedFrom)\n } \n // \n });\n // resourceMetauserConsoleData = userConsoleResources.userConsoleResource[index]resourceId; // get name of user w.r.t. ID\n } else {\n console.log(\"lookingFor: ELSE \")\n resourceMetauserConsoleData = [];\n resourceDurationFromConsole = [];\n launchedFrom = [];\n }\n }\n \n //----------// userName and userSubjects\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\n if (userId === usersMetadataMatrix[i].userId) {\n userName = usersMetadataMatrix[i].userName;\n userSubjects = usersMetadataMatrix[i].userSubjects;\n }\n }\n //----------// terminalIP and terminalLocation\n \n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\n //console.log(\"schoolTerminalMatrix[i]\",schoolTerminalMatrix[i]);\n //console.log(\"schoolTerminalMatrix[i].terminalKey\",terminalIP,schoolTerminalMatrix[i].terminalKey);\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\n terminalLocation = schoolTerminalMatrix[i].location;\n break;\n }else{\n terminalLocation = '';\n }\n }\n \n if (terminalLocation === undefined || terminalLocation === 'undefined') {\n terminalLocation = '';\n }\n const userData = {\n userId: userId,\n userName: userName,\n startTime: new Date(startTime),\n endTime: new Date(endTime),\n terminalIP: terminalIP,\n resourceMetauserConsoleData: resourceMetauserConsoleData,\n resourceDurationFromConsole: resourceDurationFromConsole,\n launchedFrom: launchedFrom,\n duration:duration,\n terminalLocation:terminalLocation,\n userSubjects:userSubjects\n };\n userConsoleMatrix.push(userData);\n this.userConsoleData = userConsoleMatrix;\n this.isUserReqiuredDataReady.next(true);\n }\n }\n }\n // console.log(usersMetadataMatrix,schoolTerminalMatrix,userConsoleMatrix);\n return {\n usersMetadata:usersMetadataMatrix,\n schoolTerminalData:schoolTerminalMatrix,\n userConsoleData: userConsoleMatrix\n }\n }\n userWiseChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n \n if(this.userConsoleData.length > 0){\n for(let i = 0; i < this.userConsoleData.length; i++){\n console.log(\"chartDataUserWiseNew-->>\",this.userConsoleData)\n //console.log(\"chartDataUserWiseNew-->>\",this.userConsoleData.userName)\n \n if(typeof this.userConsoleData[i].userName === undefined){\n this.userConsoleData[i].userName = (Math.floor(Math.random() * 100)).toString();\n }\n /// SATYAJIT TO CHECK 19 SEPT.\n\n \n if(this.userConsoleData[i].userName === undefined){\n this.userConsoleData[i].userName = \"-\"\n //this.userConsoleData.splice(i, 1);\n }\n \n /*\n if(this.userConsoleData[i].userName === \"-\"){\n this.userConsoleData.splice(i, 1); // 2nd parameter means remove one item only\n }*/\n //if(this.userConsoleData[i].userName !== undefined || this.userConsoleData[i].userName !== '-' || this.userConsoleData[i].userName !== '--')\n\n \n\n\n {\n \n let userData = [this.userConsoleData[i].userName,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n \n dataTableforChart.push(userData);\n }\n \n //console.log(\"chartDataUserWiseNewNew-->>\",userData)\n }\n }\n }\n return dataTableforChart;\n }\n classRoomWiseChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n \n for(let i = 0; i < this.userConsoleData.length; i++){\n //console.log('bbb-->',this.userConsoleData[i].terminalLocation)\n let roomName = this.userConsoleData[i].terminalLocation;\n\n if(roomName === \"\"){\n //roomName = \"No Name\"\n }\n\n let location = roomName +\" - \"+ this.userConsoleData[i].terminalIP\n console.log('bbblocation-->',location)\n let userData = [location,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n dataTableforChart.push(userData);\n }\n }\n console.log(\"this.classRoomWiseChartData\",dataTableforChart);\n return dataTableforChart;\n \n }\n\n\n newGetCurrentClassroomData(){\n\n let dataTableforChart = new Array();\n dataTableforChart = [];\n if(this.userConsoleData){\n \n for(let i = 0; i < this.userConsoleData.length; i++){\n //console.log('bbb-->',this.userConsoleData[i].terminalLocation)\n let roomName = this.userConsoleData[i].terminalLocation;\n let location = roomName +\" - \"+ this.userConsoleData[i].terminalIP\n console.log('bbblocation-->',location)\n //let userData = [location];\n dataTableforChart.push(location);\n \n }\n }\n console.log(\"this.classRoomWiseChartData\",dataTableforChart);\n dataTableforChart = this.uniq(dataTableforChart);\n return dataTableforChart;\n }\n\n uniq(a) {\n return Array.from(new Set(a));\n }\n\n allUserChartData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n let AlluserDetailsForTableChart =new Array();\n AlluserDetailsForTableChart = [];\n if(this.userConsoleData && this.usersMetaData){\n let inActiveuserName: any;\n let userSubjects: any;\n let myID: any;\n let AlluserDetails =new Array();\n for (let index = 0; index < this.userConsoleData.length; index++) {\n AlluserDetails.push(this.userConsoleData[index]);\n AlluserDetailsForTableChart.push(this.userConsoleData[index])\n }\n for (let i = 0; i < this.usersMetaData.length; i++) {\n myID = this.usersMetaData[i].userId;\n inActiveuserName = this.usersMetaData[i].userName;\n //if(inActiveuserName === undefined)\n {\n console.log(\"alluser-1->>\",inActiveuserName);\n }\n \n userSubjects = this.usersMetaData[i].userSubjects;\n let myChartRowuserConsoleData = \n {\n userId:myID,\n userName: inActiveuserName,\n startTime:new Date(this.myEndTime),\n endTime:new Date(this.myEndTime),\n terminalIP:\"\",\n resourceMetauserConsoleData:[],\n duration:\"0\",\n terminalLocation:\"\",\n userSubjects:userSubjects\n };\n //AlluserDetails.push(myChartRowuserConsoleData);\n \n let myTableRowuserConsoleData = {\n userId:myID,\n userName: inActiveuserName,\n startTime:\"\",\n endTime:\"\",\n terminalIP:\"\",\n resourceMetauserConsoleData:[],\n duration:0,\n terminalLocation:\"\",\n userSubjects:userSubjects\n };\n //console.log(\"alluser-2->>\",inActiveuserName);\n AlluserDetailsForTableChart.push(myTableRowuserConsoleData);\n AlluserDetails.push(myChartRowuserConsoleData);\n }\n setTimeout(() => {\n for(let i = 0; i < AlluserDetails.length; i++){\n console.log(\"alluser-3->>\",AlluserDetails[i]);\n \n if(AlluserDetails[i].userName == undefined){\n //AlluserDetails[i].userName = \"--\"\n AlluserDetails.splice(i, 1); // 2nd parameter means remove one item only\n }\n \n \n \n //if(AlluserDetails[i].userName !== undefined || AlluserDetails[i].userName !== '-' || AlluserDetails[i].userName !== '--')\n {\n\n if(AlluserDetails[i].userName === \"--\"){\n AlluserDetails.splice(i, 1); // 2nd parameter means remove one item only\n }\n setTimeout(function(){\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\n dataTableforChart.push(userData);\n },300)\n \n }\n \n }\n },50)\n\n /*\n for(let i = 0; i < AlluserDetails.length; i++){\n console.log(\"alluser-3->>\",AlluserDetails[i].userName);\n if(AlluserDetails[i].userName === undefined){\n AlluserDetails[i].userName = \"(-)\"\n }\n\n let userData = [AlluserDetails[i].userName,AlluserDetails[i].startTime,AlluserDetails[i].endTime];\n dataTableforChart.push(userData);\n }*/\n }\n return {forChartData:dataTableforChart,fordurationTable:AlluserDetailsForTableChart}\n }\n allRoomsData(){\n let dataTableforChart = new Array();\n dataTableforChart = [];\n let allRoomsDetails = new Array();\n allRoomsDetails = [];\n if(this.userConsoleData && this.schoolTerminalData){\n let myChartRowData: any={};\n let inActiveClassRoom: any;\n for(let i = 0; i < this.userConsoleData.length; i++){\n allRoomsDetails.push(this.userConsoleData[i]);\n\n console.log(\"bbb allRoom-->\",this.userConsoleData[i])\n let roomName = this.userConsoleData[i].terminalLocation;\n let roomIP = this.userConsoleData[i].terminalIP;\n\n if(roomName === \"\" || roomName === undefined){\n roomName = \"No Name\"\n }\n\n\n let location = roomName +\" - \"+ roomIP;\n\n console.log('bbbbRoom',location)\n \n // let userData = [this.userConsoleData[i].terminalIP,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n let userData = [location,this.userConsoleData[i].startTime,this.userConsoleData[i].endTime];\n dataTableforChart.push(userData);\n }\n \n let inactiveRoonName;\n for (let i = 0; i < this.schoolTerminalData.length; i++) {\n console.log(\"schoolTerminalData\",this.schoolTerminalData);\n \n inActiveClassRoom = this.schoolTerminalData[i].location + ' - ' + this.schoolTerminalData[i].terminalKey;\n //inactiveRoonName = this.schoolTerminalData[i].location;\n \n myChartRowData = {\n userId:\"\",\n userName:\"\",\n startTime:new Date(this.myEndTime),\n endTime:new Date(this.myEndTime),\n terminalIP:inActiveClassRoom,\n resourceMetauserConsoleData:[],\n duration:0,\n terminalLocation:\"\",\n userSubjects:\"\"\n };\n allRoomsDetails.push(myChartRowData);\n let myChartRowuserConsoleData = [inActiveClassRoom,new Date(this.myEndTime),new Date(this.myEndTime)];\n dataTableforChart.push(myChartRowuserConsoleData);\n }\n \n }\n return {forChartData:dataTableforChart,fordurationTable:allRoomsDetails};\n }\n dataForTableView(userConsoleMatrix: any,resourceMetadataMatrix: any) {\n console.log(\"AAA userConsoleMatrix\",userConsoleMatrix, \"-resourceMetadataMatrix->\",resourceMetadataMatrix);\n let currentDate: any;\n let resourceMatrixForTableChart = new Array();\n let resourceMatrixForExcel = new Array();\n \n resourceMatrixForTableChart = [];\n resourceMatrixForExcel = [];\n for (let i = 0; i <userConsoleMatrix.length; i++) {\n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let AssestDetail: any;\n let resourceType: any;\n let resourceTitle: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n \n let resourceMetadataIDs: any;\n let resourceMetadataIDsDuration: any;\n let resourceArrayForExcel = new Array();\n let resourceArrayForTableChart = new Array();\n let userConsoleDataMatrix = new Array();\n let launchedFrom: any;\n resourceArrayForTableChart = [];\n userConsoleDataMatrix = [];\n //----------------- for subject and Name\n \n\n teacherSubject = userConsoleMatrix[i].userSubjects;\n teacherName = userConsoleMatrix[i].userName;\n //----------------- for start Time and EndTime \n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[i].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[i].terminalLocation;\n terminalIP = userConsoleMatrix[i].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n \n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\n resourceMetadataIDsDuration = userConsoleMatrix[i].resourceDurationFromConsole;\n //console.log('mlaunchedFrom-->> ',(typeof userConsoleMatrix[i].launchedFrom));\n //console.log('mlaunchedFrom-->> ',( userConsoleMatrix[i].launchedFrom));\n let launchDataArr = Array (userConsoleMatrix[i].launchedFrom);\n console.log('mlaunchedFrom len-->> ', launchDataArr);\n launchedFrom = launchDataArr\n \n \n \n \n \n\n if (resourceMetadataIDs.length === 0) {\n subject = undefined;\n grade = undefined;\n chapter = undefined;\n teachingpoint = undefined;\n AssestDetail = undefined;\n resourceTitle = undefined;\n resourceType = undefined;\n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail,subject,grade,chapter,teachingpoint,AssestDetail, launchedFrom];\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\n \n }else{\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n \n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) \n {\n \n // satyajit\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n if(resourceMetadataMatrix[i].title.toLowerCase() === 'whiteboard' || resourceMetadataMatrix[i].title.toLowerCase() === 'question'){\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + ' : ' + resourceMetadataIDsDuration[k] + ' sec';\n\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + ' : ' + this.convertSeconds(resourceMetadataIDsDuration[k]);\n\n //convertSeconds\n\n }else{\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + resourceMetadataIDsDuration[k] + ' sec';\n\n AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + this.convertSeconds(resourceMetadataIDsDuration[k]);\n \n }\n \n\n //AssestDetail = this.getDisplaytypeValue(resourceMetadataMatrix[i].type) + \" : \" + resourceMetadataMatrix[i].title + ' : ' + resourceMetadataIDsDuration[k];\n\n console.log('roomDetail',roomDetail)\n \n resourceArrayForTableChart = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,roomDetail, subject,grade,chapter,teachingpoint,AssestDetail, launchedFrom];\n resourceMatrixForTableChart.push(resourceArrayForTableChart);\n teacherName = undefined;\n teacherSubject = undefined;\n currentDate = undefined;\n startTime = undefined;\n endTime = undefined;\n duration = undefined;\n roomDetail = undefined;\n \n }\n }\n }\n }\n }\n return resourceMatrixForTableChart;\n }\n dataForDetailedView(userConsoleMatrix: any,resourceMetadataMatrix: any, rowLabel: any) {\n let detailedView_UserDataMatrix = new Array();\n detailedView_UserDataMatrix = [];\n let detailedView_ResourceDataMatrix = new Array();\n detailedView_ResourceDataMatrix = [];\n \n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let AssestDetail: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n let currentDate: any;\n let resourceMetadataIDs: any;\n let resourceMetadataIDsduration: any;\n let resourceArrayForTableChart = new Array();\n resourceArrayForTableChart = [];\n //----------------- for subject and Name\n teacherSubject = userConsoleMatrix[rowLabel].userSubjects;\n teacherName = userConsoleMatrix[rowLabel].userName;\n //----------------- for start Time and EndTime\n if ((userConsoleMatrix[rowLabel].startTime != undefined && userConsoleMatrix[rowLabel].startTime != \"\") && (userConsoleMatrix[rowLabel].endTime != undefined&&userConsoleMatrix[rowLabel].endTime != \"\")) {\n startTime = userConsoleMatrix[rowLabel].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[rowLabel].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[rowLabel].startTime.getDate() + '/' + userConsoleMatrix[rowLabel].startTime.getMonth() + '/' + userConsoleMatrix[rowLabel].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[rowLabel].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[rowLabel].terminalLocation;\n terminalIP = userConsoleMatrix[rowLabel].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n resourceMetadataIDs = userConsoleMatrix[rowLabel].resourceMetauserConsoleData;\n resourceMetadataIDsduration = userConsoleMatrix[rowLabel].resourceDurationFromConsole;\n\n detailedView_UserDataMatrix = [teacherName,startTime,teacherSubject,endTime,roomDetail]\n \n if (resourceMetadataIDs.length == 0) {\n subject = undefined;\n grade = undefined;\n chapter = undefined;\n teachingpoint = undefined;\n AssestDetail = undefined;\n // resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\n // detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\n }else{\n //satyajit\n //resourceMetadataMatrix = [resouseID,subject,grade,chapter,teachingpoint,type,title]\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n if(resourceMetadataMatrix[i].title.toLowerCase() === 'whiteboard' || resourceMetadataMatrix[i].title.toLowerCase() === 'question'){\n //AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataIDsduration[k] + ' sec';\n AssestDetail = resourceMetadataMatrix[i].type + \": \" + this.convertSeconds(resourceMetadataIDsduration[k]);\n //convertSeconds\n }else{\n //AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title + \": \" + resourceMetadataIDsduration[k] + ' sec';\n AssestDetail = resourceMetadataMatrix[i].type + \": \" + resourceMetadataMatrix[i].title + \": \" + this.convertSeconds(resourceMetadataIDsduration[k]);\n }\n \n \n resourceArrayForTableChart = [subject,grade,chapter,teachingpoint,AssestDetail];\n detailedView_ResourceDataMatrix.push(resourceArrayForTableChart);\n }\n }\n }\n } \n \n return {userDetails:detailedView_UserDataMatrix,resourceDetails:detailedView_ResourceDataMatrix};\n }\n // To GET DISPLAY TYPE\n getDisplaytypeValue(key: any) {\n let assetTypeConfig = [\n {\n type: \"asset_media\",\n display: \"Media\"\n },\n {\n type: \"asset_print\",\n display: \"Print\"\n },\n {\n type: \"quiz\",\n display: \"Quiz\"\n },\n {\n type: \"question\",\n display: \"Question\"\n },\n {\n type: \"chapter\",\n display: \"Chapter\"\n },\n {\n type: \"tp\",\n display: \"Topic\"\n },\n {\n type: \"whiteboard\",\n display: \"Whiteboard\"\n },\n {\n type: \"widget\",\n display: \"Widget\"\n },\n {\n type: \"casset_media\",\n display: \"cMedia\"\n },\n {\n type: \"casset_print\",\n display: \"cPrint\"\n },\n {\n type: \"cquiz\",\n display: \"cQuiz\"\n },\n {\n type: \"cquestion\",\n display: \"cQuestion\"\n },\n {\n type: \"image\",\n display: \"Image\"\n },\n {\n type: \"video\",\n display: \"Video\"\n },\n\n ];\n let displayValue = key;\n assetTypeConfig.forEach((value) => {\n if (value.type === key) {\n displayValue = value.display;\n }\n });\n return displayValue;\n\n }\n\n convertSeconds(seconds) {\n const minutes = Math.floor(seconds / 60);\n const remainingSeconds = seconds % 60;\n return `${minutes}m ${remainingSeconds}s`;\n }\n}\n","import { Component, OnInit ,Output, ViewChild, Input,EventEmitter } from '@angular/core';\n\n@Component({\n selector: 'lib-principal-dashboard-lib-v2',\n templateUrl: './principal-dashboard-lib-v2.component.html',\n styleUrls: ['./principal-dashboard-lib-v2.component.scss']\n})\nexport class PrincipalDashboardLibV2Component implements OnInit {\n @Input() data;\n @Input() set responseStatus(res: any) {\n this.setMessageForUser(res);\n // console.log(\" @Input() set responseStatus(res: any) >>>>>>>>>>>>.\",res);\n }\n @Output() userSelectedDate = new EventEmitter();\n messageForUser = \"Loding...\";\n constructor() { }\n\n ngOnInit(): void {\n \n // console.log(\" IN --> 7 data\",this.data);\n }\n setMessageForUser(res: any){\n this.messageForUser = res;\n }\n onUserSelectDate(e:any){\n // console.log(\" IN --> 1\");\n this.data = null;\n this.userSelectedDate.emit(e);\n }\n \n\n}\n","import { getLocaleDateTimeFormat } from '@angular/common';\nimport { Component, ElementRef, OnInit, ViewChild, Input } from '@angular/core';\nimport { ChartType } from 'angular-google-charts';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\ndeclare let require: any;\n\n@Component({\n selector: 'lib-chartheader',\n templateUrl: './chartheader.component.html',\n styleUrls: ['./chartheader.component.scss'],\n})\nexport class ChartheaderComponent implements OnInit {\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) {}\n \n //variables\n mytype = ChartType.Timeline;\n datadisplaytype = 'UserWise';\n isUserWise = true;\n myIcon: any;\n libVersion:any;\n isChartView=true;\n\n ngOnInit(): void {\n this.libVersion = \"0.0.23\";\n // this.myIcon = document.getElementById('myIconImg');\n // this.changeChatType() \n }\n changeChatType() {\n if (this.mytype == ChartType.Timeline) {\n this.isChartView = false;\n this.mytype = ChartType.Table;\n this.pdService.chartType.next(this.mytype);\n \n } else {\n this.isChartView = true;\n this.mytype = ChartType.Timeline;\n \n this.pdService.chartType.next(this.mytype);\n }\n }\n changeDataTypeClassRoom() {\n this.isUserWise = false;\n this.pdService.isUserWise_data.next(false);\n }\n changeDataTypeUser() {\n this.isUserWise = true;\n this.pdService.isUserWise_data.next(true);\n }\n}\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 {\n Component,\n ElementRef,\n OnInit,\n ViewChild,\n Input,\n HostListener,\n} from '@angular/core';\nimport { ChartType, GoogleChartComponent } from 'angular-google-charts';\nimport { element } from 'protractor';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\n@Component({\n selector: 'lib-chartview',\n templateUrl: './chartview.component.html',\n styleUrls: ['./chartview.component.scss'],\n})\nexport class ChartviewComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadChart(res);\n }\n \n }\n chartview:any;\n myDataList:any;\n chartDataTable:any;\n myChartOptions: any;\n AllrowHeight: any;\n myXmlData: any;\n currentdataList:any;\n resourceDataList:any;\n alldataList:any;\n selectedUserData:any;\n rowElements:any;\n \n installedClassrooms: any;\n currentRooms: any;\n totalUsers = 0;\n eligibleUsers = 0;\n currentUsers = 0;\n myChartType = ChartType.Timeline;\n myChartwidth = window.innerWidth * 0.88;\n myChartHeight = window.innerHeight;\n currentList = \"Current Users\";\n allList = \"All Users\";\n isAllUsers = false;\n isUserWise = false;\n alluserList: any;\n myChartDataMatrix = new Array();\n \n totalChartDataMatrix = new Array();\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) { }\n\n ngOnInit() { }\n\n loadChart(response: any) {\n console.log(' INloadChart -->', response);\n this.totalUsers = 0;\n this.eligibleUsers = 0;\n this.currentUsers = 0;\n this.myChartType = ChartType.Timeline;\n this.myChartwidth = window.innerWidth * 0.88;\n this.myChartHeight = window.innerHeight;\n this.currentList = \"Current Users\";\n this.allList = \"All Users\";\n this.isAllUsers = false;\n this.isUserWise = false;\n this.myChartDataMatrix =[];\n this.totalChartDataMatrix =[];\n\n this.chartview = document.getElementById('pd-chartview');\n this.myDataList = document.getElementById('pd-xmlData');\n // let parse = new DOMParser();\n if(response){\n this.myXmlData = JSON.parse(response);\n }\n \n if(this.myXmlData){\n this.currentdataList = this.pdService.genarateUserReqiuredData(this.myXmlData);\n this.alluserList = this.pdService.allUserChartData();\n this.resourceDataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\n this.totalUsers = this.currentdataList.usersMetadata.length;\n this.eligibleUsers = this.findEligibleUserCount();\n this.installedClassrooms = this.findInstalledClassrooms();\n this.currentRooms = this.findCurrentClassrooms();\n this.findCurrentUserCount();\n }\n this.pdService.chartType.subscribe((data) => {\n if (data) {\n this.updateChartType(data);\n }\n });\n this.pdService.isUserWise_data.subscribe((data) => {\n this.updateDataType(data);\n });\n window.addEventListener('resize', this.onResizeWindow.bind(this));\n }\n onResizeWindow(event: any) {\n this.myChartwidth = window.innerWidth * 0.88; //set an appropriate factor\n }\n myChartReady() {\n this.createDivforTotalDurartion();\n this.setHeightofDivforTotalDurartion();\n // this.removeBlankEntryBar();\n }\n updateChartType(dataType: any) {\n if (this.chartview != null && this.chartview != undefined) {\n if (dataType == ChartType.Table) {\n this.chartview.style.display = 'none';\n } else {\n this.chartview.style.display = 'block';\n }\n }\n }\n updateDataType(dataType: any) {\n this.isUserWise = dataType;\n if (this.myXmlData) {\n if(this.isUserWise){\n this.currentList = \"Current Users\";\n this.allList = \"All Users\";\n if(this.isAllUsers){\n this.userWiseAllData();\n }else{\n this.userWiseCurrentData();\n } \n }else{\n this.allList = \"All Rooms\";\n this.currentList = \"Current Rooms\";\n if(this.isAllUsers){\n this.classRoomWiseAllData();\n }else{\n this.classRoomWiseCurrentData();\n } \n }\n }\n }\n updateChart() {\n let labels = document.getElementById('labels');\n while (labels.firstChild) {\n labels.removeChild(labels.lastChild);\n }\n const filteredData = this.myChartDataMatrix.filter(node => node[0] !== \"-\" && node[0] !== \"--\");\n\n this.chartDataTable = filteredData;//this.myChartDataMatrix;\n console.log(\"this.myChartDataMatrix\",this.myChartDataMatrix);\n \n \n (this.myChartOptions = {\n tooltip: {\n trigger: 'none',\n },\n colors: ['#ff7f0e', '#2ca02c', '#8c564b', '#d62728', '#bcbd22', '#17becf'],\n timeline: {\n colorByRowLabel: true,\n barLabelStyle: {\n fontSize: 7,\n },\n },\n hAxis: {\n format: 'HH:mm a',\n },\n });\n setTimeout(() => {\n this.myChartHeight = this.AllrowHeight + 100;//to set perfect height of chart \n }, 1000);\n }\n\n calulateTotalDuration(detailViewMatrix:any) {\n \n console.log('detailViewMatrix-->',detailViewMatrix)\n\n\n const filteredData = detailViewMatrix.filter(item => item.userName !== \"-\" && item.userName !== \"--\");\n\n\n detailViewMatrix = filteredData;\n\n let id_durationArray;\n let id_durationMatrix = new Array();\n id_durationMatrix = [];\n this.totalChartDataMatrix = [];\n if (this.isUserWise) {\n for (let i = 0; i < detailViewMatrix.length; i++) {\n id_durationArray = {\n name: detailViewMatrix[i].userName,\n value: parseInt(detailViewMatrix[i].duration),\n };\n id_durationMatrix.push(id_durationArray);\n }\n } else {\n for (let i = 0; i < detailViewMatrix.length; i++) {\n // console.log(\"detailViewMatrix[i]\",detailViewMatrix[i]);\n id_durationArray = {\n name: detailViewMatrix[i].terminalIP,\n value: parseInt(detailViewMatrix[i].duration),\n };\n id_durationMatrix.push(id_durationArray);\n }\n }\n \n let obj: any = {};\n id_durationMatrix = [...new Set(id_durationMatrix)];\n \n id_durationMatrix.forEach((item) => {\n if (obj[item.name]) {\n obj[item.name].value = obj[item.name].value + item.value;\n } else {\n\n obj[item.name] = item;\n }\n });\n let valuesArr = Object.values(obj);\n \n let myArray = new Array();\n myArray = [];\n valuesArr.forEach((item: any) => {\n myArray.push(item.value);\n });\n for (let i = 0; i < myArray.length; i++) {\n let totaldurationPerRow = [this.timeConvert(myArray[i]).toString() + ' hrs'];\n // let totalChartRowDataArray = [totaldurationPerRow];\n this.totalChartDataMatrix.push(totaldurationPerRow);\n }\n }\n timeConvert(n: any) {\n var num = Math.floor(n);\n var hours = num / 60;\n var rhours = Math.floor(hours);\n var minutes = (hours - rhours) * 60;\n var rminutes = Math.round(minutes);\n return rhours + ':' + rminutes;\n }\n removeBlankEntryBar() {\n const chartDiv = document.getElementById('myTimeLine');\n var el = chartDiv.getElementsByTagName(\"rect\"); //get all the descendant rect element inside the container \n var width = 100000000; //set a large initial value to width\n var elToRem = []; //element would be added to this array for removal\n for (var i = 0; i < el.length; i++) { //looping over all the rect element of container\n var cwidth = parseInt(el[i].getAttribute(\"width\"));//getting the width of ith element\n if (cwidth < width) { //if current element width is less than previous width then this is min. width and ith element should be removed\n elToRem = [el[i]];\n width = cwidth; //setting the width with min width\n }\n else if (cwidth == width) { //if current element width is equal to previous width then more that one element would be removed\n elToRem.push(el[i]);\n }\n }\n for (var i = 0; i < elToRem.length; i++) {\n // now iterate JUST the elements to remove\n elToRem[i].setAttribute(\"fill\", \"none\");\n\n }\n }\n createDivforTotalDurartion() {\n let rowLabels = [];\n this.rowElements = [];\n var labels = document.getElementById('labels');\n while (labels.firstChild) {\n labels.removeChild(labels.lastChild);\n }\n for (var i = 0; i < this.totalChartDataMatrix.length; i++) {\n var team = this.totalChartDataMatrix[i][0];\n rowLabels.push(team);\n var label = labels.appendChild(document.createElement('div'));\n label.style['border-bottom'] = '1px solid #b7b7b7';\n label.style['font-family'] = 'Arial';\n label.style['font-size'] = '13px';\n label.style['text-align'] = 'left';\n label.style['padding-left'] = '8px';\n label.style['padding-right'] = '8px';\n label.style.position = 'inherit';\n if (i % 2) {\n label.style['background-color'] = '#e6e6e6';\n } else {\n label.style['background-color'] = '#ffffff';\n }\n label.innerHTML = team;\n this.rowElements.push(label);\n }\n }\n setHeightofDivforTotalDurartion() {\n \n this.AllrowHeight = 0;\n const chartDiv = document.getElementById('myTimeLine');\n let rows = chartDiv.getElementsByTagName('rect');\n let rowIndex = -1;\n\n for (let i = 0; i < rows.length; i++) {\n rowIndex++;\n if (rowIndex < this.rowElements.length) {\n let rowHeight = parseFloat(rows[i].getAttribute('height')) + 'px';\n this.AllrowHeight += parseFloat(rows[i].getAttribute('height'));\n\n const currentCell = this.rowElements[rowIndex];\n if (currentCell) {\n currentCell.style.height = rowHeight;\n currentCell.style.lineHeight = rowHeight;\n }\n }\n }\n }\n\n onSelectRowData(event: any) {\n const { row, column } = event.selection[0]; \n if(this.isAllUsers){\n this.selectedUserData = this.pdService.dataForDetailedView(this.alluserList.fordurationTable,this.resourceDataList, row);\n \n }else{\n this.selectedUserData = this.pdService.dataForDetailedView(this.currentdataList.userConsoleData,this.resourceDataList, row);\n \n \n }\n // console.log(\"this.selectedUserData\",this.selectedUserData);\n this.pdService.detailedviewData.next(this.selectedUserData);\n this.updateChart();\n // alluserList\n }\n showAllUser() {\n this.pdService.isAllUsers.next(true);\n this.isAllUsers = true;\n if(this.isUserWise){\n this.userWiseAllData();\n }else{\n this.classRoomWiseAllData();\n }\n }\n showCurrentUser() {\n this.isAllUsers = false;\n this.pdService.isAllUsers.next(false);\n if(this.isUserWise){\n this.userWiseCurrentData();\n }else{\n this.classRoomWiseCurrentData();\n }\n }\n userWiseCurrentData(){\n \n let chartDataUserWise = this.pdService.userWiseChartData();\n console.log(\"chartDataUserWise\",chartDataUserWise);\n \n if(chartDataUserWise.length>0){\n this.myChartDataMatrix =chartDataUserWise;\n this.updateChart();\n if(this.currentdataList.userConsoleData.length>0){\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\n }\n } \n }\n userWiseAllData(){\n let chartDataUserWise = this.alluserList.forChartData;\n if(chartDataUserWise.length>0){\n this.myChartDataMatrix =chartDataUserWise;\n \n this.updateChart();\n this.calulateTotalDuration(this.alluserList.fordurationTable);\n }\n \n }\n classRoomWiseCurrentData(){\n let classRoomdata = this.pdService.classRoomWiseChartData();\n console.log(\"classRoomdata\",classRoomdata);\n if(classRoomdata && classRoomdata.length>0){\n \n \n this.myChartDataMatrix =classRoomdata; \n console.log(\"myChartDataMatrix\",this.myChartDataMatrix)\n \n this.updateChart();\n if(this.currentdataList.userConsoleData.length>0){\n this.calulateTotalDuration(this.currentdataList.userConsoleData);\n }\n } \n }\n \n classRoomWiseAllData(){\n let allclassRoomList = this.pdService.allRoomsData();\n if(allclassRoomList.forChartData && allclassRoomList.forChartData.length > 0){\n this.myChartDataMatrix = allclassRoomList.forChartData;\n this.updateChart();\n }\n if(allclassRoomList.fordurationTable && allclassRoomList.fordurationTable.length > 0){\n this.calulateTotalDuration(allclassRoomList.fordurationTable);\n }\n \n }\n\n findCurrentUserCount(){\n let userConsoleData = this.currentdataList.userConsoleData;\n \n let userNameArray = new Array();\n for (let index = 0; index < userConsoleData.length; index++) {\n const element = userConsoleData[index].userName;\n userNameArray.push(element);\n }\n let uniqueUserName = [...new Set(userNameArray)];\n this.currentUsers = uniqueUserName.length;\n }\n\n findCurrentClassrooms(){\n //console.log(\"findCurrentClassrooms\", this.currentdataList.schoolTerminalData)\n let classRoomdata = this.pdService.newGetCurrentClassroomData();\n console.log(\"findCurrentClassrooms\",classRoomdata);\n return classRoomdata.length;\n }\n findInstalledClassrooms(){\n let count = 0;\n console.log(\"findInstalledClassrooms\", this.currentdataList.schoolTerminalData)\n return this.currentdataList.schoolTerminalData.length;\n }\n findEligibleUserCount(){\n console.log(\"findEligibleUserCount\", this.currentdataList)\n \n let count = 0;\n let userMetaData = this.currentdataList.usersMetadata\n for (let index = 0; index < userMetaData.length; index++) {\n const element = userMetaData[index].userSubjects;\n if(element !== \"\"){\n // console.log(\"findEligibleUserCount\", element)\n count = count + 1;\n }\n \n }\n \n return count;\n }\n\n ngOnDestroy() {\n // console.log('ngOnDestroy >>');\n }\n}\n","import { Component, OnInit } from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\n\n@Component({\n selector: 'lib-detailedview',\n templateUrl: './detailedview.component.html',\n styleUrls: ['./detailedview.component.scss'],\n})\nexport class DetailedviewComponent implements OnInit {\n userMetadata: any;\n resourseMetadata: any;\n deatilViewContainer: any;\n deatilViewTable: any;\n closeButton: any;\n getTotalData:any\n userMetadataHeadingArray = [\n 'Name:',\n 'Start Time:',\n 'Subject:',\n 'End Time:',\n 'Room Details:',\n ];\n resourseMetadataHeadingArray = [\n 'Subject',\n 'Class',\n 'Chapter Name',\n 'Topic Name',\n 'Assets Details',\n ];\n constructor(private pdService: PrincipalDashboardLibV2Service) {}\n\n ngOnInit(): void {\n this.deatilViewContainer = document.getElementById('pd-deatilViewContainer');\n this.deatilViewTable = document.getElementById('pd-deatilViewTable');\n this.closeButton = document.getElementById('pd-closeButton');\n \n this.pdService.detailedviewData.subscribe((data) => {\n if(data){\n if(data.userDetails.length>0 ){\n this.createTable(data.userDetails);\n }\n if(data.resourceDetails.length>0){\n // console.log(\"data.resourceDetails\",data.resourceDetails);\n \n this.createResourcesTable(data.resourceDetails);\n }\n }\n \n });\n \n this.deatilViewContainer.style.display = 'none';\n }\n createTable(userMetadata: any) {\n this.deatilViewContainer.style.display = 'block';\n while (this.deatilViewTable.firstChild) {\n this.deatilViewTable.removeChild(this.deatilViewTable.lastChild);\n }\n\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < userMetadata.length; i++) {\n let label = document.createElement('label');\n label.appendChild(\n document.createTextNode(this.userMetadataHeadingArray[i])\n );\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n let data = document.createElement('label');\n data.appendChild(document.createTextNode(userMetadata[i]));\n if (data.textContent === 'undefined'|| data.textContent === undefined) {\n data.textContent = '';\n }\n labelArray.push(data);\n }\n let tbl = document.createElement('table');\n tbl.id = \"userDataTable\";\n tbl.className = \"table table-bordered\";\n let tblBody = document.createElement('tbody');\n for (let j = 0; j < userMetadata.length / 2; j++) {\n let row = document.createElement('tr');\n let cell: any;\n for (let i = 0; i < 4; i++) {\n if (i % 2 == 0) {\n cell = document.createElement('th');\n cell.style['font-weight'] = \"bold\"\n // cell.style.background =\"#e0e0e0\";\n } else {\n cell = document.createElement('td');\n }\n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n tblBody.appendChild(row);\n tbl.appendChild(tblBody);\n this.deatilViewTable.appendChild(tbl);\n }\n }\n createResourcesTable(resoureMetadata: any) {\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < this.resourseMetadataHeadingArray.length; i++) {\n let label = document.createElement('label');\n label.appendChild(\n document.createTextNode(this.resourseMetadataHeadingArray[i])\n );\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n }\n for (let i = 0; i < resoureMetadata.length; i++) {\n for (let j = 0; j < 5; j++) {\n let label = document.createElement('label');\n label.appendChild(document.createTextNode(resoureMetadata[i][j]));\n if (label.textContent === 'undefined'|| label.textContent === undefined) {\n label.textContent = '';\n }\n labelArray.push(label);\n }\n }\n let tbl = document.createElement('table');\n tbl.className = \"table table-bordered\";\n tbl.id = \"resoureMetadataTable\";\n let tblBody = document.createElement('tbody');\n for (let j = 0; j <= resoureMetadata.length; j++) {\n let row = document.createElement('tr');\n let cell: any;\n for (let i = 0; i < 5; i++) {\n if (j == 0) {\n cell = document.createElement('th');\n cell.style['font-weight'] = 'bold';\n // cell.style.background =\"#e0e0e0\";\n } else {\n cell = document.createElement('td');\n }\n\n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n tblBody.appendChild(row);\n tbl.appendChild(tblBody);\n this.deatilViewTable.appendChild(tbl);\n }\n }\n \n onCloseBtnClick() {\n this.deatilViewContainer.style.display = 'none';\n }\n}\n","import { Injectable } from '@angular/core';\nimport { resourceUsage } from 'process';\nimport * as FileSaver from 'file-saver'\nimport * as XLSX from 'xlsx';\nimport { HtmlTagDefinition } from '@angular/compiler';\nconst EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst EXCEL_EXTENSION = '.xlsx';\n@Injectable({\n providedIn: 'root'\n})\nexport class ExceldataService {\n resourceTypes = new Array();\n myEndTime:any;\n constructor() { }\n //_____FOR EXCEL CONVERTOR\n public workbook:any;\n public tabName = [{\"name\":\"School\"},{\"name\":\"User Summary\"},{\"name\":\"Terminal Summary\"},{\"name\":\"Usage Details\"}]\n public exportAsExcelFile(json: any,excelFileName: string): void {\n let excelBuffer: any;\n let myobj: any = {Sheets:{}, SheetNames:[] }\n for (let i = 0; i < json.length; i++) {\n const worksheet: XLSX.WorkSheet = XLSX.utils.json_to_sheet(json[i]);\n myobj.Sheets[this.tabName[i].name] = worksheet\n myobj.SheetNames.push(this.tabName[i].name)\n }\n const workbook:XLSX.WorkBook = myobj; \n excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });\n this.saveAsExcelFile(excelBuffer, excelFileName);\n }\n\n private saveAsExcelFile(buffer: any, fileName: string): void {\n const data: Blob = new Blob([buffer], {\n type: EXCEL_TYPE\n });\n FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);\n }\n //_____FOR EXCEL CONVERTOR END\n\n genarateResourseReqiuredData_Excel(data: any): any {\n let resouseID: any;\n let title: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let teachingpoint: any;\n let type: any;\n let resourceMetadataMatrix = new Array();\n let resourceMetadata = data.resourcesMetadata.resourceMetadata;\n \n if(resourceMetadata!= undefined && resourceMetadata.length>0) {\n for (var i = 0; i < resourceMetadata.length;i++){\n //----------//resouseID\n resouseID = resourceMetadata[i].resourceId;\n //----------//subject\n if (resourceMetadata[i].subject != undefined) {\n if (resourceMetadata[i].subject.title != undefined) {\n subject = resourceMetadata[i].subject.title;\n } else {\n subject = '';\n }\n } else {\n subject = '';\n }\n //----------//grade\n if (resourceMetadata[i].grade != undefined) {\n if (resourceMetadata[i].grade.title != undefined) {\n grade = resourceMetadata[i].grade.title;\n } else {\n grade = '';\n }\n } else {\n grade = '';\n }\n //----------//chapter\n if (resourceMetadata[i].chapter != undefined) {\n if (resourceMetadata[i].chapter.title != undefined) {\n chapter = resourceMetadata[i].chapter.title;\n } else {\n chapter = '';\n }\n } else {\n chapter = '';\n }\n \n //----------//teachingpoint\n if (resourceMetadata[i].teachingpoint != undefined) {\n if (resourceMetadata[i].teachingpoint.title != undefined) {\n teachingpoint = resourceMetadata[i].teachingpoint.title;\n } else {\n teachingpoint = '';\n }\n } else {\n teachingpoint = '';\n }\n //----------//type\n if (resourceMetadata[i].type != undefined) {\n type = this.getDisplaytypeValue(resourceMetadata[i].type);\n } else {\n type = '';\n }\n \n //----------//title\n if (resourceMetadata[i].title != undefined) {\n title = resourceMetadata[i].title;\n } else {\n title = '';\n }\n \n \n let resourceMetauserConsoleData = {\n resouseID:resouseID,\n subject:subject,\n grade:grade,\n chapter:chapter,\n teachingpoint:teachingpoint,\n type:type,\n title:title\n }\n resourceMetadataMatrix.push(resourceMetauserConsoleData);\n this.resourceTypes.push(type);\n }\n }\n this.resourceTypes = [...new Set(this.resourceTypes)]\n return resourceMetadataMatrix;\n }\n genarateUserReqiuredData_Excel(data: any): any {\n let userConsole = data.usersConsole.userConsole;\n let usersMetadata = data.usersMetadata.userMetadata;\n let schoolTerminal = data.schoolTerminals.schoolTerminal;\n \n \n let usersMetadataMatrix = new Array();\n let usermetadataMatrixUpdated = new Array();\n let schoolTerminalMatrix = new Array();\n let userConsoleMatrix = new Array();\n if(usersMetadata!= null && usersMetadata.length > 0){\n for (let i = 0; i < usersMetadata.length; i++) {\n let userId: any;\n let userName: any;\n let userSubjects: any;\n let listOfUser:any = {}\n if (usersMetadata[i].userId!=\"\") {\n userId = usersMetadata[i].userId;\n \n if (usersMetadata[i].fullName !== undefined) {\n userName = usersMetadata[i].fullName // get name of user w.r.t. ID\n } else {\n userName = '';\n }\n\n if (usersMetadata[i].userSubjects !== undefined) {\n userSubjects = usersMetadata[i].userSubjects // get name of user w.r.t. ID\n } else {\n userSubjects = '';\n }\n \n listOfUser = {\n userId:userId, \n userName:userName, \n userSubjects:userSubjects\n };\n usersMetadataMatrix.push(listOfUser); // array of all users\n }\n }\n }\n for (var i = 0; i < usersMetadataMatrix.length; i++) {\n usersMetadataMatrix.forEach(element => {\n if (usersMetadataMatrix[i].userName === element.userName) {\n usermetadataMatrixUpdated.push(usersMetadataMatrix[i]); //array of same name users\n usersMetadataMatrix.splice(i, 1); //delete the same name users from usermetadataMatrix\n }\n });\n }\n for (var i = 0; i < usermetadataMatrixUpdated.length; i++) {\n usermetadataMatrixUpdated[i].userName = usermetadataMatrixUpdated[i].userName + \" \" + i;\n usersMetadataMatrix.push(usermetadataMatrixUpdated[i]); //adding same name users in usermetadataMatrix with some random charators\n }\n if(schoolTerminal != null && schoolTerminal.length > 0){\n for (var i = 0; i < schoolTerminal.length; i++) {\n let schoolId:any;\n let terminalKey:any;\n let terminalType:any;\n let location:any;\n let schoolTerminalData:any = {};\n \n //----------//schoolId\n if (schoolTerminal[i].schoolId !== undefined) {\n schoolId = schoolTerminal[i].schoolId // get name of user w.r.t. ID\n } else {\n schoolId = '';\n }\n //----------//terminalKey\n if (schoolTerminal[i].terminalKey !== undefined) {\n terminalKey = schoolTerminal[i].terminalKey // get name of user w.r.t. ID\n } else {\n terminalKey = '';\n }\n //----------//terminalType\n if (schoolTerminal[i].terminalType !== undefined) {\n terminalType = schoolTerminal[i].terminalType // get name of user w.r.t. ID\n } else {\n terminalType = '';\n }\n \n //----------//location\n if (schoolTerminal[i].metadata !== undefined) {\n location = schoolTerminal[i].metadata // get name of user w.r.t. ID\n } else {\n location = '';\n }\n schoolTerminalData = {\n schoolId:schoolId,\n terminalKey:terminalKey,\n terminalType:terminalType,\n location:location\n };\n schoolTerminalMatrix.push(schoolTerminalData);\n \n }\n }\n if(userConsole !=null && userConsole.length > 0){\n for (let index = 0; index < userConsole.length; index++) {\n let userId: any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let selectedDate: any;\n let terminalIP: any;\n let userConsoleResources: any;\n let resourceMetadataIDS: any;\n let resourceMetauserConsoleData = [];\n let resourceDurationFromConsole = [];\n let userName:any;\n let userSubjects:any;\n let terminalLocation: any;\n //----------//user iD\n if (userConsole[index].userId !== undefined) {\n userId = userConsole[index].userId // get name of user w.r.t. ID\n } else {\n userId = '';\n }\n //----------// startTime \n if (userConsole[index].startTime !== undefined) {\n startTime = userConsole[index].startTime // get name of user w.r.t. ID\n } else {\n startTime = '';\n }\n //----------// endTime \n if (userConsole[index].endTime !== undefined) {\n endTime = userConsole[index].endTime // get name of user w.r.t. ID\n this.myEndTime = endTime;\n } else {\n endTime = '';\n }\n //----------// Date \n if (userConsole[index].selectedDate !== undefined) {\n selectedDate = userConsole[index].selectedDate // get name of user w.r.t. ID\n } else {\n selectedDate = '';\n }\n \n //----------// Duration\n if (userConsole[index].duration !== undefined) {\n duration = userConsole[index].duration // get name of user w.r.t. ID\n } else {\n duration = '';\n }\n //----------// terminalIP\n if (userConsole[index].terminalIP !== undefined) {\n terminalIP = userConsole[index].terminalIP // get name of user w.r.t. ID\n } else {\n terminalIP = '';\n }\n \n //----------// userConsoleResources\n if (userConsole[index].userConsoleResources !== undefined) {\n userConsoleResources = userConsole[index].userConsoleResources // get name of user w.r.t. ID\n } else {\n userConsoleResources = null;\n }\n \n if(userConsoleResources != null){\n if (userConsoleResources.userConsoleResource !== undefined) {\n // satyajit resource wise duration added\n userConsoleResources.userConsoleResource.forEach(item => {\n resourceMetauserConsoleData.push(item.resourceId); // get name of user w.r.t. ID\n resourceDurationFromConsole.push(item.duration);\n });\n // resourceMetauserConsoleData = userConsoleResources.userConsoleResource; // get name of user w.r.t. ID\n } else {\n resourceMetauserConsoleData = [];\n resourceDurationFromConsole = [];\n }\n }\n \n //----------// userName and userSubjects\n for (let i = 0; i < usersMetadataMatrix.length; i++) {\n if (userId === usersMetadataMatrix[i].userId) {\n userName = usersMetadataMatrix[i].userName;\n userSubjects = usersMetadataMatrix[i].userSubjects;\n }\n }\n //----------// terminalIP and terminalLocation\n \n for (let i = 0; i < schoolTerminalMatrix.length; i++) {\n if (terminalIP === schoolTerminalMatrix[i].terminalKey) {\n terminalLocation = schoolTerminalMatrix[i].location;\n }\n }\n let userData = {\n userId:userId,\n userName:userName,\n startTime:new Date(startTime),\n endTime:new Date(endTime),\n terminalIP:terminalIP,\n resourceMetauserConsoleData:resourceMetauserConsoleData,\n duration:duration,\n terminalLocation:terminalLocation,\n userSubjects:userSubjects,\n resourceDurationFromConsole:resourceDurationFromConsole\n }\n \n userConsoleMatrix.push(userData);\n \n }\n }\n return {usersMetadata:usersMetadataMatrix,schoolTerminalData:schoolTerminalMatrix,userConsoleData: userConsoleMatrix}\n }\n \n deatilData_Excel(userConsoleMatrix: any,resourceMetadataMatrix: any){\n // console.log(\"resourceMetadataMatrix\",resourceMetadataMatrix);\n \n let currentDate: any;\n let resourceMatrixForExcel = new Array();\n resourceMatrixForExcel = [];\n for (let i = 0; i <userConsoleMatrix.length; i++) {\n let userID:any;\n let startTime: any;\n let endTime: any;\n let duration: any;\n let terminalIP: any;\n let subject: any;\n let grade: any;\n let chapter: any;\n let resourceType: any;\n let resourceTitle: any;\n let teachingpoint: any;\n let location: any;\n let teacherName: any;\n let teacherSubject: any;\n \n let resourceMetadataIDs: any;\n let resourceMetadataIDsDuration: any;\n let resourceArrayForExcel = new Array();\n \n\n userID = userConsoleMatrix[i].userId;\n //----------------- for subject and Name\n teacherSubject = userConsoleMatrix[i].userSubjects;\n teacherName = userConsoleMatrix[i].userName;\n //----------------- for start Time and EndTime \n if ((userConsoleMatrix[i].startTime != undefined && userConsoleMatrix[i].startTime != \"\") && (userConsoleMatrix[i].endTime != undefined&&userConsoleMatrix[i].endTime != \"\")) {\n startTime = userConsoleMatrix[i].startTime.toLocaleTimeString('en-US', { hour12: true });\n endTime = userConsoleMatrix[i].endTime.toLocaleTimeString('en-US', { hour12: true });\n currentDate = userConsoleMatrix[i].startTime.getDate() + '/' + (userConsoleMatrix[i].startTime.getMonth()+1) + '/' + userConsoleMatrix[i].startTime.getFullYear();\n }\n //----------------- for duration\n duration = Math.floor(userConsoleMatrix[i].duration);\n //----------------- for Terminal loaction and terminal IP\n location = userConsoleMatrix[i].terminalLocation;\n terminalIP = userConsoleMatrix[i].terminalIP;\n let roomDetail = location + ' ' + terminalIP;\n let locationName = location;\n let terminalIPAddress = terminalIP;\n resourceMetadataIDs = userConsoleMatrix[i].resourceMetauserConsoleData;\n resourceMetadataIDsDuration = userConsoleMatrix[i].resourceDurationFromConsole;\n if (resourceMetadataIDs.length == 0) {\n subject = '';\n grade = '';\n chapter = '';\n teachingpoint = '';\n resourceTitle = '';\n resourceType = '';\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID];\n resourceMatrixForExcel.push(resourceArrayForExcel);\n }else{\n for (let k = 0; k < resourceMetadataIDs.length; k++) {\n for (let i = 0; i < resourceMetadataMatrix.length; i++) {\n // resouseID:resouseID,\n // subject:subject,\n // grade:grade,\n // chapter:chapter,\n // teachingpoint:teachingpoint,\n // type:type,\n // title:title\n\n if (resourceMetadataIDs[k] === resourceMetadataMatrix[i].resouseID) {\n\n subject = resourceMetadataMatrix[i].subject;\n grade = resourceMetadataMatrix[i].grade;\n chapter = resourceMetadataMatrix[i].chapter;\n teachingpoint = resourceMetadataMatrix[i].teachingpoint;\n resourceTitle = resourceMetadataMatrix[i].title;\n resourceType = this.getDisplaytypeValue(resourceMetadataMatrix[i].type);\n // FOR EXCEL\n resourceArrayForExcel = [teacherName,teacherSubject,currentDate,startTime,endTime,duration,locationName, terminalIPAddress,subject,grade,chapter,teachingpoint,resourceTitle,resourceType,userID,resourceMetadataIDsDuration[k]];\n resourceMatrixForExcel.push(resourceArrayForExcel);\n teacherName = '';\n teacherSubject= '';\n currentDate= '';\n startTime= '';\n endTime= '';\n locationName= ''; \n terminalIPAddress= '';\n duration = '';\n \n }\n }\n }\n }\n }\n \n return resourceMatrixForExcel;\n }\n deatilUsage_Excel(resourceMatrixForExcel){\n let userList=[];\n // console.log(\"resourceMatrixForExcel>>>>>>>>>>>>>>>>>>>\",resourceMatrixForExcel);\n \n if(resourceMatrixForExcel.length > 0){\n for(let i=0;i<resourceMatrixForExcel.length;i++){\n let data = {\n // Sr_No: i+1,\n Name:resourceMatrixForExcel[i][0],\n Subjects:resourceMatrixForExcel[i][1],\n Date:\tresourceMatrixForExcel[i][2],\n startTime:resourceMatrixForExcel[i][3],\n endTime:resourceMatrixForExcel[i][4],\n \"duration(mins)\":resourceMatrixForExcel[i][5],\n location:resourceMatrixForExcel[i][6],\n IP:resourceMatrixForExcel[i][7],\n subjectTitle:resourceMatrixForExcel[i][8],\n gradeTitle:resourceMatrixForExcel[i][9],\n Chapter:resourceMatrixForExcel[i][10],\n tpTitle:resourceMatrixForExcel[i][11],\n resourceTitle:resourceMatrixForExcel[i][12],\n resourceType:resourceMatrixForExcel[i][13],\n 'resourceDuration(sec)':resourceMatrixForExcel[i][15],\n }\n userList.push(data);\n }\n \n } \n // console.log(\"userList\",userList);\n return userList;\n }\n userSummary_Excel(data,resourceMatrixForExcel){\n // console.log(\"resourceMatrixForExcel\",resourceMatrixForExcel)\n let userMetadataList = data.usersMetadata.userMetadata;\n let resourcelist = new Array();\n let resourceTypeList = new Array();\n let userObjectList= new Array();\n let classRooms= new Array();\n let datesAccess= new Array();\n let grades= new Array();\n let subjectTought= new Array();\n // let unique_resourceTypeList = []; \n let duration = 0;\n for (let i = 0; i < userMetadataList.length; i++) {\n resourcelist = [];\n resourceTypeList = [];\n classRooms = []; \n datesAccess = [];\n grades = [];\n subjectTought = [];\n \n duration = 0;\n // console.log(\"userMetadataList[i]\",userMetadataList);\n // console.log(\"resourceMatrixForExcel[i]\",[...new Set(resourceMatrixForExcel)]);\n for (let j = 0; j < resourceMatrixForExcel.length; j++){\n \n if(userMetadataList[i].userId === resourceMatrixForExcel[j][14]){\n if(resourceMatrixForExcel[j][12] != ''){\n resourcelist.push(resourceMatrixForExcel[j][12]);\n }\n \n if(resourceMatrixForExcel[j][13] != ''){\n resourceTypeList.push(resourceMatrixForExcel[j][13]);\n }\n if(resourceMatrixForExcel[j][5] != ''){\n duration = duration + resourceMatrixForExcel[j][5];\n }\n \n \n classRooms.push(resourceMatrixForExcel[j][6]);\n datesAccess.push(resourceMatrixForExcel[j][2]);\n grades.push(resourceMatrixForExcel[j][9]);\n subjectTought.push(resourceMatrixForExcel[j][8]);\n \n \n }\n }\n \n let ClassRooms:any; \n let DatesAccess:any; \n let Grades:any; \n let SubjectTought:any; \n let dayAccess:any; \n \n if(classRooms.length>0){\n ClassRooms = [...new Set(classRooms)][0];\n }else{\n ClassRooms = '';\n }\n if(datesAccess.length>0){\n dayAccess = [...new Set(datesAccess)].length;\n }else{\n dayAccess = '';\n }\n if(datesAccess.length>0){\n DatesAccess = [...new Set(datesAccess)][0];\n }else{\n DatesAccess = '';\n }\n if(grades.length>0){\n Grades = [...new Set(grades)][0];\n }else{\n Grades = ''\n }\n \n if(subjectTought.length>0){\n SubjectTought = [...new Set(subjectTought)][0];\n }else{\n SubjectTought = '';\n }\n // if(resourceTypeList.length>0){\n // unique_resourceTypeList = [...new Set(resourceTypeList)];\n \n // }\n // console.log(\"this.resourceTypes\",this.resourceTypes)\n let user = {\n Name:userMetadataList[i].fullName,\n Subjects:userMetadataList[i].userSubjects,\n duration:duration,\n ClassRooms:ClassRooms,\n DatesAccess:DatesAccess,\n DayAccess:dayAccess,\n Grades:Grades,\n SubjectTought:SubjectTought,\n AseestUsed:resourcelist,\n AssetType:resourceTypeList\n }\n userObjectList.push(user);\n \n }\n // console.log(\"userObjectList\",userObjectList)\n let userSummaryList = new Array();\n for(let i = 0; i < userObjectList.length; i++){\n const Assetcounts = [];\n //find count of present asset type\n let presentAsset =userObjectList[i].AssetType;\n presentAsset = [...new Set(presentAsset)];\n // console.log(\"presentAsset\",presentAsset)\n //find count of present asset count\n const sampleArray =userObjectList[i].AssetType;\n sampleArray.forEach(function (x) { Assetcounts[x] = (Assetcounts[x] || 0) + 1; });\n // find missing assets\n let missingAssets = this.resourceTypes.filter(n => !presentAsset.includes(n));\n // adding missing asset with count 0 in list\n missingAssets.forEach((element) => {\n Assetcounts[element] = 0;\n });\n // console.log(Assetcounts);\n let asset_media = {\n // Sr_No: i+1,\n Name:userObjectList[i].Name,\n Subjects_taught:userObjectList[i].Subjects,\n \" Duration(mins)\":userObjectList[i].duration,\n ClassRooms:userObjectList[i].ClassRooms,\n DaysAccsessed:userObjectList[i].DayAccess,\n DatesAccess:userObjectList[i].DatesAccess,\n Grades:userObjectList[i].Grades,\n Subjects:userObjectList[i].SubjectTought\n }\n const returnedTarget = Object.assign(asset_media, Assetcounts);\n userSummaryList.push(returnedTarget);\n\n }\n \n // console.log(\"userSummaryList\",userSummaryList);\n \n return userSummaryList;\n }\n\n // To GET DISPLAY TYPE\n getDisplaytypeValue(key: any) {\n let assetTypeConfig = [\n {\n type: \"asset_media\",\n display: \"Media\"\n },\n {\n type: \"asset_print\",\n display: \"Print\"\n },\n {\n type: \"quiz\",\n display: \"Quiz\"\n },\n {\n type: \"question\",\n display: \"Question\"\n },\n {\n type: \"chapter\",\n display: \"Chapter\"\n },\n {\n type: \"tp\",\n display: \"Topic\"\n },\n {\n type: \"whiteboard\",\n display: \"Whiteboard\"\n },\n {\n type: \"widget\",\n display: \"Widget\"\n },\n {\n type: \"casset_media\",\n display: \"cMedia\"\n },\n {\n type: \"casset_print\",\n display: \"cPrint\"\n },\n {\n type: \"cquiz\",\n display: \"cQuiz\"\n },\n {\n type: \"cquestion\",\n display: \"cQuestion\"\n },\n {\n type: \"image\",\n display: \"Image\"\n },\n {\n type: \"video\",\n display: \"Video\"\n },\n \n ];\n let displayValue = key;\n assetTypeConfig.forEach((value) => {\n if (value.type === key) {\n displayValue = value.display;\n }\n });\n return displayValue;\n \n }\n}\n","import { Component, OnInit, Output, ViewChild, Input, EventEmitter } from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\nimport { ExceldataService } from '../exceldata.service';\nimport { DatepickerOptions } from 'ng2-datepicker';\n@Component({\n selector: 'lib-header',\n templateUrl: './header.component.html',\n styleUrls: ['./header.component.scss']\n})\nexport class HeaderComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadData(res);\n } \n }\n @Output() userSelectedDate = new EventEmitter();\n\n myCalendar: any;\n calenderDate: any;\n currentDate: any;\n calenderCurrentDate: any;\n todayDate: any;\n refreshTimer = 0;\n refreshInterval: any;\n calenderEvent: any;\n message: any;\n intervalId: any;\n mydata :any;\n dataList: any;\n //for datepicker\n title = 'datepicker';\n date: Date = new Date();\n options: DatepickerOptions = {\n inputClass: 'input',\n calendarClass: 'datepicker-default',\n scrollBarColor: '#010001',\n format: 'dd/LL/yyyy',\n maxDate: new Date()\n };\n \n constructor(\n private excelService: ExceldataService,\n private pdService:PrincipalDashboardLibV2Service\n ) { }\n\n ngOnInit(): void {\n this.getDefaultDate();\n this.startTimer();\n }\n getDefaultDate() {\n let date = new Date();\n this.getDateFormat(date);\n this.todayDate = this.calenderCurrentDate;\n }\n dateSelected(e: any){\n this.getDateFormat(e);\n this.mydata = null;\n this.refreshChart();\n }\n getDateFormat(date:any){\n let day = date.getDate();\n let month = date.getMonth() + 1;\n let year = date.getFullYear();\n let m;\n let d;\n if (month < 10) {\n m = \"0\" + month;\n } else {\n m = month;\n }\n if (day < 10) {\n d = \"0\" + day;\n } else {\n d = day;\n }\n let today = year + \"-\" + m + \"-\" + d;\n this.currentDate = today;\n this.calenderCurrentDate = today.split(\"-\").reverse().join(\"-\");\n }\n // selectDate(e: any) {\n // this.calenderEvent = e;\n // let today = e.target.value;\n // // console.log(\"e.target.value\", e.target.value);\n // today = today.split(\"-\").reverse().join(\"-\");\n // this.calenderCurrentDate = today;\n // this.mydata = null;\n // this.refreshChart();\n // // this.userSelectedDate.emit(this.calenderCurrentDate);\n // ;\n // console.log(\" IN --> 5\");\n // }\n refreshChart() {\n this.stopTimer();\n this.refreshTimer = 0;\n if(this.calenderCurrentDate === this.todayDate){\n this.countDown();\n }\n this.userSelectedDate.emit(this.calenderCurrentDate);\n }\n\n startTimer() {\n this.countDown();\n }\n stopTimer() {\n this.clearTimer();\n this.message = ``;\n }\n clearTimer() {\n this.refreshTimer = 0;\n window.clearInterval(this.intervalId);\n }\n countDown() {\n console.log(\"countDown\")\n this.clearTimer();\n this.intervalId = window.setInterval(() => {\n this.refreshTimer -= 1;\n if (this.refreshTimer === 0) {\n this.refreshChart();\n this.message = '';\n } else {\n if (this.refreshTimer < 0) {\n this.refreshTimer = 300;\n } // reset\n this.message = `${this.refreshTimer}`;\n }\n }, 1000);\n }\n timeConvert(n: any) {\n var num = n;\n var hours = num / 60;\n var rhours = Math.floor(hours);\n var minutes = (hours - rhours) * 60;\n var rminutes = Math.round(minutes);\n return rhours + ':' + rminutes;\n }\n // currentdataList: any;\n // currentResoursedataList:any;\n loadData(response: any){\n if(response){\n this.mydata = JSON.parse(response);\n if (this.mydata) {\n //get current data list\n let genarateUserReqiuredData = this.excelService.genarateUserReqiuredData_Excel(this.mydata);\n let currentdataList =genarateUserReqiuredData.userConsoleData;\n // resoureMetadata list\n let currentResoursedataList = this.excelService.genarateResourseReqiuredData_Excel(this.mydata);\n \n let deatilData = this.excelService.deatilData_Excel(currentdataList,currentResoursedataList);\n let userDetails_data = this.excelService.deatilUsage_Excel(deatilData);\n let UserSummary = this.excelService.userSummary_Excel(this.mydata,deatilData);\n \n let schoolDetails = this.mydata.schoolMetadata.school;\n let userDetails = userDetails_data;\n let terminalDetails = this.mydata.schoolTerminals.schoolTerminal;\n // console.log(\"schoolDetails\",schoolDetails);\n // console.log(\"UserSummary\",UserSummary);\n // console.log(\"terminalDetails\",terminalDetails);\n // console.log(\"userDetails\",userDetails);\n \n this.dataList = [\n [schoolDetails],\n UserSummary,\n terminalDetails,\n userDetails\n ]\n }\n }\n \n }\n exportReport(){\n if(this.mydata){\n this.excelService.exportAsExcelFile(this.dataList, 'UsageReport-'+ this.calenderCurrentDate);\n }\n \n }\n ngOnDestroy() {\n this.clearTimer();\n }\n \n}\n","import { Component, OnInit ,Input} from '@angular/core';\nimport { PrincipalDashboardLibV2Service } from '../principal-dashboard-lib-v2.service';\nimport { ChartType } from 'angular-google-charts';\n\n@Component({\n selector: 'lib-tableview',\n templateUrl: './tableview.component.html',\n styleUrls: ['./tableview.component.scss'],\n})\n\nexport class TableviewComponent implements OnInit {\n @Input() set data(res: any) {\n if(res!== null){\n this.loadTable(res);\n }\n }\n constructor(\n private pdService: PrincipalDashboardLibV2Service\n ) {}\n resourseMetadata: any;\n tableRow: any;\n userMetadata: any;\n tableViewDiv: any;\n tblBody: any;\n myXmlData: any;\n myChartType = ChartType.Table;\n currentdataList:any;\n currentResoursedataList:any;\n tableViewData:any;\n alluserList:any;\n isUserWise = true;\n \n ngOnInit(): void {\n \n }\n loadTable(response: any){\n // let parse = new DOMParser();\n // this.myXmlData = parse.parseFromString(response, 'application/xml');\n if(response){\n this.myXmlData = JSON.parse(response);\n if(this.myXmlData){\n // get current data list\n console.log(\"AAA myXmlData-->>\",this.myXmlData)\n let genarateUserReqiuredData = this.pdService.genarateUserReqiuredData(this.myXmlData);\n this.currentdataList =genarateUserReqiuredData.userConsoleData;\n // get all user list \n let fetchAlluserList = this.pdService.allUserChartData();\n this.alluserList = fetchAlluserList.fordurationTable;\n // resoureMetadata list\n this.currentResoursedataList = this.pdService.genarateResourseReqiuredData(this.myXmlData);\n console.log(\"AAA genarateUserReqiuredData-->>\",genarateUserReqiuredData)\n console.log(\"AAA this.currentResoursedataList-->>\",this.currentResoursedataList)\n }\n }\n \n \n this.tableViewDiv = document.getElementById('tableViewDiv');\n this.tableRow = document.getElementById('tableRow');\n this.tblBody = document.getElementById('tblBody');\n this.tableViewDiv.style.display = 'none';\n \n this.pdService.chartType.subscribe((data) => {\n if (data) {\n this.updateChartType(data);\n }\n });\n this.pdService.isUserWise_data.subscribe((data) => {\n this.updateDataType(data);\n });\n this.pdService.isAllUsers.subscribe((data) => {\n if(data){\n this.showAllUser();\n }else{\n this.showCurrentDataUser();\n }\n \n });\n }\n findAndSimplifyNestedArray(data) {\n console.log('this.tableViewData',data)\n for (let i = 0; i < data.length; i++) {\n if (Array.isArray(data[i])) {\n const nestedArray = data[i];\n if (nestedArray.every(item => Array.isArray(item) && item.every(val => val === item[0]))) {\n data[i] = [[nestedArray[0][0]]];\n }\n return data[i]; \n }\n }\n \n return \"No nested array found.\";\n }\n\n \n showCurrentDataUser() {\n this.tableViewData = this.pdService.dataForTableView(this.currentdataList,this.currentResoursedataList);\n \n //this.tableViewData = this.findAndSimplifyNestedArray(this.tableViewData);\n let newTableViewData: any;\n\n \n \n for (var i = 0; i < this.tableViewData.length; i++){\n newTableViewData = this.findAndSimplifyNestedArray(this.tableViewData[i]);\n newTableViewData[newTableViewData.length-1] = newTableViewData[newTableViewData.length-1][0]\n }\n\n let anotherTableViewData: any;\n for (var j = 0; j < this.tableViewData.length; j++){\n anotherTableViewData = this.mergerSourceWithRoomData(this.tableViewData[j]); \n }\n\n if(this.tableViewData){\n //this.ueserWiseTableView(this.tableViewData);\n this.ueserWiseTableView(this.tableViewData);\n }\n console.log('AAA mlaunchedFromm tableViewData', this.tableViewData)\n }\n\n mergerSourceWithRoomData(tableViewData){\n let lastIndexValue = tableViewData[tableViewData.length - 1].join(' ');\n // Merge last index value into the 6th index\n console.log('lastIndexValue',lastIndexValue)\n if(lastIndexValue === 'ce6')\n {\n //lastIndexValue = '<span style=\"color:black;\"><i class=\"fa fa-windows\" aria-hidden=\"true\"></i></span>';\n lastIndexValue = '<span style=\"color:black;\"></span>';\n }else if(lastIndexValue === 'ce6-a'){\n lastIndexValue = '<span style=\"color:#1b60d1;font-weight:bold;font-size:14px;\"><i class=\"fa fa-android\" aria-hidden=\"true\"></i></span>';\n }else if(lastIndexValue === 'c'){\n lastIndexValue = '<span style=\"color:#1b60d1;font-weight:bold;font-size:14px; display:flex;\"><i style=\"margin-top:-1px;\" class=\"fa fa-android\" aria-hidden=\"true\"></i><i style=\"margin-left:5px;\" class=\"fa fa-desktop\" aria-hidden=\"true\"></i></span>';\n }\n //tableViewData[6] = tableViewData[6] + '\\n' + lastIndexValue;\n //tableViewData[6] = '<div style=\"display: flex;flex-direction: row;align-content: center;justify-content: flex-start;align-items: center;\">'+lastIndexValue + ' ' + '<span style=\"font-size:11px !important;color:gray;font-weight:600;\">'+tableViewData[6]+'</span></div>';\n\n tableViewData[6] = '<div style=\"display: flex;flex-direction: row;align-content: center;justify-content: flex-start;align-items: center;\">'+'<span style=\"font-size:11px !important;color:gray;font-weight:600;\">'+tableViewData[6]+'</span>'+ '<span style=\"color:transparent\">-</span>' +lastIndexValue + '</div>';\n \n // Optional: remove the last element (if no longer needed)\n tableViewData.pop();\n }\n\n\n showAllUser() {\n this.tableViewData = this.pdService.dataForTableView(this.alluserList ,this.currentResoursedataList);\n //console.log('AAA userConsoleMatrix tableViewData', this.tableViewData)\n let newTableViewData: any;\n \n for (var i = 0; i < this.tableViewData.length; i++){\n newTableViewData = this.findAndSimplifyNestedArray(this.tableViewData[i]);\n if(newTableViewData[newTableViewData.length-1]){\n newTableViewData[newTableViewData.length-1] = newTableViewData[newTableViewData.length-1][0]\n }\n \n }\n\n let anotherTableViewData: any;\n for (var j = 0; j < this.tableViewData.length; j++){\n anotherTableViewData = this.mergerSourceWithRoomData(this.tableViewData[j]); \n }\n if(this.tableViewData){\n this.ueserWiseTableView(this.tableViewData);\n }\n }\n updateDataType(dataType: any) {\n this.isUserWise = dataType;\n }\n updateChartType(dataType: any) {\n this.myChartType = dataType;\n if (this.myChartType == ChartType.Timeline) {\n this.tableViewDiv.style.display = 'none';\n } else {\n this.tableViewDiv.style.display = 'block';\n }\n }\n \n ueserWiseTableView(resoureMetadata: any) {\n console.log('AAA resoureMetadata', resoureMetadata);\n // this.deleterow(\"tableRow\");\n document.getElementById(\"tblBody\").innerHTML = \"\";\n let labelArray = new Array();\n let cnt = 0;\n for (let i = 0; i < resoureMetadata.length; i++) {\n for (let j = 0; j < 12; j++) {\n //let label = document.createElement('label');\n //label.appendChild(document.createTextNode(resoureMetadata[i][j]));\n\n let label:any = document.createElement('div');\n label.innerHTML = (resoureMetadata[i][j]);\n\n console.log('label.textContent',label.textContent)\n if (\n label.textContent === 'undefined' || \n label.textContent === undefined || \n label.textContent === 'undefined\\nce6-a' || \n label.textContent === 'undefined\\nce6' || \n label.textContent === 'undefined\\n' ||\n label.textContent === 'undefined\\nAndroid' || \n label.textContent === 'undefined\\nWeb' || \n label.textContent === 'undefined\\n' ||\n label.textContent === '\\nundefined' ||\n label.textContent === ' undefined' ||\n label.textContent === 'undefined-' ||\n label.textContent === 'undefined-c' ||\n label.textContent === 'undefined- ' \n\n \n ) {\n label.textContent = '';\n }\n \n labelArray.push(label);\n \n }\n }\n //console.log(\"labelArray\",labelArray);\n for (let j = 0; j <= resoureMetadata.length; j++) {\n let row = document.createElement('tr');\n \n let cell: any;\n for (let i = 0; i < 12; i++) {\n cell = document.createElement('td');\n \n if (cnt < labelArray.length) {\n cell.appendChild(labelArray[cnt]);\n row.appendChild(cell);\n }\n cnt++;\n }\n this.tblBody.appendChild(row);\n // this.tableRow.appendChild(this.tblBody);\n }\n \n }\n}\n","import { NgModule } from '@angular/core';\nimport { PrincipalDashboardLibV2Component } from './principal-dashboard-lib-v2.component';\n\nimport { ChartheaderComponent } from './chartheader/chartheader.component';\nimport { ChartviewComponent } from './chartview/chartview.component';\nimport { DetailedviewComponent } from './detailedview/detailedview.component';\nimport { HeaderComponent } from './header/header.component';\nimport { TableviewComponent } from './tableview/tableview.component';\nimport { GoogleChartsModule } from 'angular-google-charts';\nimport { CommonModule } from '@angular/common';\nimport { DatepickerModule } from 'ng2-datepicker';\n\n\n\n@NgModule({\n declarations: [\n ChartheaderComponent,\n ChartviewComponent,\n DetailedviewComponent,\n HeaderComponent,\n TableviewComponent,\n PrincipalDashboardLibV2Component\n ],\n imports: [\n CommonModule,\n GoogleChartsModule,\n DatepickerModule\n ],\n exports: [\n PrincipalDashboardLibV2Component\n ]\n})\nexport class PrincipalDashboardLibV2Module { }\n","/*\n * Public API Surface of principal-dashboard-lib-v2\n */\n\nexport * from './lib/principal-dashboard-lib-v2.service';\nexport * from './lib/principal-dashboard-lib-v2.component';\nexport * from './lib/principal-dashboard-lib-v2.module';\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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"}
|